summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2013-07-12 08:56:59 -0700
committerisaacs <i@izs.me>2013-07-12 08:56:59 -0700
commit9da67fa5198f3c0839904ae05cbfe88c61b3ad09 (patch)
tree61c03f98b7c2ae549f67c01e1afe6dcbe84847d6
parentf88b8dad84cd8f37000e55f0b5de7963cbb252cf (diff)
downloadnode-9da67fa5198f3c0839904ae05cbfe88c61b3ad09.tar.gz
npm: Upgrade to 1.3.3
-rw-r--r--deps/npm/Makefile149
-rw-r--r--deps/npm/README.md2
-rw-r--r--deps/npm/doc/api/commands.md22
-rw-r--r--deps/npm/doc/api/deprecate.md34
-rw-r--r--deps/npm/doc/api/init.md29
-rw-r--r--deps/npm/doc/api/npm-bin.md (renamed from deps/npm/doc/api/bin.md)0
-rw-r--r--deps/npm/doc/api/npm-bugs.md (renamed from deps/npm/doc/api/bugs.md)0
-rw-r--r--deps/npm/doc/api/npm-commands.md22
-rw-r--r--deps/npm/doc/api/npm-config.md (renamed from deps/npm/doc/api/config.md)0
-rw-r--r--deps/npm/doc/api/npm-deprecate.md34
-rw-r--r--deps/npm/doc/api/npm-docs.md (renamed from deps/npm/doc/api/docs.md)0
-rw-r--r--deps/npm/doc/api/npm-edit.md (renamed from deps/npm/doc/api/edit.md)0
-rw-r--r--deps/npm/doc/api/npm-explore.md (renamed from deps/npm/doc/api/explore.md)0
-rw-r--r--deps/npm/doc/api/npm-help-search.md (renamed from deps/npm/doc/api/help-search.md)0
-rw-r--r--deps/npm/doc/api/npm-init.md29
-rw-r--r--deps/npm/doc/api/npm-install.md (renamed from deps/npm/doc/api/install.md)0
-rw-r--r--deps/npm/doc/api/npm-link.md (renamed from deps/npm/doc/api/link.md)0
-rw-r--r--deps/npm/doc/api/npm-load.md (renamed from deps/npm/doc/api/load.md)0
-rw-r--r--deps/npm/doc/api/npm-ls.md (renamed from deps/npm/doc/api/ls.md)0
-rw-r--r--deps/npm/doc/api/npm-outdated.md (renamed from deps/npm/doc/api/outdated.md)0
-rw-r--r--deps/npm/doc/api/npm-owner.md31
-rw-r--r--deps/npm/doc/api/npm-pack.md (renamed from deps/npm/doc/api/pack.md)0
-rw-r--r--deps/npm/doc/api/npm-prefix.md (renamed from deps/npm/doc/api/prefix.md)0
-rw-r--r--deps/npm/doc/api/npm-prune.md (renamed from deps/npm/doc/api/prune.md)0
-rw-r--r--deps/npm/doc/api/npm-publish.md30
-rw-r--r--deps/npm/doc/api/npm-rebuild.md (renamed from deps/npm/doc/api/rebuild.md)0
-rw-r--r--deps/npm/doc/api/npm-restart.md (renamed from deps/npm/doc/api/restart.md)0
-rw-r--r--deps/npm/doc/api/npm-root.md (renamed from deps/npm/doc/api/root.md)0
-rw-r--r--deps/npm/doc/api/npm-run-script.md27
-rw-r--r--deps/npm/doc/api/npm-search.md (renamed from deps/npm/doc/api/search.md)0
-rw-r--r--deps/npm/doc/api/npm-shrinkwrap.md (renamed from deps/npm/doc/api/shrinkwrap.md)0
-rw-r--r--deps/npm/doc/api/npm-start.md (renamed from deps/npm/doc/api/start.md)0
-rw-r--r--deps/npm/doc/api/npm-stop.md (renamed from deps/npm/doc/api/stop.md)0
-rw-r--r--deps/npm/doc/api/npm-submodule.md (renamed from deps/npm/doc/api/submodule.md)0
-rw-r--r--deps/npm/doc/api/npm-tag.md (renamed from deps/npm/doc/api/tag.md)0
-rw-r--r--deps/npm/doc/api/npm-test.md (renamed from deps/npm/doc/api/test.md)0
-rw-r--r--deps/npm/doc/api/npm-uninstall.md (renamed from deps/npm/doc/api/uninstall.md)0
-rw-r--r--deps/npm/doc/api/npm-unpublish.md (renamed from deps/npm/doc/api/unpublish.md)0
-rw-r--r--deps/npm/doc/api/npm-update.md (renamed from deps/npm/doc/api/update.md)0
-rw-r--r--deps/npm/doc/api/npm-version.md (renamed from deps/npm/doc/api/version.md)0
-rw-r--r--deps/npm/doc/api/npm-view.md (renamed from deps/npm/doc/api/view.md)0
-rw-r--r--deps/npm/doc/api/npm-whoami.md (renamed from deps/npm/doc/api/whoami.md)0
-rw-r--r--deps/npm/doc/api/npm.md6
-rw-r--r--deps/npm/doc/api/owner.md31
-rw-r--r--deps/npm/doc/api/publish.md30
-rw-r--r--deps/npm/doc/api/run-script.md27
-rw-r--r--deps/npm/doc/cli/adduser.md36
-rw-r--r--deps/npm/doc/cli/bin.md17
-rw-r--r--deps/npm/doc/cli/bugs.md38
-rw-r--r--deps/npm/doc/cli/build.md22
-rw-r--r--deps/npm/doc/cli/cache.md70
-rw-r--r--deps/npm/doc/cli/changelog.md80
-rw-r--r--deps/npm/doc/cli/coding-style.md181
-rw-r--r--deps/npm/doc/cli/completion.md29
-rw-r--r--deps/npm/doc/cli/config.md882
-rw-r--r--deps/npm/doc/cli/deprecate.md26
-rw-r--r--deps/npm/doc/cli/developers.md207
-rw-r--r--deps/npm/doc/cli/disputes.md98
-rw-r--r--deps/npm/doc/cli/docs.md38
-rw-r--r--deps/npm/doc/cli/edit.md35
-rw-r--r--deps/npm/doc/cli/explore.md40
-rw-r--r--deps/npm/doc/cli/faq.md313
-rw-r--r--deps/npm/doc/cli/folders.md209
-rw-r--r--deps/npm/doc/cli/global.md209
-rw-r--r--deps/npm/doc/cli/help-search.md35
-rw-r--r--deps/npm/doc/cli/help.md38
-rw-r--r--deps/npm/doc/cli/index.md393
-rw-r--r--deps/npm/doc/cli/init.md25
-rw-r--r--deps/npm/doc/cli/install.md242
-rw-r--r--deps/npm/doc/cli/json.md587
-rw-r--r--deps/npm/doc/cli/link.md60
-rw-r--r--deps/npm/doc/cli/ls.md68
-rw-r--r--deps/npm/doc/cli/npm-adduser.md38
-rw-r--r--deps/npm/doc/cli/npm-bin.md19
-rw-r--r--deps/npm/doc/cli/npm-bugs.md40
-rw-r--r--deps/npm/doc/cli/npm-build.md22
-rw-r--r--deps/npm/doc/cli/npm-bundle.md (renamed from deps/npm/doc/cli/bundle.md)0
-rw-r--r--deps/npm/doc/cli/npm-cache.md72
-rw-r--r--deps/npm/doc/cli/npm-completion.md29
-rw-r--r--deps/npm/doc/cli/npm-config.md70
-rw-r--r--deps/npm/doc/cli/npm-dedupe.md (renamed from deps/npm/doc/cli/dedupe.md)0
-rw-r--r--deps/npm/doc/cli/npm-deprecate.md26
-rw-r--r--deps/npm/doc/cli/npm-docs.md40
-rw-r--r--deps/npm/doc/cli/npm-edit.md37
-rw-r--r--deps/npm/doc/cli/npm-explore.md40
-rw-r--r--deps/npm/doc/cli/npm-help-search.md35
-rw-r--r--deps/npm/doc/cli/npm-help.md40
-rw-r--r--deps/npm/doc/cli/npm-init.md25
-rw-r--r--deps/npm/doc/cli/npm-install.md244
-rw-r--r--deps/npm/doc/cli/npm-link.md62
-rw-r--r--deps/npm/doc/cli/npm-ls.md74
-rw-r--r--deps/npm/doc/cli/npm-outdated.md17
-rw-r--r--deps/npm/doc/cli/npm-owner.md33
-rw-r--r--deps/npm/doc/cli/npm-pack.md27
-rw-r--r--deps/npm/doc/cli/npm-prefix.md19
-rw-r--r--deps/npm/doc/cli/npm-prune.md21
-rw-r--r--deps/npm/doc/cli/npm-publish.md30
-rw-r--r--deps/npm/doc/cli/npm-rebuild.md (renamed from deps/npm/doc/cli/rebuild.md)0
-rw-r--r--deps/npm/doc/cli/npm-restart.md22
-rw-r--r--deps/npm/doc/cli/npm-rm.md21
-rw-r--r--deps/npm/doc/cli/npm-root.md19
-rw-r--r--deps/npm/doc/cli/npm-run-script.md21
-rw-r--r--deps/npm/doc/cli/npm-search.md22
-rw-r--r--deps/npm/doc/cli/npm-shrinkwrap.md185
-rw-r--r--deps/npm/doc/cli/npm-star.md (renamed from deps/npm/doc/cli/star.md)0
-rw-r--r--deps/npm/doc/cli/npm-stars.md (renamed from deps/npm/doc/cli/stars.md)0
-rw-r--r--deps/npm/doc/cli/npm-start.md18
-rw-r--r--deps/npm/doc/cli/npm-stop.md18
-rw-r--r--deps/npm/doc/cli/npm-submodule.md28
-rw-r--r--deps/npm/doc/cli/npm-tag.md19
-rw-r--r--deps/npm/doc/cli/npm-test.md21
-rw-r--r--deps/npm/doc/cli/npm-uninstall.md21
-rw-r--r--deps/npm/doc/cli/npm-unpublish.md32
-rw-r--r--deps/npm/doc/cli/npm-update.md24
-rw-r--r--deps/npm/doc/cli/npm-version.md45
-rw-r--r--deps/npm/doc/cli/npm-view.md89
-rw-r--r--deps/npm/doc/cli/npm-whoami.md17
-rw-r--r--deps/npm/doc/cli/npm.md16
-rw-r--r--deps/npm/doc/cli/outdated.md17
-rw-r--r--deps/npm/doc/cli/owner.md33
-rw-r--r--deps/npm/doc/cli/pack.md25
-rw-r--r--deps/npm/doc/cli/prefix.md17
-rw-r--r--deps/npm/doc/cli/prune.md21
-rw-r--r--deps/npm/doc/cli/publish.md30
-rw-r--r--deps/npm/doc/cli/registry.md91
-rw-r--r--deps/npm/doc/cli/restart.md22
-rw-r--r--deps/npm/doc/cli/rm.md19
-rw-r--r--deps/npm/doc/cli/root.md17
-rw-r--r--deps/npm/doc/cli/run-script.md21
-rw-r--r--deps/npm/doc/cli/scripts.md241
-rw-r--r--deps/npm/doc/cli/search.md20
-rw-r--r--deps/npm/doc/cli/semver.md130
-rw-r--r--deps/npm/doc/cli/shrinkwrap.md185
-rw-r--r--deps/npm/doc/cli/start.md18
-rw-r--r--deps/npm/doc/cli/stop.md18
-rw-r--r--deps/npm/doc/cli/submodule.md28
-rw-r--r--deps/npm/doc/cli/tag.md17
-rw-r--r--deps/npm/doc/cli/test.md21
-rw-r--r--deps/npm/doc/cli/uninstall.md19
-rw-r--r--deps/npm/doc/cli/unpublish.md32
-rw-r--r--deps/npm/doc/cli/update.md24
-rw-r--r--deps/npm/doc/cli/version.md45
-rw-r--r--deps/npm/doc/cli/view.md87
-rw-r--r--deps/npm/doc/cli/whoami.md15
-rw-r--r--deps/npm/doc/files/npm-folders.md211
-rw-r--r--deps/npm/doc/files/npmrc.md59
-rw-r--r--deps/npm/doc/files/package.json.md588
-rw-r--r--deps/npm/doc/misc/npm-coding-style.md181
-rw-r--r--deps/npm/doc/misc/npm-config.md827
-rw-r--r--deps/npm/doc/misc/npm-developers.md207
-rw-r--r--deps/npm/doc/misc/npm-disputes.md98
-rw-r--r--deps/npm/doc/misc/npm-faq.md355
-rw-r--r--deps/npm/doc/misc/npm-index.md403
-rw-r--r--deps/npm/doc/misc/npm-registry.md94
-rw-r--r--deps/npm/doc/misc/npm-scripts.md245
-rw-r--r--deps/npm/doc/misc/removing-npm.md (renamed from deps/npm/doc/cli/removing-npm.md)0
-rw-r--r--deps/npm/doc/misc/semver.md111
-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.html67
-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/help-search.html67
-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/load.html67
-rw-r--r--deps/npm/html/api/ls.html94
-rw-r--r--deps/npm/html/api/npm.html127
-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/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/shrinkwrap.html61
-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.html9
-rw-r--r--deps/npm/html/doc/adduser.html74
-rw-r--r--deps/npm/html/doc/api/npm-bin.html53
-rw-r--r--deps/npm/html/doc/api/npm-bugs.html59
-rw-r--r--deps/npm/html/doc/api/npm-commands.html62
-rw-r--r--deps/npm/html/doc/api/npm-config.html67
-rw-r--r--deps/npm/html/doc/api/npm-deprecate.html66
-rw-r--r--deps/npm/html/doc/api/npm-docs.html59
-rw-r--r--deps/npm/html/doc/api/npm-edit.html64
-rw-r--r--deps/npm/html/doc/api/npm-explore.html58
-rw-r--r--deps/npm/html/doc/api/npm-help-search.html66
-rw-r--r--deps/npm/html/doc/api/npm-init.html69
-rw-r--r--deps/npm/html/doc/api/npm-install.html59
-rw-r--r--deps/npm/html/doc/api/npm-link.html73
-rw-r--r--deps/npm/html/doc/api/npm-load.html66
-rw-r--r--deps/npm/html/doc/api/npm-ls.html93
-rw-r--r--deps/npm/html/doc/api/npm-outdated.html53
-rw-r--r--deps/npm/html/doc/api/npm-owner.html68
-rw-r--r--deps/npm/html/doc/api/npm-pack.html59
-rw-r--r--deps/npm/html/doc/api/npm-prefix.html55
-rw-r--r--deps/npm/html/doc/api/npm-prune.html57
-rw-r--r--deps/npm/html/doc/api/npm-publish.html66
-rw-r--r--deps/npm/html/doc/api/npm-rebuild.html56
-rw-r--r--deps/npm/html/doc/api/npm-restart.html61
-rw-r--r--deps/npm/html/doc/api/npm-root.html55
-rw-r--r--deps/npm/html/doc/api/npm-run-script.html63
-rw-r--r--deps/npm/html/doc/api/npm-search.html66
-rw-r--r--deps/npm/html/doc/api/npm-shrinkwrap.html60
-rw-r--r--deps/npm/html/doc/api/npm-start.html53
-rw-r--r--deps/npm/html/doc/api/npm-stop.html53
-rw-r--r--deps/npm/html/doc/api/npm-submodule.html67
-rw-r--r--deps/npm/html/doc/api/npm-tag.html63
-rw-r--r--deps/npm/html/doc/api/npm-test.html56
-rw-r--r--deps/npm/html/doc/api/npm-uninstall.html56
-rw-r--r--deps/npm/html/doc/api/npm-unpublish.html60
-rw-r--r--deps/npm/html/doc/api/npm-update.html52
-rw-r--r--deps/npm/html/doc/api/npm-version.html58
-rw-r--r--deps/npm/html/doc/api/npm-view.html133
-rw-r--r--deps/npm/html/doc/api/npm-whoami.html55
-rw-r--r--deps/npm/html/doc/api/npm.html126
-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.html100
-rw-r--r--deps/npm/html/doc/cli/npm-adduser.html73
-rw-r--r--deps/npm/html/doc/cli/npm-bin.html54
-rw-r--r--deps/npm/html/doc/cli/npm-bugs.html70
-rw-r--r--deps/npm/html/doc/cli/npm-build.html59
-rw-r--r--deps/npm/html/doc/cli/npm-bundle.html54
-rw-r--r--deps/npm/html/doc/cli/npm-cache.html100
-rw-r--r--deps/npm/html/doc/cli/npm-completion.html67
-rw-r--r--deps/npm/html/doc/cli/npm-config.html106
-rw-r--r--deps/npm/html/doc/cli/npm-dedupe.html91
-rw-r--r--deps/npm/html/doc/cli/npm-deprecate.html65
-rw-r--r--deps/npm/html/doc/cli/npm-docs.html71
-rw-r--r--deps/npm/html/doc/cli/npm-edit.html71
-rw-r--r--deps/npm/html/doc/cli/npm-explore.html74
-rw-r--r--deps/npm/html/doc/cli/npm-help-search.html72
-rw-r--r--deps/npm/html/doc/cli/npm-help.html70
-rw-r--r--deps/npm/html/doc/cli/npm-init.html63
-rw-r--r--deps/npm/html/doc/cli/npm-install.html176
-rw-r--r--deps/npm/html/doc/cli/npm-link.html95
-rw-r--r--deps/npm/html/doc/cli/npm-ls.html102
-rw-r--r--deps/npm/html/doc/cli/npm-outdated.html55
-rw-r--r--deps/npm/html/doc/cli/npm-owner.html68
-rw-r--r--deps/npm/html/doc/cli/npm-pack.html63
-rw-r--r--deps/npm/html/doc/cli/npm-prefix.html54
-rw-r--r--deps/npm/html/doc/cli/npm-prune.html59
-rw-r--r--deps/npm/html/doc/cli/npm-publish.html63
-rw-r--r--deps/npm/html/doc/cli/npm-rebuild.html59
-rw-r--r--deps/npm/html/doc/cli/npm-restart.html58
-rw-r--r--deps/npm/html/doc/cli/npm-rm.html56
-rw-r--r--deps/npm/html/doc/cli/npm-root.html54
-rw-r--r--deps/npm/html/doc/cli/npm-run-script.html57
-rw-r--r--deps/npm/html/doc/cli/npm-search.html58
-rw-r--r--deps/npm/html/doc/cli/npm-shrinkwrap.html217
-rw-r--r--deps/npm/html/doc/cli/npm-star.html60
-rw-r--r--deps/npm/html/doc/cli/npm-stars.html59
-rw-r--r--deps/npm/html/doc/cli/npm-start.html54
-rw-r--r--deps/npm/html/doc/cli/npm-stop.html54
-rw-r--r--deps/npm/html/doc/cli/npm-submodule.html67
-rw-r--r--deps/npm/html/doc/cli/npm-tag.html55
-rw-r--r--deps/npm/html/doc/cli/npm-test.html57
-rw-r--r--deps/npm/html/doc/cli/npm-uninstall.html56
-rw-r--r--deps/npm/html/doc/cli/npm-unpublish.html68
-rw-r--r--deps/npm/html/doc/cli/npm-update.html60
-rw-r--r--deps/npm/html/doc/cli/npm-version.html83
-rw-r--r--deps/npm/html/doc/cli/npm-view.html124
-rw-r--r--deps/npm/html/doc/cli/npm-whoami.html54
-rw-r--r--deps/npm/html/doc/cli/npm.html169
-rw-r--r--deps/npm/html/doc/coding-style.html217
-rw-r--r--deps/npm/html/doc/completion.html68
-rw-r--r--deps/npm/html/doc/config.html813
-rw-r--r--deps/npm/html/doc/dedupe.html92
-rw-r--r--deps/npm/html/doc/deprecate.html66
-rw-r--r--deps/npm/html/doc/developers.html209
-rw-r--r--deps/npm/html/doc/disputes.html126
-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.html337
-rw-r--r--deps/npm/html/doc/files/npm-folders.html239
-rw-r--r--deps/npm/html/doc/files/npm-global.html239
-rw-r--r--deps/npm/html/doc/files/npm-json.html580
-rw-r--r--deps/npm/html/doc/files/npmrc.html93
-rw-r--r--deps/npm/html/doc/files/package.json.html580
-rw-r--r--deps/npm/html/doc/folders.html240
-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/index.html405
-rw-r--r--deps/npm/html/doc/init.html64
-rw-r--r--deps/npm/html/doc/install.html177
-rw-r--r--deps/npm/html/doc/json.html581
-rw-r--r--deps/npm/html/doc/link.html96
-rw-r--r--deps/npm/html/doc/list.html99
-rw-r--r--deps/npm/html/doc/ls.html99
-rw-r--r--deps/npm/html/doc/misc/index.html438
-rw-r--r--deps/npm/html/doc/misc/npm-coding-style.html216
-rw-r--r--deps/npm/html/doc/misc/npm-config.html751
-rw-r--r--deps/npm/html/doc/misc/npm-developers.html208
-rw-r--r--deps/npm/html/doc/misc/npm-disputes.html125
-rw-r--r--deps/npm/html/doc/misc/npm-faq.html374
-rw-r--r--deps/npm/html/doc/misc/npm-index.html442
-rw-r--r--deps/npm/html/doc/misc/npm-registry.html130
-rw-r--r--deps/npm/html/doc/misc/npm-scripts.html257
-rw-r--r--deps/npm/html/doc/misc/removing-npm.html92
-rw-r--r--deps/npm/html/doc/misc/semver.html128
-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.html130
-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.html253
-rw-r--r--deps/npm/html/doc/search.html59
-rw-r--r--deps/npm/html/doc/semver.html139
-rw-r--r--deps/npm/html/doc/shrinkwrap.html218
-rw-r--r--deps/npm/html/doc/star.html61
-rw-r--r--deps/npm/html/doc/stars.html60
-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.html61
-rw-r--r--deps/npm/html/doc/version.html84
-rw-r--r--deps/npm/html/doc/view.html125
-rw-r--r--deps/npm/html/doc/whoami.html55
-rw-r--r--deps/npm/html/docfoot-script.html31
-rw-r--r--deps/npm/html/docfoot.html32
-rw-r--r--deps/npm/html/dochead.html2
-rw-r--r--deps/npm/lib/adduser.js1
-rw-r--r--deps/npm/lib/build.js9
-rw-r--r--deps/npm/lib/cache.js56
-rw-r--r--deps/npm/lib/dedupe.js4
-rw-r--r--deps/npm/lib/deprecate.js2
-rw-r--r--deps/npm/lib/help-search.js343
-rw-r--r--deps/npm/lib/help.js257
-rw-r--r--deps/npm/lib/install.js32
-rw-r--r--deps/npm/lib/ls.js18
-rw-r--r--deps/npm/lib/npm.js13
-rw-r--r--deps/npm/lib/outdated.js3
-rw-r--r--deps/npm/lib/publish.js5
-rw-r--r--deps/npm/lib/rebuild.js2
-rw-r--r--deps/npm/lib/search.js1
-rw-r--r--deps/npm/lib/submodule.js2
-rw-r--r--deps/npm/lib/unbuild.js15
-rw-r--r--deps/npm/lib/uninstall.js1
-rw-r--r--deps/npm/lib/update.js6
-rw-r--r--deps/npm/lib/utils/is-git-url.js13
-rw-r--r--deps/npm/lib/utils/tar.js10
-rw-r--r--deps/npm/lib/version.js2
-rw-r--r--deps/npm/lib/view.js6
-rw-r--r--deps/npm/man/man1/README.1325
-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.1173
-rw-r--r--deps/npm/man/man1/coding-style.1254
-rw-r--r--deps/npm/man/man1/completion.147
-rw-r--r--deps/npm/man/man1/config.11523
-rw-r--r--deps/npm/man/man1/dedupe.190
-rw-r--r--deps/npm/man/man1/deprecate.148
-rw-r--r--deps/npm/man/man1/developers.1335
-rw-r--r--deps/npm/man/man1/disputes.1145
-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.1405
-rw-r--r--deps/npm/man/man1/find.172
-rw-r--r--deps/npm/man/man1/folders.1258
-rw-r--r--deps/npm/man/man1/get.11154
-rw-r--r--deps/npm/man/man1/global.1258
-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.1298
-rw-r--r--deps/npm/man/man1/init.143
-rw-r--r--deps/npm/man/man1/install.1417
-rw-r--r--deps/npm/man/man1/json.1853
-rw-r--r--deps/npm/man/man1/link.1112
-rw-r--r--deps/npm/man/man1/list.1125
-rw-r--r--deps/npm/man/man1/ln.1108
-rw-r--r--deps/npm/man/man1/ls.1125
-rw-r--r--deps/npm/man/man1/npm-README.1325
-rw-r--r--deps/npm/man/man1/npm-adduser.163
-rw-r--r--deps/npm/man/man1/npm-bin.140
-rw-r--r--deps/npm/man/man1/npm-bugs.176
-rw-r--r--deps/npm/man/man1/npm-build.143
-rw-r--r--deps/npm/man/man1/npm-bundle.123
-rw-r--r--deps/npm/man/man1/npm-cache.1103
-rw-r--r--deps/npm/man/man1/npm-completion.147
-rw-r--r--deps/npm/man/man1/npm-config.1112
-rw-r--r--deps/npm/man/man1/npm-dedupe.190
-rw-r--r--deps/npm/man/man1/npm-deprecate.148
-rw-r--r--deps/npm/man/man1/npm-docs.174
-rw-r--r--deps/npm/man/man1/npm-edit.166
-rw-r--r--deps/npm/man/man1/npm-explore.176
-rw-r--r--deps/npm/man/man1/npm-help-search.159
-rw-r--r--deps/npm/man/man1/npm-help.177
-rw-r--r--deps/npm/man/man1/npm-init.143
-rw-r--r--deps/npm/man/man1/npm-install.1423
-rw-r--r--deps/npm/man/man1/npm-link.1118
-rw-r--r--deps/npm/man/man1/npm-ls.1136
-rw-r--r--deps/npm/man/man1/npm-outdated.132
-rw-r--r--deps/npm/man/man1/npm-owner.158
-rw-r--r--deps/npm/man/man1/npm-pack.148
-rw-r--r--deps/npm/man/man1/npm-prefix.140
-rw-r--r--deps/npm/man/man1/npm-prune.137
-rw-r--r--deps/npm/man/man1/npm-publish.153
-rw-r--r--deps/npm/man/man1/npm-rebuild.136
-rw-r--r--deps/npm/man/man1/npm-restart.142
-rw-r--r--deps/npm/man/man1/npm-rm.142
-rw-r--r--deps/npm/man/man1/npm-root.140
-rw-r--r--deps/npm/man/man1/npm-run-script.141
-rw-r--r--deps/npm/man/man1/npm-search.142
-rw-r--r--deps/npm/man/man1/npm-shrinkwrap.1275
-rw-r--r--deps/npm/man/man1/npm-star.139
-rw-r--r--deps/npm/man/man1/npm-stars.140
-rw-r--r--deps/npm/man/man1/npm-start.137
-rw-r--r--deps/npm/man/man1/npm-stop.137
-rw-r--r--deps/npm/man/man1/npm-submodule.142
-rw-r--r--deps/npm/man/man1/npm-tag.137
-rw-r--r--deps/npm/man/man1/npm-test.141
-rw-r--r--deps/npm/man/man1/npm-uninstall.142
-rw-r--r--deps/npm/man/man1/npm-unpublish.153
-rw-r--r--deps/npm/man/man1/npm-update.145
-rw-r--r--deps/npm/man/man1/npm-version.175
-rw-r--r--deps/npm/man/man1/npm-view.1185
-rw-r--r--deps/npm/man/man1/npm-whoami.134
-rw-r--r--deps/npm/man/man1/npm.128
-rw-r--r--deps/npm/man/man1/outdated.132
-rw-r--r--deps/npm/man/man1/owner.158
-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.1351
-rw-r--r--deps/npm/man/man1/search.136
-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/shrinkwrap.1275
-rw-r--r--deps/npm/man/man1/star.139
-rw-r--r--deps/npm/man/man1/stars.140
-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.145
-rw-r--r--deps/npm/man/man1/version.175
-rw-r--r--deps/npm/man/man1/view.1179
-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.357
-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.386
-rw-r--r--deps/npm/man/man3/npm-bin.321
-rw-r--r--deps/npm/man/man3/npm-bugs.328
-rw-r--r--deps/npm/man/man3/npm-commands.335
-rw-r--r--deps/npm/man/man3/npm-config.369
-rw-r--r--deps/npm/man/man3/npm-deprecate.357
-rw-r--r--deps/npm/man/man3/npm-docs.328
-rw-r--r--deps/npm/man/man3/npm-edit.335
-rw-r--r--deps/npm/man/man3/npm-explore.328
-rw-r--r--deps/npm/man/man3/npm-help-search.351
-rw-r--r--deps/npm/man/man3/npm-init.339
-rw-r--r--deps/npm/man/man3/npm-install.329
-rw-r--r--deps/npm/man/man3/npm-link.353
-rw-r--r--deps/npm/man/man3/npm-load.344
-rw-r--r--deps/npm/man/man3/npm-ls.386
-rw-r--r--deps/npm/man/man3/npm-outdated.321
-rw-r--r--deps/npm/man/man3/npm-owner.352
-rw-r--r--deps/npm/man/man3/npm-pack.328
-rw-r--r--deps/npm/man/man3/npm-prefix.324
-rw-r--r--deps/npm/man/man3/npm-prune.327
-rw-r--r--deps/npm/man/man3/npm-publish.351
-rw-r--r--deps/npm/man/man3/npm-rebuild.322
-rw-r--r--deps/npm/man/man3/npm-restart.337
-rw-r--r--deps/npm/man/man3/npm-root.324
-rw-r--r--deps/npm/man/man3/npm-run-script.348
-rw-r--r--deps/npm/man/man3/npm-search.364
-rw-r--r--deps/npm/man/man3/npm-shrinkwrap.330
-rw-r--r--deps/npm/man/man3/npm-start.321
-rw-r--r--deps/npm/man/man3/npm-stop.321
-rw-r--r--deps/npm/man/man3/npm-submodule.342
-rw-r--r--deps/npm/man/man3/npm-tag.331
-rw-r--r--deps/npm/man/man3/npm-test.325
-rw-r--r--deps/npm/man/man3/npm-uninstall.325
-rw-r--r--deps/npm/man/man3/npm-unpublish.330
-rw-r--r--deps/npm/man/man3/npm-update.318
-rw-r--r--deps/npm/man/man3/npm-version.327
-rw-r--r--deps/npm/man/man3/npm-view.3176
-rw-r--r--deps/npm/man/man3/npm-whoami.324
-rw-r--r--deps/npm/man/man3/npm.311
-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/shrinkwrap.330
-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
-rw-r--r--deps/npm/man/man5/npm-folders.5264
-rw-r--r--deps/npm/man/man5/npm-global.5264
-rw-r--r--deps/npm/man/man5/npm-json.5856
-rw-r--r--deps/npm/man/man5/npmrc.589
-rw-r--r--deps/npm/man/man5/package.json.5856
-rw-r--r--deps/npm/man/man7/index.7298
-rw-r--r--deps/npm/man/man7/npm-coding-style.7254
-rw-r--r--deps/npm/man/man7/npm-config.71454
-rw-r--r--deps/npm/man/man7/npm-developers.7335
-rw-r--r--deps/npm/man/man7/npm-disputes.7145
-rw-r--r--deps/npm/man/man7/npm-faq.7468
-rw-r--r--deps/npm/man/man7/npm-index.7301
-rw-r--r--deps/npm/man/man7/npm-registry.7114
-rw-r--r--deps/npm/man/man7/npm-scripts.7354
-rw-r--r--deps/npm/man/man7/removing-npm.7107
-rw-r--r--deps/npm/man/man7/semver.7172
-rw-r--r--deps/npm/node_modules/fstream/package.json9
-rw-r--r--deps/npm/node_modules/glob/node_modules/inherits/LICENSE14
-rw-r--r--deps/npm/node_modules/glob/node_modules/inherits/README.md42
-rw-r--r--deps/npm/node_modules/glob/node_modules/inherits/inherits.js1
-rw-r--r--deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js23
-rw-r--r--deps/npm/node_modules/glob/node_modules/inherits/package.json39
-rw-r--r--deps/npm/node_modules/glob/node_modules/inherits/test.js25
-rw-r--r--deps/npm/node_modules/glob/package.json14
-rw-r--r--deps/npm/node_modules/graceful-fs/LICENSE42
-rw-r--r--deps/npm/node_modules/graceful-fs/graceful-fs.js366
-rw-r--r--deps/npm/node_modules/graceful-fs/package.json6
-rw-r--r--deps/npm/node_modules/graceful-fs/polyfills.js228
-rw-r--r--deps/npm/node_modules/graceful-fs/test/open.js13
-rw-r--r--deps/npm/node_modules/graceful-fs/test/ulimit.js158
-rw-r--r--deps/npm/node_modules/init-package-json/init-package-json.js10
-rw-r--r--deps/npm/node_modules/init-package-json/package.json8
-rw-r--r--deps/npm/node_modules/lockfile/README.md8
-rw-r--r--deps/npm/node_modules/lockfile/lockfile.js83
-rw-r--r--deps/npm/node_modules/lockfile/package.json12
-rw-r--r--deps/npm/node_modules/lockfile/test/basic.js35
-rw-r--r--deps/npm/node_modules/node-gyp/.jshintrc1
-rw-r--r--deps/npm/node_modules/node-gyp/.npmignore2
-rw-r--r--deps/npm/node_modules/node-gyp/README.md2
-rwxr-xr-xdeps/npm/node_modules/node-gyp/bin/node-gyp.js2
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/AUTHORS2
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py13
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py98
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc12
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/gyptest.py1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py212
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py9
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py24
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py79
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py32
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py50
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py118
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py190
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py140
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py179
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py82
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py1
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-bare/gyptest-bare.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.gyp25
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.py11
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-multiple/gyptest-all.py72
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/actions.gyp226
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/copy.py9
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/filter.py12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/foo.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/input.txt1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/main.c22
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-none/gyptest-none.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/fake_cross.py12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/foo.cc1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/none_with_source_files.gyp35
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-subdir/gyptest-action.py26
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/make-file.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/none.gyp31
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/make-subdir-file.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/subdir.gyp28
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-all.py102
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-default.py69
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-errors.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions/src/action_missing_name.gyp24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions/src/actions.gyp114
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/src/confirm-dep-files.py21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/counter.py46
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/executable.gyp74
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog1.py20
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog2.py20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/program.c12
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/make-file.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/none.gyp33
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/generate_main.py21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/null_input.gyp29
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/additional-targets/gyptest-additional.py56
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/all.gyp13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/actions.gyp56
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/emit.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/lib1.c6
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/assembly/gyptest-assembly.py31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/assembly/src/as.bat4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/assembly/src/assembly.gyp62
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.S15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.c3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/assembly/src/program.c12
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/build-option/gyptest-build.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.c13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.gyp15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-all.py85
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-default.py85
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/builddir.gypi21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func1.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func2.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func3.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func4.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func5.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.gyp19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.gyp19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.gyp19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.gyp19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.c15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.gyp16
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/cflags/gyptest-cflags.py65
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/compilable/gyptest-headers.py29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compilable/src/headers.gyp26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.cpp7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.hpp6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compilable/src/program.cpp9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-global-settings.gyp.in34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-host.gyp17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compiler-override/cxxtest.cc7
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-env.py55
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-global-settings.py52
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cc.py6
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cxx.py6
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_ld.py6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/compiler-override/test.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.c15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.gyp32
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/configurations/basics/gyptest-configurations.py29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.c21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.gyp40
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/gyptest-inheritance.py33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/actions.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/all_dependent_settings.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/configurations.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/dependencies.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/direct_dependent_settings.gyp18
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/gyptest-configurations.py39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/libraries.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/link_settings.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/sources.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/standalone_static_library.gyp17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/target_name.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/type.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/configurations.gyp58
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/front.c8
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/gyptest-target_platform.py40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/left.c3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/right.c3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.c12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.gyp38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/configurations/x64/gyptest-x86.py31
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-all.py40
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-default.py40
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-slash.py38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-updir.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-slash.gyp36
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-updir.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies.gyp70
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/subdir/file51
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/file11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/file21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/copies/src/parentdir/subdir/file61
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/custom-generator/gyptest-custom-generator.py18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/custom-generator/mygenerator.py14
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/custom-generator/test.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.cc15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.gyp16
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/cxxflags/gyptest-cxxflags.py65
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.gyp19
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/defines-escaping/gyptest-defines-escaping.py184
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/defines/defines-env.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/defines/defines.c23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/defines/defines.gyp38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-define-override.py34
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env-regyp.py51
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env.py85
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines.py27
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/a.c9
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.c3
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.gyp22
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b3.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.c4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/d.c3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependency.gyp23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependent.gyp12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/extra_targets.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-double-dependency.py19
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-extra-targets.py21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-lib-only.py39
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-none-traversal.py25
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/lib_only.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependencies/main.c14
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependencies/none_traversal.gyp46
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/dependency-copy/gyptest-copy.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/copies.gyp25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file1.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file2.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_basenames.gyp13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_node.gyp12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_rule.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_targets.gyp14
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/errors/gyptest-errors.py49
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/errors/missing_dep.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/errors/missing_targets.gyp8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/escaping/colon/test.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/escaping/gyptest-colon.py43
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/exclusion/exclusion.gyp23
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/exclusion/gyptest-exclusion.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/exclusion/hello.c15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/gyptest-cross.py35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus1.cc1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus2.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross.gyp83
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross_compile.gypi23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/fake_cross.py18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/program.cc16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test1.cc1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test2.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test3.cc1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test4.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/tochar.py13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/actions.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/actions-out/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/executable.gyp44
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog1.py20
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog2.py20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/program.c12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/actions-out/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/build/README.txt4
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/make-file.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/none.gyp31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies-out/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies.gyp50
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/copies-out/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/subdir.gyp32
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-actions.py58
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-copies.py59
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-mac-bundle.py29
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-relocate.py60
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-rules.py59
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-subdir2-deep.py37
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-top-all.py54
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/Info.plist32
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/app.order1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/header.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/main.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/resource.sb1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/test.gyp25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/build/README.txt4
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/copy-file.py12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/rules.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define3.in01
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define4.in01
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/executable.gyp59
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function1.in16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function2.in16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/program.c18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file1.in01
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file2.in01
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file3.in11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file4.in11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/none.gyp49
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/rules-out/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc1/include1.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.c18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/inc2/include2.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.c18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/build/README.txt4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/inc3/include3.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.c18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.gyp25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/symroot.gypi16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/defines.gyp26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/echo.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-multiple-values.py34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-regyp.py40
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-exported-hard-dependency.py37
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-no-exported-hard-dependency.py36
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.h12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.h12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.h10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/d.c9
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/emit.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/hard_dependency.gyp78
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-all.py24
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-default.py24
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-disable-regyp.py32
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-regyp.py32
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-target.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hello/hello.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hello/hello.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.gyp15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes-regyp.py44
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes.py30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home/.gyp/include.gypi5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home2/.gyp/include.gypi5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/all.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/printfoo.c7
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-all.py46
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-default.py46
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc1/include1.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.c19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.gyp27
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow1/shadow.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow2/shadow.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc2/include2.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.c14
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.gyp20
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/gyptest-intermediate-dir.py42
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/script.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/shared_infile.txt1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test.gyp42
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test2.gyp42
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/lib/README.txt17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/lib/TestCmd.py1597
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/lib/TestCommon.py570
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/lib/TestGyp.py1050
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared-obj-install-path.py42
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared.py84
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/library/gyptest-static.py84
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1_moveable.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2_moveable.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/library.gyp58
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/program.c15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/library/src/shared_dependency.gyp33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/link-objects/base.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/link-objects/extra.c5
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/link-objects/gyptest-all.py28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/link-objects/link-objects.gyp24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.gyp34
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.sh8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/MainMenu.xib4119
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestApp-Info.plist32
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.h13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.m15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/main.m10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/empty.c0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/test.gyp39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_file.cc4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_main_file.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-archs-x86_64.gyp27
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-no-archs.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile_withcflags.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cfile.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile.cpp7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile_withcflags.cpp7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile.cxx7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile_withcflags.cxx7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mfile.m7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile.mm7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile_withcflags.mm7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/test.gyp119
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/empty.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/test.gyp31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/file.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/test.gyp82
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/English.lproj/InfoPlist.strings1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/Info.plist28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/bundle.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/executable.c4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/test.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/calculate.c15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/framework-dirs.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.h8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.m8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/test.gyp44
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/English.lproj/InfoPlist.strings2
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/Info.plist28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.h28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.mm63
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVectorInternal.h9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/TestFramework_Prefix.pch7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/empty.c0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/framework/framework.gyp74
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir1/dir1.gyp11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/dir2.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/file.txt1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-action-envvars.py30
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-app.py47
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-archs.py37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-cflags.py21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copies.py49
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copy-dylib.py25
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-debuginfo.py36
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-depend-on-bundle.py40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-dirs.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-headers.py38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework.py50
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-global-settings.py26
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-infoplist-process.py51
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-installname.py79
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags-passed-to-libtool.py31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags.py68
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-libraries.py22
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-loadable-module.py45
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-missing-cfbundlesignature.py29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-non-strs-flattened-to-env.py33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-objc-gc.py45
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-copy-bundle.py62
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-defaults.py29
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-fail.py55
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-multiple-configurations.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-static-library.gyp28
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild.py53
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-prefixheader.py19
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rebuild.py41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rpath.py49
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sdkroot.py20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sourceless-module.gyp46
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-strip.py53
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-type-envvars.py24
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-env-order.py83
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-gcc.py39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/Info.plist36
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/main.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test1.gyp25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test2.gyp25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test3.gyp25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/installname/Info.plist28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/installname/file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/installname/main.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/installname/test.gyp93
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/test.gyp17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/Info.plist8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/file.c2
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/symbol_list.def1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/test.gyp66
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/README.txt1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/hello.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/mylib.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/test.gyp66
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/Info.plist26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/module.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/test.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Info.plist10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Other-Info.plist12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Third-Info.plist12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/test.gyp34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/Info.plist15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/main.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/test.gyp24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/c-file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/cc-file.cc1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/main.m6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc-mm.mm1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc.m1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/test.gyp102
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/Framework-Info.plist30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/TestApp-Info.plist32
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/empty.c0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/main.c4
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/postbuild-copy-framework.sh9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/resource_file.sb1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/test.gyp43
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/Info.plist13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/main.c7
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/postbuild-defaults.sh15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/test.gyp26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/file.c6
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/postbuild-fail.sh6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/test.gyp38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-dynamic.sh7
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-static.sh7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/main.c4
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/postbuild-touch-file.sh7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/test.gyp26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/empty.c4
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/postbuild-touch-file.sh7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/test.gyp34
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/copy.sh3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file.c4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_g.c4
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_h.c4
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/shared_library_postbuild.sh23
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/static_library_postbuild.sh23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/copied_file.txt1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/nested_target.gyp53
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/test.gyp87
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.cc1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.m1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.mm1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/header.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/test.gyp82
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/TestApp-Info.plist32
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/delay-touch.sh6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/empty.c0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/main.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/test.gyp56
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/main.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/test.gyp48
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/file.cc5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test.gyp21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test_shorthand.sh8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/empty.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/test.gyp39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/strip/file.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/strip/strip.saves5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_strip.saves5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/subdirectory.gyp38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/test_reading_save_file_from_postbuild.sh5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/strip/test.gyp119
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/file.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test.gyp100
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_executable.sh21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_loadable_module.sh22
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_shared_library.sh23
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_executable.sh22
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_loadable_module.sh21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_none.sh22
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_shared_library.sh21
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_static_library.sh21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/Info.plist56
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/main.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/test.gyp121
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/test.gyp60
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_c.c8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_cc.cc8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_m.m8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_mm.mm8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_invalid_offsetof_macro.cc15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_missing_newline.c8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/dependencies.gyp15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/make/gyptest-dependencies.py26
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/make/gyptest-noload.py57
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/main.cc12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/main.h0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/noload/all.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.c3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/make/noload/main.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/file00
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/file10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/file20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/file30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/file40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions-unsorted.py34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions.py20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions-unsorted.gyp154
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions.gyp1817
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/module/gyptest-default.py29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/module/src/lib1.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/module/src/lib2.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/module/src/module.gyp55
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/module/src/program.c111
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/gyptest-config_attrs.py31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/express/base/base.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/express/express.gyp19
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/msvs/express/gyptest-express.py29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/gyptest-all.py51
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello.cpp10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_exclude.gyp19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_mac.cpp10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/gyptest-missing.py43
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/hello_missing.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.props14
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.vsprops11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/props/gyptest-props.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.c11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/common.gypi17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/gyptest-shared_output.py41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.c12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.c12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/gyptest-all.py20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.c13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.gyp26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello2.c10
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-all.py35
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-default.py35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/common.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/multiple.gyp24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog1.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog2.c10
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/gyptest-action-dependencies.py53
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.h13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/action_dependencies.gyp88
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.c18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.h13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.h13
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/emit.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained-dependency.gyp53
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained.c5
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/gyptest-normalize-paths.py42
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/normalize-paths.gyp56
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/empty.s1
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py42
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/s-needs-no-depfiles.gyp13
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/gyptest-solibs-avoid-relinking.py41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/main.cc5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solib.cc8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solibs_avoid_relinking.gyp38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/no-output/gyptest-no-output.py21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/no-output/src/nooutput.gyp17
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/product/gyptest-product.py44
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/product/hello.c15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/product/product.gyp128
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.gyp13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.gyp12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.gyp9
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/relative/gyptest-default.py25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/file.c1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test-casesensitive.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test.gyp14
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rename/gyptest-filecase.py35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/restat/gyptest-restat.py31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/restat/src/create_intermediate.py17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/restat/src/restat.gyp50
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/restat/src/touch.py16
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-dirname/gyptest-dirname.py38
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/actions.gyp15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/copy-file.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.gencc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.printvars1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.gencc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.printvars1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/input-rule-dirname.gyp92
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/main.cc12
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/printvars.py14
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-all.py70
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-default.py91
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/main.c12
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/make-sources.py19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog1.in7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog2.in7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/same_target.gyp31
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules-variables/gyptest-rules-variables.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_ext.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_name/test.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_path/subdir/test.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/input_dirname.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/test.c18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/test.input_root.c9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/variables.gyp40
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-all.py69
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-default.py55
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-input-root.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-special-variables.py18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/actions.gyp22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/an_asm.S6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/as.bat7
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules/src/copy-file.py11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/external.gyp66
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file1.in1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file2.in1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/input-root.gyp24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/file1.in1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/no_action_with_rules_fails.gyp37
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/rules/src/rule.py17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/somefile.ext0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/special-variables.gyp35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/executable.gyp37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function1.in6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function2.in6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/program.c12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file1.in1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file2.in1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/never_used.gyp31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_action.gyp38
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_inputs.gyp32
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/none.gyp33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/executable2.gyp37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/function3.in6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/program.c10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/asm-function.asm10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/build-asm.gyp49
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/program.c19
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-all.py38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-default.py38
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-library.py20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/one/sub.gyp11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/test.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/two/sub.gyp11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/all.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/executable.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/main1.cc6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/executable.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/main2.cc6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/gyptest-all.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir1/subdir1.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir2/subdir2.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdirs.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/touch.py11
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-all.py34
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-default.py34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-fail.py0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/all.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/double.gyp0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/func.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog1.c16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog2.c16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir1/func.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir2/func.c6
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/gyptest-all.py36
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir1/subdir1.gyp66
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir2/subdir2.gyp66
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdirs.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/touch.py11
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/same-target-name/gyptest-same-target-name.py18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/all.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable1.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable2.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/blah.S0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/gyptest-sanitize-rule-names.py17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/sanitize-rule-names.gyp27
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/script.py10
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/scons_tools/gyptest-tools.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/scons_tools/site_scons/site_tools/this_tool.py10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.c13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.gyp18
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-all.py39
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-relocate.py41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sibling/src/build/all.gyp17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.gyp15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/small/gyptest-small.py53
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/gyptest-standalone-static-library.py53
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/invalid.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.gyp26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/prog.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone/gyptest-standalone.py33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/standalone/standalone.gyp12
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-all.py36
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-default.py37
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-all.py33
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-default.py33
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir2-deep.py25
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-all.py43
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-default.py43
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/symroot.gypi16
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/toolsets/gyptest-toolsets.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toolsets/main.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.gyp49
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/gyptest-toplevel-dir.py31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/main.gyp18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/prog1.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.c7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.gyp15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp128
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp.stdout136
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gypd.golden72
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp86
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.ignore-env.stdout86
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.stdout86
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypd.golden56
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypi16
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-ignore-env.py46
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-repeated.py38
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands.py39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/commands/test.py1
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/commands/update_golden11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gyp.stdout26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gypd.golden43
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/filelist/gyptest-filelist.py50
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/src/filelist.gyp93
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/filelist/update_golden8
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variables/latelate/gyptest-latelate.py25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/latelate.gyp34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/program.cc13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/C1/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/variable-in-path.gyp31
-rwxr-xr-xdeps/npm/node_modules/node-gyp/gyp/test/variants/gyptest-variants.py45
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.c13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.gyp27
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/asm-files.gyp17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/b.s0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/c.S0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/batch-file-action.gyp21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/infile1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/somecmd.bat5
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/a.S0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/bat with spaces.bat7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/command-quote.gyp84
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/go.bat7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/subdir/and/another/in-subdir.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.gyp20
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.gyp31
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/analysis.gyp40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security-check.gyp51
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security.cc12
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-mbcs.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-unicode.cc15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set.gyp35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/debug-format.gyp48
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling-on.cc24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling.gyp46
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/optimizations.gyp147
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.gyp24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti-on.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti.gyp37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.gyp29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-md.cc19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mdd.cc19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mt.cc19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mtd.cc19
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library.gyp48
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/subdir/header.h0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/uninit.cc13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.gyp37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level.gyp115
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level1.cc8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level2.cc14
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level3.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level4.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-asm-files.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-include-dirs.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-options.py28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-analysis.py30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-buffer-security-check.py53
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-character-set.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-debug-format.py43
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-exception-handling.py33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-function-level-linking.py52
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-optimizations.py79
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-pdbname.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-rtti.py30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-checks.py30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-library.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-as-error.py30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-level.py41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-command-quote.py37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-deps.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-options.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-aslr.py35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-debug-info.py26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-default-libs.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-deffile.py43
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-delay-load-dlls.py35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-entrypointsymbol.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-fixed-base.py40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-generate-manifest.py44
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-incremental.py37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-adjust.py21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-directories.py35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nodefaultlib.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nxcompat.py37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-icf.py41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-ref.py40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-outputfile.py28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-pdb.py34
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-profile.py37
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-restat-importlib.py39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-subsystem.py28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-uldi.py28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-long-command-line.py23
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-projectname.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-vcinstalldir.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-containing-gyp.py21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-in-inputs-and-outputs.py27
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-midl-rules.py22
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-quoting-commands.py25
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-rc-build.py24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/basic-idl.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer.idl17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer_user.cc15
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/importlib/has-exports.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/importlib/hello.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/importlib/importlib.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-options.gyp29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/aslr.gyp35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/debug-info.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.cc30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.gyp13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile-multiple.gyp17
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.def8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.gyp38
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load-dlls.gyp27
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.cc13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra.manifest11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra2.manifest11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/fixed-base.gyp52
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/generate-manifest.gyp64
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/incremental.gyp65
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.gyp16
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-define.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-reference.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories.gyp42
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.cc13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.gyp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nxcompat.gyp35
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.cc29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.gyp63
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.cc11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.gyp56
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/outputfile.gyp58
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/profile.gyp50
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/program-database.gyp39
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subdir/library.gyp13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem-windows.cc9
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem.gyp48
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/function.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/long-command-line.gyp54
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/gyptest-all.py21
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.c14
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.gyp28
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello2.c13
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/precomp.c8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/Resource.h26
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.cpp30
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.gyp58
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.h3
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.icobin23558 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.rc86
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/small.icobin23558 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/hello2.rc87
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/include.h1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/targetver.h24
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/uldi/a.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/uldi/b.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/uldi/main.cc10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/uldi/uldi.gyp45
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/as.py18
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/containing-gyp.gyp40
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/do_stuff.py8
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/hello.cc7
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input-output-macros.gyp33
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input.S0
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/projectname.gyp29
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/stuff.blah1
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/test_exists.py10
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/vcinstalldir.gyp41
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el11
-rw-r--r--deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el2
-rw-r--r--deps/npm/node_modules/node-gyp/legacy/common.gypi205
-rw-r--r--deps/npm/node_modules/node-gyp/lib/build.js48
-rw-r--r--deps/npm/node_modules/node-gyp/lib/configure.js13
-rw-r--r--deps/npm/node_modules/node-gyp/lib/install.js53
-rw-r--r--deps/npm/node_modules/node-gyp/lib/node-gyp.js21
-rw-r--r--deps/npm/node_modules/node-gyp/lib/remove.js2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/LICENSE55
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/README.md310
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/aws.js191
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/forever.js103
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/main.js1123
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/.npmignore5
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Makefile7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Readme.md86
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/lib/form_data.js237
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-project8
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-workspace508
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/.gitmodules9
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/LICENSE19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/Makefile21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/README.md970
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/async.min.js.gzipbin1859 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.css70
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.js1966
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/dist/async.min.js1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/index.js3
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js632
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/nodelint.cfg4
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/package.json41
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test-async.js1367
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test.html24
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/.npmignore3
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/License19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Makefile7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md132
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js183
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md154
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js99
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json38
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js6
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js38
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js48
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js15
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js13
-rwxr-xr-xdeps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json39
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/common.js12
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file1.txt256
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file2.txt256
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-callback-streams.js27
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-data-size.js34
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams-and-buffers-and-strings.js38
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams.js35
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-max-data-size.js24
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-unpaused-streams.js30
-rwxr-xr-xdeps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/run.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/package.json43
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/common.js14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/bacon.txt1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/unicycle.jpgbin19806 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-form-get-length.js93
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-get-boundary.js18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-http-response.js121
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-pipe.js111
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-submit.js107
-rwxr-xr-xdeps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/run.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/LICENSE19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/README.md63
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/mime.js104
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/package.json42
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/test.js55
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/mime.types1588
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/node.types59
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/oauth.js43
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/package.json45
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/googledoodle.pngbin38510 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/run.js45
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/server.js90
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/squid.conf77
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.cnf20
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crl0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crt17
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.csr13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.key18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.srl1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.cnf19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.crt16
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.csr11
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.js28
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.key9
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/npm-ca.crt16
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.crt15
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.key15
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-body.js117
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookie.js29
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookiejar.js90
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-defaults.js114
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-errors.js37
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all-303.js30
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all.js35
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-form.js79
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-headers.js52
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-httpModule.js94
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https-strict.js97
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https.js86
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-oauth.js117
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-params.js92
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-piped-redirect.js52
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pipes.js216
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pool.js16
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-protocol-changing-redirect.js60
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-proxy.js39
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-qs.js28
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-redirect.js154
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-s3.js13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-timeout.js87
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-toJSON.js14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/test-tunnel.js63
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tests/unicycle.jpgbin19806 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/tunnel.js227
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/uuid.js19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/index.js65
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/jar.js72
-rw-r--r--deps/npm/node_modules/node-gyp/package.json16
-rw-r--r--deps/npm/node_modules/normalize-package-data/.npmignore1
-rw-r--r--deps/npm/node_modules/normalize-package-data/.travis.yml4
-rw-r--r--deps/npm/node_modules/normalize-package-data/AUTHORS3
-rw-r--r--deps/npm/node_modules/normalize-package-data/LICENSE30
-rw-r--r--deps/npm/node_modules/normalize-package-data/README.md81
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/extract_description.js13
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/fixer.js253
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/is_valid.js58
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/normalize.js36
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/typos.json23
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore1
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md10
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile5
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md41
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js12
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json27
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js40
-rw-r--r--deps/npm/node_modules/normalize-package-data/package.json47
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/basic.js34
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/consistency.js36
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/async.json36
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json56
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json35
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json53
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json21
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json26
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json135
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json27
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/request.json39
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json17
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/github-urls.js46
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/normalize.js129
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/typo.js67
-rw-r--r--deps/npm/node_modules/npm-registry-client/lib/get.js6
-rw-r--r--deps/npm/node_modules/npm-registry-client/lib/request.js4
-rw-r--r--deps/npm/node_modules/npm-registry-client/lib/unpublish.js2
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/couch-login/couch-login.js4
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json4
-rw-r--r--deps/npm/node_modules/npm-registry-client/package.json10
-rw-r--r--deps/npm/node_modules/npm-user-validate/README.md5
-rw-r--r--deps/npm/node_modules/npm-user-validate/npm-user-validate.js26
-rw-r--r--deps/npm/node_modules/npm-user-validate/package.json24
-rw-r--r--deps/npm/node_modules/npmconf/config-defs.js37
-rw-r--r--deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json6
-rw-r--r--deps/npm/node_modules/npmconf/node_modules/config-chain/package.json6
-rw-r--r--deps/npm/node_modules/npmconf/package.json12
-rw-r--r--deps/npm/node_modules/npmlog/LICENSE22
-rw-r--r--deps/npm/node_modules/npmlog/log.js6
-rw-r--r--deps/npm/node_modules/npmlog/package.json24
-rw-r--r--deps/npm/node_modules/npmlog/test/basic.js2
-rw-r--r--deps/npm/node_modules/read-installed/README.md2
-rw-r--r--deps/npm/node_modules/read-installed/package.json21
-rw-r--r--deps/npm/node_modules/read-installed/read-installed.js48
-rw-r--r--deps/npm/node_modules/read-installed/test/basic.js2
-rw-r--r--deps/npm/node_modules/read-package-json/README.md10
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/README.md1
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js153
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/is_valid.js58
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js14
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/typos.json3
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json10
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/normalize.js61
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/strict.js54
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/typo.js49
-rw-r--r--deps/npm/node_modules/read-package-json/package.json12
-rw-r--r--deps/npm/node_modules/read-package-json/read-json.js60
-rw-r--r--deps/npm/node_modules/rimraf/README.md5
-rwxr-xr-xdeps/npm/node_modules/rimraf/bin.js33
-rw-r--r--deps/npm/node_modules/rimraf/package.json14
-rw-r--r--deps/npm/node_modules/semver/.npmignore1
-rw-r--r--deps/npm/node_modules/semver/LICENSE42
-rw-r--r--deps/npm/node_modules/semver/Makefile24
-rw-r--r--deps/npm/node_modules/semver/README.md67
-rw-r--r--deps/npm/node_modules/semver/foot.js6
-rw-r--r--deps/npm/node_modules/semver/head.js2
-rw-r--r--deps/npm/node_modules/semver/package.json24
-rw-r--r--deps/npm/node_modules/semver/semver.browser.js850
-rw-r--r--deps/npm/node_modules/semver/semver.browser.js.gzbin0 -> 6072 bytes
-rw-r--r--deps/npm/node_modules/semver/semver.js1114
-rw-r--r--deps/npm/node_modules/semver/semver.min.js1
-rw-r--r--deps/npm/node_modules/semver/semver.min.js.gzbin0 -> 2842 bytes
-rw-r--r--deps/npm/node_modules/semver/test.js436
-rw-r--r--deps/npm/node_modules/semver/test/amd.js15
-rw-r--r--deps/npm/node_modules/semver/test/index.js531
-rw-r--r--deps/npm/node_modules/semver/test/no-module.js19
-rw-r--r--deps/npm/package.json33
-rwxr-xr-xdeps/npm/scripts/doc-build.sh37
-rwxr-xr-xdeps/npm/scripts/index-build.js93
-rw-r--r--deps/npm/test/tap/fixtures/underscore-1-3-3.json1
-rw-r--r--deps/npm/test/tap/fixtures/underscore.json1
-rw-r--r--deps/npm/test/tap/noargs-install-config-save.js86
1823 files changed, 32757 insertions, 79309 deletions
diff --git a/deps/npm/Makefile b/deps/npm/Makefile
index 82fa8b65e..01228c1cd 100644
--- a/deps/npm/Makefile
+++ b/deps/npm/Makefile
@@ -1,31 +1,57 @@
+# vim: set softtabstop=2 shiftwidth=2:
SHELL = bash
markdowns = $(shell find doc -name '*.md' | grep -v 'index') README.md
+html_docdeps = html/dochead.html \
+ html/docfoot.html \
+ html/docfoot-script.html \
+ scripts/doc-build.sh \
+ package.json
+
cli_mandocs = $(shell find doc/cli -name '*.md' \
|sed 's|.md|.1|g' \
|sed 's|doc/cli/|man/man1/|g' ) \
- man/man1/README.1 \
- man/man1/index.1
+ man/man1/npm-README.1
api_mandocs = $(shell find doc/api -name '*.md' \
|sed 's|.md|.3|g' \
|sed 's|doc/api/|man/man3/|g' )
+files_mandocs = $(shell find doc/files -name '*.md' \
+ |sed 's|.md|.5|g' \
+ |sed 's|doc/files/|man/man5/|g' ) \
+ man/man5/npm-json.5 \
+ man/man5/npm-global.5
+
+misc_mandocs = $(shell find doc/misc -name '*.md' \
+ |sed 's|.md|.7|g' \
+ |sed 's|doc/misc/|man/man7/|g' ) \
+ man/man7/index.7
+
cli_htmldocs = $(shell find doc/cli -name '*.md' \
- |grep -v 'index.md' \
|sed 's|.md|.html|g' \
- |sed 's|doc/cli/|html/doc/|g' ) \
- html/doc/README.html \
- html/doc/index.html
+ |sed 's|doc/cli/|html/doc/cli/|g' ) \
+ html/doc/README.html
api_htmldocs = $(shell find doc/api -name '*.md' \
|sed 's|.md|.html|g' \
- |sed 's|doc/api/|html/api/|g' )
+ |sed 's|doc/api/|html/doc/api/|g' )
+
+files_htmldocs = $(shell find doc/files -name '*.md' \
+ |sed 's|.md|.html|g' \
+ |sed 's|doc/files/|html/doc/files/|g' ) \
+ html/doc/files/npm-json.html \
+ html/doc/files/npm-global.html
-mandocs = $(api_mandocs) $(cli_mandocs)
+misc_htmldocs = $(shell find doc/misc -name '*.md' \
+ |sed 's|.md|.html|g' \
+ |sed 's|doc/misc/|html/doc/misc/|g' ) \
+ html/doc/index.html
-htmldocs = $(api_htmldocs) $(cli_htmldocs)
+mandocs = $(api_mandocs) $(cli_mandocs) $(files_mandocs) $(misc_mandocs)
+
+htmldocs = $(api_htmldocs) $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs)
all: doc
@@ -58,17 +84,14 @@ doc-clean:
rm -rf \
node_modules/ronn \
node_modules/.bin/ronn \
- .building_ronn \
- doc/cli/index.md \
- doc/api/index.md \
- $(api_mandocs) \
- $(cli_mandocs) \
- $(api_htmldocs) \
- $(cli_htmldocs) \
- &>/dev/null || true
+ .building_ronn \
+ html/doc \
+ html/api \
+ man/man*
# use `npm install ronn` for this to work.
-man/man1/README.1: README.md scripts/doc-build.sh package.json
+man/man1/npm-README.1: README.md scripts/doc-build.sh package.json
+ @[ -d man/man1 ] || mkdir -p man/man1
scripts/doc-build.sh $< $@
man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json
@@ -79,17 +102,54 @@ man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json
@[ -d man/man3 ] || mkdir -p man/man3
scripts/doc-build.sh $< $@
-html/doc/README.html: README.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
+man/man5/npm-json.5: man/man5/package.json.5
+ cp $< $@
+
+man/man5/npm-global.5: man/man5/npm-folders.5
+ cp $< $@
+
+man/man5/%.5: doc/files/%.md scripts/doc-build.sh package.json
+ @[ -d man/man5 ] || mkdir -p man/man5
scripts/doc-build.sh $< $@
-html/doc/%.html: doc/cli/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
+doc/misc/npm-index.md: scripts/index-build.js package.json
+ node scripts/index-build.js > $@
+
+html/doc/index.html: doc/misc/npm-index.md $(html_docdeps)
+ @[ -d html/doc ] || mkdir -p html/doc
scripts/doc-build.sh $< $@
-html/api/%.html: doc/api/%.md html/dochead.html html/docfoot.html scripts/doc-build.sh package.json
+man/man7/%.7: doc/misc/%.md scripts/doc-build.sh package.json
+ @[ -d man/man7 ] || mkdir -p man/man7
scripts/doc-build.sh $< $@
-doc/cli/index.md: $(markdowns) scripts/index-build.js scripts/doc-build.sh package.json
- node scripts/index-build.js > $@
+html/doc/README.html: README.md $(html_docdeps)
+ @[ -d html/doc ] || mkdir -p html/doc
+ scripts/doc-build.sh $< $@
+
+html/doc/cli/%.html: doc/cli/%.md $(html_docdeps)
+ @[ -d html/doc/cli ] || mkdir -p html/doc/cli
+ scripts/doc-build.sh $< $@
+
+html/doc/api/%.html: doc/api/%.md $(html_docdeps)
+ @[ -d html/doc/api ] || mkdir -p html/doc/api
+ scripts/doc-build.sh $< $@
+
+html/doc/files/npm-json.html: html/doc/files/package.json.html
+ cp $< $@
+html/doc/files/npm-global.html: html/doc/files/npm-folders.html
+ cp $< $@
+
+html/doc/files/%.html: doc/files/%.md $(html_docdeps)
+ @[ -d html/doc/files ] || mkdir -p html/doc/files
+ scripts/doc-build.sh $< $@
+
+html/doc/misc/%.html: doc/misc/%.md $(html_docdeps)
+ @[ -d html/doc/misc ] || mkdir -p html/doc/misc
+ scripts/doc-build.sh $< $@
+
+
+
node_modules/.bin/ronn:
node cli.js install ronn
@@ -102,9 +162,10 @@ test:
node cli.js test
publish: link doc
- @git push origin :v$(shell npm -v) || true
- @npm unpublish npm@$(shell npm -v) || true
- git clean -fd
+ @git push origin :v$(shell npm -v) 2>&1 || true
+ @npm unpublish npm@$(shell npm -v) 2>&1 || true
+ git clean -fd &&\
+ git push origin &&\
git push origin --tags &&\
npm publish &&\
npm tag npm@$(shell npm -v) $(shell npm -v | awk -F. '{print $$1 "." $$2}') &&\
@@ -113,18 +174,36 @@ publish: link doc
docpublish: doc-publish
doc-publish: doc
+ # legacy urls
+ for f in $$(find html/doc/{cli,files,misc}/ -name '*.html'); do \
+ j=$$(basename $$f | sed 's|^npm-||g'); \
+ if ! [ -f html/doc/$$j ] && [ $$j != README.html ] && [ $$j != index.html ]; then \
+ perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/doc/$$j; \
+ fi; \
+ done
+ mkdir -p html/api
+ for f in $$(find html/doc/api/ -name '*.html'); do \
+ j=$$(basename $$f | sed 's|^npm-||g'); \
+ perl -pi -e 's/ href="\.\.\// href="/g' <$$f >html/api/$$j; \
+ done
rsync -vazu --stats --no-implied-dirs --delete \
- html/doc/ \
- node@npmjs.org:/home/node/npm-www/doc
- rsync -vazu --stats --no-implied-dirs --delete \
- html/api/ \
- node@npmjs.org:/home/node/npm-www/api
+ html/doc/* \
+ node@npmjs.org:/home/node/npm-www/doc
rsync -vazu --stats --no-implied-dirs --delete \
- html/static/webfonts/ \
- node@npmjs.org:/home/node/npm-www/static/webfonts
+ html/static/webfonts/ \
+ node@npmjs.org:/home/node/npm-www/static/webfonts
rsync -vazu --stats --no-implied-dirs --delete \
- html/static/style.css \
- node@npmjs.org:/home/node/npm-www/static/
+ html/static/style.css \
+ node@npmjs.org:/home/node/npm-www/static/
+ #cleanup
+ rm -rf html/api
+ for f in html/doc/*.html; do \
+ case $$f in \
+ html/doc/README.html) continue ;; \
+ html/doc/index.html) continue ;; \
+ *) rm $$f ;; \
+ esac; \
+ done
zip-publish: release
scp release/* node@nodejs.org:dist/npm/
diff --git a/deps/npm/README.md b/deps/npm/README.md
index c8b7afca8..6769c91e4 100644
--- a/deps/npm/README.md
+++ b/deps/npm/README.md
@@ -9,7 +9,7 @@ Much more info available via `npm help` once it's installed.
## IMPORTANT
-**You need node v0.6 or higher to run this program.**
+**You need node v0.8 or higher to run this program.**
To install an old **and unsupported** version of npm that works on node 0.3
and prior, clone the git repo and dig through the old tags and branches.
diff --git a/deps/npm/doc/api/commands.md b/deps/npm/doc/api/commands.md
deleted file mode 100644
index eb7545639..000000000
--- a/deps/npm/doc/api/commands.md
+++ /dev/null
@@ -1,22 +0,0 @@
-npm-commands(3) -- npm commands
-===============================
-
-## SYNOPSIS
-
- npm.commands[<command>](args, callback)
-
-## DESCRIPTION
-
-npm comes with a full set of commands, and each of the commands takes a
-similar set of arguments.
-
-In general, all commands on the command object take an **array** of positional
-argument **strings**. The last argument to any function is a callback. Some
-commands are special and take other optional arguments.
-
-All commands have their own man page. See `man npm-<command>` for command-line
-usage, or `man 3 npm-<command>` for programmatic usage.
-
-## SEE ALSO
-
-* npm-index(1)
diff --git a/deps/npm/doc/api/deprecate.md b/deps/npm/doc/api/deprecate.md
deleted file mode 100644
index 0608d3864..000000000
--- a/deps/npm/doc/api/deprecate.md
+++ /dev/null
@@ -1,34 +0,0 @@
-npm-deprecate(3) -- Deprecate a version of a package
-====================================================
-
-## SYNOPSIS
-
- npm.commands.deprecate(args, callback)
-
-## DESCRIPTION
-
-This command will update the npm registry entry for a package, providing
-a deprecation warning to all who attempt to install it.
-
-The 'args' parameter must have exactly two elements:
-
-* `package[@version]`
-
- The `version` portion is optional, and may be either a range, or a
- specific version, or a tag.
-
-* `message`
-
- The warning message that will be printed whenever a user attempts to
- install the package.
-
-Note that you must be the package owner to deprecate something. See the
-`owner` and `adduser` help topics.
-
-To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
-
-## SEE ALSO
-
-* npm-publish(3)
-* npm-unpublish(3)
-* npm-registry(1)
diff --git a/deps/npm/doc/api/init.md b/deps/npm/doc/api/init.md
deleted file mode 100644
index 5afc11b3b..000000000
--- a/deps/npm/doc/api/init.md
+++ /dev/null
@@ -1,29 +0,0 @@
-npm init(3) -- Interactively create a package.json file
-=======================================================
-
-## SYNOPSIS
-
- npm.commands.init(args, callback)
-
-## DESCRIPTION
-
-This will ask you a bunch of questions, and then write a package.json for you.
-
-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.
-
-If you already have a package.json file, it'll read that first, and default to
-the options in there.
-
-It is strictly additive, so it does not delete options from your package.json
-without a really good reason to do so.
-
-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.
-
-## SEE ALSO
-
-npm-json(1)
diff --git a/deps/npm/doc/api/bin.md b/deps/npm/doc/api/npm-bin.md
index f3dc48286..f3dc48286 100644
--- a/deps/npm/doc/api/bin.md
+++ b/deps/npm/doc/api/npm-bin.md
diff --git a/deps/npm/doc/api/bugs.md b/deps/npm/doc/api/npm-bugs.md
index cc4db8f9e..cc4db8f9e 100644
--- a/deps/npm/doc/api/bugs.md
+++ b/deps/npm/doc/api/npm-bugs.md
diff --git a/deps/npm/doc/api/npm-commands.md b/deps/npm/doc/api/npm-commands.md
new file mode 100644
index 000000000..36dcfd8d6
--- /dev/null
+++ b/deps/npm/doc/api/npm-commands.md
@@ -0,0 +1,22 @@
+npm-commands(3) -- npm commands
+===============================
+
+## SYNOPSIS
+
+ npm.commands[<command>](args, callback)
+
+## DESCRIPTION
+
+npm comes with a full set of commands, and each of the commands takes a
+similar set of arguments.
+
+In general, all commands on the command object take an **array** of positional
+argument **strings**. The last argument to any function is a callback. Some
+commands are special and take other optional arguments.
+
+All commands have their own man page. See `man npm-<command>` for command-line
+usage, or `man 3 npm-<command>` for programmatic usage.
+
+## SEE ALSO
+
+* npm-index(7)
diff --git a/deps/npm/doc/api/config.md b/deps/npm/doc/api/npm-config.md
index 7ae227428..7ae227428 100644
--- a/deps/npm/doc/api/config.md
+++ b/deps/npm/doc/api/npm-config.md
diff --git a/deps/npm/doc/api/npm-deprecate.md b/deps/npm/doc/api/npm-deprecate.md
new file mode 100644
index 000000000..200fb9c30
--- /dev/null
+++ b/deps/npm/doc/api/npm-deprecate.md
@@ -0,0 +1,34 @@
+npm-deprecate(3) -- Deprecate a version of a package
+====================================================
+
+## SYNOPSIS
+
+ npm.commands.deprecate(args, callback)
+
+## DESCRIPTION
+
+This command will update the npm registry entry for a package, providing
+a deprecation warning to all who attempt to install it.
+
+The 'args' parameter must have exactly two elements:
+
+* `package[@version]`
+
+ The `version` portion is optional, and may be either a range, or a
+ specific version, or a tag.
+
+* `message`
+
+ The warning message that will be printed whenever a user attempts to
+ install the package.
+
+Note that you must be the package owner to deprecate something. See the
+`owner` and `adduser` help topics.
+
+To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
+
+## SEE ALSO
+
+* npm-publish(3)
+* npm-unpublish(3)
+* npm-registry(7)
diff --git a/deps/npm/doc/api/docs.md b/deps/npm/doc/api/npm-docs.md
index 2c5fc5e63..2c5fc5e63 100644
--- a/deps/npm/doc/api/docs.md
+++ b/deps/npm/doc/api/npm-docs.md
diff --git a/deps/npm/doc/api/edit.md b/deps/npm/doc/api/npm-edit.md
index b13fbb857..b13fbb857 100644
--- a/deps/npm/doc/api/edit.md
+++ b/deps/npm/doc/api/npm-edit.md
diff --git a/deps/npm/doc/api/explore.md b/deps/npm/doc/api/npm-explore.md
index a239f3df3..a239f3df3 100644
--- a/deps/npm/doc/api/explore.md
+++ b/deps/npm/doc/api/npm-explore.md
diff --git a/deps/npm/doc/api/help-search.md b/deps/npm/doc/api/npm-help-search.md
index 5c00cfc17..5c00cfc17 100644
--- a/deps/npm/doc/api/help-search.md
+++ b/deps/npm/doc/api/npm-help-search.md
diff --git a/deps/npm/doc/api/npm-init.md b/deps/npm/doc/api/npm-init.md
new file mode 100644
index 000000000..9b75bf791
--- /dev/null
+++ b/deps/npm/doc/api/npm-init.md
@@ -0,0 +1,29 @@
+npm init(3) -- Interactively create a package.json file
+=======================================================
+
+## SYNOPSIS
+
+ npm.commands.init(args, callback)
+
+## DESCRIPTION
+
+This will ask you a bunch of questions, and then write a package.json for you.
+
+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.
+
+If you already have a package.json file, it'll read that first, and default to
+the options in there.
+
+It is strictly additive, so it does not delete options from your package.json
+without a really good reason to do so.
+
+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.
+
+## SEE ALSO
+
+package.json(5)
diff --git a/deps/npm/doc/api/install.md b/deps/npm/doc/api/npm-install.md
index 12f665a76..12f665a76 100644
--- a/deps/npm/doc/api/install.md
+++ b/deps/npm/doc/api/npm-install.md
diff --git a/deps/npm/doc/api/link.md b/deps/npm/doc/api/npm-link.md
index ad8cefcab..ad8cefcab 100644
--- a/deps/npm/doc/api/link.md
+++ b/deps/npm/doc/api/npm-link.md
diff --git a/deps/npm/doc/api/load.md b/deps/npm/doc/api/npm-load.md
index a95a6b295..a95a6b295 100644
--- a/deps/npm/doc/api/load.md
+++ b/deps/npm/doc/api/npm-load.md
diff --git a/deps/npm/doc/api/ls.md b/deps/npm/doc/api/npm-ls.md
index ed890ff14..ed890ff14 100644
--- a/deps/npm/doc/api/ls.md
+++ b/deps/npm/doc/api/npm-ls.md
diff --git a/deps/npm/doc/api/outdated.md b/deps/npm/doc/api/npm-outdated.md
index 89f4cf6fa..89f4cf6fa 100644
--- a/deps/npm/doc/api/outdated.md
+++ b/deps/npm/doc/api/npm-outdated.md
diff --git a/deps/npm/doc/api/npm-owner.md b/deps/npm/doc/api/npm-owner.md
new file mode 100644
index 000000000..71fcccff5
--- /dev/null
+++ b/deps/npm/doc/api/npm-owner.md
@@ -0,0 +1,31 @@
+npm-owner(3) -- Manage package owners
+=====================================
+
+## SYNOPSIS
+
+ npm.commands.owner(args, callback)
+
+## 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):
+
+* 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.
+* 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.
+* rm (user, package):
+ Remove a user from the package owner list. This immediately revokes their
+ privileges.
+
+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.
+
+## SEE ALSO
+
+* npm-publish(3)
+* npm-registry(7)
diff --git a/deps/npm/doc/api/pack.md b/deps/npm/doc/api/npm-pack.md
index cb339c0c4..cb339c0c4 100644
--- a/deps/npm/doc/api/pack.md
+++ b/deps/npm/doc/api/npm-pack.md
diff --git a/deps/npm/doc/api/prefix.md b/deps/npm/doc/api/npm-prefix.md
index 806dd4b6c..806dd4b6c 100644
--- a/deps/npm/doc/api/prefix.md
+++ b/deps/npm/doc/api/npm-prefix.md
diff --git a/deps/npm/doc/api/prune.md b/deps/npm/doc/api/npm-prune.md
index 2a4f17748..2a4f17748 100644
--- a/deps/npm/doc/api/prune.md
+++ b/deps/npm/doc/api/npm-prune.md
diff --git a/deps/npm/doc/api/npm-publish.md b/deps/npm/doc/api/npm-publish.md
new file mode 100644
index 000000000..6871dafb8
--- /dev/null
+++ b/deps/npm/doc/api/npm-publish.md
@@ -0,0 +1,30 @@
+npm-publish(3) -- Publish a package
+===================================
+
+## SYNOPSIS
+
+ npm.commands.publish([packages,] callback)
+
+## DESCRIPTION
+
+Publishes a package to the registry so that it can be installed by name.
+Possible values in the 'packages' array are:
+
+* `<folder>`:
+ A folder containing a package.json file
+
+* `<tarball>`:
+ A url or file path to a gzipped tar archive containing a single folder
+ with a package.json file inside.
+
+If the package array is empty, npm will try to publish something in the
+current working directory.
+
+This command could fails if one of the packages specified already exists in
+the registry. Overwrites when the "force" environment variable is set.
+
+## SEE ALSO
+
+* npm-registry(7)
+* npm-adduser(1)
+* npm-owner(3)
diff --git a/deps/npm/doc/api/rebuild.md b/deps/npm/doc/api/npm-rebuild.md
index 8b8989806..8b8989806 100644
--- a/deps/npm/doc/api/rebuild.md
+++ b/deps/npm/doc/api/npm-rebuild.md
diff --git a/deps/npm/doc/api/restart.md b/deps/npm/doc/api/npm-restart.md
index c40704438..c40704438 100644
--- a/deps/npm/doc/api/restart.md
+++ b/deps/npm/doc/api/npm-restart.md
diff --git a/deps/npm/doc/api/root.md b/deps/npm/doc/api/npm-root.md
index 1c3ab5640..1c3ab5640 100644
--- a/deps/npm/doc/api/root.md
+++ b/deps/npm/doc/api/npm-root.md
diff --git a/deps/npm/doc/api/npm-run-script.md b/deps/npm/doc/api/npm-run-script.md
new file mode 100644
index 000000000..91ad95351
--- /dev/null
+++ b/deps/npm/doc/api/npm-run-script.md
@@ -0,0 +1,27 @@
+npm-run-script(3) -- Run arbitrary package scripts
+==================================================
+
+## SYNOPSIS
+
+ npm.commands.run-script(args, callback)
+
+## DESCRIPTION
+
+This runs an arbitrary command from a package's "scripts" object.
+
+It is used by the test, start, restart, and stop commands, but can be
+called directly, as well.
+
+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.
+
+## SEE ALSO
+
+* npm-scripts(7)
+* npm-test(3)
+* npm-start(3)
+* npm-restart(3)
+* npm-stop(3)
diff --git a/deps/npm/doc/api/search.md b/deps/npm/doc/api/npm-search.md
index 30651d76a..30651d76a 100644
--- a/deps/npm/doc/api/search.md
+++ b/deps/npm/doc/api/npm-search.md
diff --git a/deps/npm/doc/api/shrinkwrap.md b/deps/npm/doc/api/npm-shrinkwrap.md
index 6584d6a0d..6584d6a0d 100644
--- a/deps/npm/doc/api/shrinkwrap.md
+++ b/deps/npm/doc/api/npm-shrinkwrap.md
diff --git a/deps/npm/doc/api/start.md b/deps/npm/doc/api/npm-start.md
index 74491146a..74491146a 100644
--- a/deps/npm/doc/api/start.md
+++ b/deps/npm/doc/api/npm-start.md
diff --git a/deps/npm/doc/api/stop.md b/deps/npm/doc/api/npm-stop.md
index 0f8333d35..0f8333d35 100644
--- a/deps/npm/doc/api/stop.md
+++ b/deps/npm/doc/api/npm-stop.md
diff --git a/deps/npm/doc/api/submodule.md b/deps/npm/doc/api/npm-submodule.md
index 2d8bafaa3..2d8bafaa3 100644
--- a/deps/npm/doc/api/submodule.md
+++ b/deps/npm/doc/api/npm-submodule.md
diff --git a/deps/npm/doc/api/tag.md b/deps/npm/doc/api/npm-tag.md
index b5a3d7faa..b5a3d7faa 100644
--- a/deps/npm/doc/api/tag.md
+++ b/deps/npm/doc/api/npm-tag.md
diff --git a/deps/npm/doc/api/test.md b/deps/npm/doc/api/npm-test.md
index bc48dcc35..bc48dcc35 100644
--- a/deps/npm/doc/api/test.md
+++ b/deps/npm/doc/api/npm-test.md
diff --git a/deps/npm/doc/api/uninstall.md b/deps/npm/doc/api/npm-uninstall.md
index 4505295b3..4505295b3 100644
--- a/deps/npm/doc/api/uninstall.md
+++ b/deps/npm/doc/api/npm-uninstall.md
diff --git a/deps/npm/doc/api/unpublish.md b/deps/npm/doc/api/npm-unpublish.md
index 6cbc5c1f3..6cbc5c1f3 100644
--- a/deps/npm/doc/api/unpublish.md
+++ b/deps/npm/doc/api/npm-unpublish.md
diff --git a/deps/npm/doc/api/update.md b/deps/npm/doc/api/npm-update.md
index bf02fd3c8..bf02fd3c8 100644
--- a/deps/npm/doc/api/update.md
+++ b/deps/npm/doc/api/npm-update.md
diff --git a/deps/npm/doc/api/version.md b/deps/npm/doc/api/npm-version.md
index bd40102c4..bd40102c4 100644
--- a/deps/npm/doc/api/version.md
+++ b/deps/npm/doc/api/npm-version.md
diff --git a/deps/npm/doc/api/view.md b/deps/npm/doc/api/npm-view.md
index fd0076c96..fd0076c96 100644
--- a/deps/npm/doc/api/view.md
+++ b/deps/npm/doc/api/npm-view.md
diff --git a/deps/npm/doc/api/whoami.md b/deps/npm/doc/api/npm-whoami.md
index 598a1ab1a..598a1ab1a 100644
--- a/deps/npm/doc/api/whoami.md
+++ b/deps/npm/doc/api/npm-whoami.md
diff --git a/deps/npm/doc/api/npm.md b/deps/npm/doc/api/npm.md
index 8c7a8168e..e099320f4 100644
--- a/deps/npm/doc/api/npm.md
+++ b/deps/npm/doc/api/npm.md
@@ -30,11 +30,11 @@ If you provide `configObject` as an object hash of top-level
configs, they override the values stored in the various config
locations. 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 `npm-config(1)`
-for more information.
+params are loaded from two configuration files. See `npm-config(1)`,
+`npm-config(7)`, and `npmrc(5)` for more information.
After that, each of the functions are accessible in the
-commands object: `npm.commands.<cmd>`. See `npm-index(1)` for a list of
+commands object: `npm.commands.<cmd>`. See `npm-index(7)` for a list of
all possible commands.
All commands on the command object take an **array** of positional argument
diff --git a/deps/npm/doc/api/owner.md b/deps/npm/doc/api/owner.md
deleted file mode 100644
index de203c072..000000000
--- a/deps/npm/doc/api/owner.md
+++ /dev/null
@@ -1,31 +0,0 @@
-npm-owner(3) -- Manage package owners
-=====================================
-
-## SYNOPSIS
-
- npm.commands.owner(args, callback)
-
-## 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):
-
-* 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.
-* 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.
-* rm (user, package):
- Remove a user from the package owner list. This immediately revokes their
- privileges.
-
-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.
-
-## SEE ALSO
-
-* npm-publish(3)
-* npm-registry(1)
diff --git a/deps/npm/doc/api/publish.md b/deps/npm/doc/api/publish.md
deleted file mode 100644
index a743303f8..000000000
--- a/deps/npm/doc/api/publish.md
+++ /dev/null
@@ -1,30 +0,0 @@
-npm-publish(3) -- Publish a package
-===================================
-
-## SYNOPSIS
-
- npm.commands.publish([packages,] callback)
-
-## DESCRIPTION
-
-Publishes a package to the registry so that it can be installed by name.
-Possible values in the 'packages' array are:
-
-* `<folder>`:
- A folder containing a package.json file
-
-* `<tarball>`:
- A url or file path to a gzipped tar archive containing a single folder
- with a package.json file inside.
-
-If the package array is empty, npm will try to publish something in the
-current working directory.
-
-This command could fails if one of the packages specified already exists in
-the registry. Overwrites when the "force" environment variable is set.
-
-## SEE ALSO
-
-* npm-registry(1)
-* npm-adduser(1)
-* npm-owner(3)
diff --git a/deps/npm/doc/api/run-script.md b/deps/npm/doc/api/run-script.md
deleted file mode 100644
index f15900ecb..000000000
--- a/deps/npm/doc/api/run-script.md
+++ /dev/null
@@ -1,27 +0,0 @@
-npm-run-script(3) -- Run arbitrary package scripts
-==================================================
-
-## SYNOPSIS
-
- npm.commands.run-script(args, callback)
-
-## DESCRIPTION
-
-This runs an arbitrary command from a package's "scripts" object.
-
-It is used by the test, start, restart, and stop commands, but can be
-called directly, as well.
-
-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.
-
-## SEE ALSO
-
-* npm-scripts(1)
-* npm-test(3)
-* npm-start(3)
-* npm-restart(3)
-* npm-stop(3)
diff --git a/deps/npm/doc/cli/adduser.md b/deps/npm/doc/cli/adduser.md
deleted file mode 100644
index 51aa6f6a3..000000000
--- a/deps/npm/doc/cli/adduser.md
+++ /dev/null
@@ -1,36 +0,0 @@
-npm-adduser(1) -- Add a registry user account
-=============================================
-
-## SYNOPSIS
-
- npm adduser
-
-## DESCRIPTION
-
-Create or verify a user named `<username>` in the npm registry, and
-save the credentials to the `.npmrc` file.
-
-The username, password, and email are read in from prompts.
-
-You may use this command to change your email address, but not username
-or password.
-
-To reset your password, go to <http://admin.npmjs.org/>
-
-You may use this command multiple times with the same user account to
-authorize on a new machine.
-
-## CONFIGURATION
-
-### registry
-
-Default: http://registry.npmjs.org/
-
-The base URL of the npm package registry.
-
-## SEE ALSO
-
-* npm-registry(1)
-* npm-config(1)
-* npm-owner(1)
-* npm-whoami(1)
diff --git a/deps/npm/doc/cli/bin.md b/deps/npm/doc/cli/bin.md
deleted file mode 100644
index 2c2e7c477..000000000
--- a/deps/npm/doc/cli/bin.md
+++ /dev/null
@@ -1,17 +0,0 @@
-npm-bin(1) -- Display npm bin folder
-====================================
-
-## SYNOPSIS
-
- npm bin
-
-## DESCRIPTION
-
-Print the folder where npm will install executables.
-
-## SEE ALSO
-
-* npm-prefix(1)
-* npm-root(1)
-* npm-folders(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/bugs.md b/deps/npm/doc/cli/bugs.md
deleted file mode 100644
index 45ee84b58..000000000
--- a/deps/npm/doc/cli/bugs.md
+++ /dev/null
@@ -1,38 +0,0 @@
-npm-bugs(1) -- Bugs for a package in a web browser maybe
-========================================================
-
-## SYNOPSIS
-
- npm bugs <pkgname>
-
-## 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 `--browser`
-config param.
-
-## CONFIGURATION
-
-### browser
-
-* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
-* Type: String
-
-The browser that is called by the `npm bugs` command to open websites.
-
-### registry
-
-* Default: https://registry.npmjs.org/
-* Type: url
-
-The base URL of the npm package registry.
-
-
-## SEE ALSO
-
-* npm-docs(1)
-* npm-view(1)
-* npm-publish(1)
-* npm-registry(1)
-* npm-config(1)
-* npm-json(1)
diff --git a/deps/npm/doc/cli/build.md b/deps/npm/doc/cli/build.md
deleted file mode 100644
index 978f4a6d6..000000000
--- a/deps/npm/doc/cli/build.md
+++ /dev/null
@@ -1,22 +0,0 @@
-npm-build(1) -- Build a package
-===============================
-
-## SYNOPSIS
-
- npm build <package-folder>
-
-* `<package-folder>`:
- A folder containing a `package.json` file in its root.
-
-## DESCRIPTION
-
-This is the plumbing command called by `npm link` and `npm install`.
-
-It should generally not be called directly.
-
-## SEE ALSO
-
-* npm-install(1)
-* npm-link(1)
-* npm-scripts(1)
-* npm-json(1)
diff --git a/deps/npm/doc/cli/cache.md b/deps/npm/doc/cli/cache.md
deleted file mode 100644
index 1fa128ad4..000000000
--- a/deps/npm/doc/cli/cache.md
+++ /dev/null
@@ -1,70 +0,0 @@
-npm-cache(1) -- Manipulates packages cache
-==========================================
-
-## SYNOPSIS
-
- 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>]
-
-## DESCRIPTION
-
-Used to add, list, or clear the npm cache folder.
-
-* 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.
-
-* ls:
- Show the data in the cache. Argument is a path to show in the cache
- folder. Works a bit like the `find` program, but limited by the
- `depth` config.
-
-* 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.
-
-## DETAILS
-
-npm stores cache data in `$HOME/.npm`. For each package that is added
-to the cache, three pieces of information are stored in
-`{cache}/{name}/{version}`:
-
-* .../package/:
- A folder containing the package contents as they appear in the tarball.
-* .../package.json:
- The package.json file, as npm sees it, with overlays applied and a _id attribute.
-* .../package.tgz:
- The tarball for that version.
-
-Additionally, whenever a registry request is made, a `.cache.json` file
-is placed at the corresponding URI, to store the ETag and the requested
-data.
-
-Commands that make non-essential registry requests (such as `search` and
-`view`, or the completion scripts) generally specify a minimum timeout.
-If the `.cache.json` file is younger than the specified timeout, then
-they do not make an HTTP request to the registry.
-
-## CONFIGURATION
-
-### cache
-
-Default: `$HOME/.npm` on Posix, or `$HOME/npm-cache` on Windows.
-
-The root cache folder.
-
-## SEE ALSO
-
-* npm-folders(1)
-* npm-config(1)
-* npm-install(1)
-* npm-publish(1)
-* npm-pack(1)
diff --git a/deps/npm/doc/cli/changelog.md b/deps/npm/doc/cli/changelog.md
deleted file mode 100644
index 64feeacda..000000000
--- a/deps/npm/doc/cli/changelog.md
+++ /dev/null
@@ -1,80 +0,0 @@
-npm-changelog(1) -- Changes
-===========================
-
-## HISTORY
-
-### 1.1.3, 1.1.4
-
-* Update request to support HTTPS-over-HTTP proxy tunneling
-* Throw on undefined envs in config settings
-* Update which to 1.0.5
-* Fix windows UNC busyloop in findPrefix
-* Bundle nested bundleDependencies properly
-* Alias adduser to add-user
-* Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)
-* ignore logfd/outfd streams in makeEnv() (Rod Vagg)
-* shrinkwrap: Behave properly with url-installed deps
-* install: Support --save with url install targets
-* Support installing naked tars or single-file modules from urls etc.
-* init: Don't add engines section
-* Don't run make clean on rebuild
-* Added missing unicode replacement (atomizer)
-
-### 1.1.2
-
-Dave Pacheco (2):
- add "npm shrinkwrap"
-
-Martin Cooper (1):
- Fix #1753 Make a copy of the cached objects we'll modify.
-
-Tim Oxley (1):
- correctly remove readme from default npm view command.
-
-Tyler Green (1):
- fix #2187 set terminal columns to Infinity if 0
-
-isaacs (19):
- update minimatch
- update request
- Experimental: single-file modules
- Fix #2172 Don't remove global mans uninstalling local pkgs
- Add --versions flag to show the version of node as well
- Support --json flag for ls output
- update request to 2.9.151
-
-### 1.1
-* Replace system tar dependency with a JS tar
-* Continue to refine
-
-### 1.0
-* Greatly simplified folder structure
-* Install locally (bundle by default)
-* Drastic rearchitecture
-
-### 0.3
-* More correct permission/uid handling when running as root
-* Require node 0.4.0
-* Reduce featureset
-* Packages without "main" modules don't export modules
-* Remove support for invalid JSON (since node doesn't support it)
-
-### 0.2
-* First allegedly "stable" release
-* Most functionality implemented
-* Used shim files and `name@version` symlinks
-* Feature explosion
-* Kind of a mess
-
-### 0.1
-* push to beta, and announce
-* Solaris and Cygwin support
-
-### 0.0
-* Lots of sketches and false starts; abandoned a few times
-* Core functionality established
-
-## SEE ALSO
-
-* npm(1)
-* npm-faq(1)
diff --git a/deps/npm/doc/cli/coding-style.md b/deps/npm/doc/cli/coding-style.md
deleted file mode 100644
index 1aa3e80e2..000000000
--- a/deps/npm/doc/cli/coding-style.md
+++ /dev/null
@@ -1,181 +0,0 @@
-npm-coding-style(1) -- npm's "funny" coding style
-=================================================
-
-## 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.
-
-If you want to contribute to npm (which is very encouraged), you should
-make your code conform to npm's style.
-
-Note: this concerns npm's code not the specific packages at npmjs.org
-
-## 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.
-
-## 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.
-
-Configure your editor appropriately.
-
-## Curly braces
-
-Curly braces belong on the same line as the thing that necessitates them.
-
-Bad:
-
- function ()
- {
-
-Good:
-
- function () {
-
-If a block needs to wrap to the next line, use a curly brace. Don't
-use it if it doesn't.
-
-Bad:
-
- if (foo) { bar() }
- while (foo)
- bar()
-
-Good:
-
- if (foo) bar()
- while (foo) {
- bar()
- }
-
-## Semicolons
-
-Don't use them except in four situations:
-
-* `for (;;)` loops. They're actually required.
-* null loops like: `while (something) ;` (But you'd better have a good
- reason for doing that.)
-* `case "foo": doSomething(); break`
-* In front of a leading `(` or `[` at the start of the line.
- This prevents the expression from being interpreted
- as a function call or property access, respectively.
-
-Some examples of good semicolon usage:
-
- ;(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()
- }
-
-Note that starting lines with `-` and `+` also should be prefixed
-with a semicolon, but this is much less common.
-
-## 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:
-
- var magicWords = [ "abracadabra"
- , "gesundheit"
- , "ventrilo"
- ]
- , spells = { "fireball" : function () { setOnFire() }
- , "water" : function () { putOut() }
- }
- , a = 1
- , b = "abc"
- , etc
- , somethingElse
-
-## 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.
-
-Don't leave trailing whitespace at the end of lines. Don't indent empty
-lines. Don't use more spaces than are helpful.
-
-## Functions
-
-Use named functions. They make stack traces a lot easier to read.
-
-## 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.
-
-The callback should always be the last argument in the list. Its first
-argument is the Error or null.
-
-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.
-
-## Errors
-
-Always create a new Error object with your message. Don't just return a
-string message to the callback. Stack traces are handy.
-
-## Logging
-
-Logging is done using the [npmlog](https://github.com/isaacs/npmlog)
-utility.
-
-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.
-
-Use appropriate log levels. See `npm-config(1)` and search for
-"loglevel".
-
-## Case, naming, etc.
-
-Use `lowerCamelCase` for multiword identifiers when they refer to objects,
-functions, methods, members, or anything not specified in this section.
-
-Use `UpperCamelCase` for class names (things that you'd pass to "new").
-
-Use `all-lower-hyphen-css-case` for multiword filenames and config keys.
-
-Use named functions. They make stack traces easier to follow.
-
-Use `CAPS_SNAKE_CASE` for constants, things that should never change
-and are rarely used.
-
-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.
-
-## null, undefined, false, 0
-
-Boolean variables and functions should always be either `true` or
-`false`. Don't set it to 0 unless it's supposed to be a number.
-
-When something is intentionally missing or removed, set it to `null`.
-
-Don't set things to `undefined`. Reserve that value to mean "not yet
-set to anything."
-
-Boolean objects are verboten.
-
-## SEE ALSO
-
-* npm-developers(1)
-* npm-faq(1)
-* npm(1)
diff --git a/deps/npm/doc/cli/completion.md b/deps/npm/doc/cli/completion.md
deleted file mode 100644
index 48bc50fd8..000000000
--- a/deps/npm/doc/cli/completion.md
+++ /dev/null
@@ -1,29 +0,0 @@
-npm-completion(1) -- Tab Completion for npm
-===========================================
-
-## SYNOPSIS
-
- . <(npm completion)
-
-## DESCRIPTION
-
-Enables tab-completion in all npm commands.
-
-The synopsis above
-loads the completions into your current shell. Adding it to
-your ~/.bashrc or ~/.zshrc will make the completions available
-everywhere.
-
-You may of course also pipe the output of npm completion to a file
-such as `/usr/local/etc/bash_completion.d/npm` if you have a system
-that will read that file for you.
-
-When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the
-environment, `npm completion` acts in "plumbing mode", and outputs
-completions based on the arguments.
-
-## SEE ALSO
-
-* npm-developers(1)
-* npm-faq(1)
-* npm(1)
diff --git a/deps/npm/doc/cli/config.md b/deps/npm/doc/cli/config.md
deleted file mode 100644
index 54133bec3..000000000
--- a/deps/npm/doc/cli/config.md
+++ /dev/null
@@ -1,882 +0,0 @@
-npm-config(1) -- Manage the npm configuration file
-==================================================
-
-## SYNOPSIS
-
- 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]
-
-## DESCRIPTION
-
-npm gets its configuration values from 6 sources, in this priority:
-
-### Command Line Flags
-
-Putting `--foo bar` on the command line sets the
-`foo` configuration parameter to `"bar"`. A `--` argument tells the cli
-parser to stop reading flags. A `--flag` parameter that is at the *end* of
-the command will be given the value of `true`.
-
-### Environment Variables
-
-Any environment variables that start with `npm_config_` will be interpreted
-as a configuration parameter. For example, putting `npm_config_foo=bar` in
-your environment will set the `foo` configuration parameter to `bar`. Any
-environment configurations that are not given a value will be given the value
-of `true`. Config values are case-insensitive, so `NPM_CONFIG_FOO=bar` will
-work the same.
-
-### Per-user config file
-
-`$HOME/.npmrc` (or the `userconfig` param, if set above)
-
-This file is an ini-file formatted list of `key = value` parameters.
-Environment variables can be replaced using `${VARIABLE_NAME}`. For example:
-
- prefix = ${HOME}/.npm-packages
-
-### Global config file
-
-`$PREFIX/etc/npmrc` (or the `globalconfig` param, if set above):
-This file is an ini-file formatted list of `key = value` parameters.
-Environment variables can be replaced as above.
-
-### Built-in config file
-
-`path/to/npm/itself/npmrc`
-
-This is an unchangeable "builtin"
-configuration file that npm keeps consistent across updates. Set
-fields in here using the `./configure` script that comes with npm.
-This is primarily for distribution maintainers to override default
-configs in a standard and consistent manner.
-
-### Default Configs
-
-A set of configuration parameters that are internal to npm, and are
-defaults if nothing else is specified.
-
-## Sub-commands
-
-Config supports the following sub-commands:
-
-### set
-
- npm config set key value
-
-Sets the config key to the value.
-
-If value is omitted, then it sets it to "true".
-
-### get
-
- npm config get key
-
-Echo the config value to stdout.
-
-### list
-
- npm config list
-
-Show all the config settings.
-
-### delete
-
- npm config delete key
-
-Deletes the key from all configuration files.
-
-### edit
-
- npm config edit
-
-Opens the config file in an editor. Use the `--global` flag to edit the
-global config.
-
-## Shorthands and Other CLI Niceties
-
-The following shorthands are parsed on the command-line:
-
-* `-v`: `--version`
-* `-h`, `-?`, `--help`, `-H`: `--usage`
-* `-s`, `--silent`: `--loglevel silent`
-* `-q`, `--quiet`: `--loglevel warn`
-* `-d`: `--loglevel info`
-* `-dd`, `--verbose`: `--loglevel verbose`
-* `-ddd`: `--loglevel silly`
-* `-g`: `--global`
-* `-l`: `--long`
-* `-m`: `--message`
-* `-p`, `--porcelain`: `--parseable`
-* `-reg`: `--registry`
-* `-v`: `--version`
-* `-f`: `--force`
-* `-desc`: `--description`
-* `-S`: `--save`
-* `-D`: `--save-dev`
-* `-O`: `--save-optional`
-* `-B`: `--save-bundle`
-* `-y`: `--yes`
-* `-n`: `--yes false`
-* `ll` and `la` commands: `ls --long`
-
-If the specified configuration param resolves unambiguously to a known
-configuration parameter, then it is expanded to that configuration
-parameter. For example:
-
- npm ls --par
- # same as:
- npm ls --parseable
-
-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:
-
- npm ls -gpld
- # same as:
- npm ls --global --parseable --long --loglevel info
-
-## Per-Package Config Settings
-
-When running scripts (see `npm-scripts(1)`)
-the package.json "config" keys are overwritten in the environment if
-there is a config param of `<name>[@<version>]:<key>`. For example, if
-the package.json has this:
-
- { "name" : "foo"
- , "config" : { "port" : "8080" }
- , "scripts" : { "start" : "node server.js" } }
-
-and the server.js is this:
-
- http.createServer(...).listen(process.env.npm_package_config_port)
-
-then the user could change the behavior by doing:
-
- npm config set foo:port 80
-
-## Config Settings
-
-### always-auth
-
-* Default: false
-* Type: Boolean
-
-Force npm to always require authentication when accessing the registry,
-even for `GET` requests.
-
-### bin-links
-
-* Default: `true`
-* Type: Boolean
-
-Tells npm to create symlinks (or `.cmd` shims on Windows) for package
-executables.
-
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
-
-### browser
-
-* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
-* Type: String
-
-The browser that is called by the `npm docs` command to open websites.
-
-### ca
-
-* Default: The npm CA certificate
-* Type: String or null
-
-The Certificate Authority signing certificate that is trusted for SSL
-connections to the registry.
-
-Set to `null` to only allow "known" registrars, or to a specific CA cert
-to trust only that specific signing authority.
-
-See also the `strict-ssl` config.
-
-### cache
-
-* Default: Windows: `%APPDATA%\npm-cache`, Posix: `~/.npm`
-* Type: path
-
-The location of npm's cache directory. See `npm-cache(1)`
-
-### cache-lock-stale
-
-* Default: 60000 (1 minute)
-* Type: Number
-
-The number of ms before cache folder lockfiles are considered stale.
-
-### cache-lock-retries
-
-* Default: 10
-* Type: Number
-
-Number of times to retry to acquire a lock on cache folder lockfiles.
-
-### cache-lock-wait
-
-* Default: 10000 (10 seconds)
-* Type: Number
-
-Number of ms to wait for cache lock files to expire.
-
-### cache-max
-
-* Default: Infinity
-* Type: Number
-
-The maximum time (in seconds) to keep items in the registry cache before
-re-checking against the registry.
-
-Note that no purging is done unless the `npm cache clean` command is
-explicitly used, and that only GET requests use the cache.
-
-### cache-min
-
-* Default: 10
-* Type: Number
-
-The minimum time (in seconds) to keep items in the registry cache before
-re-checking against the registry.
-
-Note that no purging is done unless the `npm cache clean` command is
-explicitly used, and that only GET requests use the cache.
-
-### color
-
-* Default: true on Posix, false on Windows
-* Type: Boolean or `"always"`
-
-If false, never shows colors. If `"always"` then always shows colors.
-If true, then only prints color codes for tty file descriptors.
-
-### coverage
-
-* Default: false
-* Type: Boolean
-
-A flag to tell test-harness to run with their coverage options enabled,
-if they respond to the `npm_config_coverage` environment variable.
-
-### depth
-
-* Default: Infinity
-* Type: Number
-
-The depth to go when recursing directories for `npm ls` and
-`npm cache ls`.
-
-### description
-
-* Default: true
-* Type: Boolean
-
-Show the description in `npm search`
-
-### dev
-
-* Default: false
-* Type: Boolean
-
-Install `dev-dependencies` along with packages.
-
-Note that `dev-dependencies` are also installed if the `npat` flag is
-set.
-
-### editor
-
-* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
- or `"notepad"` on Windows.
-* Type: path
-
-The command to run for `npm edit` or `npm config edit`.
-
-### engine-strict
-
-* Default: false
-* Type: Boolean
-
-If set to true, then npm will stubbornly refuse to install (or even
-consider installing) any package that claims to not be compatible with
-the current Node.js version.
-
-### force
-
-* Default: false
-* Type: Boolean
-
-Makes various commands more forceful.
-
-* lifecycle script failure does not block progress.
-* publishing clobbers previously published versions.
-* skips cache when requesting from the registry.
-* prevents checks against clobbering non-npm files.
-
-### fetch-retries
-
-* Default: 2
-* Type: Number
-
-The "retries" config for the `retry` module to use when fetching
-packages from the registry.
-
-### fetch-retry-factor
-
-* Default: 10
-* Type: Number
-
-The "factor" config for the `retry` module to use when fetching
-packages.
-
-### fetch-retry-mintimeout
-
-* Default: 10000 (10 seconds)
-* Type: Number
-
-The "minTimeout" config for the `retry` module to use when fetching
-packages.
-
-### fetch-retry-maxtimeout
-
-* Default: 60000 (1 minute)
-* Type: Number
-
-The "maxTimeout" config for the `retry` module to use when fetching
-packages.
-
-### git
-
-* Default: `"git"`
-* Type: String
-
-The command to use for git commands. If git is installed on the
-computer, but is not in the `PATH`, then set this to the full path to
-the git binary.
-
-### global
-
-* Default: false
-* Type: Boolean
-
-Operates in "global" mode, so that packages are installed into the
-`prefix` folder instead of the current working directory. See
-`npm-folders(1)` for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead of the
- current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-### globalconfig
-
-* Default: {prefix}/etc/npmrc
-* Type: path
-
-The config file to read for global config options.
-
-### globalignorefile
-
-* Default: {prefix}/etc/npmignore
-* Type: path
-
-The config file to read for global ignore patterns to apply to all users
-and all projects.
-
-If not found, but there is a "gitignore" file in the
-same directory, then that will be used instead.
-
-### group
-
-* Default: GID of the current process
-* Type: String or Number
-
-The group to use when running package scripts in global mode as the root
-user.
-
-### https-proxy
-
-* Default: the `HTTPS_PROXY` or `https_proxy` or `HTTP_PROXY` or
- `http_proxy` environment variables.
-* Type: url
-
-A proxy to use for outgoing https requests.
-
-### user-agent
-
-* Default: node/{process.version} {process.platform} {process.arch}
-* Type: String
-
-Sets a User-Agent to the request header
-
-### ignore
-
-* Default: ""
-* Type: string
-
-A white-space separated list of glob patterns of files to always exclude
-from packages when building tarballs.
-
-### init-module
-
-* Default: ~/.npm-init.js
-* Type: path
-
-A module that will be loaded by the `npm init` command. See the
-documentation for the
-[init-package-json](https://github.com/isaacs/init-package-json) module
-for more information, or npm-init(1).
-
-### init.version
-
-* Default: "0.0.0"
-* Type: semver
-
-The value `npm init` should use by default for the package version.
-
-### init.author.name
-
-* Default: ""
-* Type: String
-
-The value `npm init` should use by default for the package author's name.
-
-### init.author.email
-
-* Default: ""
-* Type: String
-
-The value `npm init` should use by default for the package author's email.
-
-### init.author.url
-
-* Default: ""
-* Type: String
-
-The value `npm init` should use by default for the package author's homepage.
-
-### json
-
-* Default: false
-* Type: Boolean
-
-Whether or not to output JSON data, rather than the normal output.
-
-This feature is currently experimental, and the output data structures
-for many commands is either not implemented in JSON yet, or subject to
-change. Only the output from `npm ls --json` is currently valid.
-
-### link
-
-* Default: false
-* Type: Boolean
-
-If true, then local installs will link if there is a suitable globally
-installed package.
-
-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:
-
-* The package is not already installed globally, or
-* the globally installed version is identical to the version that is
- being installed locally.
-
-### loglevel
-
-* Default: "http"
-* Type: String
-* Values: "silent", "win", "error", "warn", "http", "info", "verbose", "silly"
-
-What level of logs to report. On failure, *all* logs are written to
-`npm-debug.log` in the current working directory.
-
-Any logs of a higher level than the setting are shown.
-The default is "http", which shows http, warn, and error output.
-
-### logstream
-
-* Default: process.stderr
-* Type: Stream
-
-This is the stream that is passed to the
-[npmlog](https://github.com/isaacs/npmlog) module at run time.
-
-It cannot be set from the command line, but if you are using npm
-programmatically, you may wish to send logs to somewhere other than
-stderr.
-
-If the `color` config is set to true, then this stream will receive
-colored output if it is a TTY.
-
-### long
-
-* Default: false
-* Type: Boolean
-
-Show extended information in `npm ls`
-
-### message
-
-* Default: "%s"
-* Type: String
-
-Commit message which is used by `npm version` when creating version commit.
-
-Any "%s" in the message will be replaced with the version number.
-
-### node-version
-
-* Default: process.version
-* Type: semver or false
-
-The node version to use when checking package's "engines" hash.
-
-### npat
-
-* Default: false
-* Type: Boolean
-
-Run tests on installation and report results to the
-`npaturl`.
-
-### npaturl
-
-* Default: Not yet implemented
-* Type: url
-
-The url to report npat test results.
-
-### onload-script
-
-* Default: false
-* Type: path
-
-A node module to `require()` when npm loads. Useful for programmatic
-usage.
-
-### optional
-
-* Default: true
-* Type: Boolean
-
-Attempt to install packages in the `optionalDependencies` hash. Note
-that if these packages fail to install, the overall installation
-process is not aborted.
-
-### parseable
-
-* Default: false
-* Type: Boolean
-
-Output parseable results from commands that write to
-standard output.
-
-### prefix
-
-* Default: see npm-folders(1)
-* Type: path
-
-The location to install global items. If set on the command line, then
-it forces non-global commands to run in the specified folder.
-
-### production
-
-* Default: false
-* Type: Boolean
-
-Set to true to run in "production" mode.
-
-1. devDependencies are not installed at the topmost level when running
- local `npm install` without any arguments.
-2. Set the NODE_ENV="production" for lifecycle scripts.
-
-### proprietary-attribs
-
-* Default: true
-* Type: Boolean
-
-Whether or not to include proprietary extended attributes in the
-tarballs created by npm.
-
-Unless you are expecting to unpack package tarballs with something other
-than npm -- particularly a very outdated tar implementation -- leave
-this as true.
-
-### proxy
-
-* Default: `HTTP_PROXY` or `http_proxy` environment variable, or null
-* Type: url
-
-A proxy to use for outgoing http requests.
-
-### rebuild-bundle
-
-* Default: true
-* Type: Boolean
-
-Rebuild bundled dependencies after installation.
-
-### registry
-
-* Default: https://registry.npmjs.org/
-* Type: url
-
-The base URL of the npm package registry.
-
-### rollback
-
-* Default: true
-* Type: Boolean
-
-Remove failed installs.
-
-### save
-
-* Default: false
-* Type: Boolean
-
-Save installed packages to a package.json file as dependencies.
-
-When used with the `npm rm` command, it removes it from the dependencies
-hash.
-
-Only works if there is already a package.json file present.
-
-### save-bundle
-
-* Default: false
-* Type: Boolean
-
-If a package would be saved at install time by the use of `--save`,
-`--save-dev`, or `--save-optional`, then also put it in the
-`bundleDependencies` list.
-
-When used with the `npm rm` command, it removes it from the
-bundledDependencies list.
-
-### save-dev
-
-* Default: false
-* Type: Boolean
-
-Save installed packages to a package.json file as devDependencies.
-
-When used with the `npm rm` command, it removes it from the devDependencies
-hash.
-
-Only works if there is already a package.json file present.
-
-### save-optional
-
-* Default: false
-* Type: Boolean
-
-Save installed packages to a package.json file as optionalDependencies.
-
-When used with the `npm rm` command, it removes it from the devDependencies
-hash.
-
-Only works if there is already a package.json file present.
-
-### searchopts
-
-* Default: ""
-* Type: String
-
-Space-separated options that are always passed to search.
-
-### searchexclude
-
-* Default: ""
-* Type: String
-
-Space-separated options that limit the results from search.
-
-### searchsort
-
-* Default: "name"
-* Type: String
-* Values: "name", "-name", "date", "-date", "description",
- "-description", "keywords", "-keywords"
-
-Indication of which field to sort search results by. Prefix with a `-`
-character to indicate reverse sort.
-
-### shell
-
-* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
- Windows
-* Type: path
-
-The shell to run for the `npm explore` command.
-
-### shrinkwrap
-
-* Default: true
-* Type: Boolean
-
-If set to false, then ignore `npm-shrinkwrap.json` files when
-installing.
-
-### sign-git-tag
-
-* Default: false
-* Type: Boolean
-
-If set to true, then the `npm version` command will tag the version
-using `-s` to add a signature.
-
-Note that git requires you to have set up GPG keys in your git configs
-for this to work properly.
-
-### strict-ssl
-
-* Default: true
-* Type: Boolean
-
-Whether or not to do SSL key validation when making requests to the
-registry via https.
-
-See also the `ca` config.
-
-### tag
-
-* Default: latest
-* Type: String
-
-If you ask npm to install a package and don't tell it a specific version, then
-it will install the specified tag.
-
-Also the tag that is added to the package@version specified by the `npm
-tag` command, if no explicit tag is given.
-
-### tmp
-
-* Default: TMPDIR environment variable, or "/tmp"
-* Type: path
-
-Where to store temporary files and folders. All temp files are deleted
-on success, but left behind on failure for forensic purposes.
-
-### unicode
-
-* Default: true
-* Type: Boolean
-
-When set to true, npm uses unicode characters in the tree output. When
-false, it uses ascii characters to draw trees.
-
-### unsafe-perm
-
-* Default: false if running as root, true otherwise
-* Type: Boolean
-
-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.
-
-### usage
-
-* Default: false
-* Type: Boolean
-
-Set to show short usage output (like the -H output)
-instead of complete help when doing `npm-help(1)`.
-
-### user
-
-* Default: "nobody"
-* Type: String or Number
-
-The UID to set to when running package scripts as root.
-
-### username
-
-* Default: null
-* Type: String
-
-The username on the npm registry. Set with `npm adduser`
-
-### userconfig
-
-* Default: ~/.npmrc
-* Type: path
-
-The location of user-level configuration settings.
-
-### userignorefile
-
-* Default: ~/.npmignore
-* Type: path
-
-The location of a user-level ignore file to apply to all packages.
-
-If not found, but there is a .gitignore file in the same directory, then
-that will be used instead.
-
-### umask
-
-* Default: 022
-* Type: Octal numeric string
-
-The "umask" value to use when setting the file creation mode on files
-and folders.
-
-Folders and executables are given a mode which is `0777` masked against
-this value. Other files are given a mode which is `0666` masked against
-this value. Thus, the defaults are `0755` and `0644` respectively.
-
-### version
-
-* Default: false
-* Type: boolean
-
-If true, output the npm version and exit successfully.
-
-Only relevant when specified explicitly on the command line.
-
-### versions
-
-* Default: false
-* Type: boolean
-
-If true, output the npm version as well as node's `process.versions`
-hash, and exit successfully.
-
-Only relevant when specified explicitly on the command line.
-
-### viewer
-
-* Default: "man" on Posix, "browser" on Windows
-* Type: path
-
-The program to use to view help content.
-
-Set to `"browser"` to view html help content in the default web browser.
-
-### yes
-
-* Default: null
-* Type: Boolean or null
-
-If set to `null`, then prompt the user for responses in some
-circumstances.
-
-If set to `true`, then answer "yes" to any prompt. If set to `false`
-then answer "no" to any prompt.
-
-## SEE ALSO
-
-* npm-folders(1)
-* npm(1)
diff --git a/deps/npm/doc/cli/deprecate.md b/deps/npm/doc/cli/deprecate.md
deleted file mode 100644
index c45245f09..000000000
--- a/deps/npm/doc/cli/deprecate.md
+++ /dev/null
@@ -1,26 +0,0 @@
-npm-deprecate(1) -- Deprecate a version of a package
-====================================================
-
-## SYNOPSIS
-
- npm deprecate <name>[@<version>] <message>
-
-## DESCRIPTION
-
-This command will update the npm registry entry for a package, providing
-a deprecation warning to all who attempt to install it.
-
-It works on version ranges as well as specific versions, so you can do
-something like this:
-
- npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
-
-Note that you must be the package owner to deprecate something. See the
-`owner` and `adduser` help topics.
-
-To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
-
-## SEE ALSO
-
-* npm-publish(1)
-* npm-registry(1)
diff --git a/deps/npm/doc/cli/developers.md b/deps/npm/doc/cli/developers.md
deleted file mode 100644
index d1ffd5aa8..000000000
--- a/deps/npm/doc/cli/developers.md
+++ /dev/null
@@ -1,207 +0,0 @@
-npm-developers(1) -- Developer Guide
-====================================
-
-## DESCRIPTION
-
-So, you've decided to use npm to develop (and maybe publish/deploy)
-your project.
-
-Fantastic!
-
-There are a few things that you need to do above the simple steps
-that your users will do to install your program.
-
-## About These Documents
-
-These are man pages. If you install npm, you should be able to
-then do `man npm-thing` to get the documentation on a particular
-topic, or `npm help thing` to see the same information.
-
-## What is a `package`
-
-A package is:
-
-* a) a folder containing a program described by a package.json file
-* b) a gzipped tarball containing (a)
-* c) a url that resolves to (b)
-* d) a `<name>@<version>` that is published on the registry with (c)
-* e) a `<name>@<tag>` that points to (d)
-* f) a `<name>` that has a "latest" tag satisfying (e)
-* g) a `git` url that, when cloned, results in (a).
-
-Even if you never publish your package, you can still get a lot of
-benefits of using npm if you just want to write a node program (a), and
-perhaps if you also want to be able to easily install it elsewhere
-after packing it up into a tarball (b).
-
-Git urls can be of the form:
-
- git://github.com/user/project.git#commit-ish
- git+ssh://user@hostname:project.git#commit-ish
- git+http://user@hostname/project/blah.git#commit-ish
- git+https://user@hostname/project/blah.git#commit-ish
-
-The `commit-ish` can be any tag, sha, or branch which can be supplied as
-an argument to `git checkout`. The default is `master`.
-
-## The package.json File
-
-You need to have a `package.json` file in the root of your project to do
-much of anything with npm. That is basically the whole interface.
-
-See `npm-json(1)` for details about what goes in that file. At the very
-least, you need:
-
-* 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.
-
- It does not necessarily need to match your github repository name.
-
- So, `node-foo` and `bar-js` are bad names. `foo` or `bar` are better.
-
-* version:
- A semver-compatible version.
-
-* 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.
-
-* author:
- Take some credit.
-
-* scripts:
- If you have a special compilation or installation script, then you
- should put it in the `scripts` hash. You should definitely have at
- least a basic smoke-test command as the "scripts.test" field.
- See npm-scripts(1).
-
-* 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.
-
-* 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.
-
-You can use `npm init` in the root of your package in order to get you
-started with a pretty basic package.json file. See `npm-init(1)` for
-more info.
-
-## Keeping files *out* of your package
-
-Use a `.npmignore` file to keep stuff out of your package. If there's
-no `.npmignore` file, but there *is* a `.gitignore` file, then npm will
-ignore the stuff matched by the `.gitignore` file. If you *want* to
-include something that is excluded by your `.gitignore` file, you can
-create an empty `.npmignore` file to override it.
-
-By default, the following paths and files are ignored, so there's no
-need to add them to `.npmignore` explicitly:
-
-* `.*.swp`
-* `._*`
-* `.DS_Store`
-* `.git`
-* `.hg`
-* `.lock-wscript`
-* `.svn`
-* `.wafpickle-*`
-* `CVS`
-* `npm-debug.log`
-
-Additionally, everything in `node_modules` is ignored, except for
-bundled dependencies. npm automatically handles this for you, so don't
-bother adding `node_modules` to `.npmignore`.
-
-The following paths and files are never ignored, so adding them to
-`.npmignore` is pointless:
-
-* `package.json`
-* `README.*`
-
-## Link Packages
-
-`npm link` 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 `npm rebuild -g` to update compiled packages,
-of course.)
-
-More info at `npm-link(1)`.
-
-## Before Publishing: Make Sure Your Package Installs and Works
-
-**This is important.**
-
-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.
-
-In the root of your package, do this:
-
- npm install . -g
-
-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:
-
- npm link
-
-Use `npm ls -g` to see if it's there.
-
-To test a local install, go into some other folder, and then do:
-
- cd ../some-other-folder
- npm install ../my-package
-
-to install it locally into the node_modules folder in that other place.
-
-Then go into the node-repl, and try using require("my-thing") to
-bring in your module's main module.
-
-## Create a User Account
-
-Create a user with the adduser command. It works like this:
-
- npm adduser
-
-and then follow the prompts.
-
-This is documented better in npm-adduser(1).
-
-## Publish your package
-
-This part's easy. IN the root of your folder, do this:
-
- npm publish
-
-You can give publish a url to a tarball, or a filename of a tarball,
-or a path to a folder.
-
-Note that pretty much **everything in that folder will be exposed**
-by default. So, if you have secret stuff in there, use a
-`.npmignore` file to list out the globs to ignore, or publish
-from a fresh checkout.
-
-## Brag about it
-
-Send emails, write blogs, blab in IRC.
-
-Tell the world how easy it is to install your program!
-
-## SEE ALSO
-
-* npm-faq(1)
-* npm(1)
-* npm-init(1)
-* npm-json(1)
-* npm-scripts(1)
-* npm-publish(1)
-* npm-adduser(1)
-* npm-registry(1)
diff --git a/deps/npm/doc/cli/disputes.md b/deps/npm/doc/cli/disputes.md
deleted file mode 100644
index 52d2a2e56..000000000
--- a/deps/npm/doc/cli/disputes.md
+++ /dev/null
@@ -1,98 +0,0 @@
-npm-disputes(1) -- Handling Module Name Disputes
-================================================
-
-## SYNOPSIS
-
-1. Get the author email with `npm owner ls <pkgname>`
-2. Email the author, CC <i@izs.me>.
-3. After a few weeks, if there's no resolution, we'll sort it out.
-
-Don't squat on package names. Publish code or move out of the way.
-
-## DESCRIPTION
-
-There sometimes arise cases where a user publishes a module, and then
-later, some other user wants to use that name. Here are some common
-ways that happens (each of these is based on actual events.)
-
-1. Joe writes a JavaScript module `foo`, which is not node-specific.
- Joe doesn't use node at all. Bob wants to use `foo` in node, so he
- wraps it in an npm module. Some time later, Joe starts using node,
- and wants to take over management of his program.
-2. Bob writes an npm module `foo`, and publishes it. Perhaps much
- later, Joe finds a bug in `foo`, and fixes it. He sends a pull
- request to Bob, but Bob doesn't have the time to deal with it,
- because he has a new job and a new baby and is focused on his new
- erlang project, and kind of not involved with node any more. Joe
- would like to publish a new `foo`, but can't, because the name is
- taken.
-3. Bob writes a 10-line flow-control library, and calls it `foo`, and
- publishes it to the npm registry. Being a simple little thing, it
- never really has to be updated. Joe works for Foo Inc, the makers
- of the critically acclaimed and widely-marketed `foo` JavaScript
- toolkit framework. They publish it to npm as `foojs`, but people are
- routinely confused when `npm install foo` is some different thing.
-4. Bob writes a parser for the widely-known `foo` file format, because
- he needs it for work. Then, he gets a new job, and never updates the
- prototype. Later on, Joe writes a much more complete `foo` parser,
- but can't publish, because Bob's `foo` is in the way.
-
-The validity of Joe's claim in each situation can be debated. However,
-Joe's appropriate course of action in each case is the same.
-
-1. `npm owner ls foo`. This will tell Joe the email address of the
- owner (Bob).
-2. Joe emails Bob, explaining the situation **as respectfully as possible**,
- and what he would like to do with the module name. He adds
- isaacs <i@izs.me> to the CC list of the email. Mention in the email
- that Bob can run `npm owner add joe foo` to add Joe as an owner of
- the `foo` package.
-3. After a reasonable amount of time, if Bob has not responded, or if
- Bob and Joe can't come to any sort of resolution, email isaacs
- <i@izs.me> and we'll sort it out. ("Reasonable" is usually about 4
- weeks, but extra time is allowed around common holidays.)
-
-## REASONING
-
-In almost every case so far, the parties involved have been able to reach
-an amicable resolution without any major intervention. Most people
-really do want to be reasonable, and are probably not even aware that
-they're in your way.
-
-Module ecosystems are most vibrant and powerful when they are as
-self-directed as possible. If an admin one day deletes something you
-had worked on, then that is going to make most people quite upset,
-regardless of the justification. When humans solve their problems by
-talking to other humans with respect, everyone has the chance to end up
-feeling good about the interaction.
-
-## EXCEPTIONS
-
-Some things are not allowed, and will be removed without discussion if
-they are brought to the attention of the npm registry admins, including
-but not limited to:
-
-1. Malware (that is, a package designed to exploit or harm the machine on
- which it is installed).
-2. Violations of copyright or licenses (for example, cloning an
- MIT-licensed program, and then removing or changing the copyright and
- license statement).
-3. Illegal content.
-4. "Squatting" on a package name that you *plan* to use, but aren't
- actually using. Sorry, I don't care how great the name is, or how
- perfect a fit it is for the thing that someday might happen. If
- someone wants to use it today, and you're just taking up space with
- an empty tarball, you're going to be evicted.
-5. Putting empty packages in the registry. Packages must have SOME
- functionality. It can be silly, but it can't be *nothing*. (See
- also: squatting.)
-6. Doing weird things with the registry, like using it as your own
- personal application database or otherwise putting non-packagey
- things into it.
-
-If you see bad behavior like this, please report it right away.
-
-## SEE ALSO
-
-* npm-registry(1)
-* npm-owner(1)
diff --git a/deps/npm/doc/cli/docs.md b/deps/npm/doc/cli/docs.md
deleted file mode 100644
index 28fa49193..000000000
--- a/deps/npm/doc/cli/docs.md
+++ /dev/null
@@ -1,38 +0,0 @@
-npm-docs(1) -- Docs for a package in a web browser maybe
-========================================================
-
-## SYNOPSIS
-
- npm docs <pkgname>
- npm home <pkgname>
-
-## DESCRIPTION
-
-This command tries to guess at the likely location of a package's
-documentation URL, and then tries to open it using the `--browser`
-config param.
-
-## CONFIGURATION
-
-### browser
-
-* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
-* Type: String
-
-The browser that is called by the `npm docs` command to open websites.
-
-### registry
-
-* Default: https://registry.npmjs.org/
-* Type: url
-
-The base URL of the npm package registry.
-
-
-## SEE ALSO
-
-* npm-view(1)
-* npm-publish(1)
-* npm-registry(1)
-* npm-config(1)
-* npm-json(1)
diff --git a/deps/npm/doc/cli/edit.md b/deps/npm/doc/cli/edit.md
deleted file mode 100644
index 9eaccfc54..000000000
--- a/deps/npm/doc/cli/edit.md
+++ /dev/null
@@ -1,35 +0,0 @@
-npm-edit(1) -- Edit an installed package
-========================================
-
-## SYNOPSIS
-
- npm edit <name>[@<version>]
-
-## DESCRIPTION
-
-Opens the package folder in the default editor (or whatever you've
-configured as the npm `editor` config -- see `npm-config(1)`.)
-
-After it has been edited, the package is rebuilt so as to pick up any
-changes in compiled packages.
-
-For instance, you can do `npm install connect` to install connect
-into your package, and then `npm edit connect` to make a few
-changes to your locally installed copy.
-
-## CONFIGURATION
-
-### editor
-
-* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
- or `"notepad"` on Windows.
-* Type: path
-
-The command to run for `npm edit` or `npm config edit`.
-
-## SEE ALSO
-
-* npm-folders(1)
-* npm-explore(1)
-* npm-install(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/explore.md b/deps/npm/doc/cli/explore.md
deleted file mode 100644
index 00701b392..000000000
--- a/deps/npm/doc/cli/explore.md
+++ /dev/null
@@ -1,40 +0,0 @@
-npm-explore(1) -- Browse an installed package
-=============================================
-
-## SYNOPSIS
-
- npm explore <name>[@<version>] [ -- <cmd>]
-
-## DESCRIPTION
-
-Spawn a subshell in the directory of the installed package specified.
-
-If a command is specified, then it is run in the subshell, which then
-immediately terminates.
-
-This is particularly handy in the case of git submodules in the
-`node_modules` folder:
-
- npm explore some-dependency -- git pull origin master
-
-Note that the package is *not* automatically rebuilt afterwards, so be
-sure to use `npm rebuild <pkg>` if you make any changes.
-
-## CONFIGURATION
-
-### shell
-
-* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
- Windows
-* Type: path
-
-The shell to run for the `npm explore` command.
-
-## SEE ALSO
-
-* npm-submodule(1)
-* npm-folders(1)
-* npm-edit(1)
-* npm-rebuild(1)
-* npm-build(1)
-* npm-install(1)
diff --git a/deps/npm/doc/cli/faq.md b/deps/npm/doc/cli/faq.md
deleted file mode 100644
index 05b2cd98e..000000000
--- a/deps/npm/doc/cli/faq.md
+++ /dev/null
@@ -1,313 +0,0 @@
-npm-faq(1) -- Frequently Asked Questions
-========================================
-
-## Where can I find these docs in HTML?
-
-<https://npmjs.org/doc/>, or run:
-
- npm config set viewer browser
-
-to open these documents in your default web browser rather than `man`.
-
-## It didn't work.
-
-That's not really a question.
-
-## Why didn't it work?
-
-I don't know yet.
-
-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.
-
-## Where does npm put stuff?
-
-See `npm-folders(1)`
-
-tl;dr:
-
-* Use the `npm root` command to see where modules go, and the `npm bin`
- command to see where executables go
-* Global installs are different from local installs. If you install
- something with the `-g` flag, then its executables go in `npm bin -g`
- and its modules go in `npm root -g`.
-
-## How do I install something on my computer in a central location?
-
-Install it globally by tacking `-g` or `--global` to the command. (This
-is especially important for command line utilities that need to add
-their bins to the global system `PATH`.)
-
-## I installed something globally, but I can't `require()` it
-
-Install it locally.
-
-The global install location is a place for command-line utilities
-to put their bins in the system `PATH`. It's not for use with `require()`.
-
-If you `require()` a module in your code, then that means it's a
-dependency, and a part of your program. You need to install it locally
-in your program.
-
-## Why can't npm just put everything in one place, like other package managers?
-
-Not every change is an improvement, but every improvement is a change.
-This would be like asking git to do network IO for every commit. It's
-not going to happen, because it's a terrible idea that causes more
-problems than it solves.
-
-It is much harder to avoid dependency conflicts without nesting
-dependencies. This is fundamental to the way that npm works, and has
-proven to be an extremely successful approach. See `npm-folders(1)` for
-more details.
-
-If you want a package to be installed in one place, and have all your
-programs reference the same copy of it, then use the `npm link` command.
-That's what it's for. Install it globally, then link it into each
-program that uses it.
-
-## Whatever, I really want the old style 'everything global' style.
-
-Write your own package manager, then. It's not that hard.
-
-npm will not help you do something that is known to be a bad idea.
-
-## `"node_modules"` is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?
-
-No. This will never happen. This question comes up sometimes,
-because it seems silly from the outside that npm couldn't just be
-configured to put stuff somewhere else, and then npm could load them
-from there. It's an arbitrary spelling choice, right? What's the big
-deal?
-
-At the time of this writing, the string `'node_modules'` appears 151
-times in 53 separate files in npm and node core (excluding tests and
-documentation).
-
-Some of these references are in node's built-in module loader. Since
-npm is not involved **at all** at run-time, node itself would have to
-be configured to know where you've decided to stick stuff. Complexity
-hurdle #1. Since the Node module system is locked, this cannot be
-changed, and is enough to kill this request. But I'll continue, in
-deference to your deity's delicate feelings regarding spelling.
-
-Many of the others are in dependencies that npm uses, which are not
-necessarily tightly coupled to npm (in the sense that they do not read
-npm's configuration files, etc.) Each of these would have to be
-configured to take the name of the `node_modules` folder as a
-parameter. Complexity hurdle #2.
-
-Furthermore, npm has the ability to "bundle" dependencies by adding
-the dep names to the `"bundledDependencies"` list in package.json,
-which causes the folder to be included in the package tarball. What
-if the author of a module bundles its dependencies, and they use a
-different spelling for `node_modules`? npm would have to rename the
-folder at publish time, and then be smart enough to unpack it using
-your locally configured name. Complexity hurdle #3.
-
-Furthermore, what happens when you *change* this name? Fine, it's
-easy enough the first time, just rename the `node_modules` folders to
-`./blergyblerp/` or whatever name you choose. But what about when you
-change it again? npm doesn't currently track any state about past
-configuration settings, so this would be rather difficult to do
-properly. It would have to track every previous value for this
-config, and always accept any of them, or else yesterday's install may
-be broken tomorrow. Complexity hurdle #5.
-
-Never going to happen. The folder is named `node_modules`. It is
-written indelibly in the Node Way, handed down from the ancient times
-of Node 0.3.
-
-## Should I check my `node_modules` folder into git?
-
-Mikeal Rogers answered this question very well:
-
-<http://www.mikealrogers.com/posts/nodemodules-in-git.html>
-
-tl;dr
-
-* Check `node_modules` into git for things you **deploy**, such as
- websites and apps.
-* Do not check `node_modules` into git for libraries and modules
- intended to be reused.
-* Use npm to manage dependencies in your dev environment, but not in
- your deployment scripts.
-
-## Is it 'npm' or 'NPM' or 'Npm'?
-
-npm should never be capitalized unless it is being displayed in a
-location that is customarily all-caps (such as the title of man pages.)
-
-## 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.)
-
-"NPM", however, *is* an acronym (more precisely, a capitonym) for the
-National Association of Pastoral Musicians. You can learn more
-about them at <http://npm.org/>.
-
-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 <http://www.cabiatl.com/mricro/npm/>.
-
-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 `yinst`. If `npm` was ever an
-acronym for anything, it was `node pm` or maybe `new pm`.
-
-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 `-` 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.
-
-## How do I list installed packages?
-
-`npm ls`
-
-## How do I search for packages?
-
-`npm search`
-
-Arguments are greps. `npm search jsdom` shows jsdom packages.
-
-## How do I update npm?
-
- npm update npm -g
-
-You can also update all outdated local packages by doing `npm update` without
-any arguments, or global packages by doing `npm update -g`.
-
-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 `update`
-command.)
-
-In those cases, you can do this:
-
- curl https://npmjs.org/install.sh | sh
-
-## What is a `package`?
-
-A package is:
-
-* a) a folder containing a program described by a package.json file
-* b) a gzipped tarball containing (a)
-* c) a url that resolves to (b)
-* d) a `<name>@<version>` that is published on the registry with (c)
-* e) a `<name>@<tag>` that points to (d)
-* f) a `<name>` that has a "latest" tag satisfying (e)
-* g) a `git` url that, when cloned, results in (a).
-
-Even if you never publish your package, you can still get a lot of
-benefits of using npm if you just want to write a node program (a), and
-perhaps if you also want to be able to easily install it elsewhere
-after packing it up into a tarball (b).
-
-Git urls can be of the form:
-
- git://github.com/user/project.git#commit-ish
- git+ssh://user@hostname:project.git#commit-ish
- git+http://user@hostname/project/blah.git#commit-ish
- git+https://user@hostname/project/blah.git#commit-ish
-
-The `commit-ish` can be any tag, sha, or branch which can be supplied as
-an argument to `git checkout`. The default is `master`.
-
-## How do I install node with npm?
-
-You don't. Try one of these node version managers:
-
-Unix:
-
-* <http://github.com/isaacs/nave>
-* <http://github.com/visionmedia/n>
-* <http://github.com/creationix/nvm>
-
-Windows:
-
-* <http://github.com/marcelklehr/nodist>
-* <https://github.com/hakobera/nvmw>
-
-## How can I use npm for development?
-
-See `npm-developers(1)` and `npm-json(1)`.
-
-You'll most likely want to `npm link` your development folder. That's
-awesomely handy.
-
-To set up your own private registry, check out `npm-registry(1)`.
-
-## 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.)
-
-## How do I symlink to a dev folder so I don't have to keep re-installing?
-
-See `npm-link(1)`
-
-## The package registry website. What is that exactly?
-
-See `npm-registry(1)`.
-
-## What's up with the insecure channel warnings?
-
-Until node 0.4.10, there were problems sending big files over HTTPS. That
-means that publishes go over HTTP by default in those versions of node.
-
-## I forgot my password, and can't publish. How do I reset it?
-
-Go to <https://npmjs.org/forgot>.
-
-## I get ECONNREFUSED a lot. What's up?
-
-Either the registry is down, or node's DNS isn't able to reach out.
-
-To check if the registry is down, open up <http://registry.npmjs.org/>
-in a web browser. This will also tell you if you are just unable to
-access the internet for some reason.
-
-If the registry IS down, let me know by emailing or posting an issue.
-We'll have someone kick it or something.
-
-## Why no namespaces?
-
-Please see this discussion: <https://github.com/isaacs/npm/issues/798>
-
-tl;dr - It doesn't actually make things better, and can make them worse.
-
-If you want to namespace your own packages, you may: simply use the
-`-` character to separate the names. npm is a mostly anarchic system.
-There is not sufficient need to impose namespace rules on everyone.
-
-## Who does npm?
-
-`npm view npm author`
-
-`npm view npm contributors`
-
-## I have a question or request not addressed here. Where should I put it?
-
-Discuss it on the mailing list, or post an issue.
-
-* <npm-@googlegroups.com>
-* <https://github.com/isaacs/npm/issues>
-
-## Why does npm hate me?
-
-npm is not capable of hatred. It loves everyone, especially you.
-
-## SEE ALSO
-
-* npm(1)
-* npm-developers(1)
-* npm-json(1)
-* npm-config(1)
-* npm-folders(1)
diff --git a/deps/npm/doc/cli/folders.md b/deps/npm/doc/cli/folders.md
deleted file mode 100644
index 04fc13cfb..000000000
--- a/deps/npm/doc/cli/folders.md
+++ /dev/null
@@ -1,209 +0,0 @@
-npm-folders(1) -- Folder Structures Used by npm
-===============================================
-
-## DESCRIPTION
-
-npm puts various things on your computer. That's its job.
-
-This document will tell you what it puts where.
-
-### tl;dr
-
-* Local install (default): puts stuff in `./node_modules` of the current
- package root.
-* Global install (with `-g`): puts stuff in /usr/local or wherever node
- is installed.
-* Install it **locally** if you're going to `require()` it.
-* Install it **globally** if you're going to run it on the command line.
-* If you need both, then install it in both places, or use `npm link`.
-
-### prefix Configuration
-
-The `prefix` config defaults to the location where node is installed.
-On most systems, this is `/usr/local`, and most of the time is the same
-as node's `process.installPrefix`.
-
-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
-`{prefix}/bin/node` rather than `{prefix}/node.exe`.
-
-When the `global` 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.
-
-### Node Modules
-
-Packages are dropped into the `node_modules` folder under the `prefix`.
-When installing locally, this means that you can
-`require("packagename")` to load its main module, or
-`require("packagename/lib/path/to/sub/module")` to load other modules.
-
-Global installs on Unix systems go to `{prefix}/lib/node_modules`.
-Global installs on Windows go to `{prefix}/node_modules` (that is, no
-`lib` folder.)
-
-If you wish to `require()` a package, then install it locally.
-
-### Executables
-
-When in global mode, executables are linked into `{prefix}/bin` on Unix,
-or directly into `{prefix}` on Windows.
-
-When in local mode, executables are linked into
-`./node_modules/.bin` 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 `npm test`.)
-
-### Man Pages
-
-When in global mode, man pages are linked into `{prefix}/share/man`.
-
-When in local mode, man pages are not installed.
-
-Man pages are not installed on Windows systems.
-
-### Cache
-
-See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or
-`~/npm-cache` on Windows.
-
-This is controlled by the `cache` configuration param.
-
-### Temp Files
-
-Temporary files are stored by default in the folder specified by the
-`tmp` config, which defaults to the TMPDIR, TMP, or TEMP environment
-variables, or `/tmp` on Unix and `c:\windows\temp` on Windows.
-
-Temp files are given a unique folder under this root for each run of the
-program, and are deleted upon successful exit.
-
-## More Information
-
-When installing locally, npm first tries to find an appropriate
-`prefix` folder. This is so that `npm install foo@1.2.3` will install
-to the sensible root of your package, even if you happen to have `cd`ed
-into some other folder.
-
-Starting at the $PWD, npm will walk up the folder tree checking for a
-folder that contains either a `package.json` file, or a `node_modules`
-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.)
-
-If no package root is found, then the current folder is used.
-
-When you run `npm install foo@1.2.3`, then the package is loaded into
-the cache, and then unpacked into `./node_modules/foo`. Then, any of
-foo's dependencies are similarly unpacked into
-`./node_modules/foo/node_modules/...`.
-
-Any bin files are symlinked to `./node_modules/.bin/`, so that they may
-be found by npm scripts when necessary.
-
-### Global Installation
-
-If the `global` configuration is set to true, then npm will
-install packages "globally".
-
-For global installation, packages are installed roughly the same way,
-but using the folders described above.
-
-### Cycles, Conflicts, and Folder Parsimony
-
-Cycles are handled using the property of node's module system that it
-walks up the directories looking for `node_modules` folders. So, at every
-stage, if a package is already installed in an ancestor `node_modules`
-folder, then it is not installed at the current location.
-
-Consider the case above, where `foo -> bar -> baz`. Imagine if, in
-addition to that, baz depended on bar, so you'd have:
-`foo -> bar -> baz -> bar -> baz ...`. However, since the folder
-structure is: `foo/node_modules/bar/node_modules/baz`, there's no need to
-put another copy of bar into `.../baz/node_modules`, since when it calls
-require("bar"), it will get the copy that is installed in
-`foo/node_modules/bar`.
-
-This shortcut is only used if the exact same
-version would be installed in multiple nested `node_modules` folders. It
-is still possible to have `a/node_modules/b/node_modules/a` if the two
-"a" packages are different versions. However, without repeating the
-exact same package multiple times, an infinite regress will always be
-prevented.
-
-Another optimization can be made by installing dependencies at the
-highest level possible, below the localized "target" folder.
-
-#### Example
-
-Consider this dependency graph:
-
- 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
-
-In this case, we might expect a folder structure like this:
-
- 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]
-
-Since foo depends directly on `bar@1.2.3` and `baz@1.2.3`, those are
-installed in foo's `node_modules` folder.
-
-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 satisfies bar's dependency on `blerg@1.x`,
-it does not install another copy under [B].
-
-Bar [B] also has dependencies on baz and asdf, so those are installed in
-bar's `node_modules` folder. Because it depends on `baz@2.x`, it cannot
-re-use the `baz@1.2.3` installed in the parent `node_modules` folder [D],
-and must install its own copy [C].
-
-Underneath bar, the `baz -> quux -> bar` dependency creates a cycle.
-However, because bar is already in quux's ancestry [B], it does not
-unpack another copy of bar into that folder.
-
-Underneath `foo -> baz` [D], quux's [E] folder tree is empty, because its
-dependency on bar is satisfied by the parent folder copy installed at [B].
-
-For a graphical breakdown of what is installed where, use `npm ls`.
-
-### Publishing
-
-Upon publishing, npm will look in the `node_modules` folder. If any of
-the items there are not in the `bundledDependencies` array, then they will
-not be included in the package tarball.
-
-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 `npm-json(1)` for more information.
-
-## SEE ALSO
-
-* npm-faq(1)
-* npm-json(1)
-* npm-install(1)
-* npm-pack(1)
-* npm-cache(1)
-* npm-config(1)
-* npm-publish(1)
diff --git a/deps/npm/doc/cli/global.md b/deps/npm/doc/cli/global.md
deleted file mode 100644
index 20358612a..000000000
--- a/deps/npm/doc/cli/global.md
+++ /dev/null
@@ -1,209 +0,0 @@
-npm-folders(1) -- Folder Structures Used by npm
-===============================================
-
-## DESCRIPTION
-
-npm puts various things on your computer. That's its job.
-
-This document will tell you what it puts where.
-
-### tl;dr
-
-* Local install (default): puts stuff in `./node_modules` of the current
- package root.
-* Global install (with `-g`): puts stuff in /usr/local or wherever node
- is installed.
-* Install it **locally** if you're going to `require()` it.
-* Install it **globally** if you're going to run it on the command line.
-* If you need both, then install it in both places, or use `npm link`.
-
-### prefix Configuration
-
-The `prefix` config defaults to the location where node is installed.
-On most systems, this is `/usr/local`, and most of the time is the same
-as node's `process.installPrefix`.
-
-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
-`{prefix}/bin/node` rather than `{prefix}/node.exe`.
-
-When the `global` 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.
-
-### Node Modules
-
-Packages are dropped into the `node_modules` folder under the `prefix`.
-When installing locally, this means that you can
-`require("packagename")` to load its main module, or
-`require("packagename/lib/path/to/sub/module")` to load other modules.
-
-Global installs on Unix systems go to `{prefix}/lib/node_modules`.
-Global installs on Windows go to `{prefix}/node_modules` (that is, no
-`lib` folder.)
-
-If you wish to `require()` a package, then install it locally.
-
-### Executables
-
-When in global mode, executables are linked into `{prefix}/bin` on Unix,
-or directly into `{prefix}` on Windows.
-
-When in local mode, executables are linked into
-`./node_modules/.bin` 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 `npm test`.)
-
-### Man Pages
-
-When in global mode, man pages are linked into `{prefix}/share/man`.
-
-When in local mode, man pages are not installed.
-
-Man pages are not installed on Windows systems.
-
-### Cache
-
-See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or
-`~/npm-cache` on Windows.
-
-This is controlled by the `cache` configuration param.
-
-### Temp Files
-
-Temporary files are stored by default in the folder specified by the
-`tmp` config, which defaults to the TMPDIR, TMP, or TEMP environment
-variables, or `/tmp` on Unix and `c:\windows\temp` on Windows.
-
-Temp files are given a unique folder under this root for each run of the
-program, and are deleted upon successful exit.
-
-## More Information
-
-When installing locally, npm first tries to find an appropriate
-`prefix` folder. This is so that `npm install foo@1.2.3` will install
-to the sensible root of your package, even if you happen to have `cd`ed
-into some other folder.
-
-Starting at the $PWD, npm will walk up the folder tree checking for a
-folder that contains either a `package.json` file, or a `node_modules`
-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.)
-
-If no package root is found, then the current folder is used.
-
-When you run `npm install foo@1.2.3`, then the package is loaded into
-the cache, and then unpacked into `./node_modules/foo`. Then, any of
-foo's dependencies are similarly unpacked into
-`./node_modules/foo/node_modules/...`.
-
-Any bin files are symlinked to `./node_modules/.bin/`, so that they may
-be found by npm scripts when necessary.
-
-### Global Installation
-
-If the `global` configuration is set to true, then npm will
-install packages "globally".
-
-For global installation, packages are installed roughly the same way,
-but using the folders described above.
-
-### Cycles, Conflicts, and Folder Parsimony
-
-Cycles are handled using the property of node's module system that it
-walks up the directories looking for `node_modules` folders. So, at every
-stage, if a package is already installed in an ancestor `node_modules`
-folder, then it is not installed at the current location.
-
-Consider the case above, where `foo -> bar -> baz`. Imagine if, in
-addition to that, baz depended on bar, so you'd have:
-`foo -> bar -> baz -> bar -> baz ...`. However, since the folder
-structure is: `foo/node_modules/bar/node_modules/baz`, there's no need to
-put another copy of bar into `.../baz/node_modules`, since when it calls
-require("bar"), it will get the copy that is installed in
-`foo/node_modules/bar`.
-
-This shortcut is only used if the exact same
-version would be installed in multiple nested `node_modules` folders. It
-is still possible to have `a/node_modules/b/node_modules/a` if the two
-"a" packages are different versions. However, without repeating the
-exact same package multiple times, an infinite regress will always be
-prevented.
-
-Another optimization can be made by installing dependencies at the
-highest level possible, below the localized "target" folder.
-
-#### Example
-
-Consider this dependency graph:
-
- 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
-
-In this case, we might expect a folder structure like this:
-
- 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]
-
-Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are
-installed in foo's `node_modules` folder.
-
-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].
-
-Bar [B] also has dependencies on baz and asdf, so those are installed in
-bar's `node_modules` folder. Because it depends on `baz@2.x`, it cannot
-re-use the `baz@1.2.3` installed in the parent `node_modules` folder [D],
-and must install its own copy [C].
-
-Underneath bar, the `baz->quux->bar` dependency creates a cycle.
-However, because `bar` is already in `quux`'s ancestry [B], it does not
-unpack another copy of bar into that folder.
-
-Underneath `foo->baz` [D], quux's [E] folder tree is empty, because its
-dependency on bar is satisfied by the parent folder copy installed at [B].
-
-For a graphical breakdown of what is installed where, use `npm ls`.
-
-### Publishing
-
-Upon publishing, npm will look in the `node_modules` folder. If any of
-the items there are not in the `bundledDependencies` array, then they will
-not be included in the package tarball.
-
-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 `npm-json(1)` for more information.
-
-## SEE ALSO
-
-* npm-faq(1)
-* npm-json(1)
-* npm-install(1)
-* npm-pack(1)
-* npm-cache(1)
-* npm-config(1)
-* npm-publish(1)
diff --git a/deps/npm/doc/cli/help-search.md b/deps/npm/doc/cli/help-search.md
deleted file mode 100644
index 9c16901eb..000000000
--- a/deps/npm/doc/cli/help-search.md
+++ /dev/null
@@ -1,35 +0,0 @@
-npm-help-search(1) -- Search npm help documentation
-===================================================
-
-## SYNOPSIS
-
- npm help-search some search terms
-
-## DESCRIPTION
-
-This command will search the npm markdown documentation files for the
-terms provided, and then list the results, sorted by relevance.
-
-If only one result is found, then it will show that help topic.
-
-If the argument to `npm help` is not a known help topic, then it will
-call `help-search`. It is rarely if ever necessary to call this
-command directly.
-
-## CONFIGURATION
-
-### long
-
-* Type: Boolean
-* Default false
-
-If true, the "long" flag will cause help-search to output context around
-where the terms were found in the documentation.
-
-If false, then help-search will just list out the help topics found.
-
-## SEE ALSO
-
-* npm(1)
-* npm-faq(1)
-* npm-help(1)
diff --git a/deps/npm/doc/cli/help.md b/deps/npm/doc/cli/help.md
deleted file mode 100644
index b51b0f164..000000000
--- a/deps/npm/doc/cli/help.md
+++ /dev/null
@@ -1,38 +0,0 @@
-npm-help(1) -- Get help on npm
-==============================
-
-## SYNOPSIS
-
- npm help <topic>
- npm help some search terms
-
-## DESCRIPTION
-
-If supplied a topic, then show the appropriate documentation page.
-
-If the topic does not exist, or if multiple terms are provided, then run
-the `help-search` command to find a match. Note that, if `help-search`
-finds a single subject, then it will run `help` on that topic, so unique
-matches are equivalent to specifying a topic name.
-
-## CONFIGURATION
-
-### viewer
-
-* Default: "man" on Posix, "browser" on Windows
-* Type: path
-
-The program to use to view help content.
-
-Set to `"browser"` to view html help content in the default web browser.
-
-## SEE ALSO
-
-* npm(1)
-* README
-* npm-faq(1)
-* npm-folders(1)
-* npm-config(1)
-* npm-json(1)
-* npm-help-search(1)
-* npm-index(1)
diff --git a/deps/npm/doc/cli/index.md b/deps/npm/doc/cli/index.md
deleted file mode 100644
index 903812dc2..000000000
--- a/deps/npm/doc/cli/index.md
+++ /dev/null
@@ -1,393 +0,0 @@
-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-dedupe(1)
-
- Reduce duplication
-
-## npm-deprecate(1)
-
- Deprecate a version of a package
-
-## npm-developers(1)
-
- Developer Guide
-
-## npm-disputes(1)
-
- Handling Module Name Disputes
-
-## 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-global(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-ls(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-rm(1)
-
- Remove 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-shrinkwrap(1)
-
- Lock down dependency versions
-
-## npm-star(1)
-
- Mark your favorite packages
-
-## npm-stars(1)
-
- View packages marked as favorites
-
-## 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-shrinkwrap(3)
-
- programmatically generate package shrinkwrap file
-
-## 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/doc/cli/init.md b/deps/npm/doc/cli/init.md
deleted file mode 100644
index d036f924d..000000000
--- a/deps/npm/doc/cli/init.md
+++ /dev/null
@@ -1,25 +0,0 @@
-npm-init(1) -- Interactively create a package.json file
-=======================================================
-
-## SYNOPSIS
-
- npm init
-
-## DESCRIPTION
-
-This will ask you a bunch of questions, and then write a package.json for you.
-
-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.
-
-If you already have a package.json file, it'll read that first, and default to
-the options in there.
-
-It is strictly additive, so it does not delete options from your package.json
-without a really good reason to do so.
-
-## SEE ALSO
-
-* <https://github.com/isaacs/init-package-json>
-* npm-json(1)
-* npm-version(1)
diff --git a/deps/npm/doc/cli/install.md b/deps/npm/doc/cli/install.md
deleted file mode 100644
index 44885f318..000000000
--- a/deps/npm/doc/cli/install.md
+++ /dev/null
@@ -1,242 +0,0 @@
-npm-install(1) -- Install a package
-===================================
-
-## SYNOPSIS
-
- npm install (with no args in a package dir)
- npm install <tarball file>
- npm install <tarball url>
- npm install <folder>
- npm install <name> [--save|--save-dev|--save-optional]
- npm install <name>@<tag>
- npm install <name>@<version>
- npm install <name>@<version range>
- npm install <name>@<version range>
-
-## DESCRIPTION
-
-This command installs a package, and any packages that it depends on. If the
-package has a shrinkwrap file, the installation of dependencies will be driven
-by that. See npm-shrinkwrap(1).
-
-A `package` is:
-
-* a) a folder containing a program described by a package.json file
-* b) a gzipped tarball containing (a)
-* c) a url that resolves to (b)
-* d) a `<name>@<version>` that is published on the registry with (c)
-* e) a `<name>@<tag>` that points to (d)
-* f) a `<name>` that has a "latest" tag satisfying (e)
-* g) a `<git remote url>` that resolves to (b)
-
-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).
-
-
-* `npm install` (in package directory, no arguments):
-
- Install the dependencies in the local node_modules folder.
-
- In global mode (ie, with `-g` or `--global` appended to the command),
- it installs the current package context (ie, the current working
- directory) as a global package.
-
-
-* `npm install <folder>`:
-
- Install a package that is sitting in a folder on the filesystem.
-
-* `npm install <tarball file>`:
-
- 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 `npm link`.
-
- Example:
-
- npm install ./package.tgz
-
-* `npm install <tarball url>`:
-
- 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://"
-
- Example:
-
- npm install https://github.com/indexzero/forever/tarball/v0.5.6
-
-* `npm install <name> [--save|--save-dev|--save-optional]`:
-
- Do a `<name>@<tag>` install, where `<tag>` is the "tag" config. (See
- `npm-config(1)`.)
-
- In most cases, this will install the latest version
- of the module published on npm.
-
- Example:
-
- npm install sax
-
- `npm install` takes 3 exclusive, optional flags which save or update
- the package version in your main package.json:
-
- * `--save`: Package will appear in your `dependencies`.
-
- * `--save-dev`: Package will appear in your `devDependencies`.
-
- * `--save-optional`: Package will appear in your `optionalDependencies`.
-
- Examples:
-
- npm install sax --save
- npm install node-tap --save-dev
- npm install dtrace-provider --save-optional
-
-
- **Note**: If there is a file or folder named `<name>` 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.
-
-* `npm install <name>@<tag>`:
-
- 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.
-
- Example:
-
- npm install sax@latest
-
-* `npm install <name>@<version>`:
-
- Install the specified version of the package. This will fail if the version
- has not been published to the registry.
-
- Example:
-
- npm install sax@0.1.1
-
-* `npm install <name>@<version range>`:
-
- Install a version of the package matching the specified version range. This
- will follow the same rules for resolving dependencies described in `npm-json(1)`.
-
- Note that most version ranges must be put in quotes so that your shell will
- treat it as a single argument.
-
- Example:
-
- npm install sax@">=0.1.0 <0.2.0"
-
-* `npm install <git remote url>`:
-
- Install a package by cloning a git remote url. The format of the git
- url is:
-
- <protocol>://[<user>@]<hostname><separator><path>[#<commit-ish>]
-
- `<protocol>` is one of `git`, `git+ssh`, `git+http`, or
- `git+https`. If no `<commit-ish>` is specified, then `master` is
- used.
-
- Examples:
-
- 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
-
-You may combine multiple arguments, and even multiple types of arguments.
-For example:
-
- npm install sax@">=0.1.0 <0.2.0" bench supervisor
-
-The `--tag` argument will apply to all of the specified install targets.
-
-The `--force` argument will force npm to fetch remote resources even if a
-local copy exists on disk.
-
- npm install sax --force
-
-The `--global` argument will cause npm to install the package globally
-rather than locally. See `npm-folders(1)`.
-
-The `--link` argument will cause npm to link global installs into the
-local space in some cases.
-
-The `--no-bin-links` argument will prevent npm from creating symlinks for
-any binaries the package might contain.
-
-The `--no-shrinkwrap` argument, which will ignore an available
-shrinkwrap file and use the package.json instead.
-
-The `--nodedir=/path/to/node/source` argument will allow npm to find the
-node source code so that npm can compile native modules.
-
-See `npm-config(1)`. Many of the configuration params have some
-effect on installation, since that's most of what npm does.
-
-## ALGORITHM
-
-To install a package, npm uses the following algorithm:
-
- 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)
-
-For this `package{dep}` structure: `A{B,C}, B{C}, C{D}`,
-this algorithm produces:
-
- A
- +-- B
- `-- C
- `-- D
-
-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.
-
-See npm-folders(1) for a more detailed description of the specific
-folder structures that npm creates.
-
-### 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:
-
- A -> B -> A' -> B' -> A -> B -> A' -> B' -> A -> ...
-
-where `A` is some version of a package, and `A'` is a different version
-of the same package. Because `B` depends on a different version of `A`
-than the one that is already in the tree, it must install a separate
-copy. The same is true of `A'`, which must install `B'`. Because `B'`
-depends on the original version of `A`, which has been overridden, the
-cycle falls into infinite regress.
-
-To avoid this situation, npm flat-out refuses to install any
-`name@version` 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.
-
-## SEE ALSO
-
-* npm-folders(1)
-* npm-update(1)
-* npm-link(1)
-* npm-rebuild(1)
-* npm-scripts(1)
-* npm-build(1)
-* npm-config(1)
-* npm-registry(1)
-* npm-folders(1)
-* npm-tag(1)
-* npm-rm(1)
-* npm-shrinkwrap(1)
diff --git a/deps/npm/doc/cli/json.md b/deps/npm/doc/cli/json.md
deleted file mode 100644
index 403f7f856..000000000
--- a/deps/npm/doc/cli/json.md
+++ /dev/null
@@ -1,587 +0,0 @@
-npm-json(1) -- Specifics of npm's package.json handling
-=======================================================
-
-## 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.
-
-A lot of the behavior described in this document is affected by the config
-settings described in `npm-config(1)`.
-
-## DEFAULT VALUES
-
-npm will default some values based on package contents.
-
-* `"scripts": {"start": "node server.js"}`
-
- If there is a `server.js` file in the root of your package, then npm
- will default the `start` command to `node server.js`.
-
-* `"scripts":{"preinstall": "node-waf clean || true; node-waf configure build"}`
-
- If there is a `wscript` file in the root of your package, npm will
- default the `preinstall` command to compile using node-waf.
-
-* `"scripts":{"preinstall": "node-gyp rebuild"}`
-
- If there is a `binding.gyp` file in the root of your package, npm will
- default the `preinstall` command to compile using node-gyp.
-
-* `"contributors": [...]`
-
- If there is an `AUTHORS` file in the root of your package, npm will
- treat each line as a `Name <email> (url)` format, where email and url
- are optional. Lines which start with a `#` or are blank, will be
- ignored.
-
-## name
-
-The *most* 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.
-
-The name is what your thing is called. Some tips:
-
-* 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.)
-* 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.
-* The name will probably be passed as an argument to require(), so it should
- be something short, but also reasonably descriptive.
-* 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/
-
-## version
-
-The *most* 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.
-
-Version must be parseable by
-[node-semver](https://github.com/isaacs/node-semver), which is bundled
-with npm as a dependency. (`npm install semver` to use it yourself.)
-
-Here's how npm's semver implementation deviates from what's on semver.org:
-
-* Versions can start with "v"
-* A numeric item separated from the main three-number version by a hyphen
- will be interpreted as a "build" number, and will *increase* 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 *less than* the version without a tag.
- So, `0.1.2-7 > 0.1.2-7-beta > 0.1.2-6 > 0.1.2 > 0.1.2beta`
-
-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.
-
-## description
-
-Put a description in it. It's a string. This helps people discover your
-package, as it's listed in `npm search`.
-
-## keywords
-
-Put keywords in it. It's an array of strings. This helps people
-discover your package as it's listed in `npm search`.
-
-## homepage
-
-The url to the project homepage.
-
-**NOTE**: This is *not* 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.
-
-Literally. Spit. I'm so not kidding.
-
-## 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.
-
-It should look like this:
-
- { "url" : "http://github.com/owner/project/issues"
- , "email" : "project@hostname.com"
- }
-
-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.
-
-If a url is provided, it will be used by the `npm bugs` command.
-
-## license
-
-You should specify a license for your package so that people know how they are
-permitted to use it, and any restrictions you're placing on it.
-
-The simplest way, assuming you're using a common license such as BSD or MIT, is
-to just specify the name of the license you're using, like this:
-
- { "license" : "BSD" }
-
-If you have more complex licensing terms, or you want to provide more detail
-in your package.json file, you can use the more verbose plural form, like this:
-
- "licenses" : [
- { "type" : "MyLicense"
- , "url" : "http://github.com/owner/project/path/to/license"
- }
- ]
-
-It's also a good idea to include a license file at the top level in your package.
-
-## 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:
-
- { "name" : "Barney Rubble"
- , "email" : "b@rubble.com"
- , "url" : "http://barnyrubble.tumblr.com/"
- }
-
-Or you can shorten that all into a single string, and npm will parse it for you:
-
- "Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)
-
-Both email and url are optional either way.
-
-npm also sets a top-level "maintainers" field with your npm user info.
-
-## 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.)
-
-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".
-
-## main
-
-The main field is a module ID that is the primary entry point to your program.
-That is, if your package is named `foo`, and a user installs it, and then does
-`require("foo")`, then your main module's exports object will be returned.
-
-This should be a module ID relative to the root of your package folder.
-
-For most modules, it makes the most sense to have a main script and often not
-much else.
-
-## 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.)
-
-To use this, supply a `bin` field in your package.json which is a map of
-command name to local file name. On install, npm will symlink that file into
-`prefix/bin` for global installs, or `./node_modules/.bin/` for local
-installs.
-
-
-For example, npm has this:
-
- { "bin" : { "npm" : "./cli.js" } }
-
-So, when you install npm, it'll create a symlink from the `cli.js` script to
-`/usr/local/bin/npm`.
-
-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:
-
- { "name": "my-program"
- , "version": "1.2.5"
- , "bin": "./path/to/program" }
-
-would be the same as this:
-
- { "name": "my-program"
- , "version": "1.2.5"
- , "bin" : { "my-program" : "./path/to/program" } }
-
-## man
-
-Specify either a single file or an array of filenames to put in place for the
-`man` program to find.
-
-If only a single file is provided, then it's installed such that it is the
-result from `man <pkgname>`, regardless of its actual filename. For example:
-
- { "name" : "foo"
- , "version" : "1.2.3"
- , "description" : "A packaged foo fooer for fooing foos"
- , "main" : "foo.js"
- , "man" : "./man/doc.1"
- }
-
-would link the `./man/doc.1` file in such that it is the target for `man foo`
-
-If the filename doesn't start with the package name, then it's prefixed.
-So, this:
-
- { "name" : "foo"
- , "version" : "1.2.3"
- , "description" : "A packaged foo fooer for fooing foos"
- , "main" : "foo.js"
- , "man" : [ "./man/foo.1", "./man/bar.1" ]
- }
-
-will create files to do `man foo` and `man foo-bar`.
-
-Man files must end with a number, and optionally a `.gz` suffix if they are
-compressed. The number dictates which man section the file is installed into.
-
- { "name" : "foo"
- , "version" : "1.2.3"
- , "description" : "A packaged foo fooer for fooing foos"
- , "main" : "foo.js"
- , "man" : [ "./man/foo.1", "./man/foo.2" ]
- }
-
-will create entries for `man foo` and `man 2 foo`
-
-## directories
-
-The CommonJS [Packages](http://wiki.commonjs.org/wiki/Packages/1.0) spec details a
-few ways that you can indicate the structure of your package using a `directories`
-hash. If you look at [npm's package.json](http://registry.npmjs.org/npm/latest),
-you'll see that it has directories for doc, lib, and man.
-
-In the future, this information may be used in other creative ways.
-
-### 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.
-
-### directories.bin
-
-If you specify a "bin" directory, then all the files in that folder will
-be used as the "bin" hash.
-
-If you have a "bin" hash already, then this has no effect.
-
-### directories.man
-
-A folder that is full of man pages. Sugar to generate a "man" array by
-walking the folder.
-
-### directories.doc
-
-Put markdown files in here. Eventually, these will be displayed nicely,
-maybe, someday.
-
-### directories.example
-
-Put example scripts in here. Someday, it might be exposed in some clever way.
-
-## 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 `npm docs`
-command will be able to find you.
-
-Do it like this:
-
- "repository" :
- { "type" : "git"
- , "url" : "http://github.com/isaacs/npm.git"
- }
-
- "repository" :
- { "type" : "svn"
- , "url" : "http://v8.googlecode.com/svn/trunk/"
- }
-
-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.
-
-## 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.
-
-See `npm-scripts(1)` to find out more about writing package scripts.
-
-## 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:
-
- { "name" : "foo"
- , "config" : { "port" : "8080" } }
-
-and then had a "start" command that then referenced the
-`npm_package_config_port` environment variable, then the user could
-override that by doing `npm config set foo:port 8001`.
-
-See `npm-config(1)` and `npm-scripts(1)` for more on package
-configs.
-
-## 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"
-
-**Please do not put test harnesses in your `dependencies` hash.** See
-`devDependencies`, below.
-
-Version range descriptors may be any of the following styles, where "version"
-is a semver compatible version identifier.
-
-* `version` Must match `version` exactly
-* `=version` Same as just `version`
-* `>version` Must be greater than `version`
-* `>=version` etc
-* `<version`
-* `<=version`
-* `~version` See 'Tilde Version Ranges' below
-* `1.2.x` See 'X Version Ranges' below
-* `http://...` See 'URLs as Dependencies' below
-* `*` Matches any version
-* `""` (just an empty string) Same as `*`
-* `version1 - version2` Same as `>=version1 <=version2`.
-* `range1 || range2` Passes if either range1 or range2 are satisfied.
-* `git...` See 'Git URLs as Dependencies' below
-
-For example, these are all valid:
-
- { "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"
- }
- }
-
-### Tilde Version Ranges
-
-A range specifier starting with a tilde `~` character is matched against
-a version in the following fashion.
-
-* The version must be at least as high as the range.
-* The version must be less than the next major revision above the range.
-
-For example, the following are equivalent:
-
-* `"~1.2.3" = ">=1.2.3 <1.3.0"`
-* `"~1.2" = ">=1.2.0 <1.3.0"`
-* `"~1" = ">=1.0.0 <1.1.0"`
-
-### 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.
-
-The following are equivalent:
-
-* `"1.2.x" = ">=1.2.0 <1.3.0"`
-* `"1.x.x" = ">=1.0.0 <2.0.0"`
-* `"1.2" = "1.2.x"`
-* `"1.x" = "1.x.x"`
-* `"1" = "1.x.x"`
-
-You may not supply a comparator with a version containing an x. Any
-digits after the first "x" are ignored.
-
-### URLs as Dependencies
-
-Starting with npm version 0.2.14, you may specify a tarball URL in place
-of a version range.
-
-This tarball will be downloaded and installed locally to your package at
-install time.
-
-### Git URLs as Dependencies
-
-Git urls can be of the form:
-
- git://github.com/user/project.git#commit-ish
- git+ssh://user@hostname:project.git#commit-ish
- git+ssh://user@hostname/project.git#commit-ish
- git+http://user@hostname/project/blah.git#commit-ish
- git+https://user@hostname/project/blah.git#commit-ish
-
-The `commit-ish` can be any tag, sha, or branch which can be supplied as
-an argument to `git checkout`. The default is `master`.
-
-## devDependencies
-
-If someone is planning on downloading and using your module in their
-program, then they probably don't want or need to download and build
-the external test or documentation framework that you use.
-
-In this case, it's best to list these additional items in a
-`devDependencies` hash.
-
-These things will be installed whenever the `--dev` configuration flag
-is set. This flag is set automatically when doing `npm link` or when doing
-`npm install` from the root of a package, and can be managed like any other npm
-configuration param. See `npm-config(1)` for more on the topic.
-
-## bundledDependencies
-
-Array of package names that will be bundled when publishing the package.
-
-If this is spelled `"bundleDependencies"`, then that is also honorable.
-
-## optionalDependencies
-
-If a dependency can be used, but you would like npm to proceed if it
-cannot be found or fails to install, then you may put it in the
-`optionalDependencies` hash. This is a map of package name to version
-or url, just like the `dependencies` hash. The difference is that
-failure is tolerated.
-
-It is still your program's responsibility to handle the lack of the
-dependency. For example, something like this:
-
- try {
- var foo = require('foo')
- var fooVersion = require('foo/package.json').version
- } catch (er) {
- foo = null
- }
- if ( notGoodFooVersion(fooVersion) ) {
- foo = null
- }
-
- // .. then later in your program ..
-
- if (foo) {
- foo.doFooThings()
- }
-
-Entries in `optionalDependencies` will override entries of the same name in
-`dependencies`, so it's usually best to only put in one place.
-
-## engines
-
-You can specify the version of node that your stuff works on:
-
- { "engines" : { "node" : ">=0.1.27 <0.1.30" } }
-
-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.
-
-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.
-
-You can also use the "engines" field to specify which versions of npm
-are capable of properly installing your program. For example:
-
- { "engines" : { "npm" : "~1.0.20" } }
-
-Note that, unless the user has set the `engine-strict` config flag, this
-field is advisory only.
-
-## engineStrict
-
-If you are sure that your module will *definitely not* run properly on
-versions of Node/npm other than those specified in the `engines` hash,
-then you can set `"engineStrict": true` in your package.json file.
-This will override the user's `engine-strict` config setting.
-
-Please do not do this unless you are really very very sure. If your
-engines hash is something overly restrictive, you can quite easily and
-inadvertently lock yourself into obscurity and prevent your users from
-updating to new versions of Node. Consider this choice carefully. If
-people abuse it, it will be removed in a future version of npm.
-
-## os
-
-You can specify which operating systems your
-module will run on:
-
- "os" : [ "darwin", "linux" ]
-
-You can also blacklist instead of whitelist operating systems,
-just prepend the blacklisted os with a '!':
-
- "os" : [ "!win32" ]
-
-The host operating system is determined by `process.platform`
-
-It is allowed to both blacklist, and whitelist, although there isn't any
-good reason to do this.
-
-## cpu
-
-If your code only runs on certain cpu architectures,
-you can specify which ones.
-
- "cpu" : [ "x64", "ia32" ]
-
-Like the `os` option, you can also blacklist architectures:
-
- "cpu" : [ "!arm", "!mips" ]
-
-The host architecture is determined by `process.arch`
-
-## preferGlobal
-
-If your package is primarily a command-line application that should be
-installed globally, then set this value to `true` to provide a warning
-if it is installed locally.
-
-It doesn't actually prevent users from installing it locally, but it
-does help prevent some confusion if it doesn't work as expected.
-
-## private
-
-If you set `"private": true` in your package.json, then npm will refuse
-to publish it.
-
-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 specific registry (for example, an internal registry),
-then use the `publishConfig` hash described below
-to override the `registry` config param at publish-time.
-
-## 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.
-
-Any config values can be overridden, but of course only "tag" and
-"registry" probably matter for the purposes of publishing.
-
-See `npm-config(1)` to see the list of config options that can be
-overridden.
-
-## SEE ALSO
-
-* npm-semver(1)
-* npm-init(1)
-* npm-version(1)
-* npm-config(1)
-* npm-help(1)
-* npm-faq(1)
-* npm-install(1)
-* npm-publish(1)
-* npm-rm(1)
diff --git a/deps/npm/doc/cli/link.md b/deps/npm/doc/cli/link.md
deleted file mode 100644
index 4e4ef799b..000000000
--- a/deps/npm/doc/cli/link.md
+++ /dev/null
@@ -1,60 +0,0 @@
-npm-link(1) -- Symlink a package folder
-=======================================
-
-## SYNOPSIS
-
- npm link (in package folder)
- npm link <pkgname>
-
-## DESCRIPTION
-
-Package linking is a two-step process.
-
-First, `npm link` in a package folder will create a globally-installed
-symbolic link from `prefix/package-name` to the current folder.
-
-Next, in some other location, `npm link package-name` will create a
-symlink from the local `node_modules` folder to the global symlink.
-
-Note that `package-name` is taken from `package.json` ,
-not from directory name.
-
-When creating tarballs for `npm publish`, the linked packages are
-"snapshotted" to their current state by resolving the symbolic links.
-
-This is
-handy for installing your own stuff, so that you can work on it and test it
-iteratively without having to continually rebuild.
-
-For example:
-
- 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
-
-Now, any changes to ~/projects/node-redis will be reflected in
-~/projects/node-bloggy/node_modules/redis/
-
-You may also shortcut the two steps in one. For example, to do the
-above use-case in a shorter way:
-
- cd ~/projects/node-bloggy # go into the dir of your main project
- npm link ../node-redis # link the dir of your dependency
-
-The second line is the equivalent of doing:
-
- (cd ../node-redis; npm link)
- npm link redis
-
-That is, it first creates a global link, and then links the global
-installation target into your project's `node_modules` folder.
-
-## SEE ALSO
-
-* npm-developers(1)
-* npm-faq(1)
-* npm-json(1)
-* npm-install(1)
-* npm-folders(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/ls.md b/deps/npm/doc/cli/ls.md
deleted file mode 100644
index 3dd709b62..000000000
--- a/deps/npm/doc/cli/ls.md
+++ /dev/null
@@ -1,68 +0,0 @@
-npm-ls(1) -- List installed packages
-======================================
-
-## SYNOPSIS
-
- npm list [<pkg> ...]
- npm ls [<pkg> ...]
- npm la [<pkg> ...]
- npm ll [<pkg> ...]
-
-## DESCRIPTION
-
-This command will print to stdout all the versions of packages that are
-installed, as well as their dependencies, in a tree-structure.
-
-Positional arguments are `name@version-range` identifiers, which will
-limit the results to only the paths to the packages named. Note that
-nested packages will *also* show the paths to the specified packages.
-For example, running `npm ls promzard` in npm's source tree will show:
-
- npm@@VERSION@ /path/to/npm
- └─┬ init-package-json@0.0.4
- └── promzard@0.1.5
-
-It will show print out extraneous, missing, and invalid packages.
-
-When run as `ll` or `la`, it shows extended information by default.
-
-## CONFIGURATION
-
-### json
-
-* Default: false
-* Type: Boolean
-
-Show information in JSON format.
-
-### long
-
-* Default: false
-* Type: Boolean
-
-Show extended information.
-
-### parseable
-
-* Default: false
-* Type: Boolean
-
-Show parseable output instead of tree view.
-
-### global
-
-* Default: false
-* Type: Boolean
-
-List packages in the global install prefix instead of in the current
-project.
-
-## SEE ALSO
-
-* npm-config(1)
-* npm-folders(1)
-* npm-install(1)
-* npm-link(1)
-* npm-prune(1)
-* npm-outdated(1)
-* npm-update(1)
diff --git a/deps/npm/doc/cli/npm-adduser.md b/deps/npm/doc/cli/npm-adduser.md
new file mode 100644
index 000000000..ee5c3bd27
--- /dev/null
+++ b/deps/npm/doc/cli/npm-adduser.md
@@ -0,0 +1,38 @@
+npm-adduser(1) -- Add a registry user account
+=============================================
+
+## SYNOPSIS
+
+ npm adduser
+
+## DESCRIPTION
+
+Create or verify a user named `<username>` in the npm registry, and
+save the credentials to the `.npmrc` file.
+
+The username, password, and email are read in from prompts.
+
+You may use this command to change your email address, but not username
+or password.
+
+To reset your password, go to <http://admin.npmjs.org/>
+
+You may use this command multiple times with the same user account to
+authorize on a new machine.
+
+## CONFIGURATION
+
+### registry
+
+Default: http://registry.npmjs.org/
+
+The base URL of the npm package registry.
+
+## SEE ALSO
+
+* npm-registry(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-owner(1)
+* npm-whoami(1)
diff --git a/deps/npm/doc/cli/npm-bin.md b/deps/npm/doc/cli/npm-bin.md
new file mode 100644
index 000000000..49d209d7f
--- /dev/null
+++ b/deps/npm/doc/cli/npm-bin.md
@@ -0,0 +1,19 @@
+npm-bin(1) -- Display npm bin folder
+====================================
+
+## SYNOPSIS
+
+ npm bin
+
+## DESCRIPTION
+
+Print the folder where npm will install executables.
+
+## SEE ALSO
+
+* npm-prefix(1)
+* npm-root(1)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-bugs.md b/deps/npm/doc/cli/npm-bugs.md
new file mode 100644
index 000000000..2a7dae98d
--- /dev/null
+++ b/deps/npm/doc/cli/npm-bugs.md
@@ -0,0 +1,40 @@
+npm-bugs(1) -- Bugs for a package in a web browser maybe
+========================================================
+
+## SYNOPSIS
+
+ npm bugs <pkgname>
+
+## 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 `--browser`
+config param.
+
+## CONFIGURATION
+
+### browser
+
+* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+* Type: String
+
+The browser that is called by the `npm bugs` command to open websites.
+
+### registry
+
+* Default: https://registry.npmjs.org/
+* Type: url
+
+The base URL of the npm package registry.
+
+
+## SEE ALSO
+
+* npm-docs(1)
+* npm-view(1)
+* npm-publish(1)
+* npm-registry(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* package.json(5)
diff --git a/deps/npm/doc/cli/npm-build.md b/deps/npm/doc/cli/npm-build.md
new file mode 100644
index 000000000..53813c1fd
--- /dev/null
+++ b/deps/npm/doc/cli/npm-build.md
@@ -0,0 +1,22 @@
+npm-build(1) -- Build a package
+===============================
+
+## SYNOPSIS
+
+ npm build <package-folder>
+
+* `<package-folder>`:
+ A folder containing a `package.json` file in its root.
+
+## DESCRIPTION
+
+This is the plumbing command called by `npm link` and `npm install`.
+
+It should generally not be called directly.
+
+## SEE ALSO
+
+* npm-install(1)
+* npm-link(1)
+* npm-scripts(7)
+* package.json(5)
diff --git a/deps/npm/doc/cli/bundle.md b/deps/npm/doc/cli/npm-bundle.md
index 69b3d83e4..69b3d83e4 100644
--- a/deps/npm/doc/cli/bundle.md
+++ b/deps/npm/doc/cli/npm-bundle.md
diff --git a/deps/npm/doc/cli/npm-cache.md b/deps/npm/doc/cli/npm-cache.md
new file mode 100644
index 000000000..195c4aa20
--- /dev/null
+++ b/deps/npm/doc/cli/npm-cache.md
@@ -0,0 +1,72 @@
+npm-cache(1) -- Manipulates packages cache
+==========================================
+
+## SYNOPSIS
+
+ 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>]
+
+## DESCRIPTION
+
+Used to add, list, or clear the npm cache folder.
+
+* 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.
+
+* ls:
+ Show the data in the cache. Argument is a path to show in the cache
+ folder. Works a bit like the `find` program, but limited by the
+ `depth` config.
+
+* 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.
+
+## DETAILS
+
+npm stores cache data in `$HOME/.npm`. For each package that is added
+to the cache, three pieces of information are stored in
+`{cache}/{name}/{version}`:
+
+* .../package/:
+ A folder containing the package contents as they appear in the tarball.
+* .../package.json:
+ The package.json file, as npm sees it, with overlays applied and a _id attribute.
+* .../package.tgz:
+ The tarball for that version.
+
+Additionally, whenever a registry request is made, a `.cache.json` file
+is placed at the corresponding URI, to store the ETag and the requested
+data.
+
+Commands that make non-essential registry requests (such as `search` and
+`view`, or the completion scripts) generally specify a minimum timeout.
+If the `.cache.json` file is younger than the specified timeout, then
+they do not make an HTTP request to the registry.
+
+## CONFIGURATION
+
+### cache
+
+Default: `$HOME/.npm` on Posix, or `$HOME/npm-cache` on Windows.
+
+The root cache folder.
+
+## SEE ALSO
+
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-install(1)
+* npm-publish(1)
+* npm-pack(1)
diff --git a/deps/npm/doc/cli/npm-completion.md b/deps/npm/doc/cli/npm-completion.md
new file mode 100644
index 000000000..bec0f6086
--- /dev/null
+++ b/deps/npm/doc/cli/npm-completion.md
@@ -0,0 +1,29 @@
+npm-completion(1) -- Tab Completion for npm
+===========================================
+
+## SYNOPSIS
+
+ . <(npm completion)
+
+## DESCRIPTION
+
+Enables tab-completion in all npm commands.
+
+The synopsis above
+loads the completions into your current shell. Adding it to
+your ~/.bashrc or ~/.zshrc will make the completions available
+everywhere.
+
+You may of course also pipe the output of npm completion to a file
+such as `/usr/local/etc/bash_completion.d/npm` if you have a system
+that will read that file for you.
+
+When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the
+environment, `npm completion` acts in "plumbing mode", and outputs
+completions based on the arguments.
+
+## SEE ALSO
+
+* npm-developers(7)
+* npm-faq(7)
+* npm(1)
diff --git a/deps/npm/doc/cli/npm-config.md b/deps/npm/doc/cli/npm-config.md
new file mode 100644
index 000000000..119840ef0
--- /dev/null
+++ b/deps/npm/doc/cli/npm-config.md
@@ -0,0 +1,70 @@
+npm-config(1) -- Manage the npm configuration files
+===================================================
+
+## SYNOPSIS
+
+ 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]
+
+## DESCRIPTION
+
+npm gets its config settings from the command line, environment
+variables, `npmrc` files, and in some cases, the `package.json` file.
+
+See npmrc(5) for more information about the npmrc files.
+
+See `npm-config(7)` for a more thorough discussion of the mechanisms
+involved.
+
+The `npm config` command can be used to update and edit the contents
+of the user and global npmrc files.
+
+## Sub-commands
+
+Config supports the following sub-commands:
+
+### set
+
+ npm config set key value
+
+Sets the config key to the value.
+
+If value is omitted, then it sets it to "true".
+
+### get
+
+ npm config get key
+
+Echo the config value to stdout.
+
+### list
+
+ npm config list
+
+Show all the config settings.
+
+### delete
+
+ npm config delete key
+
+Deletes the key from all configuration files.
+
+### edit
+
+ npm config edit
+
+Opens the config file in an editor. Use the `--global` flag to edit the
+global config.
+
+## SEE ALSO
+
+* npm-folders(5)
+* npm-config(7)
+* package.json(5)
+* npmrc(5)
+* npm(1)
diff --git a/deps/npm/doc/cli/dedupe.md b/deps/npm/doc/cli/npm-dedupe.md
index 220329acb..220329acb 100644
--- a/deps/npm/doc/cli/dedupe.md
+++ b/deps/npm/doc/cli/npm-dedupe.md
diff --git a/deps/npm/doc/cli/npm-deprecate.md b/deps/npm/doc/cli/npm-deprecate.md
new file mode 100644
index 000000000..e62579349
--- /dev/null
+++ b/deps/npm/doc/cli/npm-deprecate.md
@@ -0,0 +1,26 @@
+npm-deprecate(1) -- Deprecate a version of a package
+====================================================
+
+## SYNOPSIS
+
+ npm deprecate <name>[@<version>] <message>
+
+## DESCRIPTION
+
+This command will update the npm registry entry for a package, providing
+a deprecation warning to all who attempt to install it.
+
+It works on version ranges as well as specific versions, so you can do
+something like this:
+
+ npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
+
+Note that you must be the package owner to deprecate something. See the
+`owner` and `adduser` help topics.
+
+To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
+
+## SEE ALSO
+
+* npm-publish(1)
+* npm-registry(7)
diff --git a/deps/npm/doc/cli/npm-docs.md b/deps/npm/doc/cli/npm-docs.md
new file mode 100644
index 000000000..cc39e82c4
--- /dev/null
+++ b/deps/npm/doc/cli/npm-docs.md
@@ -0,0 +1,40 @@
+npm-docs(1) -- Docs for a package in a web browser maybe
+========================================================
+
+## SYNOPSIS
+
+ npm docs <pkgname>
+ npm home <pkgname>
+
+## DESCRIPTION
+
+This command tries to guess at the likely location of a package's
+documentation URL, and then tries to open it using the `--browser`
+config param.
+
+## CONFIGURATION
+
+### browser
+
+* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+* Type: String
+
+The browser that is called by the `npm docs` command to open websites.
+
+### registry
+
+* Default: https://registry.npmjs.org/
+* Type: url
+
+The base URL of the npm package registry.
+
+
+## SEE ALSO
+
+* npm-view(1)
+* npm-publish(1)
+* npm-registry(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* package.json(5)
diff --git a/deps/npm/doc/cli/npm-edit.md b/deps/npm/doc/cli/npm-edit.md
new file mode 100644
index 000000000..d833bc06f
--- /dev/null
+++ b/deps/npm/doc/cli/npm-edit.md
@@ -0,0 +1,37 @@
+npm-edit(1) -- Edit an installed package
+========================================
+
+## SYNOPSIS
+
+ npm edit <name>[@<version>]
+
+## DESCRIPTION
+
+Opens the package folder in the default editor (or whatever you've
+configured as the npm `editor` config -- see `npm-config(7)`.)
+
+After it has been edited, the package is rebuilt so as to pick up any
+changes in compiled packages.
+
+For instance, you can do `npm install connect` to install connect
+into your package, and then `npm edit connect` to make a few
+changes to your locally installed copy.
+
+## CONFIGURATION
+
+### editor
+
+* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
+ or `"notepad"` on Windows.
+* Type: path
+
+The command to run for `npm edit` or `npm config edit`.
+
+## SEE ALSO
+
+* npm-folders(7)
+* npm-explore(1)
+* npm-install(1)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-explore.md b/deps/npm/doc/cli/npm-explore.md
new file mode 100644
index 000000000..51846f531
--- /dev/null
+++ b/deps/npm/doc/cli/npm-explore.md
@@ -0,0 +1,40 @@
+npm-explore(1) -- Browse an installed package
+=============================================
+
+## SYNOPSIS
+
+ npm explore <name>[@<version>] [ -- <cmd>]
+
+## DESCRIPTION
+
+Spawn a subshell in the directory of the installed package specified.
+
+If a command is specified, then it is run in the subshell, which then
+immediately terminates.
+
+This is particularly handy in the case of git submodules in the
+`node_modules` folder:
+
+ npm explore some-dependency -- git pull origin master
+
+Note that the package is *not* automatically rebuilt afterwards, so be
+sure to use `npm rebuild <pkg>` if you make any changes.
+
+## CONFIGURATION
+
+### shell
+
+* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+ Windows
+* Type: path
+
+The shell to run for the `npm explore` command.
+
+## SEE ALSO
+
+* npm-submodule(1)
+* npm-folders(7)
+* npm-edit(1)
+* npm-rebuild(1)
+* npm-build(1)
+* npm-install(1)
diff --git a/deps/npm/doc/cli/npm-help-search.md b/deps/npm/doc/cli/npm-help-search.md
new file mode 100644
index 000000000..7bf7401ba
--- /dev/null
+++ b/deps/npm/doc/cli/npm-help-search.md
@@ -0,0 +1,35 @@
+npm-help-search(1) -- Search npm help documentation
+===================================================
+
+## SYNOPSIS
+
+ npm help-search some search terms
+
+## DESCRIPTION
+
+This command will search the npm markdown documentation files for the
+terms provided, and then list the results, sorted by relevance.
+
+If only one result is found, then it will show that help topic.
+
+If the argument to `npm help` is not a known help topic, then it will
+call `help-search`. It is rarely if ever necessary to call this
+command directly.
+
+## CONFIGURATION
+
+### long
+
+* Type: Boolean
+* Default false
+
+If true, the "long" flag will cause help-search to output context around
+where the terms were found in the documentation.
+
+If false, then help-search will just list out the help topics found.
+
+## SEE ALSO
+
+* npm(1)
+* npm-faq(7)
+* npm-help(1)
diff --git a/deps/npm/doc/cli/npm-help.md b/deps/npm/doc/cli/npm-help.md
new file mode 100644
index 000000000..7a7eadf1f
--- /dev/null
+++ b/deps/npm/doc/cli/npm-help.md
@@ -0,0 +1,40 @@
+npm-help(1) -- Get help on npm
+==============================
+
+## SYNOPSIS
+
+ npm help <topic>
+ npm help some search terms
+
+## DESCRIPTION
+
+If supplied a topic, then show the appropriate documentation page.
+
+If the topic does not exist, or if multiple terms are provided, then run
+the `help-search` command to find a match. Note that, if `help-search`
+finds a single subject, then it will run `help` on that topic, so unique
+matches are equivalent to specifying a topic name.
+
+## CONFIGURATION
+
+### viewer
+
+* Default: "man" on Posix, "browser" on Windows
+* Type: path
+
+The program to use to view help content.
+
+Set to `"browser"` to view html help content in the default web browser.
+
+## SEE ALSO
+
+* npm(1)
+* README
+* npm-faq(7)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* package.json(5)
+* npm-help-search(1)
+* npm-index(7)
diff --git a/deps/npm/doc/cli/npm-init.md b/deps/npm/doc/cli/npm-init.md
new file mode 100644
index 000000000..bd63a8879
--- /dev/null
+++ b/deps/npm/doc/cli/npm-init.md
@@ -0,0 +1,25 @@
+npm-init(1) -- Interactively create a package.json file
+=======================================================
+
+## SYNOPSIS
+
+ npm init
+
+## DESCRIPTION
+
+This will ask you a bunch of questions, and then write a package.json for you.
+
+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.
+
+If you already have a package.json file, it'll read that first, and default to
+the options in there.
+
+It is strictly additive, so it does not delete options from your package.json
+without a really good reason to do so.
+
+## SEE ALSO
+
+* <https://github.com/isaacs/init-package-json>
+* package.json(5)
+* npm-version(1)
diff --git a/deps/npm/doc/cli/npm-install.md b/deps/npm/doc/cli/npm-install.md
new file mode 100644
index 000000000..f460f2c96
--- /dev/null
+++ b/deps/npm/doc/cli/npm-install.md
@@ -0,0 +1,244 @@
+npm-install(1) -- Install a package
+===================================
+
+## SYNOPSIS
+
+ npm install (with no args in a package dir)
+ npm install <tarball file>
+ npm install <tarball url>
+ npm install <folder>
+ npm install <name> [--save|--save-dev|--save-optional]
+ npm install <name>@<tag>
+ npm install <name>@<version>
+ npm install <name>@<version range>
+ npm install <name>@<version range>
+
+## DESCRIPTION
+
+This command installs a package, and any packages that it depends on. If the
+package has a shrinkwrap file, the installation of dependencies will be driven
+by that. See npm-shrinkwrap(1).
+
+A `package` is:
+
+* a) a folder containing a program described by a package.json file
+* b) a gzipped tarball containing (a)
+* c) a url that resolves to (b)
+* d) a `<name>@<version>` that is published on the registry with (c)
+* e) a `<name>@<tag>` that points to (d)
+* f) a `<name>` that has a "latest" tag satisfying (e)
+* g) a `<git remote url>` that resolves to (b)
+
+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).
+
+
+* `npm install` (in package directory, no arguments):
+
+ Install the dependencies in the local node_modules folder.
+
+ In global mode (ie, with `-g` or `--global` appended to the command),
+ it installs the current package context (ie, the current working
+ directory) as a global package.
+
+
+* `npm install <folder>`:
+
+ Install a package that is sitting in a folder on the filesystem.
+
+* `npm install <tarball file>`:
+
+ 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 `npm link`.
+
+ Example:
+
+ npm install ./package.tgz
+
+* `npm install <tarball url>`:
+
+ 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://"
+
+ Example:
+
+ npm install https://github.com/indexzero/forever/tarball/v0.5.6
+
+* `npm install <name> [--save|--save-dev|--save-optional]`:
+
+ Do a `<name>@<tag>` install, where `<tag>` is the "tag" config. (See
+ `npm-config(7)`.)
+
+ In most cases, this will install the latest version
+ of the module published on npm.
+
+ Example:
+
+ npm install sax
+
+ `npm install` takes 3 exclusive, optional flags which save or update
+ the package version in your main package.json:
+
+ * `--save`: Package will appear in your `dependencies`.
+
+ * `--save-dev`: Package will appear in your `devDependencies`.
+
+ * `--save-optional`: Package will appear in your `optionalDependencies`.
+
+ Examples:
+
+ npm install sax --save
+ npm install node-tap --save-dev
+ npm install dtrace-provider --save-optional
+
+
+ **Note**: If there is a file or folder named `<name>` 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.
+
+* `npm install <name>@<tag>`:
+
+ 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.
+
+ Example:
+
+ npm install sax@latest
+
+* `npm install <name>@<version>`:
+
+ Install the specified version of the package. This will fail if the version
+ has not been published to the registry.
+
+ Example:
+
+ npm install sax@0.1.1
+
+* `npm install <name>@<version range>`:
+
+ Install a version of the package matching the specified version range. This
+ will follow the same rules for resolving dependencies described in `package.json(5)`.
+
+ Note that most version ranges must be put in quotes so that your shell will
+ treat it as a single argument.
+
+ Example:
+
+ npm install sax@">=0.1.0 <0.2.0"
+
+* `npm install <git remote url>`:
+
+ Install a package by cloning a git remote url. The format of the git
+ url is:
+
+ <protocol>://[<user>@]<hostname><separator><path>[#<commit-ish>]
+
+ `<protocol>` is one of `git`, `git+ssh`, `git+http`, or
+ `git+https`. If no `<commit-ish>` is specified, then `master` is
+ used.
+
+ Examples:
+
+ 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
+
+You may combine multiple arguments, and even multiple types of arguments.
+For example:
+
+ npm install sax@">=0.1.0 <0.2.0" bench supervisor
+
+The `--tag` argument will apply to all of the specified install targets.
+
+The `--force` argument will force npm to fetch remote resources even if a
+local copy exists on disk.
+
+ npm install sax --force
+
+The `--global` argument will cause npm to install the package globally
+rather than locally. See `npm-folders(7)`.
+
+The `--link` argument will cause npm to link global installs into the
+local space in some cases.
+
+The `--no-bin-links` argument will prevent npm from creating symlinks for
+any binaries the package might contain.
+
+The `--no-shrinkwrap` argument, which will ignore an available
+shrinkwrap file and use the package.json instead.
+
+The `--nodedir=/path/to/node/source` argument will allow npm to find the
+node source code so that npm can compile native modules.
+
+See `npm-config(7)`. Many of the configuration params have some
+effect on installation, since that's most of what npm does.
+
+## ALGORITHM
+
+To install a package, npm uses the following algorithm:
+
+ 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)
+
+For this `package{dep}` structure: `A{B,C}, B{C}, C{D}`,
+this algorithm produces:
+
+ A
+ +-- B
+ `-- C
+ `-- D
+
+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.
+
+See npm-folders(7) for a more detailed description of the specific
+folder structures that npm creates.
+
+### 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:
+
+ A -> B -> A' -> B' -> A -> B -> A' -> B' -> A -> ...
+
+where `A` is some version of a package, and `A'` is a different version
+of the same package. Because `B` depends on a different version of `A`
+than the one that is already in the tree, it must install a separate
+copy. The same is true of `A'`, which must install `B'`. Because `B'`
+depends on the original version of `A`, which has been overridden, the
+cycle falls into infinite regress.
+
+To avoid this situation, npm flat-out refuses to install any
+`name@version` 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.
+
+## SEE ALSO
+
+* npm-folders(7)
+* npm-update(1)
+* npm-link(1)
+* npm-rebuild(1)
+* npm-scripts(7)
+* npm-build(1)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-registry(7)
+* npm-folders(7)
+* npm-tag(1)
+* npm-rm(1)
+* npm-shrinkwrap(1)
diff --git a/deps/npm/doc/cli/npm-link.md b/deps/npm/doc/cli/npm-link.md
new file mode 100644
index 000000000..65476d5c1
--- /dev/null
+++ b/deps/npm/doc/cli/npm-link.md
@@ -0,0 +1,62 @@
+npm-link(1) -- Symlink a package folder
+=======================================
+
+## SYNOPSIS
+
+ npm link (in package folder)
+ npm link <pkgname>
+
+## DESCRIPTION
+
+Package linking is a two-step process.
+
+First, `npm link` in a package folder will create a globally-installed
+symbolic link from `prefix/package-name` to the current folder.
+
+Next, in some other location, `npm link package-name` will create a
+symlink from the local `node_modules` folder to the global symlink.
+
+Note that `package-name` is taken from `package.json` ,
+not from directory name.
+
+When creating tarballs for `npm publish`, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links.
+
+This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild.
+
+For example:
+
+ 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
+
+Now, any changes to ~/projects/node-redis will be reflected in
+~/projects/node-bloggy/node_modules/redis/
+
+You may also shortcut the two steps in one. For example, to do the
+above use-case in a shorter way:
+
+ cd ~/projects/node-bloggy # go into the dir of your main project
+ npm link ../node-redis # link the dir of your dependency
+
+The second line is the equivalent of doing:
+
+ (cd ../node-redis; npm link)
+ npm link redis
+
+That is, it first creates a global link, and then links the global
+installation target into your project's `node_modules` folder.
+
+## SEE ALSO
+
+* npm-developers(7)
+* npm-faq(7)
+* package.json(5)
+* npm-install(1)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-ls.md b/deps/npm/doc/cli/npm-ls.md
new file mode 100644
index 000000000..7f1fda669
--- /dev/null
+++ b/deps/npm/doc/cli/npm-ls.md
@@ -0,0 +1,74 @@
+npm-ls(1) -- List installed packages
+======================================
+
+## SYNOPSIS
+
+ npm list [<pkg> ...]
+ npm ls [<pkg> ...]
+ npm la [<pkg> ...]
+ npm ll [<pkg> ...]
+
+## DESCRIPTION
+
+This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree-structure.
+
+Positional arguments are `name@version-range` identifiers, which will
+limit the results to only the paths to the packages named. Note that
+nested packages will *also* show the paths to the specified packages.
+For example, running `npm ls promzard` in npm's source tree will show:
+
+ npm@@VERSION@ /path/to/npm
+ └─┬ init-package-json@0.0.4
+ └── promzard@0.1.5
+
+It will print out extraneous, missing, and invalid packages.
+
+If a project specifies git urls for dependencies these are shown
+in parentheses after the name@version to make it easier for users to
+recognize potential forks of a project.
+
+When run as `ll` or `la`, it shows extended information by default.
+
+## CONFIGURATION
+
+### json
+
+* Default: false
+* Type: Boolean
+
+Show information in JSON format.
+
+### long
+
+* Default: false
+* Type: Boolean
+
+Show extended information.
+
+### parseable
+
+* Default: false
+* Type: Boolean
+
+Show parseable output instead of tree view.
+
+### global
+
+* Default: false
+* Type: Boolean
+
+List packages in the global install prefix instead of in the current
+project.
+
+## SEE ALSO
+
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-folders(7)
+* npm-install(1)
+* npm-link(1)
+* npm-prune(1)
+* npm-outdated(1)
+* npm-update(1)
diff --git a/deps/npm/doc/cli/npm-outdated.md b/deps/npm/doc/cli/npm-outdated.md
new file mode 100644
index 000000000..b82b666fd
--- /dev/null
+++ b/deps/npm/doc/cli/npm-outdated.md
@@ -0,0 +1,17 @@
+npm-outdated(1) -- Check for outdated packages
+==============================================
+
+## SYNOPSIS
+
+ npm outdated [<name> [<name> ...]]
+
+## DESCRIPTION
+
+This command will check the registry to see if any (or, specific) installed
+packages are currently outdated.
+
+## SEE ALSO
+
+* npm-update(1)
+* npm-registry(7)
+* npm-folders(7)
diff --git a/deps/npm/doc/cli/npm-owner.md b/deps/npm/doc/cli/npm-owner.md
new file mode 100644
index 000000000..b400f7637
--- /dev/null
+++ b/deps/npm/doc/cli/npm-owner.md
@@ -0,0 +1,33 @@
+npm-owner(1) -- Manage package owners
+=====================================
+
+## SYNOPSIS
+
+ npm owner ls <package name>
+ npm owner add <user> <package name>
+ npm owner rm <user> <package name>
+
+## DESCRIPTION
+
+Manage ownership of published packages.
+
+* 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.
+* 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.
+* rm:
+ Remove a user from the package owner list. This immediately revokes their
+ privileges.
+
+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.
+
+## SEE ALSO
+
+* npm-publish(1)
+* npm-registry(7)
+* npm-adduser(1)
+* npm-disputes(7)
diff --git a/deps/npm/doc/cli/npm-pack.md b/deps/npm/doc/cli/npm-pack.md
new file mode 100644
index 000000000..42bc1564b
--- /dev/null
+++ b/deps/npm/doc/cli/npm-pack.md
@@ -0,0 +1,27 @@
+npm-pack(1) -- Create a tarball from a package
+==============================================
+
+## SYNOPSIS
+
+ npm pack [<pkg> [<pkg> ...]]
+
+## 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 `<name>-<version>.tgz`, and then write the filenames out to
+stdout.
+
+If the same package is specified multiple times, then the file will be
+overwritten the second time.
+
+If no arguments are supplied, then npm packs the current package folder.
+
+## SEE ALSO
+
+* npm-cache(1)
+* npm-publish(1)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-prefix.md b/deps/npm/doc/cli/npm-prefix.md
new file mode 100644
index 000000000..8d88737a9
--- /dev/null
+++ b/deps/npm/doc/cli/npm-prefix.md
@@ -0,0 +1,19 @@
+npm-prefix(1) -- Display prefix
+===============================
+
+## SYNOPSIS
+
+ npm prefix
+
+## DESCRIPTION
+
+Print the prefix to standard out.
+
+## SEE ALSO
+
+* npm-root(1)
+* npm-bin(1)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-prune.md b/deps/npm/doc/cli/npm-prune.md
new file mode 100644
index 000000000..292bacc91
--- /dev/null
+++ b/deps/npm/doc/cli/npm-prune.md
@@ -0,0 +1,21 @@
+npm-prune(1) -- Remove extraneous packages
+==========================================
+
+## SYNOPSIS
+
+ npm prune [<name> [<name ...]]
+
+## DESCRIPTION
+
+This command removes "extraneous" packages. If a package name is
+provided, then only packages matching one of the supplied names are
+removed.
+
+Extraneous packages are packages that are not listed on the parent
+package's dependencies list.
+
+## SEE ALSO
+
+* npm-rm(1)
+* npm-folders(7)
+* npm-list(1)
diff --git a/deps/npm/doc/cli/npm-publish.md b/deps/npm/doc/cli/npm-publish.md
new file mode 100644
index 000000000..d849c2860
--- /dev/null
+++ b/deps/npm/doc/cli/npm-publish.md
@@ -0,0 +1,30 @@
+npm-publish(1) -- Publish a package
+===================================
+
+
+## SYNOPSIS
+
+ npm publish <tarball>
+ npm publish <folder>
+
+## DESCRIPTION
+
+Publishes a package to the registry so that it can be installed by name.
+
+* `<folder>`:
+ A folder containing a package.json file
+
+* `<tarball>`:
+ A url or file path to a gzipped tar archive containing a single folder
+ with a package.json file inside.
+
+Fails if the package name and version combination already exists in
+the registry. Overwrites when the "--force" flag is set.
+
+## SEE ALSO
+
+* npm-registry(7)
+* npm-adduser(1)
+* npm-owner(1)
+* npm-deprecate(1)
+* npm-tag(1)
diff --git a/deps/npm/doc/cli/rebuild.md b/deps/npm/doc/cli/npm-rebuild.md
index 6985a7bdd..6985a7bdd 100644
--- a/deps/npm/doc/cli/rebuild.md
+++ b/deps/npm/doc/cli/npm-rebuild.md
diff --git a/deps/npm/doc/cli/npm-restart.md b/deps/npm/doc/cli/npm-restart.md
new file mode 100644
index 000000000..4661d6b23
--- /dev/null
+++ b/deps/npm/doc/cli/npm-restart.md
@@ -0,0 +1,22 @@
+npm-restart(1) -- Start a package
+=================================
+
+## SYNOPSIS
+
+ npm restart <name>
+
+## 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.
+
+If no version is specified, then it restarts the "active" version.
+
+## SEE ALSO
+
+* npm-run-script(1)
+* npm-scripts(7)
+* npm-test(1)
+* npm-start(1)
+* npm-stop(1)
diff --git a/deps/npm/doc/cli/npm-rm.md b/deps/npm/doc/cli/npm-rm.md
new file mode 100644
index 000000000..7839d9ddd
--- /dev/null
+++ b/deps/npm/doc/cli/npm-rm.md
@@ -0,0 +1,21 @@
+npm-rm(1) -- Remove a package
+=============================
+
+## SYNOPSIS
+
+ npm rm <name>
+ npm uninstall <name>
+
+## DESCRIPTION
+
+This uninstalls a package, completely removing everything npm installed
+on its behalf.
+
+## SEE ALSO
+
+* npm-prune(1)
+* npm-install(1)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-root.md b/deps/npm/doc/cli/npm-root.md
new file mode 100644
index 000000000..346733160
--- /dev/null
+++ b/deps/npm/doc/cli/npm-root.md
@@ -0,0 +1,19 @@
+npm-root(1) -- Display npm root
+===============================
+
+## SYNOPSIS
+
+ npm root
+
+## DESCRIPTION
+
+Print the effective `node_modules` folder to standard out.
+
+## SEE ALSO
+
+* npm-prefix(1)
+* npm-bin(1)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-run-script.md b/deps/npm/doc/cli/npm-run-script.md
new file mode 100644
index 000000000..6c3c2b7a9
--- /dev/null
+++ b/deps/npm/doc/cli/npm-run-script.md
@@ -0,0 +1,21 @@
+npm-run-script(1) -- Run arbitrary package scripts
+==================================================
+
+## SYNOPSIS
+
+ npm run-script <script> <name>
+
+## DESCRIPTION
+
+This runs an arbitrary command from a package's "scripts" object.
+
+It is used by the test, start, restart, and stop commands, but can be
+called directly, as well.
+
+## SEE ALSO
+
+* npm-scripts(7)
+* npm-test(1)
+* npm-start(1)
+* npm-restart(1)
+* npm-stop(1)
diff --git a/deps/npm/doc/cli/npm-search.md b/deps/npm/doc/cli/npm-search.md
new file mode 100644
index 000000000..ae7195970
--- /dev/null
+++ b/deps/npm/doc/cli/npm-search.md
@@ -0,0 +1,22 @@
+npm-search(1) -- Search for packages
+====================================
+
+## SYNOPSIS
+
+ npm search [search terms ...]
+
+## DESCRIPTION
+
+Search the registry for packages matching the search terms.
+
+If a term starts with `/`, then it's interpreted as a regular expression.
+A trailing `/` will be ignored in this case. (Note that many regular
+expression characters must be escaped or quoted in most shells.)
+
+## SEE ALSO
+
+* npm-registry(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-view(1)
diff --git a/deps/npm/doc/cli/npm-shrinkwrap.md b/deps/npm/doc/cli/npm-shrinkwrap.md
new file mode 100644
index 000000000..0ecf64466
--- /dev/null
+++ b/deps/npm/doc/cli/npm-shrinkwrap.md
@@ -0,0 +1,185 @@
+npm-shrinkwrap(1) -- Lock down dependency versions
+=====================================================
+
+## SYNOPSIS
+
+ npm shrinkwrap
+
+## DESCRIPTION
+
+This command locks down the versions of a package's dependencies so
+that you can control exactly which versions of each dependency will be
+used when your package is installed. The "package.json" file is still
+required if you want to use "npm install".
+
+By default, "npm install" recursively installs the target's
+dependencies (as specified in package.json), choosing the latest
+available version that satisfies the dependency's semver pattern. In
+some situations, particularly when shipping software where each change
+is tightly managed, it's desirable to fully specify each version of
+each dependency recursively so that subsequent builds and deploys do
+not inadvertently pick up newer versions of a dependency that satisfy
+the semver pattern. Specifying specific semver patterns in each
+dependency's package.json would facilitate this, but that's not always
+possible or desirable, as when another author owns the npm package.
+It's also possible to check dependencies directly into source control,
+but that may be undesirable for other reasons.
+
+As an example, consider package A:
+
+ {
+ "name": "A",
+ "version": "0.1.0",
+ "dependencies": {
+ "B": "<0.1.0"
+ }
+ }
+
+package B:
+
+ {
+ "name": "B",
+ "version": "0.0.1",
+ "dependencies": {
+ "C": "<0.1.0"
+ }
+ }
+
+and package C:
+
+ {
+ "name": "C,
+ "version": "0.0.1"
+ }
+
+If these are the only versions of A, B, and C available in the
+registry, then a normal "npm install A" will install:
+
+ A@0.1.0
+ `-- B@0.0.1
+ `-- C@0.0.1
+
+However, if B@0.0.2 is published, then a fresh "npm install A" will
+install:
+
+ A@0.1.0
+ `-- B@0.0.2
+ `-- C@0.0.1
+
+assuming the new version did not modify B's dependencies. Of course,
+the new version of B could include a new version of C and any number
+of new dependencies. If such changes are undesirable, the author of A
+could specify a dependency on B@0.0.1. However, if A's author and B's
+author are not the same person, there's no way for A's author to say
+that he or she does not want to pull in newly published versions of C
+when B hasn't changed at all.
+
+In this case, A's author can run
+
+ npm shrinkwrap
+
+This generates npm-shrinkwrap.json, which will look something like this:
+
+ {
+ "name": "A",
+ "version": "0.1.0",
+ "dependencies": {
+ "B": {
+ "version": "0.0.1",
+ "dependencies": {
+ "C": {
+ "version": "0.1.0"
+ }
+ }
+ }
+ }
+ }
+
+The shrinkwrap command has locked down the dependencies based on
+what's currently installed in node_modules. When "npm install"
+installs a package with a npm-shrinkwrap.json file in the package
+root, the shrinkwrap file (rather than package.json files) completely
+drives the installation of that package and all of its dependencies
+(recursively). So now the author publishes A@0.1.0, and subsequent
+installs of this package will use B@0.0.1 and C@0.1.0, regardless the
+dependencies and versions listed in A's, B's, and C's package.json
+files.
+
+
+### Using shrinkwrapped packages
+
+Using a shrinkwrapped package is no different than using any other
+package: you can "npm install" it by hand, or add a dependency to your
+package.json file and "npm install" it.
+
+### Building shrinkwrapped packages
+
+To shrinkwrap an existing package:
+
+1. Run "npm install" in the package root to install the current
+ versions of all dependencies.
+2. Validate that the package works as expected with these versions.
+3. Run "npm shrinkwrap", add npm-shrinkwrap.json to git, and publish
+ your package.
+
+To add or update a dependency in a shrinkwrapped package:
+
+1. Run "npm install" in the package root to install the current
+ versions of all dependencies.
+2. Add or update dependencies. "npm install" each new or updated
+ package individually and then update package.json. Note that they
+ must be explicitly named in order to be installed: running `npm
+ install` with no arguments will merely reproduce the existing
+ shrinkwrap.
+3. Validate that the package works as expected with the new
+ dependencies.
+4. Run "npm shrinkwrap", commit the new npm-shrinkwrap.json, and
+ publish your package.
+
+You can use npm-outdated(1) to view dependencies with newer versions
+available.
+
+### Other Notes
+
+A shrinkwrap file must be consistent with the package's package.json
+file. "npm shrinkwrap" will fail if required dependencies are not
+already installed, since that would result in a shrinkwrap that
+wouldn't actually work. Similarly, the command will fail if there are
+extraneous packages (not referenced by package.json), since that would
+indicate that package.json is not correct.
+
+Since "npm shrinkwrap" is intended to lock down your dependencies for
+production use, `devDependencies` will not be included unless you
+explicitly set the `--dev` flag when you run `npm shrinkwrap`. If
+installed `devDependencies` are excluded, then npm will print a
+warning. If you want them to be installed with your module by
+default, please consider adding them to `dependencies` instead.
+
+If shrinkwrapped package A depends on shrinkwrapped package B, B's
+shrinkwrap will not be used as part of the installation of A. However,
+because A's shrinkwrap is constructed from a valid installation of B
+and recursively specifies all dependencies, the contents of B's
+shrinkwrap will implicitly be included in A's shrinkwrap.
+
+### Caveats
+
+Shrinkwrap files only lock down package versions, not actual package
+contents. While discouraged, a package author can republish an
+existing version of a package, causing shrinkwrapped packages using
+that version to pick up different code than they were before. If you
+want to avoid any risk that a byzantine author replaces a package
+you're using with code that breaks your application, you could modify
+the shrinkwrap file to use git URL references rather than version
+numbers so that npm always fetches all packages from git.
+
+If you wish to lock down the specific bytes included in a package, for
+example to have 100% confidence in being able to reproduce a
+deployment or build, then you ought to check your dependencies into
+source control, or pursue some other mechanism that can verify
+contents rather than versions.
+
+## SEE ALSO
+
+* npm-install(1)
+* package.json(5)
+* npm-list(1)
diff --git a/deps/npm/doc/cli/star.md b/deps/npm/doc/cli/npm-star.md
index 5c076b3c3..5c076b3c3 100644
--- a/deps/npm/doc/cli/star.md
+++ b/deps/npm/doc/cli/npm-star.md
diff --git a/deps/npm/doc/cli/stars.md b/deps/npm/doc/cli/npm-stars.md
index 7c28f5b2a..7c28f5b2a 100644
--- a/deps/npm/doc/cli/stars.md
+++ b/deps/npm/doc/cli/npm-stars.md
diff --git a/deps/npm/doc/cli/npm-start.md b/deps/npm/doc/cli/npm-start.md
new file mode 100644
index 000000000..01347d2e4
--- /dev/null
+++ b/deps/npm/doc/cli/npm-start.md
@@ -0,0 +1,18 @@
+npm-start(1) -- Start a package
+===============================
+
+## SYNOPSIS
+
+ npm start <name>
+
+## DESCRIPTION
+
+This runs a package's "start" script, if one was provided.
+
+## SEE ALSO
+
+* npm-run-script(1)
+* npm-scripts(7)
+* npm-test(1)
+* npm-restart(1)
+* npm-stop(1)
diff --git a/deps/npm/doc/cli/npm-stop.md b/deps/npm/doc/cli/npm-stop.md
new file mode 100644
index 000000000..bda5cc8f4
--- /dev/null
+++ b/deps/npm/doc/cli/npm-stop.md
@@ -0,0 +1,18 @@
+npm-stop(1) -- Stop a package
+=============================
+
+## SYNOPSIS
+
+ npm stop <name>
+
+## DESCRIPTION
+
+This runs a package's "stop" script, if one was provided.
+
+## SEE ALSO
+
+* npm-run-script(1)
+* npm-scripts(7)
+* npm-test(1)
+* npm-start(1)
+* npm-restart(1)
diff --git a/deps/npm/doc/cli/npm-submodule.md b/deps/npm/doc/cli/npm-submodule.md
new file mode 100644
index 000000000..7f0fbfc9f
--- /dev/null
+++ b/deps/npm/doc/cli/npm-submodule.md
@@ -0,0 +1,28 @@
+npm-submodule(1) -- Add a package as a git submodule
+====================================================
+
+## SYNOPSIS
+
+ npm submodule <pkg>
+
+## 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
+`node_modules/<pkg name>`.
+
+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 `.git` subfolder
+in it.
+
+This command also does not install missing dependencies, if the package
+does not include them in its git repository. If `npm ls` reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do `npm explore <pkgname> -- npm install` to install the
+dependencies into the submodule folder.
+
+## SEE ALSO
+
+* package.json(5)
+* git help submodule
diff --git a/deps/npm/doc/cli/npm-tag.md b/deps/npm/doc/cli/npm-tag.md
new file mode 100644
index 000000000..597c42f27
--- /dev/null
+++ b/deps/npm/doc/cli/npm-tag.md
@@ -0,0 +1,19 @@
+npm-tag(1) -- Tag a published version
+=====================================
+
+## SYNOPSIS
+
+ npm tag <name>@<version> [<tag>]
+
+## DESCRIPTION
+
+Tags the specified version of the package with the specified tag, or the
+`--tag` config if not specified.
+
+## SEE ALSO
+
+* npm-publish(1)
+* npm-registry(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-test.md b/deps/npm/doc/cli/npm-test.md
new file mode 100644
index 000000000..159914cb0
--- /dev/null
+++ b/deps/npm/doc/cli/npm-test.md
@@ -0,0 +1,21 @@
+npm-test(1) -- Test a package
+=============================
+
+## SYNOPSIS
+
+ npm test <name>
+
+## DESCRIPTION
+
+This runs a package's "test" script, if one was provided.
+
+To run tests as a condition of installation, set the `npat` config to
+true.
+
+## SEE ALSO
+
+* npm-run-script(1)
+* npm-scripts(7)
+* npm-start(1)
+* npm-restart(1)
+* npm-stop(1)
diff --git a/deps/npm/doc/cli/npm-uninstall.md b/deps/npm/doc/cli/npm-uninstall.md
new file mode 100644
index 000000000..7839d9ddd
--- /dev/null
+++ b/deps/npm/doc/cli/npm-uninstall.md
@@ -0,0 +1,21 @@
+npm-rm(1) -- Remove a package
+=============================
+
+## SYNOPSIS
+
+ npm rm <name>
+ npm uninstall <name>
+
+## DESCRIPTION
+
+This uninstalls a package, completely removing everything npm installed
+on its behalf.
+
+## SEE ALSO
+
+* npm-prune(1)
+* npm-install(1)
+* npm-folders(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
diff --git a/deps/npm/doc/cli/npm-unpublish.md b/deps/npm/doc/cli/npm-unpublish.md
new file mode 100644
index 000000000..f749ab7a6
--- /dev/null
+++ b/deps/npm/doc/cli/npm-unpublish.md
@@ -0,0 +1,32 @@
+npm-unpublish(1) -- Remove a package from the registry
+======================================================
+
+## SYNOPSIS
+
+ npm unpublish <name>[@<version>]
+
+## WARNING
+
+**It is generally considered bad behavior to remove versions of a library
+that others are depending on!**
+
+Consider using the `deprecate` command
+instead, if your intent is to encourage users to upgrade.
+
+There is plenty of room on the registry.
+
+## DESCRIPTION
+
+This removes a package version from the registry, deleting its
+entry and removing the tarball.
+
+If no version is specified, or if all versions are removed then
+the root package entry is removed from the registry entirely.
+
+## SEE ALSO
+
+* npm-deprecate(1)
+* npm-publish(1)
+* npm-registry(7)
+* npm-adduser(1)
+* npm-owner(1)
diff --git a/deps/npm/doc/cli/npm-update.md b/deps/npm/doc/cli/npm-update.md
new file mode 100644
index 000000000..9ebdda72a
--- /dev/null
+++ b/deps/npm/doc/cli/npm-update.md
@@ -0,0 +1,24 @@
+npm-update(1) -- Update a package
+=================================
+
+## SYNOPSIS
+
+ npm update [-g] [<name> [<name> ...]]
+
+## DESCRIPTION
+
+This command will update all the packages listed to the latest version
+(specified by the `tag` config).
+
+It will also install missing packages.
+
+If the `-g` flag is specified, this command will update globally installed packages.
+If no package name is specified, all packages in the specified location (global or local) will be updated.
+
+## SEE ALSO
+
+* npm-install(1)
+* npm-outdated(1)
+* npm-registry(7)
+* npm-folders(7)
+* npm-list(1)
diff --git a/deps/npm/doc/cli/npm-version.md b/deps/npm/doc/cli/npm-version.md
new file mode 100644
index 000000000..1cacd8d00
--- /dev/null
+++ b/deps/npm/doc/cli/npm-version.md
@@ -0,0 +1,45 @@
+npm-version(1) -- Bump a package version
+========================================
+
+## SYNOPSIS
+
+ npm version [<newversion> | major | minor | patch | build]
+
+## DESCRIPTION
+
+Run this in a package directory to bump the version and write the new
+data back to the package.json file.
+
+The `newversion` argument should be a valid semver string, *or* a valid
+second argument to semver.inc (one of "build", "patch", "minor", or
+"major"). In the second case, the existing version will be incremented
+by 1 in the specified field.
+
+If run in a git repo, it will also create a version commit and tag, and
+fail if the repo is not clean.
+
+If supplied with `--message` (shorthand: `-m`) config option, npm will
+use it as a commit message when creating a version commit. If the
+`message` config contains `%s` then that will be replaced with the
+resulting version number. For example:
+
+ npm version patch -m "Upgrade to %s for reasons"
+
+If the `sign-git-tag` config is set, then the tag will be signed using
+the `-s` flag to git. Note that you must have a default GPG key set up
+in your git config for this to work properly. For example:
+
+ $ npm config set sign-git-tag true
+ $ npm version patch
+
+ You need a passphrase to unlock the secret key for
+ user: "isaacs (http://blog.izs.me/) <i@izs.me>"
+ 2048-bit RSA key, ID 6C481CF6, created 2010-08-31
+
+ Enter passphrase:
+
+## SEE ALSO
+
+* npm-init(1)
+* package.json(5)
+* npm-semver(7)
diff --git a/deps/npm/doc/cli/npm-view.md b/deps/npm/doc/cli/npm-view.md
new file mode 100644
index 000000000..5f25afa65
--- /dev/null
+++ b/deps/npm/doc/cli/npm-view.md
@@ -0,0 +1,89 @@
+npm-view(1) -- View registry info
+=================================
+
+## SYNOPSIS
+
+ npm view <name>[@<version>] [<field>[.<subfield>]...]
+
+## DESCRIPTION
+
+This command shows data about a package and prints it to the stream
+referenced by the `outfd` config, which defaults to stdout.
+
+To show the package registry entry for the `connect` package, you can do
+this:
+
+ npm view connect
+
+The default version is "latest" if unspecified.
+
+Field names can be specified after the package descriptor.
+For example, to show the dependencies of the `ronn` package at version
+0.3.5, you could do the following:
+
+ npm view ronn@0.3.5 dependencies
+
+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:
+
+ npm view npm repository.url
+
+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:
+
+ npm view opts@$(npm view ronn dependencies.opts)
+
+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:
+
+ npm view express contributors.email
+
+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:
+
+ npm view express contributors[0].email
+
+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:
+
+ npm view express contributors.name contributors.email
+
+"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 `package.json(5)` for more on this.)
+
+ npm view npm contributors
+
+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:
+
+ npm view yui3@'>0.5.4' dependencies.jsdom
+
+## 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. If the field is an object, it will be output as a JavaScript object literal.
+
+If the --json flag is given, the outputted fields will be JSON.
+
+If the version range matches multiple versions, than each printed value
+will be prefixed with the version it applies to.
+
+If multiple fields are requested, than each of them are prefixed with
+the field name.
+
+## SEE ALSO
+
+* npm-search(1)
+* npm-registry(7)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-docs(1)
diff --git a/deps/npm/doc/cli/npm-whoami.md b/deps/npm/doc/cli/npm-whoami.md
new file mode 100644
index 000000000..3ff8837ff
--- /dev/null
+++ b/deps/npm/doc/cli/npm-whoami.md
@@ -0,0 +1,17 @@
+npm-whoami(1) -- Display npm username
+=====================================
+
+## SYNOPSIS
+
+ npm whoami
+
+## DESCRIPTION
+
+Print the `username` config to standard output.
+
+## SEE ALSO
+
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-adduser(1)
diff --git a/deps/npm/doc/cli/npm.md b/deps/npm/doc/cli/npm.md
index a325fdf2e..5c935af84 100644
--- a/deps/npm/doc/cli/npm.md
+++ b/deps/npm/doc/cli/npm.md
@@ -33,7 +33,7 @@ Use `npm ls` to show everything you've installed.
## DIRECTORIES
-See `npm-folders(1)` to learn about where npm puts stuff.
+See `npm-folders(7)` to learn about where npm puts stuff.
In particular, npm has two modes of operation:
@@ -54,7 +54,7 @@ If you're using npm to develop and publish your code, check out the
following help topics:
* json:
- Make a package.json file. See `npm-json(1)`.
+ Make a package.json file. See `package.json(5)`.
* 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
@@ -95,14 +95,14 @@ npm is extremely configurable. It reads its configuration options from
npm's default configuration options are defined in
lib/utils/config-defs.js. These must not be changed.
-See `npm-config(1)` for much much more information.
+See `npm-config(7)` for much much more information.
## CONTRIBUTIONS
Patches welcome!
* code:
- Read through `npm-coding-style(1)` if you plan to submit code.
+ Read through `npm-coding-style(7)` if you plan to submit code.
You don't have to agree with it, but you do have to follow it.
* docs:
If you find an error in the documentation, edit the appropriate markdown
@@ -146,10 +146,12 @@ See npm-changelog(1)
## SEE ALSO
* npm-help(1)
-* npm-faq(1)
+* npm-faq(7)
* README
-* npm-json(1)
+* package.json(5)
* npm-install(1)
* npm-config(1)
-* npm-index(1)
+* npm-config(7)
+* npmrc(5)
+* npm-index(7)
* npm(3)
diff --git a/deps/npm/doc/cli/outdated.md b/deps/npm/doc/cli/outdated.md
deleted file mode 100644
index 78df4a8b3..000000000
--- a/deps/npm/doc/cli/outdated.md
+++ /dev/null
@@ -1,17 +0,0 @@
-npm-outdated(1) -- Check for outdated packages
-==============================================
-
-## SYNOPSIS
-
- npm outdated [<name> [<name> ...]]
-
-## DESCRIPTION
-
-This command will check the registry to see if any (or, specific) installed
-packages are currently outdated.
-
-## SEE ALSO
-
-* npm-update(1)
-* npm-registry(1)
-* npm-folders(1)
diff --git a/deps/npm/doc/cli/owner.md b/deps/npm/doc/cli/owner.md
deleted file mode 100644
index 902e083fc..000000000
--- a/deps/npm/doc/cli/owner.md
+++ /dev/null
@@ -1,33 +0,0 @@
-npm-owner(1) -- Manage package owners
-=====================================
-
-## SYNOPSIS
-
- npm owner ls <package name>
- npm owner add <user> <package name>
- npm owner rm <user> <package name>
-
-## DESCRIPTION
-
-Manage ownership of published packages.
-
-* 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.
-* 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.
-* rm:
- Remove a user from the package owner list. This immediately revokes their
- privileges.
-
-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.
-
-## SEE ALSO
-
-* npm-publish(1)
-* npm-registry(1)
-* npm-adduser(1)
-* npm-disputes(1)
diff --git a/deps/npm/doc/cli/pack.md b/deps/npm/doc/cli/pack.md
deleted file mode 100644
index 98d8c81c5..000000000
--- a/deps/npm/doc/cli/pack.md
+++ /dev/null
@@ -1,25 +0,0 @@
-npm-pack(1) -- Create a tarball from a package
-==============================================
-
-## SYNOPSIS
-
- npm pack [<pkg> [<pkg> ...]]
-
-## 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 `<name>-<version>.tgz`, and then write the filenames out to
-stdout.
-
-If the same package is specified multiple times, then the file will be
-overwritten the second time.
-
-If no arguments are supplied, then npm packs the current package folder.
-
-## SEE ALSO
-
-* npm-cache(1)
-* npm-publish(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/prefix.md b/deps/npm/doc/cli/prefix.md
deleted file mode 100644
index f6247cab1..000000000
--- a/deps/npm/doc/cli/prefix.md
+++ /dev/null
@@ -1,17 +0,0 @@
-npm-prefix(1) -- Display prefix
-===============================
-
-## SYNOPSIS
-
- npm prefix
-
-## DESCRIPTION
-
-Print the prefix to standard out.
-
-## SEE ALSO
-
-* npm-root(1)
-* npm-bin(1)
-* npm-folders(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/prune.md b/deps/npm/doc/cli/prune.md
deleted file mode 100644
index 8c4b957e6..000000000
--- a/deps/npm/doc/cli/prune.md
+++ /dev/null
@@ -1,21 +0,0 @@
-npm-prune(1) -- Remove extraneous packages
-==========================================
-
-## SYNOPSIS
-
- npm prune [<name> [<name ...]]
-
-## DESCRIPTION
-
-This command removes "extraneous" packages. If a package name is
-provided, then only packages matching one of the supplied names are
-removed.
-
-Extraneous packages are packages that are not listed on the parent
-package's dependencies list.
-
-## SEE ALSO
-
-* npm-rm(1)
-* npm-folders(1)
-* npm-list(1)
diff --git a/deps/npm/doc/cli/publish.md b/deps/npm/doc/cli/publish.md
deleted file mode 100644
index 621932f07..000000000
--- a/deps/npm/doc/cli/publish.md
+++ /dev/null
@@ -1,30 +0,0 @@
-npm-publish(1) -- Publish a package
-===================================
-
-
-## SYNOPSIS
-
- npm publish <tarball>
- npm publish <folder>
-
-## DESCRIPTION
-
-Publishes a package to the registry so that it can be installed by name.
-
-* `<folder>`:
- A folder containing a package.json file
-
-* `<tarball>`:
- A url or file path to a gzipped tar archive containing a single folder
- with a package.json file inside.
-
-Fails if the package name and version combination already exists in
-the registry. Overwrites when the "--force" flag is set.
-
-## SEE ALSO
-
-* npm-registry(1)
-* npm-adduser(1)
-* npm-owner(1)
-* npm-deprecate(1)
-* npm-tag(1)
diff --git a/deps/npm/doc/cli/registry.md b/deps/npm/doc/cli/registry.md
deleted file mode 100644
index 9173defef..000000000
--- a/deps/npm/doc/cli/registry.md
+++ /dev/null
@@ -1,91 +0,0 @@
-npm-registry(1) -- The JavaScript Package Registry
-==================================================
-
-## 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.
-
-Additionally, npm's package registry implementation supports several
-write APIs as well, to allow for publishing packages and managing user
-account information.
-
-The official public npm registry is at <http://registry.npmjs.org/>. It
-is powered by a CouchDB database at
-<http://isaacs.iriscouch.com/registry>. The code for the couchapp is
-available at <http://github.com/isaacs/npmjs.org>. npm user accounts
-are CouchDB users, stored in the <http://isaacs.iriscouch.com/_users>
-database.
-
-The registry URL is supplied by the `registry` config parameter. See
-`npm-config(1)` for more on managing npm's configuration.
-
-## Can I run my own private registry?
-
-Yes!
-
-The easiest way is to replicate the couch database, and use the same (or
-similar) design doc to implement the APIs.
-
-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
-`--registry` config for that command.
-
-## I don't want my package published in the official registry. It's private.
-
-Set `"private": true` in your package.json to prevent it from being
-published at all, or
-`"publishConfig":{"registry":"http://my-internal-registry.local"}`
-to force it to be published only to your internal registry.
-
-See `npm-json(1)` for more info on what goes in the package.json file.
-
-## 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.
-
-## Do I have to use couchdb to build a registry that npm can talk to?
-
-No, but it's way easier.
-
-## 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:
-
- 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"
- }
-
-(Keywords and description are optional, but recommended. Name,
-maintainers, and url are required.)
-
-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 <npm-@googlegroups.com> mailing list.
-
-## Is there a website or something to see package docs and such?
-
-Yes, head over to <https://npmjs.org/>
-
-## SEE ALSO
-
-* npm-config(1)
-* npm-developers(1)
-* npm-disputes(1)
diff --git a/deps/npm/doc/cli/restart.md b/deps/npm/doc/cli/restart.md
deleted file mode 100644
index 6139dbeef..000000000
--- a/deps/npm/doc/cli/restart.md
+++ /dev/null
@@ -1,22 +0,0 @@
-npm-restart(1) -- Start a package
-=================================
-
-## SYNOPSIS
-
- npm restart <name>
-
-## 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.
-
-If no version is specified, then it restarts the "active" version.
-
-## SEE ALSO
-
-* npm-run-script(1)
-* npm-scripts(1)
-* npm-test(1)
-* npm-start(1)
-* npm-stop(1)
diff --git a/deps/npm/doc/cli/rm.md b/deps/npm/doc/cli/rm.md
deleted file mode 100644
index f7f743fae..000000000
--- a/deps/npm/doc/cli/rm.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-rm(1) -- Remove a package
-=============================
-
-## SYNOPSIS
-
- npm rm <name>
- npm uninstall <name>
-
-## DESCRIPTION
-
-This uninstalls a package, completely removing everything npm installed
-on its behalf.
-
-## SEE ALSO
-
-* npm-prune(1)
-* npm-install(1)
-* npm-folders(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/root.md b/deps/npm/doc/cli/root.md
deleted file mode 100644
index 3e4199541..000000000
--- a/deps/npm/doc/cli/root.md
+++ /dev/null
@@ -1,17 +0,0 @@
-npm-root(1) -- Display npm root
-===============================
-
-## SYNOPSIS
-
- npm root
-
-## DESCRIPTION
-
-Print the effective `node_modules` folder to standard out.
-
-## SEE ALSO
-
-* npm-prefix(1)
-* npm-bin(1)
-* npm-folders(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/run-script.md b/deps/npm/doc/cli/run-script.md
deleted file mode 100644
index 41ef5e787..000000000
--- a/deps/npm/doc/cli/run-script.md
+++ /dev/null
@@ -1,21 +0,0 @@
-npm-run-script(1) -- Run arbitrary package scripts
-==================================================
-
-## SYNOPSIS
-
- npm run-script <script> <name>
-
-## DESCRIPTION
-
-This runs an arbitrary command from a package's "scripts" object.
-
-It is used by the test, start, restart, and stop commands, but can be
-called directly, as well.
-
-## SEE ALSO
-
-* npm-scripts(1)
-* npm-test(1)
-* npm-start(1)
-* npm-restart(1)
-* npm-stop(1)
diff --git a/deps/npm/doc/cli/scripts.md b/deps/npm/doc/cli/scripts.md
deleted file mode 100644
index 0eba5f7b1..000000000
--- a/deps/npm/doc/cli/scripts.md
+++ /dev/null
@@ -1,241 +0,0 @@
-npm-scripts(1) -- How npm handles the "scripts" field
-=====================================================
-
-## DESCRIPTION
-
-npm supports the "scripts" member of the package.json script, for the
-following scripts:
-
-* prepublish:
- Run BEFORE the package is published. (Also run on local `npm
- install` without any arguments.)
-* publish, postpublish:
- Run AFTER the package is published.
-* preinstall:
- Run BEFORE the package is installed
-* install, postinstall:
- Run AFTER the package is installed.
-* preuninstall, uninstall:
- Run BEFORE the package is uninstalled.
-* postuninstall:
- Run AFTER the package is uninstalled.
-* preupdate:
- Run BEFORE the package is updated with the update command.
-* update, postupdate:
- Run AFTER the package is updated with the update command.
-* pretest, test, posttest:
- Run by the `npm test` command.
-* prestop, stop, poststop:
- Run by the `npm stop` command.
-* prestart, start, poststart:
- Run by the `npm start` command.
-* prerestart, restart, postrestart:
- Run by the `npm restart` command. Note: `npm restart` will run the
- stop and start scripts if no `restart` script is provided.
-
-Additionally, arbitrary scrips can be run by doing
-`npm run-script <stage> <pkg>`.
-
-## NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN
-
-**tl;dr** Don't use `install`. Use a `.gyp` file for compilation, and
-`prepublish` for anything else.
-
-You should almost never have to explicitly set a `preinstall` or
-`install` script. If you are doing this, please consider if there is
-another option.
-
-The only valid use of `install` or `preinstall` scripts is for
-compilation which must be done on the target architecture. In early
-versions of node, this was often done using the `node-waf` scripts, or
-a standalone `Makefile`, and early versions of npm required that it be
-explicitly set in package.json. This was not portable, and harder to
-do properly.
-
-In the current version of node, the standard way to do this is using a
-`.gyp` file. If you have a file with a `.gyp` extension in the root
-of your package, then npm will run the appropriate `node-gyp` commands
-automatically at install time. This is the only officially supported
-method for compiling binary addons, and does not require that you add
-anything to your package.json file.
-
-If you have to do other things before your package is used, in a way
-that is not dependent on the operating system or architecture of the
-target system, then use a `prepublish` script instead. This includes
-tasks such as:
-
-* Compile CoffeeScript source code into JavaScript.
-* Create minified versions of JavaScript source code.
-* Fetching remote resources that your package will use.
-
-The advantage of doing these things at `prepublish` time instead of
-`preinstall` or `install` time is that they can be done once, in a
-single place, and thus greatly reduce complexity and variability.
-Additionally, this means that:
-
-* You can depend on `coffee-script` as a `devDependency`, and thus
- your users don't need to have it installed.
-* You don't need to include the minifiers in your package, reducing
- the size for your users.
-* You don't need to rely on your users having `curl` or `wget` or
- other system tools on the target machines.
-
-## DEFAULT VALUES
-
-npm will default some script values based on package contents.
-
-* `"start": "node server.js"`:
-
- If there is a `server.js` file in the root of your package, then npm
- will default the `start` command to `node server.js`.
-
-* `"preinstall": "node-waf clean || true; node-waf configure build"`:
-
- If there is a `wscript` file in the root of your package, npm will
- default the `preinstall` command to compile using node-waf.
-
-## USER
-
-If npm was invoked with root privileges, then it will change the uid to
-the user account or uid specified by the `user` config, which defaults
-to `nobody`. Set the `unsafe-perm` flag to run scripts with root
-privileges.
-
-## 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.
-
-
-### path
-
-If you depend on modules that define executable scripts, like test suites,
-then those executables will be added to the `PATH` for executing the scripts.
-So, if your package.json has this:
-
- { "name" : "foo"
- , "dependencies" : { "bar" : "0.1.x" }
- , "scripts": { "start" : "bar ./test" } }
-
-then you could run `npm start` to execute the `bar` script, which is exported
-into the `node_modules/.bin` directory on `npm install`.
-
-### package.json vars
-
-The package.json fields are tacked onto the `npm_package_` prefix. So, for
-instance, if you had `{"name":"foo", "version":"1.2.5"}` in your package.json
-file, then your package scripts would have the `npm_package_name` environment
-variable set to "foo", and the `npm_package_version` set to "1.2.5"
-
-### configuration
-
-Configuration parameters are put in the environment with the `npm_config_`
-prefix. For instance, you can view the effective `root` config by checking the
-`npm_config_root` environment variable.
-
-### Special: package.json "config" hash
-
-The package.json "config" keys are overwritten in the environment if
-there is a config param of `<name>[@<version>]:<key>`. For example, if
-the package.json has this:
-
- { "name" : "foo"
- , "config" : { "port" : "8080" }
- , "scripts" : { "start" : "node server.js" } }
-
-and the server.js is this:
-
- http.createServer(...).listen(process.env.npm_package_config_port)
-
-then the user could change the behavior by doing:
-
- npm config set foo:port 80
-
-### current lifecycle event
-
-Lastly, the `npm_lifecycle_event` 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.
-
-
-Objects are flattened following this format, so if you had
-`{"scripts":{"install":"foo.js"}}` in your package.json, then you'd see this
-in the script:
-
- process.env.npm_package_scripts_install === "foo.js"
-
-## EXAMPLES
-
-For example, if your package.json contains this:
-
- { "scripts" :
- { "install" : "scripts/install.js"
- , "postinstall" : "scripts/install.js"
- , "uninstall" : "scripts/uninstall.js"
- }
- }
-
-then the `scripts/install.js` will be called for the install, post-install,
-stages of the lifecycle, and the `scripts/uninstall.js` would be
-called when the package is uninstalled. Since `scripts/install.js` is running
-for three different phases, it would be wise in this case to look at the
-`npm_lifecycle_event` environment variable.
-
-If you want to run a make command, you can do so. This works just fine:
-
- { "scripts" :
- { "preinstall" : "./configure"
- , "install" : "make && make install"
- , "test" : "make test"
- }
- }
-
-## EXITING
-
-Scripts are run by passing the line as a script argument to `sh`.
-
-If the script exits with a code other than 0, then this will abort the
-process.
-
-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.
-
-## 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.
-
-Place an executable file at `node_modules/.hooks/{eventname}`, 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.
-
-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.
-
-## BEST PRACTICES
-
-* Don't exit with a non-zero error code unless you *really* 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.
-* Try not to use scripts to do what npm can do for you. Read through
- `npm-json(1)` 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.
-* Inspect the env to determine where to put things. For instance, if
- the `npm_config_binroot` environ is set to `/home/user/bin`, then don't
- try to install executables into `/usr/local/bin`. The user probably
- set it up that way for a reason.
-* 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.
-
-## SEE ALSO
-
-* npm-run-script(1)
-* npm-json(1)
-* npm-developers(1)
-* npm-install(1)
diff --git a/deps/npm/doc/cli/search.md b/deps/npm/doc/cli/search.md
deleted file mode 100644
index e9e408c67..000000000
--- a/deps/npm/doc/cli/search.md
+++ /dev/null
@@ -1,20 +0,0 @@
-npm-search(1) -- Search for packages
-====================================
-
-## SYNOPSIS
-
- npm search [search terms ...]
-
-## DESCRIPTION
-
-Search the registry for packages matching the search terms.
-
-If a term starts with `/`, then it's interpreted as a regular expression.
-A trailing `/` will be ignored in this case. (Note that many regular
-expression characters must be escaped or quoted in most shells.)
-
-## SEE ALSO
-
-* npm-registry(1)
-* npm-config(1)
-* npm-view(1)
diff --git a/deps/npm/doc/cli/semver.md b/deps/npm/doc/cli/semver.md
deleted file mode 100644
index 493dd7a1e..000000000
--- a/deps/npm/doc/cli/semver.md
+++ /dev/null
@@ -1,130 +0,0 @@
-npm-semver(1) -- The semantic versioner for npm
-===============================================
-
-## SYNOPSIS
-
-The npm semantic versioning utility.
-
-## DESCRIPTION
-
-As a node module:
-
- $ npm install semver
-
- semver.valid('1.2.3') // '1.2.3'
- semver.valid('a.b.c') // null
- 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
-
-As a command-line utility:
-
- $ 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.
-
-## Versions
-
-A version is the following things, in this order:
-
-* a number (Major)
-* a period
-* a number (minor)
-* a period
-* a number (patch)
-* OPTIONAL: a hyphen, followed by a number (build)
-* OPTIONAL: a collection of pretty much any non-whitespace characters
- (tag)
-
-A leading `"="` or `"v"` character is stripped off and ignored.
-
-## Comparisons
-
-The ordering of versions is done using the following algorithm, given
-two versions and asked to find the greater of the two:
-
-* If the majors are numerically different, then take the one
- with a bigger major number. `2.3.4 > 1.3.4`
-* If the minors are numerically different, then take the one
- with the bigger minor number. `2.3.4 > 2.2.4`
-* If the patches are numerically different, then take the one with the
- bigger patch number. `2.3.4 > 2.3.3`
-* If only one of them has a build number, then take the one with the
- build number. `2.3.4-0 > 2.3.4`
-* If they both have build numbers, and the build numbers are numerically
- different, then take the one with the bigger build number.
- `2.3.4-10 > 2.3.4-9`
-* If only one of them has a tag, then take the one without the tag.
- `2.3.4 > 2.3.4-beta`
-* If they both have tags, then take the one with the lexicographically
- larger tag. `2.3.4-beta > 2.3.4-alpha`
-* At this point, they're equal.
-
-## Ranges
-
-The following range styles are supported:
-
-* `>1.2.3` Greater than a specific version.
-* `<1.2.3` Less than
-* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
-* `~1.2.3` := `>=1.2.3 <1.3.0`
-* `~1.2` := `>=1.2.0 <1.3.0`
-* `~1` := `>=1.0.0 <2.0.0`
-* `1.2.x` := `>=1.2.0 <1.3.0`
-* `1.x` := `>=1.0.0 <2.0.0`
-
-Ranges can be joined with either a space (which implies "and") or a
-`||` (which implies "or").
-
-## Functions
-
-* valid(v): Return the parsed version, or null if it's not valid.
-* inc(v, release): Return the version incremented by the release type
- (major, minor, patch, or build), or null if it's not valid.
-
-### Comparison
-
-* gt(v1, v2): `v1 > v2`
-* gte(v1, v2): `v1 >= v2`
-* lt(v1, v2): `v1 < v2`
-* lte(v1, v2): `v1 <= v2`
-* eq(v1, v2): `v1 == v2` This is true if they're logically equivalent,
- even if they're not the exact same string. You already know how to
- compare strings.
-* neq(v1, v2): `v1 != v2` The opposite of eq.
-* cmp(v1, comparator, v2): Pass in a comparison string, and it'll call
- the corresponding function above. `"==="` and `"!=="` do simple
- string comparison, but are included for completeness. Throws if an
- invalid comparison string is provided.
-* 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().
-* rcompare(v1, v2): The reverse of compare. Sorts an array of versions
- in descending order when passed to Array.sort().
-
-
-### Ranges
-
-* validRange(range): Return the valid range or null if it's not valid
-* satisfies(version, range): Return true if the version satisfies the
- range.
-* maxSatisfying(versions, range): Return the highest version in the list
- that satisfies the range, or null if none of them do.
-
-## SEE ALSO
-
-* npm-json(1)
diff --git a/deps/npm/doc/cli/shrinkwrap.md b/deps/npm/doc/cli/shrinkwrap.md
deleted file mode 100644
index f0b83d50d..000000000
--- a/deps/npm/doc/cli/shrinkwrap.md
+++ /dev/null
@@ -1,185 +0,0 @@
-npm-shrinkwrap(1) -- Lock down dependency versions
-=====================================================
-
-## SYNOPSIS
-
- npm shrinkwrap
-
-## DESCRIPTION
-
-This command locks down the versions of a package's dependencies so
-that you can control exactly which versions of each dependency will be
-used when your package is installed. The "package.json" file is still
-required if you want to use "npm install".
-
-By default, "npm install" recursively installs the target's
-dependencies (as specified in package.json), choosing the latest
-available version that satisfies the dependency's semver pattern. In
-some situations, particularly when shipping software where each change
-is tightly managed, it's desirable to fully specify each version of
-each dependency recursively so that subsequent builds and deploys do
-not inadvertently pick up newer versions of a dependency that satisfy
-the semver pattern. Specifying specific semver patterns in each
-dependency's package.json would facilitate this, but that's not always
-possible or desirable, as when another author owns the npm package.
-It's also possible to check dependencies directly into source control,
-but that may be undesirable for other reasons.
-
-As an example, consider package A:
-
- {
- "name": "A",
- "version": "0.1.0",
- "dependencies": {
- "B": "<0.1.0"
- }
- }
-
-package B:
-
- {
- "name": "B",
- "version": "0.0.1",
- "dependencies": {
- "C": "<0.1.0"
- }
- }
-
-and package C:
-
- {
- "name": "C,
- "version": "0.0.1"
- }
-
-If these are the only versions of A, B, and C available in the
-registry, then a normal "npm install A" will install:
-
- A@0.1.0
- `-- B@0.0.1
- `-- C@0.0.1
-
-However, if B@0.0.2 is published, then a fresh "npm install A" will
-install:
-
- A@0.1.0
- `-- B@0.0.2
- `-- C@0.0.1
-
-assuming the new version did not modify B's dependencies. Of course,
-the new version of B could include a new version of C and any number
-of new dependencies. If such changes are undesirable, the author of A
-could specify a dependency on B@0.0.1. However, if A's author and B's
-author are not the same person, there's no way for A's author to say
-that he or she does not want to pull in newly published versions of C
-when B hasn't changed at all.
-
-In this case, A's author can run
-
- npm shrinkwrap
-
-This generates npm-shrinkwrap.json, which will look something like this:
-
- {
- "name": "A",
- "version": "0.1.0",
- "dependencies": {
- "B": {
- "version": "0.0.1",
- "dependencies": {
- "C": {
- "version": "0.1.0"
- }
- }
- }
- }
- }
-
-The shrinkwrap command has locked down the dependencies based on
-what's currently installed in node_modules. When "npm install"
-installs a package with a npm-shrinkwrap.json file in the package
-root, the shrinkwrap file (rather than package.json files) completely
-drives the installation of that package and all of its dependencies
-(recursively). So now the author publishes A@0.1.0, and subsequent
-installs of this package will use B@0.0.1 and C@0.1.0, regardless the
-dependencies and versions listed in A's, B's, and C's package.json
-files.
-
-
-### Using shrinkwrapped packages
-
-Using a shrinkwrapped package is no different than using any other
-package: you can "npm install" it by hand, or add a dependency to your
-package.json file and "npm install" it.
-
-### Building shrinkwrapped packages
-
-To shrinkwrap an existing package:
-
-1. Run "npm install" in the package root to install the current
- versions of all dependencies.
-2. Validate that the package works as expected with these versions.
-3. Run "npm shrinkwrap", add npm-shrinkwrap.json to git, and publish
- your package.
-
-To add or update a dependency in a shrinkwrapped package:
-
-1. Run "npm install" in the package root to install the current
- versions of all dependencies.
-2. Add or update dependencies. "npm install" each new or updated
- package individually and then update package.json. Note that they
- must be explicitly named in order to be installed: running `npm
- install` with no arguments will merely reproduce the existing
- shrinkwrap.
-3. Validate that the package works as expected with the new
- dependencies.
-4. Run "npm shrinkwrap", commit the new npm-shrinkwrap.json, and
- publish your package.
-
-You can use npm-outdated(1) to view dependencies with newer versions
-available.
-
-### Other Notes
-
-A shrinkwrap file must be consistent with the package's package.json
-file. "npm shrinkwrap" will fail if required dependencies are not
-already installed, since that would result in a shrinkwrap that
-wouldn't actually work. Similarly, the command will fail if there are
-extraneous packages (not referenced by package.json), since that would
-indicate that package.json is not correct.
-
-Since "npm shrinkwrap" is intended to lock down your dependencies for
-production use, `devDependencies` will not be included unless you
-explicitly set the `--dev` flag when you run `npm shrinkwrap`. If
-installed `devDependencies` are excluded, then npm will print a
-warning. If you want them to be installed with your module by
-default, please consider adding them to `dependencies` instead.
-
-If shrinkwrapped package A depends on shrinkwrapped package B, B's
-shrinkwrap will not be used as part of the installation of A. However,
-because A's shrinkwrap is constructed from a valid installation of B
-and recursively specifies all dependencies, the contents of B's
-shrinkwrap will implicitly be included in A's shrinkwrap.
-
-### Caveats
-
-Shrinkwrap files only lock down package versions, not actual package
-contents. While discouraged, a package author can republish an
-existing version of a package, causing shrinkwrapped packages using
-that version to pick up different code than they were before. If you
-want to avoid any risk that a byzantine author replaces a package
-you're using with code that breaks your application, you could modify
-the shrinkwrap file to use git URL references rather than version
-numbers so that npm always fetches all packages from git.
-
-If you wish to lock down the specific bytes included in a package, for
-example to have 100% confidence in being able to reproduce a
-deployment or build, then you ought to check your dependencies into
-source control, or pursue some other mechanism that can verify
-contents rather than versions.
-
-## SEE ALSO
-
-* npm-install(1)
-* npm-json(1)
-* npm-list(1)
diff --git a/deps/npm/doc/cli/start.md b/deps/npm/doc/cli/start.md
deleted file mode 100644
index cc897bbc0..000000000
--- a/deps/npm/doc/cli/start.md
+++ /dev/null
@@ -1,18 +0,0 @@
-npm-start(1) -- Start a package
-===============================
-
-## SYNOPSIS
-
- npm start <name>
-
-## DESCRIPTION
-
-This runs a package's "start" script, if one was provided.
-
-## SEE ALSO
-
-* npm-run-script(1)
-* npm-scripts(1)
-* npm-test(1)
-* npm-restart(1)
-* npm-stop(1)
diff --git a/deps/npm/doc/cli/stop.md b/deps/npm/doc/cli/stop.md
deleted file mode 100644
index 1ab3e9975..000000000
--- a/deps/npm/doc/cli/stop.md
+++ /dev/null
@@ -1,18 +0,0 @@
-npm-stop(1) -- Stop a package
-=============================
-
-## SYNOPSIS
-
- npm stop <name>
-
-## DESCRIPTION
-
-This runs a package's "stop" script, if one was provided.
-
-## SEE ALSO
-
-* npm-run-script(1)
-* npm-scripts(1)
-* npm-test(1)
-* npm-start(1)
-* npm-restart(1)
diff --git a/deps/npm/doc/cli/submodule.md b/deps/npm/doc/cli/submodule.md
deleted file mode 100644
index 13ab1edd9..000000000
--- a/deps/npm/doc/cli/submodule.md
+++ /dev/null
@@ -1,28 +0,0 @@
-npm-submodule(1) -- Add a package as a git submodule
-====================================================
-
-## SYNOPSIS
-
- npm submodule <pkg>
-
-## 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
-`node_modules/<pkg name>`.
-
-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 `.git` subfolder
-in it.
-
-This command also does not install missing dependencies, if the package
-does not include them in its git repository. If `npm ls` reports that
-things are missing, you can either install, link, or submodule them yourself,
-or you can do `npm explore <pkgname> -- npm install` to install the
-dependencies into the submodule folder.
-
-## SEE ALSO
-
-* npm-json(1)
-* git help submodule
diff --git a/deps/npm/doc/cli/tag.md b/deps/npm/doc/cli/tag.md
deleted file mode 100644
index 2f1ca4373..000000000
--- a/deps/npm/doc/cli/tag.md
+++ /dev/null
@@ -1,17 +0,0 @@
-npm-tag(1) -- Tag a published version
-=====================================
-
-## SYNOPSIS
-
- npm tag <name>@<version> [<tag>]
-
-## DESCRIPTION
-
-Tags the specified version of the package with the specified tag, or the
-`--tag` config if not specified.
-
-## SEE ALSO
-
-* npm-publish(1)
-* npm-registry(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/test.md b/deps/npm/doc/cli/test.md
deleted file mode 100644
index bc634efbf..000000000
--- a/deps/npm/doc/cli/test.md
+++ /dev/null
@@ -1,21 +0,0 @@
-npm-test(1) -- Test a package
-=============================
-
-## SYNOPSIS
-
- npm test <name>
-
-## DESCRIPTION
-
-This runs a package's "test" script, if one was provided.
-
-To run tests as a condition of installation, set the `npat` config to
-true.
-
-## SEE ALSO
-
-* npm-run-script(1)
-* npm-scripts(1)
-* npm-start(1)
-* npm-restart(1)
-* npm-stop(1)
diff --git a/deps/npm/doc/cli/uninstall.md b/deps/npm/doc/cli/uninstall.md
deleted file mode 100644
index f7f743fae..000000000
--- a/deps/npm/doc/cli/uninstall.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-rm(1) -- Remove a package
-=============================
-
-## SYNOPSIS
-
- npm rm <name>
- npm uninstall <name>
-
-## DESCRIPTION
-
-This uninstalls a package, completely removing everything npm installed
-on its behalf.
-
-## SEE ALSO
-
-* npm-prune(1)
-* npm-install(1)
-* npm-folders(1)
-* npm-config(1)
diff --git a/deps/npm/doc/cli/unpublish.md b/deps/npm/doc/cli/unpublish.md
deleted file mode 100644
index 0f4446c4e..000000000
--- a/deps/npm/doc/cli/unpublish.md
+++ /dev/null
@@ -1,32 +0,0 @@
-npm-unpublish(1) -- Remove a package from the registry
-======================================================
-
-## SYNOPSIS
-
- npm unpublish <name>[@<version>]
-
-## WARNING
-
-**It is generally considered bad behavior to remove versions of a library
-that others are depending on!**
-
-Consider using the `deprecate` command
-instead, if your intent is to encourage users to upgrade.
-
-There is plenty of room on the registry.
-
-## DESCRIPTION
-
-This removes a package version from the registry, deleting its
-entry and removing the tarball.
-
-If no version is specified, or if all versions are removed then
-the root package entry is removed from the registry entirely.
-
-## SEE ALSO
-
-* npm-deprecate(1)
-* npm-publish(1)
-* npm-registry(1)
-* npm-adduser(1)
-* npm-owner(1)
diff --git a/deps/npm/doc/cli/update.md b/deps/npm/doc/cli/update.md
deleted file mode 100644
index 302e2efff..000000000
--- a/deps/npm/doc/cli/update.md
+++ /dev/null
@@ -1,24 +0,0 @@
-npm-update(1) -- Update a package
-=================================
-
-## SYNOPSIS
-
- npm update [-g] [<name> [<name> ...]]
-
-## DESCRIPTION
-
-This command will update all the packages listed to the latest version
-(specified by the `tag` config).
-
-It will also install missing packages.
-
-If the `-g` flag is specified, this command will update globally installed packages.
-If no package name is specified, all packages in the specified location (global or local) will be updated.
-
-## SEE ALSO
-
-* npm-install(1)
-* npm-outdated(1)
-* npm-registry(1)
-* npm-folders(1)
-* npm-list(1)
diff --git a/deps/npm/doc/cli/version.md b/deps/npm/doc/cli/version.md
deleted file mode 100644
index 74d938d6b..000000000
--- a/deps/npm/doc/cli/version.md
+++ /dev/null
@@ -1,45 +0,0 @@
-npm-version(1) -- Bump a package version
-========================================
-
-## SYNOPSIS
-
- npm version [<newversion> | major | minor | patch | build]
-
-## DESCRIPTION
-
-Run this in a package directory to bump the version and write the new
-data back to the package.json file.
-
-The `newversion` argument should be a valid semver string, *or* a valid
-second argument to semver.inc (one of "build", "patch", "minor", or
-"major"). In the second case, the existing version will be incremented
-by 1 in the specified field.
-
-If run in a git repo, it will also create a version commit and tag, and
-fail if the repo is not clean.
-
-If supplied with `--message` (shorthand: `-m`) config option, npm will
-use it as a commit message when creating a version commit. If the
-`message` config contains `%s` then that will be replaced with the
-resulting version number. For example:
-
- npm version patch -m "Upgrade to %s for reasons"
-
-If the `sign-git-tag` config is set, then the tag will be signed using
-the `-s` flag to git. Note that you must have a default GPG key set up
-in your git config for this to work properly. For example:
-
- $ npm config set sign-git-tag true
- $ npm version patch
-
- You need a passphrase to unlock the secret key for
- user: "isaacs (http://blog.izs.me/) <i@izs.me>"
- 2048-bit RSA key, ID 6C481CF6, created 2010-08-31
-
- Enter passphrase:
-
-## SEE ALSO
-
-* npm-init(1)
-* npm-json(1)
-* npm-semver(1)
diff --git a/deps/npm/doc/cli/view.md b/deps/npm/doc/cli/view.md
deleted file mode 100644
index 07836a5ef..000000000
--- a/deps/npm/doc/cli/view.md
+++ /dev/null
@@ -1,87 +0,0 @@
-npm-view(1) -- View registry info
-=================================
-
-## SYNOPSIS
-
- npm view <name>[@<version>] [<field>[.<subfield>]...]
-
-## DESCRIPTION
-
-This command shows data about a package and prints it to the stream
-referenced by the `outfd` config, which defaults to stdout.
-
-To show the package registry entry for the `connect` package, you can do
-this:
-
- npm view connect
-
-The default version is "latest" if unspecified.
-
-Field names can be specified after the package descriptor.
-For example, to show the dependencies of the `ronn` package at version
-0.3.5, you could do the following:
-
- npm view ronn@0.3.5 dependencies
-
-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:
-
- npm view npm repository.url
-
-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:
-
- npm view opts@$(npm view ronn dependencies.opts)
-
-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:
-
- npm view express contributors.email
-
-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:
-
- npm view express contributors[0].email
-
-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:
-
- npm view express contributors.name contributors.email
-
-"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 `npm-json(1)` for more on this.)
-
- npm view npm contributors
-
-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:
-
- npm view yui3@'>0.5.4' dependencies.jsdom
-
-## 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. If the field is an object, it will be output as a JavaScript object literal.
-
-If the --json flag is given, the outputted fields will be JSON.
-
-If the version range matches multiple versions, than each printed value
-will be prefixed with the version it applies to.
-
-If multiple fields are requested, than each of them are prefixed with
-the field name.
-
-## SEE ALSO
-
-* npm-search(1)
-* npm-registry(1)
-* npm-config(1)
-* npm-docs(1)
diff --git a/deps/npm/doc/cli/whoami.md b/deps/npm/doc/cli/whoami.md
deleted file mode 100644
index 7c39b1624..000000000
--- a/deps/npm/doc/cli/whoami.md
+++ /dev/null
@@ -1,15 +0,0 @@
-npm-whoami(1) -- Display npm username
-=====================================
-
-## SYNOPSIS
-
- npm whoami
-
-## DESCRIPTION
-
-Print the `username` config to standard output.
-
-## SEE ALSO
-
-* npm-config(1)
-* npm-adduser(1)
diff --git a/deps/npm/doc/files/npm-folders.md b/deps/npm/doc/files/npm-folders.md
new file mode 100644
index 000000000..1b1485d5e
--- /dev/null
+++ b/deps/npm/doc/files/npm-folders.md
@@ -0,0 +1,211 @@
+npm-folders(5) -- Folder Structures Used by npm
+===============================================
+
+## DESCRIPTION
+
+npm puts various things on your computer. That's its job.
+
+This document will tell you what it puts where.
+
+### tl;dr
+
+* Local install (default): puts stuff in `./node_modules` of the current
+ package root.
+* Global install (with `-g`): puts stuff in /usr/local or wherever node
+ is installed.
+* Install it **locally** if you're going to `require()` it.
+* Install it **globally** if you're going to run it on the command line.
+* If you need both, then install it in both places, or use `npm link`.
+
+### prefix Configuration
+
+The `prefix` config defaults to the location where node is installed.
+On most systems, this is `/usr/local`, and most of the time is the same
+as node's `process.installPrefix`.
+
+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
+`{prefix}/bin/node` rather than `{prefix}/node.exe`.
+
+When the `global` 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.
+
+### Node Modules
+
+Packages are dropped into the `node_modules` folder under the `prefix`.
+When installing locally, this means that you can
+`require("packagename")` to load its main module, or
+`require("packagename/lib/path/to/sub/module")` to load other modules.
+
+Global installs on Unix systems go to `{prefix}/lib/node_modules`.
+Global installs on Windows go to `{prefix}/node_modules` (that is, no
+`lib` folder.)
+
+If you wish to `require()` a package, then install it locally.
+
+### Executables
+
+When in global mode, executables are linked into `{prefix}/bin` on Unix,
+or directly into `{prefix}` on Windows.
+
+When in local mode, executables are linked into
+`./node_modules/.bin` 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 `npm test`.)
+
+### Man Pages
+
+When in global mode, man pages are linked into `{prefix}/share/man`.
+
+When in local mode, man pages are not installed.
+
+Man pages are not installed on Windows systems.
+
+### Cache
+
+See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or
+`~/npm-cache` on Windows.
+
+This is controlled by the `cache` configuration param.
+
+### Temp Files
+
+Temporary files are stored by default in the folder specified by the
+`tmp` config, which defaults to the TMPDIR, TMP, or TEMP environment
+variables, or `/tmp` on Unix and `c:\windows\temp` on Windows.
+
+Temp files are given a unique folder under this root for each run of the
+program, and are deleted upon successful exit.
+
+## More Information
+
+When installing locally, npm first tries to find an appropriate
+`prefix` folder. This is so that `npm install foo@1.2.3` will install
+to the sensible root of your package, even if you happen to have `cd`ed
+into some other folder.
+
+Starting at the $PWD, npm will walk up the folder tree checking for a
+folder that contains either a `package.json` file, or a `node_modules`
+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.)
+
+If no package root is found, then the current folder is used.
+
+When you run `npm install foo@1.2.3`, then the package is loaded into
+the cache, and then unpacked into `./node_modules/foo`. Then, any of
+foo's dependencies are similarly unpacked into
+`./node_modules/foo/node_modules/...`.
+
+Any bin files are symlinked to `./node_modules/.bin/`, so that they may
+be found by npm scripts when necessary.
+
+### Global Installation
+
+If the `global` configuration is set to true, then npm will
+install packages "globally".
+
+For global installation, packages are installed roughly the same way,
+but using the folders described above.
+
+### Cycles, Conflicts, and Folder Parsimony
+
+Cycles are handled using the property of node's module system that it
+walks up the directories looking for `node_modules` folders. So, at every
+stage, if a package is already installed in an ancestor `node_modules`
+folder, then it is not installed at the current location.
+
+Consider the case above, where `foo -> bar -> baz`. Imagine if, in
+addition to that, baz depended on bar, so you'd have:
+`foo -> bar -> baz -> bar -> baz ...`. However, since the folder
+structure is: `foo/node_modules/bar/node_modules/baz`, there's no need to
+put another copy of bar into `.../baz/node_modules`, since when it calls
+require("bar"), it will get the copy that is installed in
+`foo/node_modules/bar`.
+
+This shortcut is only used if the exact same
+version would be installed in multiple nested `node_modules` folders. It
+is still possible to have `a/node_modules/b/node_modules/a` if the two
+"a" packages are different versions. However, without repeating the
+exact same package multiple times, an infinite regress will always be
+prevented.
+
+Another optimization can be made by installing dependencies at the
+highest level possible, below the localized "target" folder.
+
+#### Example
+
+Consider this dependency graph:
+
+ 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
+
+In this case, we might expect a folder structure like this:
+
+ 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]
+
+Since foo depends directly on `bar@1.2.3` and `baz@1.2.3`, those are
+installed in foo's `node_modules` folder.
+
+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 satisfies bar's dependency on `blerg@1.x`,
+it does not install another copy under [B].
+
+Bar [B] also has dependencies on baz and asdf, so those are installed in
+bar's `node_modules` folder. Because it depends on `baz@2.x`, it cannot
+re-use the `baz@1.2.3` installed in the parent `node_modules` folder [D],
+and must install its own copy [C].
+
+Underneath bar, the `baz -> quux -> bar` dependency creates a cycle.
+However, because bar is already in quux's ancestry [B], it does not
+unpack another copy of bar into that folder.
+
+Underneath `foo -> baz` [D], quux's [E] folder tree is empty, because its
+dependency on bar is satisfied by the parent folder copy installed at [B].
+
+For a graphical breakdown of what is installed where, use `npm ls`.
+
+### Publishing
+
+Upon publishing, npm will look in the `node_modules` folder. If any of
+the items there are not in the `bundledDependencies` array, then they will
+not be included in the package tarball.
+
+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 `package.json(5)` for more information.
+
+## SEE ALSO
+
+* npm-faq(7)
+* package.json(5)
+* npm-install(1)
+* npm-pack(1)
+* npm-cache(1)
+* npm-config(1)
+* npmrc(5)
+* npm-config(7)
+* npm-publish(1)
diff --git a/deps/npm/doc/files/npmrc.md b/deps/npm/doc/files/npmrc.md
new file mode 100644
index 000000000..e65f722fd
--- /dev/null
+++ b/deps/npm/doc/files/npmrc.md
@@ -0,0 +1,59 @@
+npmrc(5) -- The npm config files
+================================
+
+## DESCRIPTION
+
+npm gets its config settings from the command line, environment
+variables, and `npmrc` files.
+
+The `npm config` command can be used to update and edit the contents
+of the user and global npmrc files.
+
+For a list of available configuration options, see npm-config(7).
+
+## FILES
+
+The three relevant files are:
+
+* per-user config file (~/.npmrc)
+* global config file ($PREFIX/npmrc)
+* npm builtin config file (/path/to/npm/npmrc)
+
+All npm config files are an ini-formatted list of `key = value`
+parameters. Environment variables can be replaced using
+`${VARIABLE_NAME}`. For example:
+
+ prefix = ${HOME}/.npm-packages
+
+Each of these files is loaded, and config options are resolved in
+priority order. For example, a setting in the userconfig file would
+override the setting in the globalconfig file.
+
+### Per-user config file
+
+`$HOME/.npmrc` (or the `userconfig` param, if set in the environment
+or on the command line)
+
+### Global config file
+
+`$PREFIX/etc/npmrc` (or the `globalconfig` param, if set above):
+This file is an ini-file formatted list of `key = value` parameters.
+Environment variables can be replaced as above.
+
+### Built-in config file
+
+`path/to/npm/itself/npmrc`
+
+This is an unchangeable "builtin" configuration file that npm keeps
+consistent across updates. Set fields in here using the `./configure`
+script that comes with npm. This is primarily for distribution
+maintainers to override default configs in a standard and consistent
+manner.
+
+## SEE ALSO
+
+* npm-folders(5)
+* npm-config(1)
+* npm-config(7)
+* package.json(5)
+* npm(1)
diff --git a/deps/npm/doc/files/package.json.md b/deps/npm/doc/files/package.json.md
new file mode 100644
index 000000000..8155a3e9b
--- /dev/null
+++ b/deps/npm/doc/files/package.json.md
@@ -0,0 +1,588 @@
+package.json(5) -- Specifics of npm's package.json handling
+===========================================================
+
+## 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.
+
+A lot of the behavior described in this document is affected by the config
+settings described in `npm-config(7)`.
+
+## DEFAULT VALUES
+
+npm will default some values based on package contents.
+
+* `"scripts": {"start": "node server.js"}`
+
+ If there is a `server.js` file in the root of your package, then npm
+ will default the `start` command to `node server.js`.
+
+* `"scripts":{"preinstall": "node-waf clean || true; node-waf configure build"}`
+
+ If there is a `wscript` file in the root of your package, npm will
+ default the `preinstall` command to compile using node-waf.
+
+* `"scripts":{"preinstall": "node-gyp rebuild"}`
+
+ If there is a `binding.gyp` file in the root of your package, npm will
+ default the `preinstall` command to compile using node-gyp.
+
+* `"contributors": [...]`
+
+ If there is an `AUTHORS` file in the root of your package, npm will
+ treat each line as a `Name <email> (url)` format, where email and url
+ are optional. Lines which start with a `#` or are blank, will be
+ ignored.
+
+## name
+
+The *most* 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.
+
+The name is what your thing is called. Some tips:
+
+* 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.)
+* 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.
+* The name will probably be passed as an argument to require(), so it should
+ be something short, but also reasonably descriptive.
+* 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/
+
+## version
+
+The *most* 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.
+
+Version must be parseable by
+[node-semver](https://github.com/isaacs/node-semver), which is bundled
+with npm as a dependency. (`npm install semver` to use it yourself.)
+
+Here's how npm's semver implementation deviates from what's on semver.org:
+
+* Versions can start with "v"
+* A numeric item separated from the main three-number version by a hyphen
+ will be interpreted as a "build" number, and will *increase* 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 *less than* the version without a tag.
+ So, `0.1.2-7 > 0.1.2-7-beta > 0.1.2-6 > 0.1.2 > 0.1.2beta`
+
+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.
+
+## description
+
+Put a description in it. It's a string. This helps people discover your
+package, as it's listed in `npm search`.
+
+## keywords
+
+Put keywords in it. It's an array of strings. This helps people
+discover your package as it's listed in `npm search`.
+
+## homepage
+
+The url to the project homepage.
+
+**NOTE**: This is *not* 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.
+
+Literally. Spit. I'm so not kidding.
+
+## 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.
+
+It should look like this:
+
+ { "url" : "http://github.com/owner/project/issues"
+ , "email" : "project@hostname.com"
+ }
+
+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.
+
+If a url is provided, it will be used by the `npm bugs` command.
+
+## license
+
+You should specify a license for your package so that people know how they are
+permitted to use it, and any restrictions you're placing on it.
+
+The simplest way, assuming you're using a common license such as BSD or MIT, is
+to just specify the name of the license you're using, like this:
+
+ { "license" : "BSD" }
+
+If you have more complex licensing terms, or you want to provide more detail
+in your package.json file, you can use the more verbose plural form, like this:
+
+ "licenses" : [
+ { "type" : "MyLicense"
+ , "url" : "http://github.com/owner/project/path/to/license"
+ }
+ ]
+
+It's also a good idea to include a license file at the top level in your package.
+
+## 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:
+
+ { "name" : "Barney Rubble"
+ , "email" : "b@rubble.com"
+ , "url" : "http://barnyrubble.tumblr.com/"
+ }
+
+Or you can shorten that all into a single string, and npm will parse it for you:
+
+ "Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)
+
+Both email and url are optional either way.
+
+npm also sets a top-level "maintainers" field with your npm user info.
+
+## 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.)
+
+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".
+
+## main
+
+The main field is a module ID that is the primary entry point to your program.
+That is, if your package is named `foo`, and a user installs it, and then does
+`require("foo")`, then your main module's exports object will be returned.
+
+This should be a module ID relative to the root of your package folder.
+
+For most modules, it makes the most sense to have a main script and often not
+much else.
+
+## 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.)
+
+To use this, supply a `bin` field in your package.json which is a map of
+command name to local file name. On install, npm will symlink that file into
+`prefix/bin` for global installs, or `./node_modules/.bin/` for local
+installs.
+
+
+For example, npm has this:
+
+ { "bin" : { "npm" : "./cli.js" } }
+
+So, when you install npm, it'll create a symlink from the `cli.js` script to
+`/usr/local/bin/npm`.
+
+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:
+
+ { "name": "my-program"
+ , "version": "1.2.5"
+ , "bin": "./path/to/program" }
+
+would be the same as this:
+
+ { "name": "my-program"
+ , "version": "1.2.5"
+ , "bin" : { "my-program" : "./path/to/program" } }
+
+## man
+
+Specify either a single file or an array of filenames to put in place for the
+`man` program to find.
+
+If only a single file is provided, then it's installed such that it is the
+result from `man <pkgname>`, regardless of its actual filename. For example:
+
+ { "name" : "foo"
+ , "version" : "1.2.3"
+ , "description" : "A packaged foo fooer for fooing foos"
+ , "main" : "foo.js"
+ , "man" : "./man/doc.1"
+ }
+
+would link the `./man/doc.1` file in such that it is the target for `man foo`
+
+If the filename doesn't start with the package name, then it's prefixed.
+So, this:
+
+ { "name" : "foo"
+ , "version" : "1.2.3"
+ , "description" : "A packaged foo fooer for fooing foos"
+ , "main" : "foo.js"
+ , "man" : [ "./man/foo.1", "./man/bar.1" ]
+ }
+
+will create files to do `man foo` and `man foo-bar`.
+
+Man files must end with a number, and optionally a `.gz` suffix if they are
+compressed. The number dictates which man section the file is installed into.
+
+ { "name" : "foo"
+ , "version" : "1.2.3"
+ , "description" : "A packaged foo fooer for fooing foos"
+ , "main" : "foo.js"
+ , "man" : [ "./man/foo.1", "./man/foo.2" ]
+ }
+
+will create entries for `man foo` and `man 2 foo`
+
+## directories
+
+The CommonJS [Packages](http://wiki.commonjs.org/wiki/Packages/1.0) spec details a
+few ways that you can indicate the structure of your package using a `directories`
+hash. If you look at [npm's package.json](http://registry.npmjs.org/npm/latest),
+you'll see that it has directories for doc, lib, and man.
+
+In the future, this information may be used in other creative ways.
+
+### 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.
+
+### directories.bin
+
+If you specify a "bin" directory, then all the files in that folder will
+be used as the "bin" hash.
+
+If you have a "bin" hash already, then this has no effect.
+
+### directories.man
+
+A folder that is full of man pages. Sugar to generate a "man" array by
+walking the folder.
+
+### directories.doc
+
+Put markdown files in here. Eventually, these will be displayed nicely,
+maybe, someday.
+
+### directories.example
+
+Put example scripts in here. Someday, it might be exposed in some clever way.
+
+## 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 `npm docs`
+command will be able to find you.
+
+Do it like this:
+
+ "repository" :
+ { "type" : "git"
+ , "url" : "http://github.com/isaacs/npm.git"
+ }
+
+ "repository" :
+ { "type" : "svn"
+ , "url" : "http://v8.googlecode.com/svn/trunk/"
+ }
+
+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.
+
+## 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.
+
+See `npm-scripts(7)` to find out more about writing package scripts.
+
+## 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:
+
+ { "name" : "foo"
+ , "config" : { "port" : "8080" } }
+
+and then had a "start" command that then referenced the
+`npm_package_config_port` environment variable, then the user could
+override that by doing `npm config set foo:port 8001`.
+
+See `npm-config(7)` and `npm-scripts(7)` for more on package
+configs.
+
+## 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"
+
+**Please do not put test harnesses in your `dependencies` hash.** See
+`devDependencies`, below.
+
+Version range descriptors may be any of the following styles, where "version"
+is a semver compatible version identifier.
+
+* `version` Must match `version` exactly
+* `=version` Same as just `version`
+* `>version` Must be greater than `version`
+* `>=version` etc
+* `<version`
+* `<=version`
+* `~version` See 'Tilde Version Ranges' below
+* `1.2.x` See 'X Version Ranges' below
+* `http://...` See 'URLs as Dependencies' below
+* `*` Matches any version
+* `""` (just an empty string) Same as `*`
+* `version1 - version2` Same as `>=version1 <=version2`.
+* `range1 || range2` Passes if either range1 or range2 are satisfied.
+* `git...` See 'Git URLs as Dependencies' below
+
+For example, these are all valid:
+
+ { "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"
+ }
+ }
+
+### Tilde Version Ranges
+
+A range specifier starting with a tilde `~` character is matched against
+a version in the following fashion.
+
+* The version must be at least as high as the range.
+* The version must be less than the next major revision above the range.
+
+For example, the following are equivalent:
+
+* `"~1.2.3" = ">=1.2.3 <1.3.0"`
+* `"~1.2" = ">=1.2.0 <1.3.0"`
+* `"~1" = ">=1.0.0 <1.1.0"`
+
+### 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.
+
+The following are equivalent:
+
+* `"1.2.x" = ">=1.2.0 <1.3.0"`
+* `"1.x.x" = ">=1.0.0 <2.0.0"`
+* `"1.2" = "1.2.x"`
+* `"1.x" = "1.x.x"`
+* `"1" = "1.x.x"`
+
+You may not supply a comparator with a version containing an x. Any
+digits after the first "x" are ignored.
+
+### URLs as Dependencies
+
+Starting with npm version 0.2.14, you may specify a tarball URL in place
+of a version range.
+
+This tarball will be downloaded and installed locally to your package at
+install time.
+
+### Git URLs as Dependencies
+
+Git urls can be of the form:
+
+ git://github.com/user/project.git#commit-ish
+ git+ssh://user@hostname:project.git#commit-ish
+ git+ssh://user@hostname/project.git#commit-ish
+ git+http://user@hostname/project/blah.git#commit-ish
+ git+https://user@hostname/project/blah.git#commit-ish
+
+The `commit-ish` can be any tag, sha, or branch which can be supplied as
+an argument to `git checkout`. The default is `master`.
+
+## devDependencies
+
+If someone is planning on downloading and using your module in their
+program, then they probably don't want or need to download and build
+the external test or documentation framework that you use.
+
+In this case, it's best to list these additional items in a
+`devDependencies` hash.
+
+These things will be installed whenever the `--dev` configuration flag
+is set. This flag is set automatically when doing `npm link` or when doing
+`npm install` from the root of a package, and can be managed like any other npm
+configuration param. See `npm-config(7)` for more on the topic.
+
+## bundledDependencies
+
+Array of package names that will be bundled when publishing the package.
+
+If this is spelled `"bundleDependencies"`, then that is also honorable.
+
+## optionalDependencies
+
+If a dependency can be used, but you would like npm to proceed if it
+cannot be found or fails to install, then you may put it in the
+`optionalDependencies` hash. This is a map of package name to version
+or url, just like the `dependencies` hash. The difference is that
+failure is tolerated.
+
+It is still your program's responsibility to handle the lack of the
+dependency. For example, something like this:
+
+ try {
+ var foo = require('foo')
+ var fooVersion = require('foo/package.json').version
+ } catch (er) {
+ foo = null
+ }
+ if ( notGoodFooVersion(fooVersion) ) {
+ foo = null
+ }
+
+ // .. then later in your program ..
+
+ if (foo) {
+ foo.doFooThings()
+ }
+
+Entries in `optionalDependencies` will override entries of the same name in
+`dependencies`, so it's usually best to only put in one place.
+
+## engines
+
+You can specify the version of node that your stuff works on:
+
+ { "engines" : { "node" : ">=0.1.27 <0.1.30" } }
+
+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.
+
+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.
+
+You can also use the "engines" field to specify which versions of npm
+are capable of properly installing your program. For example:
+
+ { "engines" : { "npm" : "~1.0.20" } }
+
+Note that, unless the user has set the `engine-strict` config flag, this
+field is advisory only.
+
+## engineStrict
+
+If you are sure that your module will *definitely not* run properly on
+versions of Node/npm other than those specified in the `engines` hash,
+then you can set `"engineStrict": true` in your package.json file.
+This will override the user's `engine-strict` config setting.
+
+Please do not do this unless you are really very very sure. If your
+engines hash is something overly restrictive, you can quite easily and
+inadvertently lock yourself into obscurity and prevent your users from
+updating to new versions of Node. Consider this choice carefully. If
+people abuse it, it will be removed in a future version of npm.
+
+## os
+
+You can specify which operating systems your
+module will run on:
+
+ "os" : [ "darwin", "linux" ]
+
+You can also blacklist instead of whitelist operating systems,
+just prepend the blacklisted os with a '!':
+
+ "os" : [ "!win32" ]
+
+The host operating system is determined by `process.platform`
+
+It is allowed to both blacklist, and whitelist, although there isn't any
+good reason to do this.
+
+## cpu
+
+If your code only runs on certain cpu architectures,
+you can specify which ones.
+
+ "cpu" : [ "x64", "ia32" ]
+
+Like the `os` option, you can also blacklist architectures:
+
+ "cpu" : [ "!arm", "!mips" ]
+
+The host architecture is determined by `process.arch`
+
+## preferGlobal
+
+If your package is primarily a command-line application that should be
+installed globally, then set this value to `true` to provide a warning
+if it is installed locally.
+
+It doesn't actually prevent users from installing it locally, but it
+does help prevent some confusion if it doesn't work as expected.
+
+## private
+
+If you set `"private": true` in your package.json, then npm will refuse
+to publish it.
+
+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 specific registry (for example, an internal registry),
+then use the `publishConfig` hash described below
+to override the `registry` config param at publish-time.
+
+## 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.
+
+Any config values can be overridden, but of course only "tag" and
+"registry" probably matter for the purposes of publishing.
+
+See `npm-config(7)` to see the list of config options that can be
+overridden.
+
+## SEE ALSO
+
+* npm-semver(7)
+* npm-init(1)
+* npm-version(1)
+* npm-config(1)
+* npm-config(7)
+* npm-help(1)
+* npm-faq(7)
+* npm-install(1)
+* npm-publish(1)
+* npm-rm(1)
diff --git a/deps/npm/doc/misc/npm-coding-style.md b/deps/npm/doc/misc/npm-coding-style.md
new file mode 100644
index 000000000..e9333d0ec
--- /dev/null
+++ b/deps/npm/doc/misc/npm-coding-style.md
@@ -0,0 +1,181 @@
+npm-coding-style(7) -- npm's "funny" coding style
+=================================================
+
+## 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.
+
+If you want to contribute to npm (which is very encouraged), you should
+make your code conform to npm's style.
+
+Note: this concerns npm's code not the specific packages at npmjs.org
+
+## 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.
+
+## 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.
+
+Configure your editor appropriately.
+
+## Curly braces
+
+Curly braces belong on the same line as the thing that necessitates them.
+
+Bad:
+
+ function ()
+ {
+
+Good:
+
+ function () {
+
+If a block needs to wrap to the next line, use a curly brace. Don't
+use it if it doesn't.
+
+Bad:
+
+ if (foo) { bar() }
+ while (foo)
+ bar()
+
+Good:
+
+ if (foo) bar()
+ while (foo) {
+ bar()
+ }
+
+## Semicolons
+
+Don't use them except in four situations:
+
+* `for (;;)` loops. They're actually required.
+* null loops like: `while (something) ;` (But you'd better have a good
+ reason for doing that.)
+* `case "foo": doSomething(); break`
+* In front of a leading `(` or `[` at the start of the line.
+ This prevents the expression from being interpreted
+ as a function call or property access, respectively.
+
+Some examples of good semicolon usage:
+
+ ;(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()
+ }
+
+Note that starting lines with `-` and `+` also should be prefixed
+with a semicolon, but this is much less common.
+
+## 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:
+
+ var magicWords = [ "abracadabra"
+ , "gesundheit"
+ , "ventrilo"
+ ]
+ , spells = { "fireball" : function () { setOnFire() }
+ , "water" : function () { putOut() }
+ }
+ , a = 1
+ , b = "abc"
+ , etc
+ , somethingElse
+
+## 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.
+
+Don't leave trailing whitespace at the end of lines. Don't indent empty
+lines. Don't use more spaces than are helpful.
+
+## Functions
+
+Use named functions. They make stack traces a lot easier to read.
+
+## 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.
+
+The callback should always be the last argument in the list. Its first
+argument is the Error or null.
+
+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.
+
+## Errors
+
+Always create a new Error object with your message. Don't just return a
+string message to the callback. Stack traces are handy.
+
+## Logging
+
+Logging is done using the [npmlog](https://github.com/isaacs/npmlog)
+utility.
+
+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.
+
+Use appropriate log levels. See `npm-config(7)` and search for
+"loglevel".
+
+## Case, naming, etc.
+
+Use `lowerCamelCase` for multiword identifiers when they refer to objects,
+functions, methods, members, or anything not specified in this section.
+
+Use `UpperCamelCase` for class names (things that you'd pass to "new").
+
+Use `all-lower-hyphen-css-case` for multiword filenames and config keys.
+
+Use named functions. They make stack traces easier to follow.
+
+Use `CAPS_SNAKE_CASE` for constants, things that should never change
+and are rarely used.
+
+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.
+
+## null, undefined, false, 0
+
+Boolean variables and functions should always be either `true` or
+`false`. Don't set it to 0 unless it's supposed to be a number.
+
+When something is intentionally missing or removed, set it to `null`.
+
+Don't set things to `undefined`. Reserve that value to mean "not yet
+set to anything."
+
+Boolean objects are verboten.
+
+## SEE ALSO
+
+* npm-developers(7)
+* npm-faq(7)
+* npm(1)
diff --git a/deps/npm/doc/misc/npm-config.md b/deps/npm/doc/misc/npm-config.md
new file mode 100644
index 000000000..d622f07e1
--- /dev/null
+++ b/deps/npm/doc/misc/npm-config.md
@@ -0,0 +1,827 @@
+npm-config(7) -- More than you probably want to know about npm configuration
+============================================================================
+
+## DESCRIPTION
+
+npm gets its configuration values from 6 sources, in this priority:
+
+### Command Line Flags
+
+Putting `--foo bar` on the command line sets the `foo` configuration
+parameter to `"bar"`. A `--` argument tells the cli parser to stop
+reading flags. A `--flag` parameter that is at the *end* of the
+command will be given the value of `true`.
+
+### Environment Variables
+
+Any environment variables that start with `npm_config_` will be
+interpreted as a configuration parameter. For example, putting
+`npm_config_foo=bar` in your environment will set the `foo`
+configuration parameter to `bar`. Any environment configurations that
+are not given a value will be given the value of `true`. Config
+values are case-insensitive, so `NPM_CONFIG_FOO=bar` will work the
+same.
+
+### npmrc Files
+
+The three relevant files are:
+
+* per-user config file (~/.npmrc)
+* global config file ($PREFIX/npmrc)
+* npm builtin config file (/path/to/npm/npmrc)
+
+See npmrc(5) for more details.
+
+### Default Configs
+
+A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified.
+
+## Shorthands and Other CLI Niceties
+
+The following shorthands are parsed on the command-line:
+
+* `-v`: `--version`
+* `-h`, `-?`, `--help`, `-H`: `--usage`
+* `-s`, `--silent`: `--loglevel silent`
+* `-q`, `--quiet`: `--loglevel warn`
+* `-d`: `--loglevel info`
+* `-dd`, `--verbose`: `--loglevel verbose`
+* `-ddd`: `--loglevel silly`
+* `-g`: `--global`
+* `-l`: `--long`
+* `-m`: `--message`
+* `-p`, `--porcelain`: `--parseable`
+* `-reg`: `--registry`
+* `-v`: `--version`
+* `-f`: `--force`
+* `-desc`: `--description`
+* `-S`: `--save`
+* `-D`: `--save-dev`
+* `-O`: `--save-optional`
+* `-B`: `--save-bundle`
+* `-y`: `--yes`
+* `-n`: `--yes false`
+* `ll` and `la` commands: `ls --long`
+
+If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter. For example:
+
+ npm ls --par
+ # same as:
+ npm ls --parseable
+
+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:
+
+ npm ls -gpld
+ # same as:
+ npm ls --global --parseable --long --loglevel info
+
+## Per-Package Config Settings
+
+When running scripts (see `npm-scripts(7)`) the package.json "config"
+keys are overwritten in the environment if there is a config param of
+`<name>[@<version>]:<key>`. For example, if the package.json has
+this:
+
+ { "name" : "foo"
+ , "config" : { "port" : "8080" }
+ , "scripts" : { "start" : "node server.js" } }
+
+and the server.js is this:
+
+ http.createServer(...).listen(process.env.npm_package_config_port)
+
+then the user could change the behavior by doing:
+
+ npm config set foo:port 80
+
+See package.json(5) for more information.
+
+## Config Settings
+
+### always-auth
+
+* Default: false
+* Type: Boolean
+
+Force npm to always require authentication when accessing the registry,
+even for `GET` requests.
+
+### bin-links
+
+* Default: `true`
+* Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package
+executables.
+
+Set to false to have it not do this. This can be used to work around
+the fact that some file systems don't support symlinks, even on
+ostensibly Unix systems.
+
+### browser
+
+* Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+* Type: String
+
+The browser that is called by the `npm docs` command to open websites.
+
+### ca
+
+* Default: The npm CA certificate
+* Type: String or null
+
+The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry.
+
+Set to `null` to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority.
+
+See also the `strict-ssl` config.
+
+### cache
+
+* Default: Windows: `%APPDATA%\npm-cache`, Posix: `~/.npm`
+* Type: path
+
+The location of npm's cache directory. See `npm-cache(1)`
+
+### cache-lock-stale
+
+* Default: 60000 (1 minute)
+* Type: Number
+
+The number of ms before cache folder lockfiles are considered stale.
+
+### cache-lock-retries
+
+* Default: 10
+* Type: Number
+
+Number of times to retry to acquire a lock on cache folder lockfiles.
+
+### cache-lock-wait
+
+* Default: 10000 (10 seconds)
+* Type: Number
+
+Number of ms to wait for cache lock files to expire.
+
+### cache-max
+
+* Default: Infinity
+* Type: Number
+
+The maximum time (in seconds) to keep items in the registry cache before
+re-checking against the registry.
+
+Note that no purging is done unless the `npm cache clean` command is
+explicitly used, and that only GET requests use the cache.
+
+### cache-min
+
+* Default: 10
+* Type: Number
+
+The minimum time (in seconds) to keep items in the registry cache before
+re-checking against the registry.
+
+Note that no purging is done unless the `npm cache clean` command is
+explicitly used, and that only GET requests use the cache.
+
+### color
+
+* Default: true on Posix, false on Windows
+* Type: Boolean or `"always"`
+
+If false, never shows colors. If `"always"` then always shows colors.
+If true, then only prints color codes for tty file descriptors.
+
+### coverage
+
+* Default: false
+* Type: Boolean
+
+A flag to tell test-harness to run with their coverage options enabled,
+if they respond to the `npm_config_coverage` environment variable.
+
+### depth
+
+* Default: Infinity
+* Type: Number
+
+The depth to go when recursing directories for `npm ls` and
+`npm cache ls`.
+
+### description
+
+* Default: true
+* Type: Boolean
+
+Show the description in `npm search`
+
+### dev
+
+* Default: false
+* Type: Boolean
+
+Install `dev-dependencies` along with packages.
+
+Note that `dev-dependencies` are also installed if the `npat` flag is
+set.
+
+### editor
+
+* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
+ or `"notepad"` on Windows.
+* Type: path
+
+The command to run for `npm edit` or `npm config edit`.
+
+### engine-strict
+
+* Default: false
+* Type: Boolean
+
+If set to true, then npm will stubbornly refuse to install (or even
+consider installing) any package that claims to not be compatible with
+the current Node.js version.
+
+### force
+
+* Default: false
+* Type: Boolean
+
+Makes various commands more forceful.
+
+* lifecycle script failure does not block progress.
+* publishing clobbers previously published versions.
+* skips cache when requesting from the registry.
+* prevents checks against clobbering non-npm files.
+
+### fetch-retries
+
+* Default: 2
+* Type: Number
+
+The "retries" config for the `retry` module to use when fetching
+packages from the registry.
+
+### fetch-retry-factor
+
+* Default: 10
+* Type: Number
+
+The "factor" config for the `retry` module to use when fetching
+packages.
+
+### fetch-retry-mintimeout
+
+* Default: 10000 (10 seconds)
+* Type: Number
+
+The "minTimeout" config for the `retry` module to use when fetching
+packages.
+
+### fetch-retry-maxtimeout
+
+* Default: 60000 (1 minute)
+* Type: Number
+
+The "maxTimeout" config for the `retry` module to use when fetching
+packages.
+
+### git
+
+* Default: `"git"`
+* Type: String
+
+The command to use for git commands. If git is installed on the
+computer, but is not in the `PATH`, then set this to the full path to
+the git binary.
+
+### global
+
+* Default: false
+* Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the
+`prefix` folder instead of the current working directory. See
+`npm-folders(7)` for more on the differences in behavior.
+
+* packages are installed into the `{prefix}/lib/node_modules` folder, instead of the
+ current working directory.
+* bin files are linked to `{prefix}/bin`
+* man pages are linked to `{prefix}/share/man`
+
+### globalconfig
+
+* Default: {prefix}/etc/npmrc
+* Type: path
+
+The config file to read for global config options.
+
+### globalignorefile
+
+* Default: {prefix}/etc/npmignore
+* Type: path
+
+The config file to read for global ignore patterns to apply to all users
+and all projects.
+
+If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead.
+
+### group
+
+* Default: GID of the current process
+* Type: String or Number
+
+The group to use when running package scripts in global mode as the root
+user.
+
+### https-proxy
+
+* Default: the `HTTPS_PROXY` or `https_proxy` or `HTTP_PROXY` or
+ `http_proxy` environment variables.
+* Type: url
+
+A proxy to use for outgoing https requests.
+
+### user-agent
+
+* Default: node/{process.version} {process.platform} {process.arch}
+* Type: String
+
+Sets a User-Agent to the request header
+
+### ignore
+
+* Default: ""
+* Type: string
+
+A white-space separated list of glob patterns of files to always exclude
+from packages when building tarballs.
+
+### init-module
+
+* Default: ~/.npm-init.js
+* Type: path
+
+A module that will be loaded by the `npm init` command. See the
+documentation for the
+[init-package-json](https://github.com/isaacs/init-package-json) module
+for more information, or npm-init(1).
+
+### init.version
+
+* Default: "0.0.0"
+* Type: semver
+
+The value `npm init` should use by default for the package version.
+
+### init.author.name
+
+* Default: ""
+* Type: String
+
+The value `npm init` should use by default for the package author's name.
+
+### init.author.email
+
+* Default: ""
+* Type: String
+
+The value `npm init` should use by default for the package author's email.
+
+### init.author.url
+
+* Default: ""
+* Type: String
+
+The value `npm init` should use by default for the package author's homepage.
+
+### json
+
+* Default: false
+* Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+This feature is currently experimental, and the output data structures
+for many commands is either not implemented in JSON yet, or subject to
+change. Only the output from `npm ls --json` is currently valid.
+
+### link
+
+* Default: false
+* Type: Boolean
+
+If true, then local installs will link if there is a suitable globally
+installed package.
+
+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:
+
+* The package is not already installed globally, or
+* the globally installed version is identical to the version that is
+ being installed locally.
+
+### loglevel
+
+* Default: "http"
+* Type: String
+* Values: "silent", "win", "error", "warn", "http", "info", "verbose", "silly"
+
+What level of logs to report. On failure, *all* logs are written to
+`npm-debug.log` in the current working directory.
+
+Any logs of a higher level than the setting are shown.
+The default is "http", which shows http, warn, and error output.
+
+### logstream
+
+* Default: process.stderr
+* Type: Stream
+
+This is the stream that is passed to the
+[npmlog](https://github.com/isaacs/npmlog) module at run time.
+
+It cannot be set from the command line, but if you are using npm
+programmatically, you may wish to send logs to somewhere other than
+stderr.
+
+If the `color` config is set to true, then this stream will receive
+colored output if it is a TTY.
+
+### long
+
+* Default: false
+* Type: Boolean
+
+Show extended information in `npm ls`
+
+### message
+
+* Default: "%s"
+* Type: String
+
+Commit message which is used by `npm version` when creating version commit.
+
+Any "%s" in the message will be replaced with the version number.
+
+### node-version
+
+* Default: process.version
+* Type: semver or false
+
+The node version to use when checking package's "engines" hash.
+
+### npat
+
+* Default: false
+* Type: Boolean
+
+Run tests on installation and report results to the
+`npaturl`.
+
+### npaturl
+
+* Default: Not yet implemented
+* Type: url
+
+The url to report npat test results.
+
+### onload-script
+
+* Default: false
+* Type: path
+
+A node module to `require()` when npm loads. Useful for programmatic
+usage.
+
+### optional
+
+* Default: true
+* Type: Boolean
+
+Attempt to install packages in the `optionalDependencies` hash. Note
+that if these packages fail to install, the overall installation
+process is not aborted.
+
+### parseable
+
+* Default: false
+* Type: Boolean
+
+Output parseable results from commands that write to
+standard output.
+
+### prefix
+
+* Default: see npm-folders(7)
+* Type: path
+
+The location to install global items. If set on the command line, then
+it forces non-global commands to run in the specified folder.
+
+### production
+
+* Default: false
+* Type: Boolean
+
+Set to true to run in "production" mode.
+
+1. devDependencies are not installed at the topmost level when running
+ local `npm install` without any arguments.
+2. Set the NODE_ENV="production" for lifecycle scripts.
+
+### proprietary-attribs
+
+* Default: true
+* Type: Boolean
+
+Whether or not to include proprietary extended attributes in the
+tarballs created by npm.
+
+Unless you are expecting to unpack package tarballs with something other
+than npm -- particularly a very outdated tar implementation -- leave
+this as true.
+
+### proxy
+
+* Default: `HTTP_PROXY` or `http_proxy` environment variable, or null
+* Type: url
+
+A proxy to use for outgoing http requests.
+
+### rebuild-bundle
+
+* Default: true
+* Type: Boolean
+
+Rebuild bundled dependencies after installation.
+
+### registry
+
+* Default: https://registry.npmjs.org/
+* Type: url
+
+The base URL of the npm package registry.
+
+### rollback
+
+* Default: true
+* Type: Boolean
+
+Remove failed installs.
+
+### save
+
+* Default: false
+* Type: Boolean
+
+Save installed packages to a package.json file as dependencies.
+
+When used with the `npm rm` command, it removes it from the dependencies
+hash.
+
+Only works if there is already a package.json file present.
+
+### save-bundle
+
+* Default: false
+* Type: Boolean
+
+If a package would be saved at install time by the use of `--save`,
+`--save-dev`, or `--save-optional`, then also put it in the
+`bundleDependencies` list.
+
+When used with the `npm rm` command, it removes it from the
+bundledDependencies list.
+
+### save-dev
+
+* Default: false
+* Type: Boolean
+
+Save installed packages to a package.json file as devDependencies.
+
+When used with the `npm rm` command, it removes it from the devDependencies
+hash.
+
+Only works if there is already a package.json file present.
+
+### save-optional
+
+* Default: false
+* Type: Boolean
+
+Save installed packages to a package.json file as optionalDependencies.
+
+When used with the `npm rm` command, it removes it from the devDependencies
+hash.
+
+Only works if there is already a package.json file present.
+
+### searchopts
+
+* Default: ""
+* Type: String
+
+Space-separated options that are always passed to search.
+
+### searchexclude
+
+* Default: ""
+* Type: String
+
+Space-separated options that limit the results from search.
+
+### searchsort
+
+* Default: "name"
+* Type: String
+* Values: "name", "-name", "date", "-date", "description",
+ "-description", "keywords", "-keywords"
+
+Indication of which field to sort search results by. Prefix with a `-`
+character to indicate reverse sort.
+
+### shell
+
+* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+ Windows
+* Type: path
+
+The shell to run for the `npm explore` command.
+
+### shrinkwrap
+
+* Default: true
+* Type: Boolean
+
+If set to false, then ignore `npm-shrinkwrap.json` files when
+installing.
+
+### sign-git-tag
+
+* Default: false
+* Type: Boolean
+
+If set to true, then the `npm version` command will tag the version
+using `-s` to add a signature.
+
+Note that git requires you to have set up GPG keys in your git configs
+for this to work properly.
+
+### strict-ssl
+
+* Default: true
+* Type: Boolean
+
+Whether or not to do SSL key validation when making requests to the
+registry via https.
+
+See also the `ca` config.
+
+### tag
+
+* Default: latest
+* Type: String
+
+If you ask npm to install a package and don't tell it a specific version, then
+it will install the specified tag.
+
+Also the tag that is added to the package@version specified by the `npm
+tag` command, if no explicit tag is given.
+
+### tmp
+
+* Default: TMPDIR environment variable, or "/tmp"
+* Type: path
+
+Where to store temporary files and folders. All temp files are deleted
+on success, but left behind on failure for forensic purposes.
+
+### unicode
+
+* Default: true
+* Type: Boolean
+
+When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters to draw trees.
+
+### unsafe-perm
+
+* Default: false if running as root, true otherwise
+* Type: Boolean
+
+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.
+
+### usage
+
+* Default: false
+* Type: Boolean
+
+Set to show short usage output (like the -H output)
+instead of complete help when doing `npm-help(1)`.
+
+### user
+
+* Default: "nobody"
+* Type: String or Number
+
+The UID to set to when running package scripts as root.
+
+### username
+
+* Default: null
+* Type: String
+
+The username on the npm registry. Set with `npm adduser`
+
+### userconfig
+
+* Default: ~/.npmrc
+* Type: path
+
+The location of user-level configuration settings.
+
+### userignorefile
+
+* Default: ~/.npmignore
+* Type: path
+
+The location of a user-level ignore file to apply to all packages.
+
+If not found, but there is a .gitignore file in the same directory, then
+that will be used instead.
+
+### umask
+
+* Default: 022
+* Type: Octal numeric string
+
+The "umask" value to use when setting the file creation mode on files
+and folders.
+
+Folders and executables are given a mode which is `0777` masked against
+this value. Other files are given a mode which is `0666` masked against
+this value. Thus, the defaults are `0755` and `0644` respectively.
+
+### version
+
+* Default: false
+* Type: boolean
+
+If true, output the npm version and exit successfully.
+
+Only relevant when specified explicitly on the command line.
+
+### versions
+
+* Default: false
+* Type: boolean
+
+If true, output the npm version as well as node's `process.versions`
+hash, and exit successfully.
+
+Only relevant when specified explicitly on the command line.
+
+### viewer
+
+* Default: "man" on Posix, "browser" on Windows
+* Type: path
+
+The program to use to view help content.
+
+Set to `"browser"` to view html help content in the default web browser.
+
+### yes
+
+* Default: null
+* Type: Boolean or null
+
+If set to `null`, then prompt the user for responses in some
+circumstances.
+
+If set to `true`, then answer "yes" to any prompt. If set to `false`
+then answer "no" to any prompt.
+
+## SEE ALSO
+
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-scripts(7)
+* npm-folders(5)
+* npm(1)
diff --git a/deps/npm/doc/misc/npm-developers.md b/deps/npm/doc/misc/npm-developers.md
new file mode 100644
index 000000000..5e53301f3
--- /dev/null
+++ b/deps/npm/doc/misc/npm-developers.md
@@ -0,0 +1,207 @@
+npm-developers(7) -- Developer Guide
+====================================
+
+## DESCRIPTION
+
+So, you've decided to use npm to develop (and maybe publish/deploy)
+your project.
+
+Fantastic!
+
+There are a few things that you need to do above the simple steps
+that your users will do to install your program.
+
+## About These Documents
+
+These are man pages. If you install npm, you should be able to
+then do `man npm-thing` to get the documentation on a particular
+topic, or `npm help thing` to see the same information.
+
+## What is a `package`
+
+A package is:
+
+* a) a folder containing a program described by a package.json file
+* b) a gzipped tarball containing (a)
+* c) a url that resolves to (b)
+* d) a `<name>@<version>` that is published on the registry with (c)
+* e) a `<name>@<tag>` that points to (d)
+* f) a `<name>` that has a "latest" tag satisfying (e)
+* g) a `git` url that, when cloned, results in (a).
+
+Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b).
+
+Git urls can be of the form:
+
+ git://github.com/user/project.git#commit-ish
+ git+ssh://user@hostname:project.git#commit-ish
+ git+http://user@hostname/project/blah.git#commit-ish
+ git+https://user@hostname/project/blah.git#commit-ish
+
+The `commit-ish` can be any tag, sha, or branch which can be supplied as
+an argument to `git checkout`. The default is `master`.
+
+## The package.json File
+
+You need to have a `package.json` file in the root of your project to do
+much of anything with npm. That is basically the whole interface.
+
+See `package.json(5)` for details about what goes in that file. At the very
+least, you need:
+
+* 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.
+
+ It does not necessarily need to match your github repository name.
+
+ So, `node-foo` and `bar-js` are bad names. `foo` or `bar` are better.
+
+* version:
+ A semver-compatible version.
+
+* 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.
+
+* author:
+ Take some credit.
+
+* scripts:
+ If you have a special compilation or installation script, then you
+ should put it in the `scripts` hash. You should definitely have at
+ least a basic smoke-test command as the "scripts.test" field.
+ See npm-scripts(7).
+
+* 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.
+
+* 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.
+
+You can use `npm init` in the root of your package in order to get you
+started with a pretty basic package.json file. See `npm-init(1)` for
+more info.
+
+## Keeping files *out* of your package
+
+Use a `.npmignore` file to keep stuff out of your package. If there's
+no `.npmignore` file, but there *is* a `.gitignore` file, then npm will
+ignore the stuff matched by the `.gitignore` file. If you *want* to
+include something that is excluded by your `.gitignore` file, you can
+create an empty `.npmignore` file to override it.
+
+By default, the following paths and files are ignored, so there's no
+need to add them to `.npmignore` explicitly:
+
+* `.*.swp`
+* `._*`
+* `.DS_Store`
+* `.git`
+* `.hg`
+* `.lock-wscript`
+* `.svn`
+* `.wafpickle-*`
+* `CVS`
+* `npm-debug.log`
+
+Additionally, everything in `node_modules` is ignored, except for
+bundled dependencies. npm automatically handles this for you, so don't
+bother adding `node_modules` to `.npmignore`.
+
+The following paths and files are never ignored, so adding them to
+`.npmignore` is pointless:
+
+* `package.json`
+* `README.*`
+
+## Link Packages
+
+`npm link` 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 `npm rebuild -g` to update compiled packages,
+of course.)
+
+More info at `npm-link(1)`.
+
+## Before Publishing: Make Sure Your Package Installs and Works
+
+**This is important.**
+
+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.
+
+In the root of your package, do this:
+
+ npm install . -g
+
+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:
+
+ npm link
+
+Use `npm ls -g` to see if it's there.
+
+To test a local install, go into some other folder, and then do:
+
+ cd ../some-other-folder
+ npm install ../my-package
+
+to install it locally into the node_modules folder in that other place.
+
+Then go into the node-repl, and try using require("my-thing") to
+bring in your module's main module.
+
+## Create a User Account
+
+Create a user with the adduser command. It works like this:
+
+ npm adduser
+
+and then follow the prompts.
+
+This is documented better in npm-adduser(1).
+
+## Publish your package
+
+This part's easy. IN the root of your folder, do this:
+
+ npm publish
+
+You can give publish a url to a tarball, or a filename of a tarball,
+or a path to a folder.
+
+Note that pretty much **everything in that folder will be exposed**
+by default. So, if you have secret stuff in there, use a
+`.npmignore` file to list out the globs to ignore, or publish
+from a fresh checkout.
+
+## Brag about it
+
+Send emails, write blogs, blab in IRC.
+
+Tell the world how easy it is to install your program!
+
+## SEE ALSO
+
+* npm-faq(7)
+* npm(1)
+* npm-init(1)
+* package.json(5)
+* npm-scripts(7)
+* npm-publish(1)
+* npm-adduser(1)
+* npm-registry(7)
diff --git a/deps/npm/doc/misc/npm-disputes.md b/deps/npm/doc/misc/npm-disputes.md
new file mode 100644
index 000000000..6e9f4bfcd
--- /dev/null
+++ b/deps/npm/doc/misc/npm-disputes.md
@@ -0,0 +1,98 @@
+npm-disputes(7) -- Handling Module Name Disputes
+================================================
+
+## SYNOPSIS
+
+1. Get the author email with `npm owner ls <pkgname>`
+2. Email the author, CC <i@izs.me>.
+3. After a few weeks, if there's no resolution, we'll sort it out.
+
+Don't squat on package names. Publish code or move out of the way.
+
+## DESCRIPTION
+
+There sometimes arise cases where a user publishes a module, and then
+later, some other user wants to use that name. Here are some common
+ways that happens (each of these is based on actual events.)
+
+1. Joe writes a JavaScript module `foo`, which is not node-specific.
+ Joe doesn't use node at all. Bob wants to use `foo` in node, so he
+ wraps it in an npm module. Some time later, Joe starts using node,
+ and wants to take over management of his program.
+2. Bob writes an npm module `foo`, and publishes it. Perhaps much
+ later, Joe finds a bug in `foo`, and fixes it. He sends a pull
+ request to Bob, but Bob doesn't have the time to deal with it,
+ because he has a new job and a new baby and is focused on his new
+ erlang project, and kind of not involved with node any more. Joe
+ would like to publish a new `foo`, but can't, because the name is
+ taken.
+3. Bob writes a 10-line flow-control library, and calls it `foo`, and
+ publishes it to the npm registry. Being a simple little thing, it
+ never really has to be updated. Joe works for Foo Inc, the makers
+ of the critically acclaimed and widely-marketed `foo` JavaScript
+ toolkit framework. They publish it to npm as `foojs`, but people are
+ routinely confused when `npm install foo` is some different thing.
+4. Bob writes a parser for the widely-known `foo` file format, because
+ he needs it for work. Then, he gets a new job, and never updates the
+ prototype. Later on, Joe writes a much more complete `foo` parser,
+ but can't publish, because Bob's `foo` is in the way.
+
+The validity of Joe's claim in each situation can be debated. However,
+Joe's appropriate course of action in each case is the same.
+
+1. `npm owner ls foo`. This will tell Joe the email address of the
+ owner (Bob).
+2. Joe emails Bob, explaining the situation **as respectfully as possible**,
+ and what he would like to do with the module name. He adds
+ isaacs <i@izs.me> to the CC list of the email. Mention in the email
+ that Bob can run `npm owner add joe foo` to add Joe as an owner of
+ the `foo` package.
+3. After a reasonable amount of time, if Bob has not responded, or if
+ Bob and Joe can't come to any sort of resolution, email isaacs
+ <i@izs.me> and we'll sort it out. ("Reasonable" is usually about 4
+ weeks, but extra time is allowed around common holidays.)
+
+## REASONING
+
+In almost every case so far, the parties involved have been able to reach
+an amicable resolution without any major intervention. Most people
+really do want to be reasonable, and are probably not even aware that
+they're in your way.
+
+Module ecosystems are most vibrant and powerful when they are as
+self-directed as possible. If an admin one day deletes something you
+had worked on, then that is going to make most people quite upset,
+regardless of the justification. When humans solve their problems by
+talking to other humans with respect, everyone has the chance to end up
+feeling good about the interaction.
+
+## EXCEPTIONS
+
+Some things are not allowed, and will be removed without discussion if
+they are brought to the attention of the npm registry admins, including
+but not limited to:
+
+1. Malware (that is, a package designed to exploit or harm the machine on
+ which it is installed).
+2. Violations of copyright or licenses (for example, cloning an
+ MIT-licensed program, and then removing or changing the copyright and
+ license statement).
+3. Illegal content.
+4. "Squatting" on a package name that you *plan* to use, but aren't
+ actually using. Sorry, I don't care how great the name is, or how
+ perfect a fit it is for the thing that someday might happen. If
+ someone wants to use it today, and you're just taking up space with
+ an empty tarball, you're going to be evicted.
+5. Putting empty packages in the registry. Packages must have SOME
+ functionality. It can be silly, but it can't be *nothing*. (See
+ also: squatting.)
+6. Doing weird things with the registry, like using it as your own
+ personal application database or otherwise putting non-packagey
+ things into it.
+
+If you see bad behavior like this, please report it right away.
+
+## SEE ALSO
+
+* npm-registry(7)
+* npm-owner(1)
diff --git a/deps/npm/doc/misc/npm-faq.md b/deps/npm/doc/misc/npm-faq.md
new file mode 100644
index 000000000..32493d36e
--- /dev/null
+++ b/deps/npm/doc/misc/npm-faq.md
@@ -0,0 +1,355 @@
+npm-faq(7) -- Frequently Asked Questions
+========================================
+
+## Where can I find these docs in HTML?
+
+<https://npmjs.org/doc/>, or run:
+
+ npm config set viewer browser
+
+to open these documents in your default web browser rather than `man`.
+
+## It didn't work.
+
+That's not really a question.
+
+## Why didn't it work?
+
+I don't know yet.
+
+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.
+
+## Where does npm put stuff?
+
+See `npm-folders(5)`
+
+tl;dr:
+
+* Use the `npm root` command to see where modules go, and the `npm bin`
+ command to see where executables go
+* Global installs are different from local installs. If you install
+ something with the `-g` flag, then its executables go in `npm bin -g`
+ and its modules go in `npm root -g`.
+
+## How do I install something on my computer in a central location?
+
+Install it globally by tacking `-g` or `--global` to the command. (This
+is especially important for command line utilities that need to add
+their bins to the global system `PATH`.)
+
+## I installed something globally, but I can't `require()` it
+
+Install it locally.
+
+The global install location is a place for command-line utilities
+to put their bins in the system `PATH`. It's not for use with `require()`.
+
+If you `require()` a module in your code, then that means it's a
+dependency, and a part of your program. You need to install it locally
+in your program.
+
+## Why can't npm just put everything in one place, like other package managers?
+
+Not every change is an improvement, but every improvement is a change.
+This would be like asking git to do network IO for every commit. It's
+not going to happen, because it's a terrible idea that causes more
+problems than it solves.
+
+It is much harder to avoid dependency conflicts without nesting
+dependencies. This is fundamental to the way that npm works, and has
+proven to be an extremely successful approach. See `npm-folders(5)` for
+more details.
+
+If you want a package to be installed in one place, and have all your
+programs reference the same copy of it, then use the `npm link` command.
+That's what it's for. Install it globally, then link it into each
+program that uses it.
+
+## Whatever, I really want the old style 'everything global' style.
+
+Write your own package manager, then. It's not that hard.
+
+npm will not help you do something that is known to be a bad idea.
+
+## Should I check my `node_modules` folder into git?
+
+Mikeal Rogers answered this question very well:
+
+<http://www.mikealrogers.com/posts/nodemodules-in-git.html>
+
+tl;dr
+
+* Check `node_modules` into git for things you **deploy**, such as
+ websites and apps.
+* Do not check `node_modules` into git for libraries and modules
+ intended to be reused.
+* Use npm to manage dependencies in your dev environment, but not in
+ your deployment scripts.
+
+## Is it 'npm' or 'NPM' or 'Npm'?
+
+npm should never be capitalized unless it is being displayed in a
+location that is customarily all-caps (such as the title of man pages.)
+
+## 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.)
+
+"NPM", however, *is* an acronym (more precisely, a capitonym) for the
+National Association of Pastoral Musicians. You can learn more
+about them at <http://npm.org/>.
+
+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 <http://www.cabiatl.com/mricro/npm/>.
+
+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 `yinst`. If `npm` was ever an
+acronym for anything, it was `node pm` or maybe `new pm`.
+
+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 `-` 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.
+
+## How do I list installed packages?
+
+`npm ls`
+
+## How do I search for packages?
+
+`npm search`
+
+Arguments are greps. `npm search jsdom` shows jsdom packages.
+
+## How do I update npm?
+
+ npm update npm -g
+
+You can also update all outdated local packages by doing `npm update` without
+any arguments, or global packages by doing `npm update -g`.
+
+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 `update`
+command.)
+
+In those cases, you can do this:
+
+ curl https://npmjs.org/install.sh | sh
+
+## What is a `package`?
+
+A package is:
+
+* a) a folder containing a program described by a package.json file
+* b) a gzipped tarball containing (a)
+* c) a url that resolves to (b)
+* d) a `<name>@<version>` that is published on the registry with (c)
+* e) a `<name>@<tag>` that points to (d)
+* f) a `<name>` that has a "latest" tag satisfying (e)
+* g) a `git` url that, when cloned, results in (a).
+
+Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b).
+
+Git urls can be of the form:
+
+ git://github.com/user/project.git#commit-ish
+ git+ssh://user@hostname:project.git#commit-ish
+ git+http://user@hostname/project/blah.git#commit-ish
+ git+https://user@hostname/project/blah.git#commit-ish
+
+The `commit-ish` can be any tag, sha, or branch which can be supplied as
+an argument to `git checkout`. The default is `master`.
+
+## What is a `module`?
+
+A module is anything that can be loaded with `require()` in a Node.js
+program. The following things are all examples of things that can be
+loaded as modules:
+
+* A folder with a `package.json` file containing a `main` field.
+* A folder with an `index.js` file in it.
+* A JavaScript file.
+
+Most npm packages are modules, because they are libraries that you
+load with `require`. However, there's no requirement that an npm
+package be a module! Some only contain an executable command-line
+interface, and don't provide a `main` field for use in Node programs.
+
+Almost all npm packages (at least, those that are Node programs)
+*contain* many modules within them (because every file they load with
+`require()` is a module).
+
+In the context of a Node program, the `module` is also the thing that
+was loaded *from* a file. For example, in the following program:
+
+ var req = require('request')
+
+we might say that "The variable `req` refers to the `request` module".
+
+## So, why is it the "`node_modules`" folder, but "`package.json`" file? Why not `node_packages` or `module.json`?
+
+The `package.json` file defines the package. (See "What is a
+package?" above.)
+
+The `node_modules` folder is the place Node.js looks for modules.
+(See "What is a module?" above.)
+
+For example, if you create a file at `node_modules/foo.js` and then
+had a program that did `var f = require('foo.js')` then it would load
+the module. However, `foo.js` is not a "package" in this case,
+because it does not have a package.json.
+
+Alternatively, if you create a package which does not have an
+`index.js` or a `"main"` field in the `package.json` file, then it is
+not a module. Even if it's installed in `node_modules`, it can't be
+an argument to `require()`.
+
+## `"node_modules"` is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?
+
+No. This will never happen. This question comes up sometimes,
+because it seems silly from the outside that npm couldn't just be
+configured to put stuff somewhere else, and then npm could load them
+from there. It's an arbitrary spelling choice, right? What's the big
+deal?
+
+At the time of this writing, the string `'node_modules'` appears 151
+times in 53 separate files in npm and node core (excluding tests and
+documentation).
+
+Some of these references are in node's built-in module loader. Since
+npm is not involved **at all** at run-time, node itself would have to
+be configured to know where you've decided to stick stuff. Complexity
+hurdle #1. Since the Node module system is locked, this cannot be
+changed, and is enough to kill this request. But I'll continue, in
+deference to your deity's delicate feelings regarding spelling.
+
+Many of the others are in dependencies that npm uses, which are not
+necessarily tightly coupled to npm (in the sense that they do not read
+npm's configuration files, etc.) Each of these would have to be
+configured to take the name of the `node_modules` folder as a
+parameter. Complexity hurdle #2.
+
+Furthermore, npm has the ability to "bundle" dependencies by adding
+the dep names to the `"bundledDependencies"` list in package.json,
+which causes the folder to be included in the package tarball. What
+if the author of a module bundles its dependencies, and they use a
+different spelling for `node_modules`? npm would have to rename the
+folder at publish time, and then be smart enough to unpack it using
+your locally configured name. Complexity hurdle #3.
+
+Furthermore, what happens when you *change* this name? Fine, it's
+easy enough the first time, just rename the `node_modules` folders to
+`./blergyblerp/` or whatever name you choose. But what about when you
+change it again? npm doesn't currently track any state about past
+configuration settings, so this would be rather difficult to do
+properly. It would have to track every previous value for this
+config, and always accept any of them, or else yesterday's install may
+be broken tomorrow. Complexity hurdle #5.
+
+Never going to happen. The folder is named `node_modules`. It is
+written indelibly in the Node Way, handed down from the ancient times
+of Node 0.3.
+
+## How do I install node with npm?
+
+You don't. Try one of these node version managers:
+
+Unix:
+
+* <http://github.com/isaacs/nave>
+* <http://github.com/visionmedia/n>
+* <http://github.com/creationix/nvm>
+
+Windows:
+
+* <http://github.com/marcelklehr/nodist>
+* <https://github.com/hakobera/nvmw>
+
+## How can I use npm for development?
+
+See `npm-developers(7)` and `package.json(5)`.
+
+You'll most likely want to `npm link` your development folder. That's
+awesomely handy.
+
+To set up your own private registry, check out `npm-registry(7)`.
+
+## 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.)
+
+## How do I symlink to a dev folder so I don't have to keep re-installing?
+
+See `npm-link(1)`
+
+## The package registry website. What is that exactly?
+
+See `npm-registry(7)`.
+
+## I forgot my password, and can't publish. How do I reset it?
+
+Go to <https://npmjs.org/forgot>.
+
+## I get ECONNREFUSED a lot. What's up?
+
+Either the registry is down, or node's DNS isn't able to reach out.
+
+To check if the registry is down, open up <http://registry.npmjs.org/>
+in a web browser. This will also tell you if you are just unable to
+access the internet for some reason.
+
+If the registry IS down, let me know by emailing <i@izs.me> or posting
+an issue at <https://github.com/isaacs/npm/issues>. We'll have
+someone kick it or something.
+
+## Why no namespaces?
+
+Please see this discussion: <https://github.com/isaacs/npm/issues/798>
+
+tl;dr - It doesn't actually make things better, and can make them worse.
+
+If you want to namespace your own packages, you may: simply use the
+`-` character to separate the names. npm is a mostly anarchic system.
+There is not sufficient need to impose namespace rules on everyone.
+
+## Who does npm?
+
+`npm view npm author`
+
+`npm view npm contributors`
+
+## I have a question or request not addressed here. Where should I put it?
+
+Post an issue on the github project:
+
+* <https://github.com/isaacs/npm/issues>
+
+## Why does npm hate me?
+
+npm is not capable of hatred. It loves everyone, especially you.
+
+## SEE ALSO
+
+* npm(1)
+* npm-developers(7)
+* package.json(5)
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-config(7)
+* npm-folders(5)
diff --git a/deps/npm/doc/misc/npm-index.md b/deps/npm/doc/misc/npm-index.md
new file mode 100644
index 000000000..e6eba281f
--- /dev/null
+++ b/deps/npm/doc/misc/npm-index.md
@@ -0,0 +1,403 @@
+npm-index(7) -- Index of all npm documentation
+==============================================
+
+## README(1)
+
+node package manager
+
+# Command Line Documentation
+
+## npm(1)
+
+node package manager
+
+## 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-completion(1)
+
+Tab Completion for npm
+
+## npm-config(1)
+
+Manage the npm configuration files
+
+## npm-dedupe(1)
+
+Reduce duplication
+
+## npm-deprecate(1)
+
+Deprecate a version of a package
+
+## 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-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-link(1)
+
+Symlink a package folder
+
+## npm-ls(1)
+
+List installed packages
+
+## 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-restart(1)
+
+Start a package
+
+## npm-rm(1)
+
+Remove a package
+
+## npm-root(1)
+
+Display npm root
+
+## npm-run-script(1)
+
+Run arbitrary package scripts
+
+## npm-search(1)
+
+Search for packages
+
+## npm-shrinkwrap(1)
+
+Lock down dependency versions
+
+## npm-star(1)
+
+Mark your favorite packages
+
+## npm-stars(1)
+
+View packages marked as favorites
+
+## 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(3)
+
+node package manager
+
+## 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-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-shrinkwrap(3)
+
+programmatically generate package shrinkwrap file
+
+## 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
+
+# Files
+
+## npm-folders(5)
+
+Folder Structures Used by npm
+
+## npmrc(5)
+
+The npm config files
+
+## package.json(5)
+
+Specifics of npm's package.json handling
+
+# Misc
+
+## npm-coding-style(7)
+
+npm's "funny" coding style
+
+## npm-config(7)
+
+More than you probably want to know about npm configuration
+
+## npm-developers(7)
+
+Developer Guide
+
+## npm-disputes(7)
+
+Handling Module Name Disputes
+
+## npm-faq(7)
+
+Frequently Asked Questions
+
+## npm-index(7)
+
+Index of all npm documentation
+
+## npm-registry(7)
+
+The JavaScript Package Registry
+
+## npm-scripts(7)
+
+How npm handles the "scripts" field
+
+## removing-npm(7)
+
+Cleaning the Slate
+
+## semver(7)
+
+The semantic versioner for npm
+
diff --git a/deps/npm/doc/misc/npm-registry.md b/deps/npm/doc/misc/npm-registry.md
new file mode 100644
index 000000000..0081984f7
--- /dev/null
+++ b/deps/npm/doc/misc/npm-registry.md
@@ -0,0 +1,94 @@
+npm-registry(7) -- The JavaScript Package Registry
+==================================================
+
+## 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.
+
+Additionally, npm's package registry implementation supports several
+write APIs as well, to allow for publishing packages and managing user
+account information.
+
+The official public npm registry is at <http://registry.npmjs.org/>. It
+is powered by a CouchDB database at
+<http://isaacs.iriscouch.com/registry>. The code for the couchapp is
+available at <http://github.com/isaacs/npmjs.org>. npm user accounts
+are CouchDB users, stored in the <http://isaacs.iriscouch.com/_users>
+database.
+
+The registry URL is supplied by the `registry` config parameter. See
+`npm-config(1)`, `npmrc(5)`, and `npm-config(7)` for more on managing
+npm's configuration.
+
+## Can I run my own private registry?
+
+Yes!
+
+The easiest way is to replicate the couch database, and use the same (or
+similar) design doc to implement the APIs.
+
+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
+`--registry` config for that command.
+
+## I don't want my package published in the official registry. It's private.
+
+Set `"private": true` in your package.json to prevent it from being
+published at all, or
+`"publishConfig":{"registry":"http://my-internal-registry.local"}`
+to force it to be published only to your internal registry.
+
+See `package.json(5)` for more info on what goes in the package.json file.
+
+## 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.
+
+## Do I have to use couchdb to build a registry that npm can talk to?
+
+No, but it's way easier.
+
+## 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:
+
+ 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"
+ }
+
+(Keywords and description are optional, but recommended. Name,
+maintainers, and url are required.)
+
+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 <npm-@googlegroups.com> mailing list.
+
+## Is there a website or something to see package docs and such?
+
+Yes, head over to <https://npmjs.org/>
+
+## SEE ALSO
+
+* npm-config(1)
+* npm-config(7)
+* npmrc(5)
+* npm-developers(7)
+* npm-disputes(7)
diff --git a/deps/npm/doc/misc/npm-scripts.md b/deps/npm/doc/misc/npm-scripts.md
new file mode 100644
index 000000000..b3f47699a
--- /dev/null
+++ b/deps/npm/doc/misc/npm-scripts.md
@@ -0,0 +1,245 @@
+npm-scripts(7) -- How npm handles the "scripts" field
+=====================================================
+
+## DESCRIPTION
+
+npm supports the "scripts" member of the package.json script, for the
+following scripts:
+
+* prepublish:
+ Run BEFORE the package is published. (Also run on local `npm
+ install` without any arguments.)
+* publish, postpublish:
+ Run AFTER the package is published.
+* preinstall:
+ Run BEFORE the package is installed
+* install, postinstall:
+ Run AFTER the package is installed.
+* preuninstall, uninstall:
+ Run BEFORE the package is uninstalled.
+* postuninstall:
+ Run AFTER the package is uninstalled.
+* preupdate:
+ Run BEFORE the package is updated with the update command.
+* update, postupdate:
+ Run AFTER the package is updated with the update command.
+* pretest, test, posttest:
+ Run by the `npm test` command.
+* prestop, stop, poststop:
+ Run by the `npm stop` command.
+* prestart, start, poststart:
+ Run by the `npm start` command.
+* prerestart, restart, postrestart:
+ Run by the `npm restart` command. Note: `npm restart` will run the
+ stop and start scripts if no `restart` script is provided.
+
+Additionally, arbitrary scrips can be run by doing
+`npm run-script <stage> <pkg>`.
+
+## NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN
+
+**tl;dr** Don't use `install`. Use a `.gyp` file for compilation, and
+`prepublish` for anything else.
+
+You should almost never have to explicitly set a `preinstall` or
+`install` script. If you are doing this, please consider if there is
+another option.
+
+The only valid use of `install` or `preinstall` scripts is for
+compilation which must be done on the target architecture. In early
+versions of node, this was often done using the `node-waf` scripts, or
+a standalone `Makefile`, and early versions of npm required that it be
+explicitly set in package.json. This was not portable, and harder to
+do properly.
+
+In the current version of node, the standard way to do this is using a
+`.gyp` file. If you have a file with a `.gyp` extension in the root
+of your package, then npm will run the appropriate `node-gyp` commands
+automatically at install time. This is the only officially supported
+method for compiling binary addons, and does not require that you add
+anything to your package.json file.
+
+If you have to do other things before your package is used, in a way
+that is not dependent on the operating system or architecture of the
+target system, then use a `prepublish` script instead. This includes
+tasks such as:
+
+* Compile CoffeeScript source code into JavaScript.
+* Create minified versions of JavaScript source code.
+* Fetching remote resources that your package will use.
+
+The advantage of doing these things at `prepublish` time instead of
+`preinstall` or `install` time is that they can be done once, in a
+single place, and thus greatly reduce complexity and variability.
+Additionally, this means that:
+
+* You can depend on `coffee-script` as a `devDependency`, and thus
+ your users don't need to have it installed.
+* You don't need to include the minifiers in your package, reducing
+ the size for your users.
+* You don't need to rely on your users having `curl` or `wget` or
+ other system tools on the target machines.
+
+## DEFAULT VALUES
+
+npm will default some script values based on package contents.
+
+* `"start": "node server.js"`:
+
+ If there is a `server.js` file in the root of your package, then npm
+ will default the `start` command to `node server.js`.
+
+* `"preinstall": "node-waf clean || true; node-waf configure build"`:
+
+ If there is a `wscript` file in the root of your package, npm will
+ default the `preinstall` command to compile using node-waf.
+
+## USER
+
+If npm was invoked with root privileges, then it will change the uid
+to the user account or uid specified by the `user` config, which
+defaults to `nobody`. Set the `unsafe-perm` flag to run scripts with
+root privileges.
+
+## 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.
+
+
+### path
+
+If you depend on modules that define executable scripts, like test
+suites, then those executables will be added to the `PATH` for
+executing the scripts. So, if your package.json has this:
+
+ { "name" : "foo"
+ , "dependencies" : { "bar" : "0.1.x" }
+ , "scripts": { "start" : "bar ./test" } }
+
+then you could run `npm start` to execute the `bar` script, which is
+exported into the `node_modules/.bin` directory on `npm install`.
+
+### package.json vars
+
+The package.json fields are tacked onto the `npm_package_` prefix. So,
+for instance, if you had `{"name":"foo", "version":"1.2.5"}` in your
+package.json file, then your package scripts would have the
+`npm_package_name` environment variable set to "foo", and the
+`npm_package_version` set to "1.2.5"
+
+### configuration
+
+Configuration parameters are put in the environment with the
+`npm_config_` prefix. For instance, you can view the effective `root`
+config by checking the `npm_config_root` environment variable.
+
+### Special: package.json "config" hash
+
+The package.json "config" keys are overwritten in the environment if
+there is a config param of `<name>[@<version>]:<key>`. For example,
+if the package.json has this:
+
+ { "name" : "foo"
+ , "config" : { "port" : "8080" }
+ , "scripts" : { "start" : "node server.js" } }
+
+and the server.js is this:
+
+ http.createServer(...).listen(process.env.npm_package_config_port)
+
+then the user could change the behavior by doing:
+
+ npm config set foo:port 80
+
+### current lifecycle event
+
+Lastly, the `npm_lifecycle_event` 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.
+
+Objects are flattened following this format, so if you had
+`{"scripts":{"install":"foo.js"}}` in your package.json, then you'd
+see this in the script:
+
+ process.env.npm_package_scripts_install === "foo.js"
+
+## EXAMPLES
+
+For example, if your package.json contains this:
+
+ { "scripts" :
+ { "install" : "scripts/install.js"
+ , "postinstall" : "scripts/install.js"
+ , "uninstall" : "scripts/uninstall.js"
+ }
+ }
+
+then the `scripts/install.js` will be called for the install,
+post-install, stages of the lifecycle, and the `scripts/uninstall.js`
+would be called when the package is uninstalled. Since
+`scripts/install.js` is running for three different phases, it would
+be wise in this case to look at the `npm_lifecycle_event` environment
+variable.
+
+If you want to run a make command, you can do so. This works just
+fine:
+
+ { "scripts" :
+ { "preinstall" : "./configure"
+ , "install" : "make && make install"
+ , "test" : "make test"
+ }
+ }
+
+## EXITING
+
+Scripts are run by passing the line as a script argument to `sh`.
+
+If the script exits with a code other than 0, then this will abort the
+process.
+
+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.
+
+## 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.
+
+Place an executable file at `node_modules/.hooks/{eventname}`, 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.
+
+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.
+
+## BEST PRACTICES
+
+* Don't exit with a non-zero error code unless you *really* 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.
+* Try not to use scripts to do what npm can do for you. Read through
+ `package.json(5)` 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.
+* Inspect the env to determine where to put things. For instance, if
+ the `npm_config_binroot` environ is set to `/home/user/bin`, then
+ don't try to install executables into `/usr/local/bin`. The user
+ probably set it up that way for a reason.
+* 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.
+
+## SEE ALSO
+
+* npm-run-script(1)
+* package.json(5)
+* npm-developers(7)
+* npm-install(1)
diff --git a/deps/npm/doc/cli/removing-npm.md b/deps/npm/doc/misc/removing-npm.md
index bedd28a2f..bedd28a2f 100644
--- a/deps/npm/doc/cli/removing-npm.md
+++ b/deps/npm/doc/misc/removing-npm.md
diff --git a/deps/npm/doc/misc/semver.md b/deps/npm/doc/misc/semver.md
new file mode 100644
index 000000000..b8e193948
--- /dev/null
+++ b/deps/npm/doc/misc/semver.md
@@ -0,0 +1,111 @@
+semver(7) -- The semantic versioner for npm
+===========================================
+
+## Usage
+
+ $ npm install semver
+
+ semver.valid('1.2.3') // '1.2.3'
+ semver.valid('a.b.c') // null
+ 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
+
+As a command-line utility:
+
+ $ semver -h
+
+ Usage: semver <version> [<version> [...]] [-r <range> | -i <inc> | -d <dec>]
+ Test if version(s) satisfy the supplied range(s), and sort them.
+
+ Multiple versions or ranges may be supplied, unless increment
+ or decrement options are specified. In that case, only a single
+ version may be used, and it is incremented by the specified level
+
+ 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.
+
+## Versions
+
+A "version" is described by the v2.0.0 specification found at
+<http://semver.org/>.
+
+A leading `"="` or `"v"` character is stripped off and ignored.
+
+## Ranges
+
+The following range styles are supported:
+
+* `1.2.3` A specific version. When nothing else will do. Note that
+ build metadata is still ignored, so `1.2.3+build2012` will satisfy
+ this range.
+* `>1.2.3` Greater than a specific version.
+* `<1.2.3` Less than a specific version. If there is no prerelease
+ tag on the version range, then no prerelease version will be allowed
+ either, even though these are technically "less than".
+* `>=1.2.3` Greater than or equal to. Note that prerelease versions
+ are NOT equal to their "normal" equivalents, so `1.2.3-beta` will
+ not satisfy this range, but `2.3.0-beta` will.
+* `<=1.2.3` Less than or equal to. In this case, prerelease versions
+ ARE allowed, so `1.2.3-beta` would satisfy.
+* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
+* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When
+ using tilde operators, prerelease versions are supported as well,
+ but a prerelease of the next significant digit will NOT be
+ satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.
+* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"
+* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"
+* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"
+* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"
+
+
+Ranges can be joined with either a space (which implies "and") or a
+`||` (which implies "or").
+
+## Functions
+
+All methods and classes take a final `loose` boolean argument that, if
+true, will be more forgiving about not-quite-valid semver strings.
+The resulting output will always be 100% strict, of course.
+
+Strict-mode Comparators and Ranges will be strict about the SemVer
+strings that they parse.
+
+* valid(v): Return the parsed version, or null if it's not valid.
+* inc(v, release): Return the version incremented by the release type
+ (major, minor, patch, or prerelease), or null if it's not valid.
+
+### Comparison
+
+* gt(v1, v2): `v1 > v2`
+* gte(v1, v2): `v1 >= v2`
+* lt(v1, v2): `v1 < v2`
+* lte(v1, v2): `v1 <= v2`
+* eq(v1, v2): `v1 == v2` This is true if they're logically equivalent,
+ even if they're not the exact same string. You already know how to
+ compare strings.
+* neq(v1, v2): `v1 != v2` The opposite of eq.
+* cmp(v1, comparator, v2): Pass in a comparison string, and it'll call
+ the corresponding function above. `"==="` and `"!=="` do simple
+ string comparison, but are included for completeness. Throws if an
+ invalid comparison string is provided.
+* 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().
+* rcompare(v1, v2): The reverse of compare. Sorts an array of versions
+ in descending order when passed to Array.sort().
+
+
+### Ranges
+
+* validRange(range): Return the valid range or null if it's not valid
+* satisfies(version, range): Return true if the version satisfies the
+ range.
+* maxSatisfying(versions, range): Return the highest version in the list
+ that satisfies the range, or null if none of them do.
diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/api/bin.html
deleted file mode 100644
index 1c13946b1..000000000
--- a/deps/npm/html/api/bin.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!doctype html>
-<html>
- <title>bin</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index d36c2f6c0..000000000
--- a/deps/npm/html/api/bugs.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>bugs</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.2.25</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
deleted file mode 100644
index 06d8fef76..000000000
--- a/deps/npm/html/api/commands.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!doctype html>
-<html>
- <title>commands</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index 566ab95e3..000000000
--- a/deps/npm/html/api/config.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!doctype html>
-<html>
- <title>config</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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&#39;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.2.25</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
deleted file mode 100644
index 3bdc61684..000000000
--- a/deps/npm/html/api/deprecate.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html>
- <title>deprecate</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;args&#39; 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>
-
-<p>To un-deprecate a package, specify an empty string (<code>&quot;&quot;</code>) for the <code>message</code> argument.</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.2.25</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
deleted file mode 100644
index 24c8b2170..000000000
--- a/deps/npm/html/api/docs.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>docs</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.2.25</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
deleted file mode 100644
index c59872895..000000000
--- a/deps/npm/html/api/edit.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!doctype html>
-<html>
- <title>edit</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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([&quot;connect&quot;], 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.2.25</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
deleted file mode 100644
index 1f7a23387..000000000
--- a/deps/npm/html/api/explore.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!doctype html>
-<html>
- <title>explore</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;args&#39; parameter must be a package name. After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
-</div>
-<p id="footer">explore &mdash; npm@1.2.25</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
deleted file mode 100644
index ff6480c59..000000000
--- a/deps/npm/html/api/help-search.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html>
- <title>help-search</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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, {&quot;npm&quot;: 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.2.25</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
deleted file mode 100644
index 376442c95..000000000
--- a/deps/npm/html/api/init.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!doctype html>
-<html>
- <title>init</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;ve selected.</p>
-
-<p>If you already have a package.json file, it&#39;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&#39;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&#39;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.2.25</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
deleted file mode 100644
index e9ce58084..000000000
--- a/deps/npm/html/api/install.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>install</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;where&#39; parameter is optional and only used internally, and it specifies
-where the packages should be installed to.</p>
-
-<p>The &#39;packages&#39; parameter is an array of strings. Each element in the array is
-the name of a package to be installed.</p>
-
-<p>Finally, &#39;callback&#39; is a function that will be called when all packages have been
-installed or when an error has been encountered.</p>
-</div>
-<p id="footer">install &mdash; npm@1.2.25</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
deleted file mode 100644
index c8aab05ed..000000000
--- a/deps/npm/html/api/link.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!doctype html>
-<html>
- <title>link</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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
-&quot;snapshotted&quot; 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(&#39;redis&#39;, cb) # link-install the package</code></pre>
-
-<p>Now, any changes to the redis package will be reflected in
-the package in the current working directory</p>
-</div>
-<p id="footer">link &mdash; npm@1.2.25</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
deleted file mode 100644
index 338bd9285..000000000
--- a/deps/npm/html/api/load.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html>
- <title>load</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>{
- &quot;dev&quot;: 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.2.25</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
deleted file mode 100644
index 1279f61e3..000000000
--- a/deps/npm/html/api/ls.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!doctype html>
-<html>
- <title>ls</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>
-
-<p>Callback is provided an error if one occurred, the full data about which
-packages are installed and which dependencies they will receive, and a
-&quot;lite&quot; data object which just shows which versions are installed where.
-Note that the full data object is a circular structure, so care must be
-taken if it is serialized to JSON.</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&#39;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.2.25</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
deleted file mode 100644
index ba7acac67..000000000
--- a/deps/npm/html/api/npm.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<!doctype html>
-<html>
- <title>npm</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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(&quot;npm&quot;)
-npm.load([configObject,] function (er, npm) {
- // use the npm object, now that it&#39;s loaded.
-
- npm.config.set(key, val)
- val = npm.config.get(key)
-
- console.log(&quot;prefix = %s&quot;, npm.prefix)
-
- npm.commands.install([&quot;package&quot;], cb)
-})</code></pre>
-
-<h2 id="VERSION">VERSION</h2>
-
-<p>1.2.25</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&#39;s commands, <code>npm.load()</code> must be called.
-If you provide <code>configObject</code> as an object hash of top-level
-configs, they override the values stored in the various config
-locations. 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&#39;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&#39;s temporary working directory.</p></li><li><p><code>npm.deref</code></p><p>Get the &quot;real&quot; 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(&quot;npm&quot;)
-&gt; npm.load() // wait a sec...
-&gt; npm.install(&quot;dnode&quot;, &quot;express&quot;)</code></pre>
-
-<p>Note that that <em>won&#39;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(&quot;unp&quot;) // cmd === &quot;unpublish&quot;</code></pre>
-</div>
-<p id="footer">npm &mdash; npm@1.2.25</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
deleted file mode 100644
index 5ce40033f..000000000
--- a/deps/npm/html/api/outdated.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!doctype html>
-<html>
- <title>outdated</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;packages&#39; parameter is left out, npm will check all packages.</p>
-</div>
-<p id="footer">outdated &mdash; npm@1.2.25</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
deleted file mode 100644
index 1713814ce..000000000
--- a/deps/npm/html/api/owner.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<html>
- <title>owner</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;args&#39; 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&#39;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.2.25</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
deleted file mode 100644
index ce08d5628..000000000
--- a/deps/npm/html/api/pack.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>pack</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.2.25</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
deleted file mode 100644
index 269b05974..000000000
--- a/deps/npm/html/api/prefix.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html>
-<html>
- <title>prefix</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>&#39;args&#39; is never used and callback is never called with data.
-&#39;args&#39; must be present or things will break.</p>
-
-<p>This function is not useful programmatically</p>
-</div>
-<p id="footer">prefix &mdash; npm@1.2.25</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
deleted file mode 100644
index e69bcd8f6..000000000
--- a/deps/npm/html/api/prune.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!doctype html>
-<html>
- <title>prune</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;extraneous&quot; 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&#39;s dependencies list.</p>
-</div>
-<p id="footer">prune &mdash; npm@1.2.25</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
deleted file mode 100644
index ae1ae6203..000000000
--- a/deps/npm/html/api/publish.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html>
- <title>publish</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;packages&#39; 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 &quot;force&quot; 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.2.25</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
deleted file mode 100644
index edcddbda2..000000000
--- a/deps/npm/html/api/rebuild.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html>
- <title>rebuild</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;packages&#39; 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.2.25</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
deleted file mode 100644
index 4a266f9ba..000000000
--- a/deps/npm/html/api/restart.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!doctype html>
-<html>
- <title>restart</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;restart&quot; script, if one was provided.
-Otherwise it runs package&#39;s &quot;stop&quot; script, if one was provided, and then
-the &quot;start&quot; script.</p>
-
-<p>If no version is specified, then it restarts the &quot;active&quot; 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.2.25</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
deleted file mode 100644
index 84ab575b9..000000000
--- a/deps/npm/html/api/root.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html>
-<html>
- <title>root</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>&#39;args&#39; is never used and callback is never called with data.
-&#39;args&#39; must be present or things will break.</p>
-
-<p>This function is not useful programmatically.</p>
-</div>
-<p id="footer">root &mdash; npm@1.2.25</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
deleted file mode 100644
index c98e9ef6d..000000000
--- a/deps/npm/html/api/run-script.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html>
-<html>
- <title>run-script</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;scripts&quot; object.</p>
-
-<p>It is used by the test, start, restart, and stop commands, but can be
-called directly, as well.</p>
-
-<p>The &#39;args&#39; 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.2.25</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
deleted file mode 100644
index 5532f8ec2..000000000
--- a/deps/npm/html/api/search.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!doctype html>
-<html>
- <title>search</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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. &quot;Fresh&quot; 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 &#39;words&#39; 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 &quot;searchexclude&quot; config). The search is case insensitive
-and doesn&#39;t try to read your mind (it doesn&#39;t do any verb tense matching or the
-like).</p>
-</div>
-<p id="footer">search &mdash; npm@1.2.25</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/shrinkwrap.html b/deps/npm/html/api/shrinkwrap.html
deleted file mode 100644
index 14f0a1dd9..000000000
--- a/deps/npm/html/api/shrinkwrap.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html>
- <title>shrinkwrap</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../api/shrinkwrap.html">shrinkwrap</a></h1> <p>programmatically generate package shrinkwrap file</p>
-
-<h2 id="SYNOPSIS">SYNOPSIS</h2>
-
-<pre><code>npm.commands.shrinkwrap(args, [silent,] callback)</code></pre>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>This acts much the same ways as shrinkwrapping on the command-line.</p>
-
-<p>This command does not take any arguments, but &#39;args&#39; must be defined.
-Beyond that, if any arguments are passed in, npm will politely warn that it
-does not take positional arguments.</p>
-
-<p>If the &#39;silent&#39; parameter is set to true, nothing will be output to the screen,
-but the shrinkwrap file will still be written.</p>
-
-<p>Finally, &#39;callback&#39; is a function that will be called when the shrinkwrap has
-been saved.</p>
-</div>
-<p id="footer">shrinkwrap &mdash; npm@1.2.25</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
deleted file mode 100644
index e64afdfc7..000000000
--- a/deps/npm/html/api/start.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!doctype html>
-<html>
- <title>start</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;start&quot; 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.2.25</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
deleted file mode 100644
index a6fa24839..000000000
--- a/deps/npm/html/api/stop.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!doctype html>
-<html>
- <title>stop</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;stop&quot; 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.2.25</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
deleted file mode 100644
index b885407f5..000000000
--- a/deps/npm/html/api/submodule.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!doctype html>
-<html>
- <title>submodule</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.2.25</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
deleted file mode 100644
index b0ac27091..000000000
--- a/deps/npm/html/api/tag.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html>
-<html>
- <title>tag</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;package@version&#39; 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.2.25</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
deleted file mode 100644
index 82341cf23..000000000
--- a/deps/npm/html/api/test.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html>
- <title>test</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;test&quot; 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.2.25</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
deleted file mode 100644
index 6a36b809d..000000000
--- a/deps/npm/html/api/uninstall.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html>
- <title>uninstall</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;packages&#39; parameter is an array of strings. Each element in the array is
-the name of a package to be uninstalled.</p>
-
-<p>Finally, &#39;callback&#39; is a function that will be called when all packages have been
-uninstalled or when an error has been encountered.</p>
-</div>
-<p id="footer">uninstall &mdash; npm@1.2.25</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
deleted file mode 100644
index 9c27fca8e..000000000
--- a/deps/npm/html/api/unpublish.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html>
- <title>unpublish</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index c6520c2b0..000000000
--- a/deps/npm/html/api/update.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!doctype html>
-<html>
- <title>update</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &#39;packages&#39; argument is an array of packages to update. The &#39;callback&#39; parameter will be called when done or when an error occurs.</p>
-</div>
-<p id="footer">update &mdash; npm@1.2.25</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
deleted file mode 100644
index c058fc264..000000000
--- a/deps/npm/html/api/version.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!doctype html>
-<html>
- <title>version</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index 2827e46b1..000000000
--- a/deps/npm/html/api/view.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!doctype html>
-<html>
- <title>view</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;args&quot; 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 (&quot;field.subfield&quot;)
-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([&quot;connect&quot;], callback)</code></pre>
-
-<p>If no version is specified, &quot;latest&quot; 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([&quot;ronn@0.3.5&quot;, &quot;dependencies&quot;], 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([&quot;npm&quot;, &quot;repository.url&quot;], 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 &quot;express&quot; project, you can do this:</p>
-
-<pre><code>npm.commands.view([&quot;express&quot;, &quot;contributors.email&quot;], 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([&quot;express&quot;, &quot;contributors[0].email&quot;], 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([&quot;express&quot;, &quot;contributors.name&quot;, &quot;contributors.email&quot;], callback)</code></pre>
-
-<p>&quot;Person&quot; 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([&quot;npm&quot;, &quot;contributors&quot;], 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([&quot;yui3@&#39;&gt;0.5.4&#39;&quot;, &quot;dependencies.jsdom&quot;], 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 &#39;silent&#39; 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.2.25</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
deleted file mode 100644
index 390a70fc7..000000000
--- a/deps/npm/html/api/whoami.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html>
-<html>
- <title>whoami</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>&#39;args&#39; is never used and callback is never called with data.
-&#39;args&#39; must be present or things will break.</p>
-
-<p>This function is not useful programmatically</p>
-</div>
-<p id="footer">whoami &mdash; npm@1.2.25</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
index 923f0a8e1..9d666ede3 100644
--- a/deps/npm/html/doc/README.html
+++ b/deps/npm/html/doc/README.html
@@ -6,7 +6,7 @@
<body>
<div id="wrapper">
-<h1><a href="../doc/npm.html">npm</a></h1> <p>node package manager</p>
+<h1><a href="cli/npm.html">npm</a></h1> <p>node package manager</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>
@@ -16,7 +16,7 @@
<h2 id="IMPORTANT">IMPORTANT</h2>
-<p><strong>You need node v0.6 or higher to run this program.</strong></p>
+<p><strong>You need node v0.8 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>
@@ -238,9 +238,9 @@ will no doubt tell you to put the output in a gist or email.</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>
+<ul><li><a href="cli/npm.html">npm(1)</a></li><li><a href="cli/npm-faq.html">npm-faq(1)</a></li><li><a href="cli/npm-help.html">npm-help(1)</a></li><li><a href="cli/npm-index.html">npm-index(1)</a></li></ul>
</div>
-<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.2.25</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.3.3</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
@@ -272,4 +272,3 @@ 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
deleted file mode 100644
index 97637358e..000000000
--- a/deps/npm/html/doc/adduser.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!doctype html>
-<html>
- <title>adduser</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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/api/npm-bin.html b/deps/npm/html/doc/api/npm-bin.html
new file mode 100644
index 000000000..d382f6cc5
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-bin.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html>
+ <title>npm-bin</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-bin.html">npm-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">npm-bin &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-bugs.html b/deps/npm/html/doc/api/npm-bugs.html
new file mode 100644
index 000000000..0c7baa416
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-bugs.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-bugs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-bugs.html">npm-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&#39;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">npm-bugs &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-commands.html b/deps/npm/html/doc/api/npm-commands.html
new file mode 100644
index 000000000..f06443906
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-commands.html
@@ -0,0 +1,62 @@
+<!doctype html>
+<html>
+ <title>npm-commands</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-commands.html">npm-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="../misc/npm-index.html">npm-index(7)</a></li></ul>
+</div>
+<p id="footer">npm-commands &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-config.html b/deps/npm/html/doc/api/npm-config.html
new file mode 100644
index 000000000..ba89c10b7
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-config.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>npm-config</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-config.html">npm-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&#39;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&#39;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">npm-config &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-deprecate.html b/deps/npm/html/doc/api/npm-deprecate.html
new file mode 100644
index 000000000..710b1317c
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-deprecate.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+ <title>npm-deprecate</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-deprecate.html">npm-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 &#39;args&#39; 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>
+
+<p>To un-deprecate a package, specify an empty string (<code>&quot;&quot;</code>) for the <code>message</code> argument.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/npm-publish.html">npm-publish(3)</a></li><li><a href="../api/npm-unpublish.html">npm-unpublish(3)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li></ul>
+</div>
+<p id="footer">npm-deprecate &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-docs.html b/deps/npm/html/doc/api/npm-docs.html
new file mode 100644
index 000000000..dc4066faa
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-docs.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-docs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-docs.html">npm-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&#39;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">npm-docs &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-edit.html b/deps/npm/html/doc/api/npm-edit.html
new file mode 100644
index 000000000..4cebcaf7d
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-edit.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>npm-edit</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-edit.html">npm-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&#39;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([&quot;connect&quot;], 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">npm-edit &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-explore.html b/deps/npm/html/doc/api/npm-explore.html
new file mode 100644
index 000000000..2490a1629
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-explore.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>npm-explore</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-explore.html">npm-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 &#39;args&#39; parameter must be a package name. After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
+</div>
+<p id="footer">npm-explore &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-help-search.html b/deps/npm/html/doc/api/npm-help-search.html
new file mode 100644
index 000000000..23b538bbc
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-help-search.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+ <title>npm-help-search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-help-search.html">npm-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, {&quot;npm&quot;: 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">npm-help-search &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-init.html b/deps/npm/html/doc/api/npm-init.html
new file mode 100644
index 000000000..5351ae640
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-init.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>npm-init</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1>npm <a href="../api/init.html">init</a></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&#39;ve selected.</p>
+
+<p>If you already have a package.json file, it&#39;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&#39;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&#39;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="../files/package.json.html">package.json(5)</a></p>
+</div>
+<p id="footer">npm-init &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-install.html b/deps/npm/html/doc/api/npm-install.html
new file mode 100644
index 000000000..3dd99b0ba
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-install.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-install</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-install.html">npm-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 &#39;where&#39; parameter is optional and only used internally, and it specifies
+where the packages should be installed to.</p>
+
+<p>The &#39;packages&#39; parameter is an array of strings. Each element in the array is
+the name of a package to be installed.</p>
+
+<p>Finally, &#39;callback&#39; is a function that will be called when all packages have been
+installed or when an error has been encountered.</p>
+</div>
+<p id="footer">npm-install &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-link.html b/deps/npm/html/doc/api/npm-link.html
new file mode 100644
index 000000000..1927bbb58
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-link.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<html>
+ <title>npm-link</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-link.html">npm-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
+&quot;snapshotted&quot; 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(&#39;redis&#39;, cb) # link-install the package</code></pre>
+
+<p>Now, any changes to the redis package will be reflected in
+the package in the current working directory</p>
+</div>
+<p id="footer">npm-link &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-load.html b/deps/npm/html/doc/api/npm-load.html
new file mode 100644
index 000000000..0304848c8
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-load.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+ <title>npm-load</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-load.html">npm-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>{
+ &quot;dev&quot;: 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">npm-load &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-ls.html b/deps/npm/html/doc/api/npm-ls.html
new file mode 100644
index 000000000..29edbd52b
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-ls.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+ <title>npm-ls</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-ls.html">npm-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>
+
+<p>Callback is provided an error if one occurred, the full data about which
+packages are installed and which dependencies they will receive, and a
+&quot;lite&quot; data object which just shows which versions are installed where.
+Note that the full data object is a circular structure, so care must be
+taken if it is serialized to JSON.</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&#39;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">npm-ls &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-outdated.html b/deps/npm/html/doc/api/npm-outdated.html
new file mode 100644
index 000000000..b4b0b5eb4
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-outdated.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html>
+ <title>npm-outdated</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-outdated.html">npm-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 &#39;packages&#39; parameter is left out, npm will check all packages.</p>
+</div>
+<p id="footer">npm-outdated &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-owner.html b/deps/npm/html/doc/api/npm-owner.html
new file mode 100644
index 000000000..329c999a3
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-owner.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>npm-owner</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-owner.html">npm-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 &#39;args&#39; 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&#39;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/npm-publish.html">npm-publish(3)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li></ul>
+</div>
+<p id="footer">npm-owner &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-pack.html b/deps/npm/html/doc/api/npm-pack.html
new file mode 100644
index 000000000..9865de5b2
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-pack.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-pack</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-pack.html">npm-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&#39;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">npm-pack &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-prefix.html b/deps/npm/html/doc/api/npm-prefix.html
new file mode 100644
index 000000000..70f023d32
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-prefix.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>npm-prefix</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-prefix.html">npm-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>&#39;args&#39; is never used and callback is never called with data.
+&#39;args&#39; must be present or things will break.</p>
+
+<p>This function is not useful programmatically</p>
+</div>
+<p id="footer">npm-prefix &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-prune.html b/deps/npm/html/doc/api/npm-prune.html
new file mode 100644
index 000000000..0deaa39da
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-prune.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>npm-prune</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-prune.html">npm-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 &quot;extraneous&quot; 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&#39;s dependencies list.</p>
+</div>
+<p id="footer">npm-prune &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-publish.html b/deps/npm/html/doc/api/npm-publish.html
new file mode 100644
index 000000000..d6738cb22
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-publish.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+ <title>npm-publish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-publish.html">npm-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 &#39;packages&#39; 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 &quot;force&quot; environment variable is set.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li><li><a href="../api/npm-owner.html">npm-owner(3)</a></li></ul>
+</div>
+<p id="footer">npm-publish &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-rebuild.html b/deps/npm/html/doc/api/npm-rebuild.html
new file mode 100644
index 000000000..f7049b7c6
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-rebuild.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>npm-rebuild</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-rebuild.html">npm-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 &#39;packages&#39; 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">npm-rebuild &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-restart.html b/deps/npm/html/doc/api/npm-restart.html
new file mode 100644
index 000000000..8f9bea94d
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-restart.html
@@ -0,0 +1,61 @@
+<!doctype html>
+<html>
+ <title>npm-restart</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-restart.html">npm-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&#39;s &quot;restart&quot; script, if one was provided.
+Otherwise it runs package&#39;s &quot;stop&quot; script, if one was provided, and then
+the &quot;start&quot; script.</p>
+
+<p>If no version is specified, then it restarts the &quot;active&quot; 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/npm-start.html">npm-start(3)</a></li><li><a href="../api/npm-stop.html">npm-stop(3)</a></li></ul>
+</div>
+<p id="footer">npm-restart &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-root.html b/deps/npm/html/doc/api/npm-root.html
new file mode 100644
index 000000000..41620111e
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-root.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>npm-root</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-root.html">npm-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>&#39;args&#39; is never used and callback is never called with data.
+&#39;args&#39; must be present or things will break.</p>
+
+<p>This function is not useful programmatically.</p>
+</div>
+<p id="footer">npm-root &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-run-script.html b/deps/npm/html/doc/api/npm-run-script.html
new file mode 100644
index 000000000..b774624be
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-run-script.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html>
+ <title>npm-run-script</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-run-script.html">npm-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&#39;s &quot;scripts&quot; object.</p>
+
+<p>It is used by the test, start, restart, and stop commands, but can be
+called directly, as well.</p>
+
+<p>The &#39;args&#39; 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="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../api/npm-test.html">npm-test(3)</a></li><li><a href="../api/npm-start.html">npm-start(3)</a></li><li><a href="../api/npm-restart.html">npm-restart(3)</a></li><li><a href="../api/npm-stop.html">npm-stop(3)</a></li></ul>
+</div>
+<p id="footer">npm-run-script &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-search.html b/deps/npm/html/doc/api/npm-search.html
new file mode 100644
index 000000000..ebda46651
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-search.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+ <title>npm-search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-search.html">npm-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. &quot;Fresh&quot; 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 &#39;words&#39; 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 &quot;searchexclude&quot; config). The search is case insensitive
+and doesn&#39;t try to read your mind (it doesn&#39;t do any verb tense matching or the
+like).</p>
+</div>
+<p id="footer">npm-search &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-shrinkwrap.html b/deps/npm/html/doc/api/npm-shrinkwrap.html
new file mode 100644
index 000000000..5100bb9d0
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-shrinkwrap.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>npm-shrinkwrap</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-shrinkwrap.html">npm-shrinkwrap</a></h1> <p>programmatically generate package shrinkwrap file</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.shrinkwrap(args, [silent,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This acts much the same ways as shrinkwrapping on the command-line.</p>
+
+<p>This command does not take any arguments, but &#39;args&#39; must be defined.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments.</p>
+
+<p>If the &#39;silent&#39; parameter is set to true, nothing will be output to the screen,
+but the shrinkwrap file will still be written.</p>
+
+<p>Finally, &#39;callback&#39; is a function that will be called when the shrinkwrap has
+been saved.</p>
+</div>
+<p id="footer">npm-shrinkwrap &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-start.html b/deps/npm/html/doc/api/npm-start.html
new file mode 100644
index 000000000..9971516a0
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-start.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html>
+ <title>npm-start</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-start.html">npm-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&#39;s &quot;start&quot; 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">npm-start &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-stop.html b/deps/npm/html/doc/api/npm-stop.html
new file mode 100644
index 000000000..677de4208
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-stop.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html>
+ <title>npm-stop</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-stop.html">npm-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&#39;s &quot;stop&quot; 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">npm-stop &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-submodule.html b/deps/npm/html/doc/api/npm-submodule.html
new file mode 100644
index 000000000..3b23c5fca
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-submodule.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>npm-submodule</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-submodule.html">npm-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&#39;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">npm-submodule &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-tag.html b/deps/npm/html/doc/api/npm-tag.html
new file mode 100644
index 000000000..0eaee2b53
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-tag.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html>
+ <title>npm-tag</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-tag.html">npm-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 &#39;package@version&#39; 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">npm-tag &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-test.html b/deps/npm/html/doc/api/npm-test.html
new file mode 100644
index 000000000..68c64bb04
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-test.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>npm-test</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-test.html">npm-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&#39;s &quot;test&quot; 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">npm-test &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-uninstall.html b/deps/npm/html/doc/api/npm-uninstall.html
new file mode 100644
index 000000000..67d7ae780
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-uninstall.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>npm-uninstall</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-uninstall.html">npm-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 &#39;packages&#39; parameter is an array of strings. Each element in the array is
+the name of a package to be uninstalled.</p>
+
+<p>Finally, &#39;callback&#39; is a function that will be called when all packages have been
+uninstalled or when an error has been encountered.</p>
+</div>
+<p id="footer">npm-uninstall &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-unpublish.html b/deps/npm/html/doc/api/npm-unpublish.html
new file mode 100644
index 000000000..195fc987c
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-unpublish.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>npm-unpublish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-unpublish.html">npm-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">npm-unpublish &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-update.html b/deps/npm/html/doc/api/npm-update.html
new file mode 100644
index 000000000..f6f8a926a
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-update.html
@@ -0,0 +1,52 @@
+<!doctype html>
+<html>
+ <title>npm-update</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-update.html">npm-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 &#39;packages&#39; argument is an array of packages to update. The &#39;callback&#39; parameter will be called when done or when an error occurs.</p>
+</div>
+<p id="footer">npm-update &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-version.html b/deps/npm/html/doc/api/npm-version.html
new file mode 100644
index 000000000..33f66a4bc
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-version.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>npm-version</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-version.html">npm-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">npm-version &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-view.html b/deps/npm/html/doc/api/npm-view.html
new file mode 100644
index 000000000..aef457fd9
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-view.html
@@ -0,0 +1,133 @@
+<!doctype html>
+<html>
+ <title>npm-view</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-view.html">npm-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 &quot;args&quot; 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 (&quot;field.subfield&quot;)
+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([&quot;connect&quot;], callback)</code></pre>
+
+<p>If no version is specified, &quot;latest&quot; 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([&quot;ronn@0.3.5&quot;, &quot;dependencies&quot;], 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([&quot;npm&quot;, &quot;repository.url&quot;], 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 &quot;express&quot; project, you can do this:</p>
+
+<pre><code>npm.commands.view([&quot;express&quot;, &quot;contributors.email&quot;], 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([&quot;express&quot;, &quot;contributors[0].email&quot;], 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([&quot;express&quot;, &quot;contributors.name&quot;, &quot;contributors.email&quot;], callback)</code></pre>
+
+<p>&quot;Person&quot; 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([&quot;npm&quot;, &quot;contributors&quot;], 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([&quot;yui3@&#39;&gt;0.5.4&#39;&quot;, &quot;dependencies.jsdom&quot;], 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 &#39;silent&#39; 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">npm-view &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm-whoami.html b/deps/npm/html/doc/api/npm-whoami.html
new file mode 100644
index 000000000..50fcfe925
--- /dev/null
+++ b/deps/npm/html/doc/api/npm-whoami.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>npm-whoami</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm-whoami.html">npm-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>&#39;args&#39; is never used and callback is never called with data.
+&#39;args&#39; must be present or things will break.</p>
+
+<p>This function is not useful programmatically</p>
+</div>
+<p id="footer">npm-whoami &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/api/npm.html b/deps/npm/html/doc/api/npm.html
new file mode 100644
index 000000000..5c0aa6c2e
--- /dev/null
+++ b/deps/npm/html/doc/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="../../static/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(&quot;npm&quot;)
+npm.load([configObject,] function (er, npm) {
+ // use the npm object, now that it&#39;s loaded.
+
+ npm.config.set(key, val)
+ val = npm.config.get(key)
+
+ console.log(&quot;prefix = %s&quot;, npm.prefix)
+
+ npm.commands.install([&quot;package&quot;], cb)
+})</code></pre>
+
+<h2 id="VERSION">VERSION</h2>
+
+<p>1.3.3</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="../cli/npm.html">npm(1)</a></code>.</p>
+
+<p>Prior to using npm&#39;s commands, <code>npm.load()</code> must be called.
+If you provide <code>configObject</code> as an object hash of top-level
+configs, they override the values stored in the various config
+locations. 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="../cli/npm-config.html">npm-config(1)</a></code>,
+<code><a href="../misc/npm-config.html">npm-config(7)</a></code>, and <code><a href="../files/npmrc.html">npmrc(5)</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="../misc/npm-index.html">npm-index(7)</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&#39;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&#39;s temporary working directory.</p></li><li><p><code>npm.deref</code></p><p>Get the &quot;real&quot; 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(&quot;npm&quot;)
+&gt; npm.load() // wait a sec...
+&gt; npm.install(&quot;dnode&quot;, &quot;express&quot;)</code></pre>
+
+<p>Note that that <em>won&#39;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(&quot;unp&quot;) // cmd === &quot;unpublish&quot;</code></pre>
+</div>
+<p id="footer">npm &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/bin.html b/deps/npm/html/doc/bin.html
deleted file mode 100644
index 8a8342031..000000000
--- a/deps/npm/html/doc/bin.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>bin</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index b8d7f6b11..000000000
--- a/deps/npm/html/doc/bugs.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!doctype html>
-<html>
- <title>bugs</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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>&quot;open&quot;</code>, Windows: <code>&quot;start&quot;</code>, Others: <code>&quot;xdg-open&quot;</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.2.25</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
deleted file mode 100644
index eb21422d7..000000000
--- a/deps/npm/html/doc/build.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>build</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index ca91ff277..000000000
--- a/deps/npm/html/doc/bundle.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>bundle</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index d30d828ce..000000000
--- a/deps/npm/html/doc/cache.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!doctype html>
-<html>
- <title>cache</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index d2ee2d0c0..000000000
--- a/deps/npm/html/doc/changelog.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!doctype html>
-<html>
- <title>changelog</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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-1-3-1-1-4">1.1.3, 1.1.4</h3>
-
-<ul><li>Update request to support HTTPS-over-HTTP proxy tunneling</li><li>Throw on undefined envs in config settings</li><li>Update which to 1.0.5</li><li>Fix windows UNC busyloop in findPrefix</li><li>Bundle nested bundleDependencies properly</li><li>Alias adduser to add-user</li><li>Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)</li><li>ignore logfd/outfd streams in makeEnv() (Rod Vagg)</li><li>shrinkwrap: Behave properly with url-installed deps</li><li>install: Support --save with url install targets</li><li>Support installing naked tars or single-file modules from urls etc.</li><li>init: Don&#39;t add engines section</li><li>Don&#39;t run make clean on rebuild</li><li>Added missing unicode replacement (atomizer)</li></ul>
-
-<h3 id="1-1-2">1.1.2</h3>
-
-<p>Dave Pacheco (2):
- add &quot;npm shrinkwrap&quot;</p>
-
-<p>Martin Cooper (1):
- Fix #1753 Make a copy of the cached objects we&#39;ll modify.</p>
-
-<p>Tim Oxley (1):
- correctly remove readme from default npm view command.</p>
-
-<p>Tyler Green (1):
- fix #2187 set terminal columns to Infinity if 0</p>
-
-<p>isaacs (19):
- update minimatch
- update request
- Experimental: single-file modules
- Fix #2172 Don&#39;t remove global mans uninstalling local pkgs
- Add --versions flag to show the version of node as well
- Support --json flag for ls output
- update request to 2.9.151</p>
-
-<h3 id="1-1">1.1</h3>
-
-<ul><li>Replace system tar dependency with a JS tar</li><li>Continue to refine</li></ul>
-
-<h3 id="1-0">1.0</h3>
-
-<ul><li>Greatly simplified folder structure </li><li>Install locally (bundle by default) </li><li>Drastic rearchitecture</li></ul>
-
-<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 &quot;main&quot; modules don&#39;t export modules</li><li>Remove support for invalid JSON (since node doesn&#39;t support it)</li></ul>
-
-<h3 id="0-2">0.2</h3>
-
-<ul><li>First allegedly &quot;stable&quot; 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.2.25</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/cli/npm-adduser.html b/deps/npm/html/doc/cli/npm-adduser.html
new file mode 100644
index 000000000..bc30e260d
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-adduser.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<html>
+ <title>npm-adduser</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-adduser.html">npm-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="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../cli/npm-owner.html">npm-owner(1)</a></li><li><a href="../cli/npm-whoami.html">npm-whoami(1)</a></li></ul>
+</div>
+<p id="footer">npm-adduser &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-bin.html b/deps/npm/html/doc/cli/npm-bin.html
new file mode 100644
index 000000000..90fc9b27f
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-bin.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-bin</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-bin.html">npm-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="../cli/npm-prefix.html">npm-prefix(1)</a></li><li><a href="../cli/npm-root.html">npm-root(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-bin &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-bugs.html b/deps/npm/html/doc/cli/npm-bugs.html
new file mode 100644
index 000000000..e4fa6c2c0
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-bugs.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+ <title>npm-bugs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-bugs.html">npm-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&#39;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>&quot;open&quot;</code>, Windows: <code>&quot;start&quot;</code>, Others: <code>&quot;xdg-open&quot;</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="../cli/npm-docs.html">npm-docs(1)</a></li><li><a href="../cli/npm-view.html">npm-view(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li></ul>
+</div>
+<p id="footer">npm-bugs &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-build.html b/deps/npm/html/doc/cli/npm-build.html
new file mode 100644
index 000000000..3b5f63a57
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-build.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-build</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-build.html">npm-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="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li></ul>
+</div>
+<p id="footer">npm-build &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-bundle.html b/deps/npm/html/doc/cli/npm-bundle.html
new file mode 100644
index 000000000..8a6e66eac
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-bundle.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-bundle</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-bundle.html">npm-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="../cli/npm-install.html">npm-install(1)</a></li></ul>
+</div>
+<p id="footer">npm-bundle &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-cache.html b/deps/npm/html/doc/cli/npm-cache.html
new file mode 100644
index 000000000..d3565d0f2
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-cache.html
@@ -0,0 +1,100 @@
+<!doctype html>
+<html>
+ <title>npm-cache</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-cache.html">npm-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="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../cli/npm-pack.html">npm-pack(1)</a></li></ul>
+</div>
+<p id="footer">npm-cache &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-completion.html b/deps/npm/html/doc/cli/npm-completion.html
new file mode 100644
index 000000000..b411f2d72
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-completion.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>npm-completion</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-completion.html">npm-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 &quot;plumbing mode&quot;, and outputs
+completions based on the arguments.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../cli/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">npm-completion &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-config.html b/deps/npm/html/doc/cli/npm-config.html
new file mode 100644
index 000000000..c2b0d3e61
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-config.html
@@ -0,0 +1,106 @@
+<!doctype html>
+<html>
+ <title>npm-config</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-config.html">npm-config</a></h1> <p>Manage the npm configuration files</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 config settings from the command line, environment
+variables, <code>npmrc</code> files, and in some cases, the <code>package.json</code> file.</p>
+
+<p>See <a href="../files/npmrc.html">npmrc(5)</a> for more information about the npmrc files.</p>
+
+<p>See <code><a href="../misc/npm-config.html">npm-config(7)</a></code> for a more thorough discussion of the mechanisms
+involved.</p>
+
+<p>The <code>npm config</code> command can be used to update and edit the contents
+of the user and global npmrc files.</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 &quot;true&quot;.</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="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../cli/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">npm-config &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-dedupe.html b/deps/npm/html/doc/cli/npm-dedupe.html
new file mode 100644
index 000000000..6d541ba8e
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-dedupe.html
@@ -0,0 +1,91 @@
+<!doctype html>
+<html>
+ <title>npm-dedupe</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-dedupe.html">npm-dedupe</a></h1> <p>Reduce duplication</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm dedupe [package names...]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Searches the local package tree and attempts to simplify the overall
+structure by moving dependencies further up the tree, where they can
+be more effectively shared by multiple dependent packages.</p>
+
+<p>For example, consider this dependency graph:</p>
+
+<pre><code>a
++-- b &lt;-- depends on c@1.0.x
+| `-- c@1.0.3
+`-- d &lt;-- depends on c@~1.0.9
+ `-- c@1.0.10</code></pre>
+
+<p>In this case, <code><a href="../cli/npm-dedupe.html">npm-dedupe(1)</a></code> will transform the tree to:</p>
+
+<pre><code>a
++-- b
++-- d
+`-- c@1.0.10</code></pre>
+
+<p>Because of the hierarchical nature of node&#39;s module lookup, b and d
+will both get their dependency met by the single c package at the root
+level of the tree.</p>
+
+<p>If a suitable version exists at the target location in the tree
+already, then it will be left untouched, but the other duplicates will
+be deleted.</p>
+
+<p>If no suitable version can be found, then a warning is printed, and
+nothing is done.</p>
+
+<p>If any arguments are supplied, then they are filters, and only the
+named packages will be touched.</p>
+
+<p>Note that this operation transforms the dependency tree, and may
+result in packages getting updated versions, perhaps from the npm
+registry.</p>
+
+<p>This feature is experimental, and may change in future versions.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-ls.html">npm-ls(1)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li></ul>
+</div>
+<p id="footer">npm-dedupe &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-deprecate.html b/deps/npm/html/doc/cli/npm-deprecate.html
new file mode 100644
index 000000000..0c446c92f
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-deprecate.html
@@ -0,0 +1,65 @@
+<!doctype html>
+<html>
+ <title>npm-deprecate</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-deprecate.html">npm-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@&quot;&lt; 0.2.3&quot; &quot;critical bug fixed in v0.2.3&quot;</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>
+
+<p>To un-deprecate a package, specify an empty string (<code>&quot;&quot;</code>) for the <code>message</code> argument.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li></ul>
+</div>
+<p id="footer">npm-deprecate &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-docs.html b/deps/npm/html/doc/cli/npm-docs.html
new file mode 100644
index 000000000..cbb6272e0
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-docs.html
@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+ <title>npm-docs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-docs.html">npm-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&#39;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>&quot;open&quot;</code>, Windows: <code>&quot;start&quot;</code>, Others: <code>&quot;xdg-open&quot;</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="../cli/npm-view.html">npm-view(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li></ul>
+</div>
+<p id="footer">npm-docs &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-edit.html b/deps/npm/html/doc/cli/npm-edit.html
new file mode 100644
index 000000000..dcaef08f4
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-edit.html
@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+ <title>npm-edit</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-edit.html">npm-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&#39;ve
+configured as the npm <code>editor</code> config -- see <code><a href="../misc/npm-config.html">npm-config(7)</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>&quot;vi&quot;</code> on Posix,
+or <code>&quot;notepad&quot;</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="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-explore.html">npm-explore(1)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-edit &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-explore.html b/deps/npm/html/doc/cli/npm-explore.html
new file mode 100644
index 000000000..2afa7667b
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-explore.html
@@ -0,0 +1,74 @@
+<!doctype html>
+<html>
+ <title>npm-explore</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-explore.html">npm-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 &quot;bash&quot; on Posix, or &quot;cmd&quot; 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="../cli/npm-submodule.html">npm-submodule(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-edit.html">npm-edit(1)</a></li><li><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></li><li><a href="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li></ul>
+</div>
+<p id="footer">npm-explore &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-help-search.html b/deps/npm/html/doc/cli/npm-help-search.html
new file mode 100644
index 000000000..18cebe5cb
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-help-search.html
@@ -0,0 +1,72 @@
+<!doctype html>
+<html>
+ <title>npm-help-search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-help-search.html">npm-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 &quot;long&quot; 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="../cli/npm.html">npm(1)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../cli/npm-help.html">npm-help(1)</a></li></ul>
+</div>
+<p id="footer">npm-help-search &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-help.html b/deps/npm/html/doc/cli/npm-help.html
new file mode 100644
index 000000000..7e9dfc652
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-help.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+ <title>npm-help</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-help.html">npm-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: &quot;man&quot; on Posix, &quot;browser&quot; on Windows</li><li>Type: path</li></ul>
+
+<p>The program to use to view help content.</p>
+
+<p>Set to <code>&quot;browser&quot;</code> to view html help content in the default web browser.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm.html">npm(1)</a></li><li><a href="../../doc/README.html">README</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-help-search.html">npm-help-search(1)</a></li><li><a href="../misc/npm-index.html">npm-index(7)</a></li></ul>
+</div>
+<p id="footer">npm-help &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-init.html b/deps/npm/html/doc/cli/npm-init.html
new file mode 100644
index 000000000..d44912f8d
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-init.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html>
+ <title>npm-init</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-init.html">npm-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&#39;ve selected.</p>
+
+<p>If you already have a package.json file, it&#39;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="https://github.com/isaacs/init-package-json">https://github.com/isaacs/init-package-json</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-version.html">npm-version(1)</a></li></ul>
+</div>
+<p id="footer">npm-init &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-install.html b/deps/npm/html/doc/cli/npm-install.html
new file mode 100644
index 000000000..eddb9379a
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-install.html
@@ -0,0 +1,176 @@
+<!doctype html>
+<html>
+ <title>npm-install</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-install.html">npm-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; [--save|--save-dev|--save-optional]
+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;
+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. If the
+package has a shrinkwrap file, the installation of dependencies will be driven
+by that. See <a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a>.</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 &quot;latest&quot; 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):</p><p>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>:</p><p>Install a package that is sitting in a folder on the filesystem.</p></li><li><p><code>npm install &lt;tarball file&gt;</code>:</p><p>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>:</p><p>Fetch the tarball url, and then install it. In order to distinguish between
+this and other options, the argument must start with &quot;http://&quot; or &quot;https://&quot;</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; [--save|--save-dev|--save-optional]</code>:</p><p>Do a <code>&lt;name&gt;@&lt;tag&gt;</code> install, where <code>&lt;tag&gt;</code> is the &quot;tag&quot; config. (See
+<code><a href="../misc/npm-config.html">npm-config(7)</a></code>.)</p><p>In most cases, this will install the latest version
+of the module published on npm.</p><p>Example:</p><p> npm install sax</p><p><code>npm install</code> takes 3 exclusive, optional flags which save or update
+the package version in your main package.json:</p><ul><li><p><code>--save</code>: Package will appear in your <code>dependencies</code>.</p></li><li><p><code>--save-dev</code>: Package will appear in your <code>devDependencies</code>.</p></li><li><p><code>--save-optional</code>: Package will appear in your <code>optionalDependencies</code>.</p><p>Examples:</p><p> npm install sax --save
+ npm install node-tap --save-dev
+ npm install dtrace-provider --save-optional</p><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></ul></li><li><p><code>npm install &lt;name&gt;@&lt;tag&gt;</code>:</p><p>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>:</p><p>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>:</p><p>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="../files/package.json.html">package.json(5)</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><p> npm install sax@&quot;&gt;=0.1.0 &lt;0.2.0&quot;</p></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><p> &lt;protocol&gt;://[&lt;user&gt;@]&lt;hostname&gt;&lt;separator&gt;&lt;path&gt;[#&lt;commit-ish&gt;]</p><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@&quot;&gt;=0.1.0 &lt;0.2.0&quot; 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="../misc/npm-folders.html">npm-folders(7)</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>The <code>--no-bin-links</code> argument will prevent npm from creating symlinks for
+any binaries the package might contain.</p>
+
+<p>The <code>--no-shrinkwrap</code> argument, which will ignore an available
+shrinkwrap file and use the package.json instead.</p>
+
+<p>The <code>--nodedir=/path/to/node/source</code> argument will allow npm to find the
+node source code so that npm can compile native modules.</p>
+
+<p>See <code><a href="../misc/npm-config.html">npm-config(7)</a></code>. Many of the configuration params have some
+effect on installation, since that&#39;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="../misc/npm-folders.html">npm-folders(7)</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&#39;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&#39; -&gt; B&#39; -&gt; A -&gt; B -&gt; A&#39; -&gt; B&#39; -&gt; A -&gt; ...</code></pre>
+
+<p>where <code>A</code> is some version of a package, and <code>A&#39;</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&#39;</code>, which must install <code>B&#39;</code>. Because <code>B&#39;</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="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-tag.html">npm-tag(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li></ul>
+</div>
+<p id="footer">npm-install &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-link.html b/deps/npm/html/doc/cli/npm-link.html
new file mode 100644
index 000000000..acf1fbd27
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-link.html
@@ -0,0 +1,95 @@
+<!doctype html>
+<html>
+ <title>npm-link</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-link.html">npm-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>Note that <code>package-name</code> is taken from <code>package.json</code> ,
+not from directory name.</p>
+
+<p>When creating tarballs for <code>npm publish</code>, the linked packages are
+&quot;snapshotted&quot; 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&#39;s <code>node_modules</code> folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-link &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-ls.html b/deps/npm/html/doc/cli/npm-ls.html
new file mode 100644
index 000000000..112a74fde
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-ls.html
@@ -0,0 +1,102 @@
+<!doctype html>
+<html>
+ <title>npm-ls</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-ls.html">npm-ls</a></h1> <p>List installed packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm list [&lt;pkg&gt; ...]
+npm ls [&lt;pkg&gt; ...]
+npm la [&lt;pkg&gt; ...]
+npm ll [&lt;pkg&gt; ...]</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>Positional arguments are <code>name@version-range</code> identifiers, which will
+limit the results to only the paths to the packages named. Note that
+nested packages will <em>also</em> show the paths to the specified packages.
+For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
+
+<pre><code>npm@1.3.3 /path/to/npm
+└─┬ init-package-json@0.0.4
+ └── promzard@0.1.5</code></pre>
+
+<p>It will print out extraneous, missing, and invalid packages.</p>
+
+<p>If a project specifies git urls for dependencies these are shown
+in parentheses after the name@version to make it easier for users to
+recognize potential forks of a project.</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="json">json</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show information in JSON format.</p>
+
+<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="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../cli/npm-prune.html">npm-prune(1)</a></li><li><a href="../cli/npm-outdated.html">npm-outdated(1)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li></ul>
+</div>
+<p id="footer">npm-ls &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-outdated.html b/deps/npm/html/doc/cli/npm-outdated.html
new file mode 100644
index 000000000..e4361be14
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-outdated.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>npm-outdated</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-outdated.html">npm-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="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li></ul>
+</div>
+<p id="footer">npm-outdated &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-owner.html b/deps/npm/html/doc/cli/npm-owner.html
new file mode 100644
index 000000000..a90a1d812
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-owner.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>npm-owner</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-owner.html">npm-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&#39;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="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li><li><a href="../misc/npm-disputes.html">npm-disputes(7)</a></li></ul>
+</div>
+<p id="footer">npm-owner &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-pack.html b/deps/npm/html/doc/cli/npm-pack.html
new file mode 100644
index 000000000..a58def5a4
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-pack.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html>
+ <title>npm-pack</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-pack.html">npm-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&#39;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="../cli/npm-cache.html">npm-cache(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-pack &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-prefix.html b/deps/npm/html/doc/cli/npm-prefix.html
new file mode 100644
index 000000000..b803d5b54
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-prefix.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-prefix</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-prefix.html">npm-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="../cli/npm-root.html">npm-root(1)</a></li><li><a href="../cli/npm-bin.html">npm-bin(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-prefix &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-prune.html b/deps/npm/html/doc/cli/npm-prune.html
new file mode 100644
index 000000000..7cdab9518
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-prune.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-prune</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-prune.html">npm-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 &quot;extraneous&quot; 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&#39;s dependencies list.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-list.html">npm-list(1)</a></li></ul>
+</div>
+<p id="footer">npm-prune &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html
new file mode 100644
index 000000000..506c95093
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-publish.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html>
+ <title>npm-publish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-publish.html">npm-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 &quot;--force&quot; flag is set.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li><li><a href="../cli/npm-owner.html">npm-owner(1)</a></li><li><a href="../cli/npm-deprecate.html">npm-deprecate(1)</a></li><li><a href="../cli/npm-tag.html">npm-tag(1)</a></li></ul>
+</div>
+<p id="footer">npm-publish &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-rebuild.html b/deps/npm/html/doc/cli/npm-rebuild.html
new file mode 100644
index 000000000..21fe9edc6
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-rebuild.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-rebuild</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-rebuild.html">npm-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="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li></ul>
+</div>
+<p id="footer">npm-rebuild &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-restart.html b/deps/npm/html/doc/cli/npm-restart.html
new file mode 100644
index 000000000..533b70b90
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-restart.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>npm-restart</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-restart.html">npm-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&#39;s &quot;restart&quot; script, if one was provided.
+Otherwise it runs package&#39;s &quot;stop&quot; script, if one was provided, and then
+the &quot;start&quot; script.</p>
+
+<p>If no version is specified, then it restarts the &quot;active&quot; version.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-run-script.html">npm-run-script(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-test.html">npm-test(1)</a></li><li><a href="../cli/npm-start.html">npm-start(1)</a></li><li><a href="../cli/npm-stop.html">npm-stop(1)</a></li></ul>
+</div>
+<p id="footer">npm-restart &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-rm.html b/deps/npm/html/doc/cli/npm-rm.html
new file mode 100644
index 000000000..273be4d97
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-rm.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>npm-rm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-rm.html">npm-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="../cli/npm-prune.html">npm-prune(1)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-rm &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-root.html b/deps/npm/html/doc/cli/npm-root.html
new file mode 100644
index 000000000..45ad5884c
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-root.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-root</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-root.html">npm-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="../cli/npm-prefix.html">npm-prefix(1)</a></li><li><a href="../cli/npm-bin.html">npm-bin(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-root &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-run-script.html b/deps/npm/html/doc/cli/npm-run-script.html
new file mode 100644
index 000000000..d2c7ad6a6
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-run-script.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>npm-run-script</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-run-script.html">npm-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&#39;s &quot;scripts&quot; 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="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-test.html">npm-test(1)</a></li><li><a href="../cli/npm-start.html">npm-start(1)</a></li><li><a href="../cli/npm-restart.html">npm-restart(1)</a></li><li><a href="../cli/npm-stop.html">npm-stop(1)</a></li></ul>
+</div>
+<p id="footer">npm-run-script &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-search.html b/deps/npm/html/doc/cli/npm-search.html
new file mode 100644
index 000000000..aecbe7d38
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-search.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>npm-search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-search.html">npm-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>
+
+<p>If a term starts with <code>/</code>, then it&#39;s interpreted as a regular expression.
+A trailing <code>/</code> will be ignored in this case. (Note that many regular
+expression characters must be escaped or quoted in most shells.)</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../cli/npm-view.html">npm-view(1)</a></li></ul>
+</div>
+<p id="footer">npm-search &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-shrinkwrap.html b/deps/npm/html/doc/cli/npm-shrinkwrap.html
new file mode 100644
index 000000000..f126a34f6
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html
@@ -0,0 +1,217 @@
+<!doctype html>
+<html>
+ <title>npm-shrinkwrap</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap</a></h1> <p>Lock down dependency versions</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm shrinkwrap</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command locks down the versions of a package&#39;s dependencies so
+that you can control exactly which versions of each dependency will be
+used when your package is installed. The &quot;package.json&quot; file is still
+required if you want to use &quot;npm install&quot;.</p>
+
+<p>By default, &quot;npm install&quot; recursively installs the target&#39;s
+dependencies (as specified in package.json), choosing the latest
+available version that satisfies the dependency&#39;s semver pattern. In
+some situations, particularly when shipping software where each change
+is tightly managed, it&#39;s desirable to fully specify each version of
+each dependency recursively so that subsequent builds and deploys do
+not inadvertently pick up newer versions of a dependency that satisfy
+the semver pattern. Specifying specific semver patterns in each
+dependency&#39;s package.json would facilitate this, but that&#39;s not always
+possible or desirable, as when another author owns the npm package.
+It&#39;s also possible to check dependencies directly into source control,
+but that may be undesirable for other reasons.</p>
+
+<p>As an example, consider package A:</p>
+
+<pre><code>{
+ &quot;name&quot;: &quot;A&quot;,
+ &quot;version&quot;: &quot;0.1.0&quot;,
+ &quot;dependencies&quot;: {
+ &quot;B&quot;: &quot;&lt;0.1.0&quot;
+ }
+}</code></pre>
+
+<p>package B:</p>
+
+<pre><code>{
+ &quot;name&quot;: &quot;B&quot;,
+ &quot;version&quot;: &quot;0.0.1&quot;,
+ &quot;dependencies&quot;: {
+ &quot;C&quot;: &quot;&lt;0.1.0&quot;
+ }
+}</code></pre>
+
+<p>and package C:</p>
+
+<pre><code>{
+ &quot;name&quot;: &quot;C,
+ &quot;version&quot;: &quot;0.0.1&quot;
+}</code></pre>
+
+<p>If these are the only versions of A, B, and C available in the
+registry, then a normal &quot;npm install A&quot; will install:</p>
+
+<pre><code>A@0.1.0
+`-- B@0.0.1
+ `-- C@0.0.1</code></pre>
+
+<p>However, if B@0.0.2 is published, then a fresh &quot;npm install A&quot; will
+install:</p>
+
+<pre><code>A@0.1.0
+`-- B@0.0.2
+ `-- C@0.0.1</code></pre>
+
+<p>assuming the new version did not modify B&#39;s dependencies. Of course,
+the new version of B could include a new version of C and any number
+of new dependencies. If such changes are undesirable, the author of A
+could specify a dependency on B@0.0.1. However, if A&#39;s author and B&#39;s
+author are not the same person, there&#39;s no way for A&#39;s author to say
+that he or she does not want to pull in newly published versions of C
+when B hasn&#39;t changed at all.</p>
+
+<p>In this case, A&#39;s author can run</p>
+
+<pre><code>npm shrinkwrap</code></pre>
+
+<p>This generates npm-shrinkwrap.json, which will look something like this:</p>
+
+<pre><code>{
+ &quot;name&quot;: &quot;A&quot;,
+ &quot;version&quot;: &quot;0.1.0&quot;,
+ &quot;dependencies&quot;: {
+ &quot;B&quot;: {
+ &quot;version&quot;: &quot;0.0.1&quot;,
+ &quot;dependencies&quot;: {
+ &quot;C&quot;: {
+ &quot;version&quot;: &quot;0.1.0&quot;
+ }
+ }
+ }
+ }
+}</code></pre>
+
+<p>The shrinkwrap command has locked down the dependencies based on
+what&#39;s currently installed in node_modules. When &quot;npm install&quot;
+installs a package with a npm-shrinkwrap.json file in the package
+root, the shrinkwrap file (rather than package.json files) completely
+drives the installation of that package and all of its dependencies
+(recursively). So now the author publishes A@0.1.0, and subsequent
+installs of this package will use B@0.0.1 and C@0.1.0, regardless the
+dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s package.json
+files.</p>
+
+<h3 id="Using-shrinkwrapped-packages">Using shrinkwrapped packages</h3>
+
+<p>Using a shrinkwrapped package is no different than using any other
+package: you can &quot;npm install&quot; it by hand, or add a dependency to your
+package.json file and &quot;npm install&quot; it.</p>
+
+<h3 id="Building-shrinkwrapped-packages">Building shrinkwrapped packages</h3>
+
+<p>To shrinkwrap an existing package:</p>
+
+<ol><li>Run &quot;npm install&quot; in the package root to install the current
+versions of all dependencies.</li><li>Validate that the package works as expected with these versions.</li><li>Run &quot;npm shrinkwrap&quot;, add npm-shrinkwrap.json to git, and publish
+your package.</li></ol>
+
+<p>To add or update a dependency in a shrinkwrapped package:</p>
+
+<ol><li>Run &quot;npm install&quot; in the package root to install the current
+versions of all dependencies.</li><li>Add or update dependencies. &quot;npm install&quot; each new or updated
+package individually and then update package.json. Note that they
+must be explicitly named in order to be installed: running <code>npm
+install</code> with no arguments will merely reproduce the existing
+shrinkwrap.</li><li>Validate that the package works as expected with the new
+dependencies.</li><li>Run &quot;npm shrinkwrap&quot;, commit the new npm-shrinkwrap.json, and
+publish your package.</li></ol>
+
+<p>You can use <a href="../cli/npm-outdated.html">npm-outdated(1)</a> to view dependencies with newer versions
+available.</p>
+
+<h3 id="Other-Notes">Other Notes</h3>
+
+<p>A shrinkwrap file must be consistent with the package&#39;s package.json
+file. &quot;npm shrinkwrap&quot; will fail if required dependencies are not
+already installed, since that would result in a shrinkwrap that
+wouldn&#39;t actually work. Similarly, the command will fail if there are
+extraneous packages (not referenced by package.json), since that would
+indicate that package.json is not correct.</p>
+
+<p>Since &quot;npm shrinkwrap&quot; is intended to lock down your dependencies for
+production use, <code>devDependencies</code> will not be included unless you
+explicitly set the <code>--dev</code> flag when you run <code>npm shrinkwrap</code>. If
+installed <code>devDependencies</code> are excluded, then npm will print a
+warning. If you want them to be installed with your module by
+default, please consider adding them to <code>dependencies</code> instead.</p>
+
+<p>If shrinkwrapped package A depends on shrinkwrapped package B, B&#39;s
+shrinkwrap will not be used as part of the installation of A. However,
+because A&#39;s shrinkwrap is constructed from a valid installation of B
+and recursively specifies all dependencies, the contents of B&#39;s
+shrinkwrap will implicitly be included in A&#39;s shrinkwrap.</p>
+
+<h3 id="Caveats">Caveats</h3>
+
+<p>Shrinkwrap files only lock down package versions, not actual package
+contents. While discouraged, a package author can republish an
+existing version of a package, causing shrinkwrapped packages using
+that version to pick up different code than they were before. If you
+want to avoid any risk that a byzantine author replaces a package
+you&#39;re using with code that breaks your application, you could modify
+the shrinkwrap file to use git URL references rather than version
+numbers so that npm always fetches all packages from git.</p>
+
+<p>If you wish to lock down the specific bytes included in a package, for
+example to have 100% confidence in being able to reproduce a
+deployment or build, then you ought to check your dependencies into
+source control, or pursue some other mechanism that can verify
+contents rather than versions.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-list.html">npm-list(1)</a></li></ul>
+</div>
+<p id="footer">npm-shrinkwrap &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-star.html b/deps/npm/html/doc/cli/npm-star.html
new file mode 100644
index 000000000..c35f26df4
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-star.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>npm-star</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-star.html">npm-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>&quot;Starring&quot; a package means that you have some interest in it. It&#39;s
+a vaguely positive way to show that you care.</p>
+
+<p>&quot;Unstarring&quot; is the same thing, but in reverse.</p>
+
+<p>It&#39;s a boolean thing. Starring repeatedly has no additional effect.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-view.html">npm-view(1)</a></li><li><a href="../cli/npm-whoami.html">npm-whoami(1)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li></ul>
+</div>
+<p id="footer">npm-star &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-stars.html b/deps/npm/html/doc/cli/npm-stars.html
new file mode 100644
index 000000000..8775ca63a
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-stars.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>npm-stars</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-stars.html">npm-stars</a></h1> <p>View packages marked as favorites</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm stars
+npm stars [username]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>If you have starred a lot of neat things and want to find them again
+quickly this command lets you do just that.</p>
+
+<p>You may also want to see your friend&#39;s favorite packages, in this case
+you will most certainly enjoy this command.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-star.html">npm-star(1)</a></li><li><a href="../cli/npm-view.html">npm-view(1)</a></li><li><a href="../cli/npm-whoami.html">npm-whoami(1)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li></ul>
+</div>
+<p id="footer">npm-stars &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-start.html b/deps/npm/html/doc/cli/npm-start.html
new file mode 100644
index 000000000..4eb414b45
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-start.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-start</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-start.html">npm-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&#39;s &quot;start&quot; script, if one was provided.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-run-script.html">npm-run-script(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-test.html">npm-test(1)</a></li><li><a href="../cli/npm-restart.html">npm-restart(1)</a></li><li><a href="../cli/npm-stop.html">npm-stop(1)</a></li></ul>
+</div>
+<p id="footer">npm-start &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-stop.html b/deps/npm/html/doc/cli/npm-stop.html
new file mode 100644
index 000000000..bfc6e690d
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-stop.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-stop</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-stop.html">npm-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&#39;s &quot;stop&quot; script, if one was provided.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-run-script.html">npm-run-script(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-test.html">npm-test(1)</a></li><li><a href="../cli/npm-start.html">npm-start(1)</a></li><li><a href="../cli/npm-restart.html">npm-restart(1)</a></li></ul>
+</div>
+<p id="footer">npm-stop &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-submodule.html b/deps/npm/html/doc/cli/npm-submodule.html
new file mode 100644
index 000000000..2960ae5ed
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-submodule.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>npm-submodule</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-submodule.html">npm-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&#39;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="../files/package.json.html">package.json(5)</a></li><li>git help submodule</li></ul>
+</div>
+<p id="footer">npm-submodule &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html
new file mode 100644
index 000000000..682866f89
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-tag.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>npm-tag</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-tag.html">npm-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="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-tag &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-test.html b/deps/npm/html/doc/cli/npm-test.html
new file mode 100644
index 000000000..7b2bb0876
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-test.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>npm-test</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-test.html">npm-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&#39;s &quot;test&quot; 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="../cli/npm-run-script.html">npm-run-script(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-start.html">npm-start(1)</a></li><li><a href="../cli/npm-restart.html">npm-restart(1)</a></li><li><a href="../cli/npm-stop.html">npm-stop(1)</a></li></ul>
+</div>
+<p id="footer">npm-test &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-uninstall.html b/deps/npm/html/doc/cli/npm-uninstall.html
new file mode 100644
index 000000000..3bd298583
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-uninstall.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>npm-uninstall</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-rm.html">npm-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="../cli/npm-prune.html">npm-prune(1)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li></ul>
+</div>
+<p id="footer">npm-uninstall &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-unpublish.html b/deps/npm/html/doc/cli/npm-unpublish.html
new file mode 100644
index 000000000..17be6dc90
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-unpublish.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>npm-unpublish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-unpublish.html">npm-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="../cli/npm-deprecate.html">npm-deprecate(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li><li><a href="../cli/npm-owner.html">npm-owner(1)</a></li></ul>
+</div>
+<p id="footer">npm-unpublish &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-update.html b/deps/npm/html/doc/cli/npm-update.html
new file mode 100644
index 000000000..133fd61f8
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-update.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>npm-update</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-update.html">npm-update</a></h1> <p>Update a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm update [-g] [&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>
+
+<p>If the <code>-g</code> flag is specified, this command will update globally installed packages.
+If no package name is specified, all packages in the specified location (global or local) will be updated.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-outdated.html">npm-outdated(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../misc/npm-folders.html">npm-folders(7)</a></li><li><a href="../cli/npm-list.html">npm-list(1)</a></li></ul>
+</div>
+<p id="footer">npm-update &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-version.html b/deps/npm/html/doc/cli/npm-version.html
new file mode 100644
index 000000000..1064250ce
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-version.html
@@ -0,0 +1,83 @@
+<!doctype html>
+<html>
+ <title>npm-version</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-version.html">npm-version</a></h1> <p>Bump a package version</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm version [&lt;newversion&gt; | major | minor | patch | build]</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 &quot;build&quot;, &quot;patch&quot;, &quot;minor&quot;, or
+&quot;major&quot;). In the second case, the existing version will be incremented
+by 1 in the specified field.</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>) config option, npm will
+use it as a commit message when creating a version commit. If the
+<code>message</code> config contains <code>%s</code> then that will be replaced with the
+resulting version number. For example:</p>
+
+<pre><code>npm version patch -m &quot;Upgrade to %s for reasons&quot;</code></pre>
+
+<p>If the <code>sign-git-tag</code> config is set, then the tag will be signed using
+the <code>-s</code> flag to git. Note that you must have a default GPG key set up
+in your git config for this to work properly. For example:</p>
+
+<pre><code>$ npm config set sign-git-tag true
+$ npm version patch
+
+You need a passphrase to unlock the secret key for
+user: &quot;isaacs (http://blog.izs.me/) &lt;i@izs.me&gt;&quot;
+2048-bit RSA key, ID 6C481CF6, created 2010-08-31
+
+Enter passphrase:</code></pre>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-init.html">npm-init(1)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../misc/npm-semver.html">npm-semver(7)</a></li></ul>
+</div>
+<p id="footer">npm-version &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-view.html b/deps/npm/html/doc/cli/npm-view.html
new file mode 100644
index 000000000..43c3e7fd3
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-view.html
@@ -0,0 +1,124 @@
+<!doctype html>
+<html>
+ <title>npm-view</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-view.html">npm-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 &quot;latest&quot; 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 &quot;express&quot; 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>&quot;Person&quot; 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="../files/package.json.html">package.json(5)</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@&#39;&gt;0.5.4&#39; 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. If the field is an object, it will be output as a JavaScript object literal.</p>
+
+<p>If the --json flag is given, the outputted fields will be JSON.</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="../cli/npm-search.html">npm-search(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../cli/npm-docs.html">npm-docs(1)</a></li></ul>
+</div>
+<p id="footer">npm-view &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm-whoami.html b/deps/npm/html/doc/cli/npm-whoami.html
new file mode 100644
index 000000000..2c4608cf6
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm-whoami.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>npm-whoami</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-whoami.html">npm-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="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li></ul>
+</div>
+<p id="footer">npm-whoami &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/cli/npm.html b/deps/npm/html/doc/cli/npm.html
new file mode 100644
index 000000000..7f7be0b90
--- /dev/null
+++ b/deps/npm/html/doc/cli/npm.html
@@ -0,0 +1,169 @@
+<!doctype html>
+<html>
+ <title>npm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/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.3.3</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 &quot;blerg&quot;. Check out
+<code><a href="../cli/npm-install.html">npm-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&#39;s available.
+Use <code>npm ls</code> to show everything you&#39;ve installed.</p>
+
+<h2 id="DIRECTORIES">DIRECTORIES</h2>
+
+<p>See <code><a href="../misc/npm-folders.html">npm-folders(7)</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&#39;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="../files/package.json.html">package.json(5)</a></code>.</li><li>link:
+For linking your current working code into Node&#39;s path, so that you
+don&#39;t have to reinstall every time you make a change. Use
+<code>npm link</code> to do this.</li><li>install:
+It&#39;s a good idea to install things if you don&#39;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. Credentials are stored in the
+user config file.</li><li>publish:
+Use the <code>npm publish</code> command to upload your code to the registry.</li></ul>
+
+<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&#39;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&#39;s default configuration options are defined in
+lib/utils/config-defs.js. These must not be changed.</li></ul>
+
+<p>See <code><a href="../misc/npm-config.html">npm-config(7)</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="../misc/npm-coding-style.html">npm-coding-style(7)</a></code> if you plan to submit code.
+You don&#39;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 &quot;doc&quot; folder. (Don&#39;t worry about generating the man page.)</li></ul>
+
+<p>Contributors are listed in npm&#39;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&#39;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&#39;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="../cli/npm-changelog.html">npm-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="../cli/npm-help.html">npm-help(1)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../../doc/README.html">README</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-index.html">npm-index(7)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul>
+</div>
+<p id="footer">npm &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/coding-style.html b/deps/npm/html/doc/coding-style.html
deleted file mode 100644
index ddbe7dea8..000000000
--- a/deps/npm/html/doc/coding-style.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<!doctype html>
-<html>
- <title>coding-style</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/coding-style.html">coding-style</a></h1> <p>npm&#39;s &quot;funny&quot; coding style</p>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>npm&#39;s coding style is a bit unconventional. It is not different for
-difference&#39;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&#39;s style.</p>
-
-<p>Note: this concerns npm&#39;s code not the specific packages at npmjs.org</p>
-
-<h2 id="Line-Length">Line Length</h2>
-
-<p>Keep lines shorter than 80 characters. It&#39;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&#39;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&#39;t
-use it if it doesn&#39;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&#39;t use them except in four situations:</p>
-
-<ul><li><code>for (;;)</code> loops. They&#39;re actually required.</li><li>null loops like: <code>while (something) ;</code> (But you&#39;d better have a good
-reason for doing that.)</li><li><code>case &quot;foo&quot;: doSomething(); break</code></li><li>In front of a leading <code>(</code> or <code>[</code> at the start of the line.
-This prevents the expression from being interpreted
-as a function call or property access, respectively.</li></ul>
-
-<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 &quot;begin&quot;: start(); continue
- case &quot;end&quot;: finish(); break
- default: throw new Error(&quot;unknown state&quot;)
- }
- 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 = [ &quot;abracadabra&quot;
- , &quot;gesundheit&quot;
- , &quot;ventrilo&quot;
- ]
- , spells = { &quot;fireball&quot; : function () { setOnFire() }
- , &quot;water&quot; : function () { putOut() }
- }
- , a = 1
- , b = &quot;abc&quot;
- , 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&#39;t leave trailing whitespace at the end of lines. Don&#39;t indent empty
-lines. Don&#39;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&#39;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&#39;t just return a
-string message to the callback. Stack traces are handy.</p>
-
-<h2 id="Logging">Logging</h2>
-
-<p>Logging is done using the <a href="https://github.com/isaacs/npmlog">npmlog</a>
-utility.</p>
-
-<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&#39;s happening so that it&#39;s easier to track down where a fault
-occurs.</p>
-
-<p>Use appropriate log levels. See <code><a href="../doc/config.html">config(1)</a></code> and search for
-&quot;loglevel&quot;.</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&#39;d pass to &quot;new&quot;).</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&#39;s a &quot;throwaway&quot; 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&#39;t set it to 0 unless it&#39;s supposed to be a number.</p>
-
-<p>When something is intentionally missing or removed, set it to <code>null</code>.</p>
-
-<p>Don&#39;t set things to <code>undefined</code>. Reserve that value to mean &quot;not yet
-set to anything.&quot;</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.2.25</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
deleted file mode 100644
index ba6832422..000000000
--- a/deps/npm/html/doc/completion.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!doctype html>
-<html>
- <title>completion</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;plumbing mode&quot;, 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.2.25</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
deleted file mode 100644
index 845eaa5ed..000000000
--- a/deps/npm/html/doc/config.html
+++ /dev/null
@@ -1,813 +0,0 @@
-<!doctype html>
-<html>
- <title>config</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>&quot;bar&quot;</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.
-Environment variables can be replaced using <code>${VARIABLE_NAME}</code>. For example:</p>
-
-<pre><code>prefix = ${HOME}/.npm-packages</code></pre>
-
-<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.
-Environment variables can be replaced as above.</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 &quot;builtin&quot;
-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 &quot;true&quot;.</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>-q</code>, <code>--quiet</code>: <code>--loglevel warn</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>-desc</code>: <code>--description</code></li><li><code>-S</code>: <code>--save</code></li><li><code>-D</code>: <code>--save-dev</code></li><li><code>-O</code>: <code>--save-optional</code></li><li><code>-B</code>: <code>--save-bundle</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 &quot;config&quot; 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>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; }
-, &quot;scripts&quot; : { &quot;start&quot; : &quot;node server.js&quot; } }</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-links">bin-links</h3>
-
-<ul><li>Default: <code>true</code></li><li>Type: Boolean</li></ul>
-
-<p>Tells npm to create symlinks (or <code>.cmd</code> shims on Windows) for package
-executables.</p>
-
-<p>Set to false to have it not do this. This can be used to work around
-the fact that some file systems don&#39;t support symlinks, even on
-ostensibly Unix systems.</p>
-
-<h3 id="browser">browser</h3>
-
-<ul><li>Default: OS X: <code>&quot;open&quot;</code>, Windows: <code>&quot;start&quot;</code>, Others: <code>&quot;xdg-open&quot;</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 &quot;known&quot; 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>%APPDATA%\npm-cache</code>, Posix: <code>~/.npm</code></li><li>Type: path</li></ul>
-
-<p>The location of npm&#39;s cache directory. See <code><a href="../doc/cache.html">cache(1)</a></code></p>
-
-<h3 id="cache-lock-stale">cache-lock-stale</h3>
-
-<ul><li>Default: 60000 (1 minute)</li><li>Type: Number</li></ul>
-
-<p>The number of ms before cache folder lockfiles are considered stale.</p>
-
-<h3 id="cache-lock-retries">cache-lock-retries</h3>
-
-<ul><li>Default: 10</li><li>Type: Number</li></ul>
-
-<p>Number of times to retry to acquire a lock on cache folder lockfiles.</p>
-
-<h3 id="cache-lock-wait">cache-lock-wait</h3>
-
-<ul><li>Default: 10000 (10 seconds)</li><li>Type: Number</li></ul>
-
-<p>Number of ms to wait for cache lock files to expire.</p>
-
-<h3 id="cache-max">cache-max</h3>
-
-<ul><li>Default: Infinity</li><li>Type: Number</li></ul>
-
-<p>The maximum time (in seconds) to keep items in the registry cache before
-re-checking against the registry.</p>
-
-<p>Note that no purging is done unless the <code>npm cache clean</code> command is
-explicitly used, and that only GET requests use the cache.</p>
-
-<h3 id="cache-min">cache-min</h3>
-
-<ul><li>Default: 10</li><li>Type: Number</li></ul>
-
-<p>The minimum time (in seconds) to keep items in the registry cache before
-re-checking against the registry.</p>
-
-<p>Note that no purging is done unless the <code>npm cache clean</code> command is
-explicitly used, and that only GET requests use the cache.</p>
-
-<h3 id="color">color</h3>
-
-<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean or <code>&quot;always&quot;</code></li></ul>
-
-<p>If false, never shows colors. If <code>&quot;always&quot;</code> then always shows colors.
-If true, then only prints color codes for tty file descriptors.</p>
-
-<h3 id="coverage">coverage</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>A flag to tell test-harness to run with their coverage options enabled,
-if they respond to the <code>npm_config_coverage</code> environment variable.</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>&quot;vi&quot;</code> on Posix,
-or <code>&quot;notepad&quot;</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="engine-strict">engine-strict</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>If set to true, then npm will stubbornly refuse to install (or even
-consider installing) any package that claims to not be compatible with
-the current Node.js version.</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="fetch-retries">fetch-retries</h3>
-
-<ul><li>Default: 2</li><li>Type: Number</li></ul>
-
-<p>The &quot;retries&quot; config for the <code>retry</code> module to use when fetching
-packages from the registry.</p>
-
-<h3 id="fetch-retry-factor">fetch-retry-factor</h3>
-
-<ul><li>Default: 10</li><li>Type: Number</li></ul>
-
-<p>The &quot;factor&quot; config for the <code>retry</code> module to use when fetching
-packages.</p>
-
-<h3 id="fetch-retry-mintimeout">fetch-retry-mintimeout</h3>
-
-<ul><li>Default: 10000 (10 seconds)</li><li>Type: Number</li></ul>
-
-<p>The &quot;minTimeout&quot; config for the <code>retry</code> module to use when fetching
-packages.</p>
-
-<h3 id="fetch-retry-maxtimeout">fetch-retry-maxtimeout</h3>
-
-<ul><li>Default: 60000 (1 minute)</li><li>Type: Number</li></ul>
-
-<p>The &quot;maxTimeout&quot; config for the <code>retry</code> module to use when fetching
-packages.</p>
-
-<h3 id="git">git</h3>
-
-<ul><li>Default: <code>&quot;git&quot;</code></li><li>Type: String</li></ul>
-
-<p>The command to use for git commands. If git is installed on the
-computer, but is not in the <code>PATH</code>, then set this to the full path to
-the git binary.</p>
-
-<h3 id="global">global</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Operates in &quot;global&quot; 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}/lib/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 &quot;gitignore&quot; 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="user-agent">user-agent</h3>
-
-<ul><li>Default: node/{process.version} {process.platform} {process.arch}</li><li>Type: String</li></ul>
-
-<p>Sets a User-Agent to the request header</p>
-
-<h3 id="ignore">ignore</h3>
-
-<ul><li>Default: &quot;&quot;</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-module">init-module</h3>
-
-<ul><li>Default: ~/.npm-init.js</li><li>Type: path</li></ul>
-
-<p>A module that will be loaded by the <code>npm init</code> command. See the
-documentation for the
-<a href="https://github.com/isaacs/init-package-json">init-package-json</a> module
-for more information, or <a href="../doc/init.html">init(1)</a>.</p>
-
-<h3 id="init-version">init.version</h3>
-
-<ul><li>Default: &quot;0.0.0&quot;</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: &quot;&quot;</li><li>Type: String</li></ul>
-
-<p>The value <code>npm init</code> should use by default for the package author&#39;s name.</p>
-
-<h3 id="init-author-email">init.author.email</h3>
-
-<ul><li>Default: &quot;&quot;</li><li>Type: String</li></ul>
-
-<p>The value <code>npm init</code> should use by default for the package author&#39;s email.</p>
-
-<h3 id="init-author-url">init.author.url</h3>
-
-<ul><li>Default: &quot;&quot;</li><li>Type: String</li></ul>
-
-<p>The value <code>npm init</code> should use by default for the package author&#39;s homepage.</p>
-
-<h3 id="json">json</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Whether or not to output JSON data, rather than the normal output.</p>
-
-<p>This feature is currently experimental, and the output data structures
-for many commands is either not implemented in JSON yet, or subject to
-change. Only the output from <code>npm ls --json</code> is currently valid.</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="loglevel">loglevel</h3>
-
-<ul><li>Default: &quot;http&quot;</li><li>Type: String</li><li>Values: &quot;silent&quot;, &quot;win&quot;, &quot;error&quot;, &quot;warn&quot;, &quot;http&quot;, &quot;info&quot;, &quot;verbose&quot;, &quot;silly&quot;</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>
-
-<p>Any logs of a higher level than the setting are shown.
-The default is &quot;http&quot;, which shows http, warn, and error output.</p>
-
-<h3 id="logstream">logstream</h3>
-
-<ul><li>Default: process.stderr</li><li>Type: Stream</li></ul>
-
-<p>This is the stream that is passed to the
-<a href="https://github.com/isaacs/npmlog">npmlog</a> module at run time.</p>
-
-<p>It cannot be set from the command line, but if you are using npm
-programmatically, you may wish to send logs to somewhere other than
-stderr.</p>
-
-<p>If the <code>color</code> config is set to true, then this stream will receive
-colored output if it is a TTY.</p>
-
-<h3 id="long">long</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Show extended information in <code>npm ls</code></p>
-
-<h3 id="message">message</h3>
-
-<ul><li>Default: &quot;%s&quot;</li><li>Type: String</li></ul>
-
-<p>Commit message which is used by <code>npm version</code> when creating version commit.</p>
-
-<p>Any &quot;%s&quot; 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&#39;s &quot;engines&quot; 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="optional">optional</h3>
-
-<ul><li>Default: true</li><li>Type: Boolean</li></ul>
-
-<p>Attempt to install packages in the <code>optionalDependencies</code> hash. Note
-that if these packages fail to install, the overall installation
-process is not aborted.</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: see <a href="../doc/folders.html">folders(1)</a></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 &quot;production&quot; 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=&quot;production&quot; for lifecycle scripts.</li></ol>
-
-<h3 id="proprietary-attribs">proprietary-attribs</h3>
-
-<ul><li>Default: true</li><li>Type: Boolean</li></ul>
-
-<p>Whether or not to include proprietary extended attributes in the
-tarballs created by npm.</p>
-
-<p>Unless you are expecting to unpack package tarballs with something other
-than npm -- particularly a very outdated tar implementation -- leave
-this as true.</p>
-
-<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>When used with the <code>npm rm</code> command, it removes it from the dependencies
-hash.</p>
-
-<p>Only works if there is already a package.json file present.</p>
-
-<h3 id="save-bundle">save-bundle</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>If a package would be saved at install time by the use of <code>--save</code>,
-<code>--save-dev</code>, or <code>--save-optional</code>, then also put it in the
-<code>bundleDependencies</code> list.</p>
-
-<p>When used with the <code>npm rm</code> command, it removes it from the
-bundledDependencies list.</p>
-
-<h3 id="save-dev">save-dev</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Save installed packages to a package.json file as devDependencies.</p>
-
-<p>When used with the <code>npm rm</code> command, it removes it from the devDependencies
-hash.</p>
-
-<p>Only works if there is already a package.json file present.</p>
-
-<h3 id="save-optional">save-optional</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Save installed packages to a package.json file as optionalDependencies.</p>
-
-<p>When used with the <code>npm rm</code> command, it removes it from the devDependencies
-hash.</p>
-
-<p>Only works if there is already a package.json file present.</p>
-
-<h3 id="searchopts">searchopts</h3>
-
-<ul><li>Default: &quot;&quot;</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: &quot;&quot;</li><li>Type: String</li></ul>
-
-<p>Space-separated options that limit the results from search.</p>
-
-<h3 id="searchsort">searchsort</h3>
-
-<ul><li>Default: &quot;name&quot;</li><li>Type: String</li><li>Values: &quot;name&quot;, &quot;-name&quot;, &quot;date&quot;, &quot;-date&quot;, &quot;description&quot;,
-&quot;-description&quot;, &quot;keywords&quot;, &quot;-keywords&quot;</li></ul>
-
-<p>Indication of which field to sort search results by. Prefix with a <code>-</code>
-character to indicate reverse sort.</p>
-
-<h3 id="shell">shell</h3>
-
-<ul><li>Default: SHELL environment variable, or &quot;bash&quot; on Posix, or &quot;cmd&quot; on
-Windows</li><li>Type: path</li></ul>
-
-<p>The shell to run for the <code>npm explore</code> command.</p>
-
-<h3 id="shrinkwrap">shrinkwrap</h3>
-
-<ul><li>Default: true</li><li>Type: Boolean</li></ul>
-
-<p>If set to false, then ignore <code>npm-shrinkwrap.json</code> files when
-installing.</p>
-
-<h3 id="sign-git-tag">sign-git-tag</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>If set to true, then the <code>npm version</code> command will tag the version
-using <code>-s</code> to add a signature.</p>
-
-<p>Note that git requires you to have set up GPG keys in your git configs
-for this to work properly.</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&#39;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 &quot;/tmp&quot;</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: &quot;nobody&quot;</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 &quot;umask&quot; 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="versions">versions</h3>
-
-<ul><li>Default: false</li><li>Type: boolean</li></ul>
-
-<p>If true, output the npm version as well as node&#39;s <code>process.versions</code>
-hash, and exit successfully.</p>
-
-<p>Only relevant when specified explicitly on the command line.</p>
-
-<h3 id="viewer">viewer</h3>
-
-<ul><li>Default: &quot;man&quot; on Posix, &quot;browser&quot; on Windows</li><li>Type: path</li></ul>
-
-<p>The program to use to view help content.</p>
-
-<p>Set to <code>&quot;browser&quot;</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 &quot;yes&quot; to any prompt. If set to <code>false</code>
-then answer &quot;no&quot; 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.2.25</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/dedupe.html b/deps/npm/html/doc/dedupe.html
deleted file mode 100644
index cc37e501a..000000000
--- a/deps/npm/html/doc/dedupe.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!doctype html>
-<html>
- <title>dedupe</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/dedupe.html">dedupe</a></h1> <p>Reduce duplication</p>
-
-<h2 id="SYNOPSIS">SYNOPSIS</h2>
-
-<pre><code>npm dedupe [package names...]</code></pre>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>Searches the local package tree and attempts to simplify the overall
-structure by moving dependencies further up the tree, where they can
-be more effectively shared by multiple dependent packages.</p>
-
-<p>For example, consider this dependency graph:</p>
-
-<pre><code>a
-+-- b &lt;-- depends on c@1.0.x
-| `-- c@1.0.3
-`-- d &lt;-- depends on c@~1.0.9
- `-- c@1.0.10</code></pre>
-
-<p>In this case, <code><a href="../doc/dedupe.html">dedupe(1)</a></code> will transform the tree to:</p>
-
-<pre><code>a
-+-- b
-+-- d
-`-- c@1.0.10</code></pre>
-
-<p>Because of the hierarchical nature of node&#39;s module lookup, b and d
-will both get their dependency met by the single c package at the root
-level of the tree.</p>
-
-<p>If a suitable version exists at the target location in the tree
-already, then it will be left untouched, but the other duplicates will
-be deleted.</p>
-
-<p>If no suitable version can be found, then a warning is printed, and
-nothing is done.</p>
-
-<p>If any arguments are supplied, then they are filters, and only the
-named packages will be touched.</p>
-
-<p>Note that this operation transforms the dependency tree, and may
-result in packages getting updated versions, perhaps from the npm
-registry.</p>
-
-<p>This feature is experimental, and may change in future versions.</p>
-
-<h2 id="SEE-ALSO">SEE ALSO</h2>
-
-<ul><li><a href="../doc/ls.html">ls(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
-</div>
-<p id="footer">dedupe &mdash; npm@1.2.25</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
deleted file mode 100644
index 2e58cb185..000000000
--- a/deps/npm/html/doc/deprecate.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!doctype html>
-<html>
- <title>deprecate</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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@&quot;&lt; 0.2.3&quot; &quot;critical bug fixed in v0.2.3&quot;</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>
-
-<p>To un-deprecate a package, specify an empty string (<code>&quot;&quot;</code>) for the <code>message</code> argument.</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.2.25</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
deleted file mode 100644
index 9fcbdfd81..000000000
--- a/deps/npm/html/doc/developers.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<!doctype html>
-<html>
- <title>developers</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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 <code>package</code></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 &quot;latest&quot; tag satisfying (e)</li><li>g) a <code>git</code> url that, when cloned, results in (a).</li></ul>
-
-<p>Even if you never publish your package, you can still get a lot of
-benefits of using npm if you just want to write a node program (a), and
-perhaps if you also want to be able to easily install it elsewhere
-after packing it up into a tarball (b).</p>
-
-<p>Git urls can be of the form:</p>
-
-<pre><code>git://github.com/user/project.git#commit-ish
-git+ssh://user@hostname:project.git#commit-ish
-git+http://user@hostname/project/blah.git#commit-ish
-git+https://user@hostname/project/blah.git#commit-ish</code></pre>
-
-<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
-an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
-
-<h2 id="The-package-json-File">The package.json File</h2>
-
-<p>You need to have a <code>package.json</code> file in the root of your project to do
-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 &quot;engines&quot; field to explicitly state the versions of
-node (or whatever else) that your program requires, and it&#39;s pretty
-well assumed that it&#39;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 &quot;scripts.test&quot; 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 &quot;foo&quot; package gives you at require(&quot;foo&quot;)),
-then you need to specify that in the &quot;main&quot; field.</p></li><li><p>directories:
-This is a hash of folders. The best ones to include are &quot;lib&quot; and
-&quot;doc&quot;, but if you specify a folder full of man pages in &quot;man&quot;, then
-they&#39;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 <em>out</em> of your package</h2>
-
-<p>Use a <code>.npmignore</code> file to keep stuff out of your package. If there&#39;s
-no <code>.npmignore</code> file, but there <em>is</em> a <code>.gitignore</code> file, then npm will
-ignore the stuff matched by the <code>.gitignore</code> file. If you <em>want</em> to
-include something that is excluded by your <code>.gitignore</code> file, you can
-create an empty <code>.npmignore</code> file to override it.</p>
-
-<p>By default, the following paths and files are ignored, so there&#39;s no
-need to add them to <code>.npmignore</code> explicitly:</p>
-
-<ul><li><code>.*.swp</code></li><li><code>._*</code></li><li><code>.DS_Store</code></li><li><code>.git</code></li><li><code>.hg</code></li><li><code>.lock-wscript</code></li><li><code>.svn</code></li><li><code>.wafpickle-*</code></li><li><code>CVS</code></li><li><code>npm-debug.log</code></li></ul>
-
-<p>Additionally, everything in <code>node_modules</code> is ignored, except for
-bundled dependencies. npm automatically handles this for you, so don&#39;t
-bother adding <code>node_modules</code> to <code>.npmignore</code>.</p>
-
-<p>The following paths and files are never ignored, so adding them to
-<code>.npmignore</code> is pointless:</p>
-
-<ul><li><code>package.json</code></li><li><code><a href="../doc/README.html">README</a>.*</code></li></ul>
-
-<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&#39;ll have
-problems trying to publish it. Or, worse yet, you&#39;ll be able to
-publish it, but you&#39;ll be publishing a broken or pointless package.
-So don&#39;t do that.</p>
-
-<p>In the root of your package, do this:</p>
-
-<pre><code>npm install . -g</code></pre>
-
-<p>That&#39;ll show you that it&#39;s working. If you&#39;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&#39;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(&quot;my-thing&quot;) to
-bring in your module&#39;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&#39;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>.npmignore</code> file to list out the globs to 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.2.25</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/disputes.html b/deps/npm/html/doc/disputes.html
deleted file mode 100644
index 6a3bb68ed..000000000
--- a/deps/npm/html/doc/disputes.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!doctype html>
-<html>
- <title>disputes</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/disputes.html">disputes</a></h1> <p>Handling Module Name Disputes</p>
-
-<h2 id="SYNOPSIS">SYNOPSIS</h2>
-
-<ol><li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li><li>Email the author, CC <a href="mailto:i@izs.me">i@izs.me</a>.</li><li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li></ol>
-
-<p>Don&#39;t squat on package names. Publish code or move out of the way.</p>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>There sometimes arise cases where a user publishes a module, and then
-later, some other user wants to use that name. Here are some common
-ways that happens (each of these is based on actual events.)</p>
-
-<ol><li>Joe writes a JavaScript module <code>foo</code>, which is not node-specific.
-Joe doesn&#39;t use node at all. Bob wants to use <code>foo</code> in node, so he
-wraps it in an npm module. Some time later, Joe starts using node,
-and wants to take over management of his program.</li><li>Bob writes an npm module <code>foo</code>, and publishes it. Perhaps much
-later, Joe finds a bug in <code>foo</code>, and fixes it. He sends a pull
-request to Bob, but Bob doesn&#39;t have the time to deal with it,
-because he has a new job and a new baby and is focused on his new
-erlang project, and kind of not involved with node any more. Joe
-would like to publish a new <code>foo</code>, but can&#39;t, because the name is
-taken.</li><li>Bob writes a 10-line flow-control library, and calls it <code>foo</code>, and
-publishes it to the npm registry. Being a simple little thing, it
-never really has to be updated. Joe works for Foo Inc, the makers
-of the critically acclaimed and widely-marketed <code>foo</code> JavaScript
-toolkit framework. They publish it to npm as <code>foojs</code>, but people are
-routinely confused when <code>npm install foo</code> is some different thing.</li><li>Bob writes a parser for the widely-known <code>foo</code> file format, because
-he needs it for work. Then, he gets a new job, and never updates the
-prototype. Later on, Joe writes a much more complete <code>foo</code> parser,
-but can&#39;t publish, because Bob&#39;s <code>foo</code> is in the way.</li></ol>
-
-<p>The validity of Joe&#39;s claim in each situation can be debated. However,
-Joe&#39;s appropriate course of action in each case is the same.</p>
-
-<ol><li><code>npm owner ls foo</code>. This will tell Joe the email address of the
-owner (Bob).</li><li>Joe emails Bob, explaining the situation <strong>as respectfully as possible</strong>,
-and what he would like to do with the module name. He adds
-isaacs <a href="mailto:i@izs.me">i@izs.me</a> to the CC list of the email. Mention in the email
-that Bob can run <code>npm owner add joe foo</code> to add Joe as an owner of
-the <code>foo</code> package.</li><li>After a reasonable amount of time, if Bob has not responded, or if
-Bob and Joe can&#39;t come to any sort of resolution, email isaacs
-<a href="mailto:i@izs.me">i@izs.me</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is usually about 4
-weeks, but extra time is allowed around common holidays.)</li></ol>
-
-<h2 id="REASONING">REASONING</h2>
-
-<p>In almost every case so far, the parties involved have been able to reach
-an amicable resolution without any major intervention. Most people
-really do want to be reasonable, and are probably not even aware that
-they&#39;re in your way.</p>
-
-<p>Module ecosystems are most vibrant and powerful when they are as
-self-directed as possible. If an admin one day deletes something you
-had worked on, then that is going to make most people quite upset,
-regardless of the justification. When humans solve their problems by
-talking to other humans with respect, everyone has the chance to end up
-feeling good about the interaction.</p>
-
-<h2 id="EXCEPTIONS">EXCEPTIONS</h2>
-
-<p>Some things are not allowed, and will be removed without discussion if
-they are brought to the attention of the npm registry admins, including
-but not limited to:</p>
-
-<ol><li>Malware (that is, a package designed to exploit or harm the machine on
-which it is installed).</li><li>Violations of copyright or licenses (for example, cloning an
-MIT-licensed program, and then removing or changing the copyright and
-license statement).</li><li>Illegal content.</li><li>&quot;Squatting&quot; on a package name that you <em>plan</em> to use, but aren&#39;t
-actually using. Sorry, I don&#39;t care how great the name is, or how
-perfect a fit it is for the thing that someday might happen. If
-someone wants to use it today, and you&#39;re just taking up space with
-an empty tarball, you&#39;re going to be evicted.</li><li>Putting empty packages in the registry. Packages must have SOME
-functionality. It can be silly, but it can&#39;t be <em>nothing</em>. (See
-also: squatting.)</li><li>Doing weird things with the registry, like using it as your own
-personal application database or otherwise putting non-packagey
-things into it.</li></ol>
-
-<p>If you see bad behavior like this, please report it right away.</p>
-
-<h2 id="SEE-ALSO">SEE ALSO</h2>
-
-<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
-</div>
-<p id="footer">disputes &mdash; npm@1.2.25</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
deleted file mode 100644
index 207e4d599..000000000
--- a/deps/npm/html/doc/docs.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!doctype html>
-<html>
- <title>docs</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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>&quot;open&quot;</code>, Windows: <code>&quot;start&quot;</code>, Others: <code>&quot;xdg-open&quot;</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.2.25</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
deleted file mode 100644
index e9f4a2807..000000000
--- a/deps/npm/html/doc/edit.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!doctype html>
-<html>
- <title>edit</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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>&quot;vi&quot;</code> on Posix,
-or <code>&quot;notepad&quot;</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.2.25</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
deleted file mode 100644
index 9b97d87c4..000000000
--- a/deps/npm/html/doc/explore.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!doctype html>
-<html>
- <title>explore</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;bash&quot; on Posix, or &quot;cmd&quot; 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.2.25</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
deleted file mode 100644
index 4fdb11418..000000000
--- a/deps/npm/html/doc/faq.html
+++ /dev/null
@@ -1,337 +0,0 @@
-<!doctype html>
-<html>
- <title>faq</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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="https://npmjs.org/doc/">https://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&#39;t work.</h2>
-
-<p>That&#39;s not really a question.</p>
-
-<h2 id="Why-didn-t-it-work">Why didn&#39;t it work?</h2>
-
-<p>I don&#39;t know yet.</p>
-
-<p>Read the error output, and if you can&#39;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-on-my-computer-in-a-central-location">How do I install something on my computer in a central location?</h2>
-
-<p>Install it globally by tacking <code>-g</code> or <code>--global</code> to the command. (This
-is especially important for command line utilities that need to add
-their bins to the global system <code>PATH</code>.)</p>
-
-<h2 id="I-installed-something-globally-but-I-can-t-require-it">I installed something globally, but I can&#39;t <code>require()</code> it</h2>
-
-<p>Install it locally.</p>
-
-<p>The global install location is a place for command-line utilities
-to put their bins in the system <code>PATH</code>. It&#39;s not for use with <code>require()</code>.</p>
-
-<p>If you <code>require()</code> a module in your code, then that means it&#39;s a
-dependency, and a part of your program. You need to install it locally
-in your program.</p>
-
-<h2 id="Why-can-t-npm-just-put-everything-in-one-place-like-other-package-managers">Why can&#39;t npm just put everything in one place, like other package managers?</h2>
-
-<p>Not every change is an improvement, but every improvement is a change.
-This would be like asking git to do network IO for every commit. It&#39;s
-not going to happen, because it&#39;s a terrible idea that causes more
-problems than it solves.</p>
-
-<p>It is much harder to avoid dependency conflicts without nesting
-dependencies. This is fundamental to the way that npm works, and has
-proven to be an extremely successful approach. See <code><a href="../doc/folders.html">folders(1)</a></code> for
-more details.</p>
-
-<p>If you want a package to be installed in one place, and have all your
-programs reference the same copy of it, then use the <code>npm link</code> command.
-That&#39;s what it&#39;s for. Install it globally, then link it into each
-program that uses it.</p>
-
-<h2 id="Whatever-I-really-want-the-old-style-everything-global-style">Whatever, I really want the old style &#39;everything global&#39; style.</h2>
-
-<p>Write your own package manager, then. It&#39;s not that hard.</p>
-
-<p>npm will not help you do something that is known to be a bad idea.</p>
-
-<h2 id="node_modules-is-the-name-of-my-deity-s-arch-rival-and-a-Forbidden-Word-in-my-religion-Can-I-configure-npm-to-use-a-different-folder"><code>&quot;node_modules&quot;</code> is the name of my deity&#39;s arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?</h2>
-
-<p>No. This will never happen. This question comes up sometimes,
-because it seems silly from the outside that npm couldn&#39;t just be
-configured to put stuff somewhere else, and then npm could load them
-from there. It&#39;s an arbitrary spelling choice, right? What&#39;s the big
-deal?</p>
-
-<p>At the time of this writing, the string <code>&#39;node_modules&#39;</code> appears 151
-times in 53 separate files in npm and node core (excluding tests and
-documentation).</p>
-
-<p>Some of these references are in node&#39;s built-in module loader. Since
-npm is not involved <strong>at all</strong> at run-time, node itself would have to
-be configured to know where you&#39;ve decided to stick stuff. Complexity
-hurdle #1. Since the Node module system is locked, this cannot be
-changed, and is enough to kill this request. But I&#39;ll continue, in
-deference to your deity&#39;s delicate feelings regarding spelling.</p>
-
-<p>Many of the others are in dependencies that npm uses, which are not
-necessarily tightly coupled to npm (in the sense that they do not read
-npm&#39;s configuration files, etc.) Each of these would have to be
-configured to take the name of the <code>node_modules</code> folder as a
-parameter. Complexity hurdle #2.</p>
-
-<p>Furthermore, npm has the ability to &quot;bundle&quot; dependencies by adding
-the dep names to the <code>&quot;bundledDependencies&quot;</code> list in package.json,
-which causes the folder to be included in the package tarball. What
-if the author of a module bundles its dependencies, and they use a
-different spelling for <code>node_modules</code>? npm would have to rename the
-folder at publish time, and then be smart enough to unpack it using
-your locally configured name. Complexity hurdle #3.</p>
-
-<p>Furthermore, what happens when you <em>change</em> this name? Fine, it&#39;s
-easy enough the first time, just rename the <code>node_modules</code> folders to
-<code>./blergyblerp/</code> or whatever name you choose. But what about when you
-change it again? npm doesn&#39;t currently track any state about past
-configuration settings, so this would be rather difficult to do
-properly. It would have to track every previous value for this
-config, and always accept any of them, or else yesterday&#39;s install may
-be broken tomorrow. Complexity hurdle #5.</p>
-
-<p>Never going to happen. The folder is named <code>node_modules</code>. It is
-written indelibly in the Node Way, handed down from the ancient times
-of Node 0.3.</p>
-
-<h2 id="Should-I-check-my-node_modules-folder-into-git">Should I check my <code>node_modules</code> folder into git?</h2>
-
-<p>Mikeal Rogers answered this question very well:</p>
-
-<p><a href="http://www.mikealrogers.com/posts/nodemodules-in-git.html">http://www.mikealrogers.com/posts/nodemodules-in-git.html</a></p>
-
-<p>tl;dr</p>
-
-<ul><li>Check <code>node_modules</code> into git for things you <strong>deploy</strong>, such as
-websites and apps.</li><li>Do not check <code>node_modules</code> into git for libraries and modules
-intended to be reused.</li><li>Use npm to manage dependencies in your dev environment, but not in
-your deployment scripts.</li></ul>
-
-<h2 id="Is-it-npm-or-NPM-or-Npm">Is it &#39;npm&#39; or &#39;NPM&#39; or &#39;Npm&#39;?</h2>
-
-<p>npm should never be capitalized unless it is being displayed in a
-location that is customarily all-caps (such as the title of man pages.)</p>
-
-<h2 id="If-npm-is-an-acronym-why-is-it-never-capitalized">If &#39;npm&#39; is an acronym, why is it never capitalized?</h2>
-
-<p>Contrary to the belief of many, &quot;npm&quot; is not in fact an abbreviation for
-&quot;Node Package Manager&quot;. It is a recursive bacronymic abbreviation for
-&quot;npm is not an acronym&quot;. (If it was &quot;ninaa&quot;, then it would be an
-acronym, and thus incorrectly named.)</p>
-
-<p>&quot;NPM&quot;, 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, &quot;NPM&quot; 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 &quot;pm&quot;, which was a shortened descendent of &quot;pkgmakeinst&quot;, a
-bash function that was used to install various different things on different
-platforms, most often using Yahoo&#39;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 &quot;npm&quot; 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 https://npmjs.org/install.sh | sh</code></pre>
-
-<h2 id="What-is-a-package">What is a <code>package</code>?</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 &quot;latest&quot; 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&#39;t. Try one of these node version managers:</p>
-
-<p>Unix:</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>
-
-<p>Windows:</p>
-
-<ul><li><a href="http://github.com/marcelklehr/nodist">http://github.com/marcelklehr/nodist</a></li><li><a href="https://github.com/hakobera/nvmw">https://github.com/hakobera/nvmw</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&#39;ll most likely want to <code>npm link</code> your development folder. That&#39;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 &quot;what is a package?&quot; 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&#39;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&#39;s up with the insecure channel warnings?</h2>
-
-<p>Until node 0.4.10, there were problems sending big files over HTTPS. That
-means that publishes go over HTTP by default in those versions of node.</p>
-
-<h2 id="I-forgot-my-password-and-can-t-publish-How-do-I-reset-it">I forgot my password, and can&#39;t publish. How do I reset it?</h2>
-
-<p>Go to <a href="https://npmjs.org/forgot">https://npmjs.org/forgot</a>.</p>
-
-<h2 id="I-get-ECONNREFUSED-a-lot-What-s-up">I get ECONNREFUSED a lot. What&#39;s up?</h2>
-
-<p>Either the registry is down, or node&#39;s DNS isn&#39;t able to reach out.</p>
-
-<p>To check if the registry is down, open up <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</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&#39;ll have someone kick it or something.</p>
-
-<h2 id="Why-no-namespaces">Why no namespaces?</h2>
-
-<p>Please see this discussion: <a href="https://github.com/isaacs/npm/issues/798">https://github.com/isaacs/npm/issues/798</a></p>
-
-<p>tl;dr - It doesn&#39;t actually make things better, and can make them worse.</p>
-
-<p>If you want to namespace your own packages, you may: simply use the
-<code>-</code> character to separate the names. npm is a mostly anarchic system.
-There is not sufficient need to impose namespace rules on everyone.</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="https://github.com/isaacs/npm/issues">https://github.com/isaacs/npm/issues</a></li></ul>
-
-<h2 id="Why-does-npm-hate-me">Why does npm hate me?</h2>
-
-<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.2.25</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/files/npm-folders.html b/deps/npm/html/doc/files/npm-folders.html
new file mode 100644
index 000000000..00dacef55
--- /dev/null
+++ b/deps/npm/html/doc/files/npm-folders.html
@@ -0,0 +1,239 @@
+<!doctype html>
+<html>
+ <title>npm-folders</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../files/npm-folders.html">npm-folders</a></h1> <p>Folder Structures Used by npm</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm puts various things on your computer. That&#39;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&#39;re going to <code>require()</code> it.</li><li>Install it <strong>globally</strong> if you&#39;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&#39;s <code>process.installPrefix</code>.</p>
+
+<p>On windows, this is the exact location of the node.exe binary. On Unix
+systems, it&#39;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(&quot;packagename&quot;)</code> to load its main module, or
+<code>require(&quot;packagename/lib/path/to/sub/module&quot;)</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="../cli/npm-cache.html">npm-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
+&quot;current directory&quot; for the purpose of running npm commands. (This
+behavior is inspired by and similar to git&#39;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&#39;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 &quot;globally&quot;.</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&#39;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&#39;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&#39;s no need to
+put another copy of bar into <code>.../baz/node_modules</code>, since when it calls
+require(&quot;bar&quot;), 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
+&quot;a&quot; 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 &quot;target&quot; 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 <code>bar@1.2.3</code> and <code>baz@1.2.3</code>, those are
+installed in foo&#39;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 satisfies bar&#39;s dependency on <code>blerg@1.x</code>,
+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&#39;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 bar is already in quux&#39;s ancestry [B], it does not
+unpack another copy of bar into that folder.</p>
+
+<p>Underneath <code>foo -&gt; baz</code> [D], quux&#39;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="../files/package.json.html">package.json(5)</a></code> for more information.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-pack.html">npm-pack(1)</a></li><li><a href="../cli/npm-cache.html">npm-cache(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li></ul>
+</div>
+<p id="footer">npm-folders &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/files/npm-global.html b/deps/npm/html/doc/files/npm-global.html
new file mode 100644
index 000000000..00dacef55
--- /dev/null
+++ b/deps/npm/html/doc/files/npm-global.html
@@ -0,0 +1,239 @@
+<!doctype html>
+<html>
+ <title>npm-folders</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../files/npm-folders.html">npm-folders</a></h1> <p>Folder Structures Used by npm</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm puts various things on your computer. That&#39;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&#39;re going to <code>require()</code> it.</li><li>Install it <strong>globally</strong> if you&#39;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&#39;s <code>process.installPrefix</code>.</p>
+
+<p>On windows, this is the exact location of the node.exe binary. On Unix
+systems, it&#39;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(&quot;packagename&quot;)</code> to load its main module, or
+<code>require(&quot;packagename/lib/path/to/sub/module&quot;)</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="../cli/npm-cache.html">npm-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
+&quot;current directory&quot; for the purpose of running npm commands. (This
+behavior is inspired by and similar to git&#39;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&#39;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 &quot;globally&quot;.</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&#39;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&#39;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&#39;s no need to
+put another copy of bar into <code>.../baz/node_modules</code>, since when it calls
+require(&quot;bar&quot;), 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
+&quot;a&quot; 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 &quot;target&quot; 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 <code>bar@1.2.3</code> and <code>baz@1.2.3</code>, those are
+installed in foo&#39;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 satisfies bar&#39;s dependency on <code>blerg@1.x</code>,
+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&#39;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 bar is already in quux&#39;s ancestry [B], it does not
+unpack another copy of bar into that folder.</p>
+
+<p>Underneath <code>foo -&gt; baz</code> [D], quux&#39;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="../files/package.json.html">package.json(5)</a></code> for more information.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-pack.html">npm-pack(1)</a></li><li><a href="../cli/npm-cache.html">npm-cache(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li></ul>
+</div>
+<p id="footer">npm-folders &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/files/npm-json.html b/deps/npm/html/doc/files/npm-json.html
new file mode 100644
index 000000000..a8e0f6279
--- /dev/null
+++ b/deps/npm/html/doc/files/npm-json.html
@@ -0,0 +1,580 @@
+<!doctype html>
+<html>
+ <title>package.json</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../files/package.json.html">package.json</a></h1> <p>Specifics of npm&#39;s package.json handling</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This document is all you need to know about what&#39;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="../misc/npm-config.html">npm-config(7)</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>&quot;scripts&quot;: {&quot;start&quot;: &quot;node server.js&quot;}</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>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-waf clean || true; node-waf configure build&quot;}</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>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-gyp rebuild&quot;}</code></p><p>If there is a <code>binding.gyp</code> file in the root of your package, npm will
+default the <code>preinstall</code> command to compile using node-gyp.</p></li><li><p><code>&quot;contributors&quot;: [...]</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&#39;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&#39;t put &quot;js&quot; or &quot;node&quot; in the name. It&#39;s assumed that it&#39;s js, since you&#39;re
+writing a package.json file, and you can specify the engine using the &quot;engines&quot;
+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&#39;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&#39;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&#39;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&#39;s how npm&#39;s semver implementation deviates from what&#39;s on semver.org:</p>
+
+<ul><li>Versions can start with &quot;v&quot;</li><li>A numeric item separated from the main three-number version by a hyphen
+will be interpreted as a &quot;build&quot; number, and will <em>increase</em> the version.
+But, if the tag is not a number separated by a hyphen, then it&#39;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 &quot;v1.2.3&quot; and then do &quot;git describe&quot; to generate
+a patch version.</p>
+
+<h2 id="description">description</h2>
+
+<p>Put a description in it. It&#39;s a string. This helps people discover your
+package, as it&#39;s listed in <code>npm search</code>.</p>
+
+<h2 id="keywords">keywords</h2>
+
+<p>Put keywords in it. It&#39;s an array of strings. This helps people
+discover your package as it&#39;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 &quot;url&quot;. If you put a &quot;url&quot; field,
+then the registry will think it&#39;s a redirection to your package that has
+been published somewhere else, and spit at you.</p>
+
+<p>Literally. Spit. I&#39;m so not kidding.</p>
+
+<h2 id="bugs">bugs</h2>
+
+<p>The url to your project&#39;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>{ &quot;url&quot; : &quot;http://github.com/owner/project/issues&quot;
+, &quot;email&quot; : &quot;project@hostname.com&quot;
+}</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 &quot;bugs&quot; 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="license">license</h2>
+
+<p>You should specify a license for your package so that people know how they are
+permitted to use it, and any restrictions you&#39;re placing on it.</p>
+
+<p>The simplest way, assuming you&#39;re using a common license such as BSD or MIT, is
+to just specify the name of the license you&#39;re using, like this:</p>
+
+<pre><code>{ &quot;license&quot; : &quot;BSD&quot; }</code></pre>
+
+<p>If you have more complex licensing terms, or you want to provide more detail
+in your package.json file, you can use the more verbose plural form, like this:</p>
+
+<pre><code>&quot;licenses&quot; : [
+ { &quot;type&quot; : &quot;MyLicense&quot;
+ , &quot;url&quot; : &quot;http://github.com/owner/project/path/to/license&quot;
+ }
+]</code></pre>
+
+<p>It&#39;s also a good idea to include a license file at the top level in your package.</p>
+
+<h2 id="people-fields-author-contributors">people fields: author, contributors</h2>
+
+<p>The &quot;author&quot; is one person. &quot;contributors&quot; is an array of people. A &quot;person&quot;
+is an object with a &quot;name&quot; field and optionally &quot;url&quot; and &quot;email&quot;, like this:</p>
+
+<pre><code>{ &quot;name&quot; : &quot;Barney Rubble&quot;
+, &quot;email&quot; : &quot;b@rubble.com&quot;
+, &quot;url&quot; : &quot;http://barnyrubble.tumblr.com/&quot;
+}</code></pre>
+
+<p>Or you can shorten that all into a single string, and npm will parse it for you:</p>
+
+<pre><code>&quot;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 &quot;maintainers&quot; field with your npm user info.</p>
+
+<h2 id="files">files</h2>
+
+<p>The &quot;files&quot; 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 &quot;.npmignore&quot; 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 &quot;.npmignore&quot; file works just like a
+&quot;.gitignore&quot;.</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(&quot;foo&quot;)</code>, then your main module&#39;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&#39;d like to
+install into the PATH. npm makes this pretty easy (in fact, it uses this
+feature to install the &quot;npm&quot; 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>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }</code></pre>
+
+<p>So, when you install npm, it&#39;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>{ &quot;name&quot;: &quot;my-program&quot;
+, &quot;version&quot;: &quot;1.2.5&quot;
+, &quot;bin&quot;: &quot;./path/to/program&quot; }</code></pre>
+
+<p>would be the same as this:</p>
+
+<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
+, &quot;version&quot;: &quot;1.2.5&quot;
+, &quot;bin&quot; : { &quot;my-program&quot; : &quot;./path/to/program&quot; } }</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&#39;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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;version&quot; : &quot;1.2.3&quot;
+, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
+, &quot;main&quot; : &quot;foo.js&quot;
+, &quot;man&quot; : &quot;./man/doc.1&quot;
+}</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&#39;t start with the package name, then it&#39;s prefixed.
+So, this:</p>
+
+<pre><code>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;version&quot; : &quot;1.2.3&quot;
+, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
+, &quot;main&quot; : &quot;foo.js&quot;
+, &quot;man&quot; : [ &quot;./man/foo.1&quot;, &quot;./man/bar.1&quot; ]
+}</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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;version&quot; : &quot;1.2.3&quot;
+, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
+, &quot;main&quot; : &quot;foo.js&quot;
+, &quot;man&quot; : [ &quot;./man/foo.1&quot;, &quot;./man/foo.2&quot; ]
+}</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&#39;s package.json</a>,
+you&#39;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&#39;s useful meta info.</p>
+
+<h3 id="directories-bin">directories.bin</h3>
+
+<p>If you specify a &quot;bin&quot; directory, then all the files in that folder will
+be used as the &quot;bin&quot; hash.</p>
+
+<p>If you have a &quot;bin&quot; 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 &quot;man&quot; 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>&quot;repository&quot; :
+ { &quot;type&quot; : &quot;git&quot;
+ , &quot;url&quot; : &quot;http://github.com/isaacs/npm.git&quot;
+ }
+
+&quot;repository&quot; :
+ { &quot;type&quot; : &quot;svn&quot;
+ , &quot;url&quot; : &quot;http://v8.googlecode.com/svn/trunk/&quot;
+ }</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&#39;s for computers.</p>
+
+<h2 id="scripts">scripts</h2>
+
+<p>The &quot;scripts&quot; 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="../misc/npm-scripts.html">npm-scripts(7)</a></code> to find out more about writing package scripts.</p>
+
+<h2 id="config">config</h2>
+
+<p>A &quot;config&quot; 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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; } }</code></pre>
+
+<p>and then had a &quot;start&quot; 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="../misc/npm-config.html">npm-config(7)</a></code> and <code><a href="../misc/npm-scripts.html">npm-scripts(7)</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 &quot;fromVersion - toVersion&quot;</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 &quot;version&quot;
+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 &#39;Tilde Version Ranges&#39; below</li><li><code>1.2.x</code> See &#39;X Version Ranges&#39; below</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</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><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li></ul>
+
+<p>For example, these are all valid:</p>
+
+<pre><code>{ &quot;dependencies&quot; :
+ { &quot;foo&quot; : &quot;1.0.0 - 2.9999.9999&quot;
+ , &quot;bar&quot; : &quot;&gt;=1.0.2 &lt;2.1.2&quot;
+ , &quot;baz&quot; : &quot;&gt;1.0.2 &lt;=2.3.4&quot;
+ , &quot;boo&quot; : &quot;2.0.1&quot;
+ , &quot;qux&quot; : &quot;&lt;1.0.0 || &gt;=2.3.1 &lt;2.4.5 || &gt;=2.5.2 &lt;3.0.0&quot;
+ , &quot;asd&quot; : &quot;http://asdf.com/asdf.tar.gz&quot;
+ , &quot;til&quot; : &quot;~1.2&quot;
+ , &quot;elf&quot; : &quot;~1.2.3&quot;
+ , &quot;two&quot; : &quot;2.x&quot;
+ , &quot;thr&quot; : &quot;3.3.x&quot;
+ }
+}</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>&quot;~1.2.3&quot; = &quot;&gt;=1.2.3 &lt;1.3.0&quot;</code></li><li><code>&quot;~1.2&quot; = &quot;&gt;=1.2.0 &lt;1.3.0&quot;</code></li><li><code>&quot;~1&quot; = &quot;&gt;=1.0.0 &lt;1.1.0&quot;</code></li></ul>
+
+<h3 id="X-Version-Ranges">X Version Ranges</h3>
+
+<p>An &quot;x&quot; 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>&quot;1.2.x&quot; = &quot;&gt;=1.2.0 &lt;1.3.0&quot;</code></li><li><code>&quot;1.x.x&quot; = &quot;&gt;=1.0.0 &lt;2.0.0&quot;</code></li><li><code>&quot;1.2&quot; = &quot;1.2.x&quot;</code></li><li><code>&quot;1.x&quot; = &quot;1.x.x&quot;</code></li><li><code>&quot;1&quot; = &quot;1.x.x&quot;</code></li></ul>
+
+<p>You may not supply a comparator with a version containing an x. Any
+digits after the first &quot;x&quot; 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>
+
+<h3 id="Git-URLs-as-Dependencies">Git URLs as Dependencies</h3>
+
+<p>Git urls can be of the form:</p>
+
+<pre><code>git://github.com/user/project.git#commit-ish
+git+ssh://user@hostname:project.git#commit-ish
+git+ssh://user@hostname/project.git#commit-ish
+git+http://user@hostname/project/blah.git#commit-ish
+git+https://user@hostname/project/blah.git#commit-ish</code></pre>
+
+<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
+an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
+
+<h2 id="devDependencies">devDependencies</h2>
+
+<p>If someone is planning on downloading and using your module in their
+program, then they probably don&#39;t want or need to download and build
+the external test or documentation framework that you use.</p>
+
+<p>In this case, it&#39;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> or when doing
+<code>npm install</code> from the root of a package, and can be managed like any other npm
+configuration param. See <code><a href="../misc/npm-config.html">npm-config(7)</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>&quot;bundleDependencies&quot;</code>, then that is also honorable.</p>
+
+<h2 id="optionalDependencies">optionalDependencies</h2>
+
+<p>If a dependency can be used, but you would like npm to proceed if it
+cannot be found or fails to install, then you may put it in the
+<code>optionalDependencies</code> hash. This is a map of package name to version
+or url, just like the <code>dependencies</code> hash. The difference is that
+failure is tolerated.</p>
+
+<p>It is still your program&#39;s responsibility to handle the lack of the
+dependency. For example, something like this:</p>
+
+<pre><code>try {
+ var foo = require(&#39;foo&#39;)
+ var fooVersion = require(&#39;foo/package.json&#39;).version
+} catch (er) {
+ foo = null
+}
+if ( notGoodFooVersion(fooVersion) ) {
+ foo = null
+}
+
+// .. then later in your program ..
+
+if (foo) {
+ foo.doFooThings()
+}</code></pre>
+
+<p>Entries in <code>optionalDependencies</code> will override entries of the same name in
+<code>dependencies</code>, so it&#39;s usually best to only put in one place.</p>
+
+<h2 id="engines">engines</h2>
+
+<p>You can specify the version of node that your stuff works on:</p>
+
+<pre><code>{ &quot;engines&quot; : { &quot;node&quot; : &quot;&gt;=0.1.27 &lt;0.1.30&quot; } }</code></pre>
+
+<p>And, like with dependencies, if you don&#39;t specify the version (or if you
+specify &quot;*&quot; as the version), then any version of node will do.</p>
+
+<p>If you specify an &quot;engines&quot; field, then npm will require that &quot;node&quot; be
+somewhere on that list. If &quot;engines&quot; is omitted, then npm will just assume
+that it works on node.</p>
+
+<p>You can also use the &quot;engines&quot; field to specify which versions of npm
+are capable of properly installing your program. For example:</p>
+
+<pre><code>{ &quot;engines&quot; : { &quot;npm&quot; : &quot;~1.0.20&quot; } }</code></pre>
+
+<p>Note that, unless the user has set the <code>engine-strict</code> config flag, this
+field is advisory only.</p>
+
+<h2 id="engineStrict">engineStrict</h2>
+
+<p>If you are sure that your module will <em>definitely not</em> run properly on
+versions of Node/npm other than those specified in the <code>engines</code> hash,
+then you can set <code>&quot;engineStrict&quot;: true</code> in your package.json file.
+This will override the user&#39;s <code>engine-strict</code> config setting.</p>
+
+<p>Please do not do this unless you are really very very sure. If your
+engines hash is something overly restrictive, you can quite easily and
+inadvertently lock yourself into obscurity and prevent your users from
+updating to new versions of Node. Consider this choice carefully. If
+people abuse it, it will be removed in a future version of npm.</p>
+
+<h2 id="os">os</h2>
+
+<p>You can specify which operating systems your
+module will run on:</p>
+
+<pre><code>&quot;os&quot; : [ &quot;darwin&quot;, &quot;linux&quot; ]</code></pre>
+
+<p>You can also blacklist instead of whitelist operating systems,
+just prepend the blacklisted os with a &#39;!&#39;:</p>
+
+<pre><code>&quot;os&quot; : [ &quot;!win32&quot; ]</code></pre>
+
+<p>The host operating system is determined by <code>process.platform</code></p>
+
+<p>It is allowed to both blacklist, and whitelist, although there isn&#39;t any
+good reason to do this.</p>
+
+<h2 id="cpu">cpu</h2>
+
+<p>If your code only runs on certain cpu architectures,
+you can specify which ones.</p>
+
+<pre><code>&quot;cpu&quot; : [ &quot;x64&quot;, &quot;ia32&quot; ]</code></pre>
+
+<p>Like the <code>os</code> option, you can also blacklist architectures:</p>
+
+<pre><code>&quot;cpu&quot; : [ &quot;!arm&quot;, &quot;!mips&quot; ]</code></pre>
+
+<p>The host architecture is determined by <code>process.arch</code></p>
+
+<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&#39;t actually prevent users from installing it locally, but it
+does help prevent some confusion if it doesn&#39;t work as expected.</p>
+
+<h2 id="private">private</h2>
+
+<p>If you set <code>&quot;private&quot;: 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 specific 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&#39;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 &quot;latest&quot; or published to
+the global public registry by default.</p>
+
+<p>Any config values can be overridden, but of course only &quot;tag&quot; and
+&quot;registry&quot; probably matter for the purposes of publishing.</p>
+
+<p>See <code><a href="../misc/npm-config.html">npm-config(7)</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="../misc/npm-semver.html">npm-semver(7)</a></li><li><a href="../cli/npm-init.html">npm-init(1)</a></li><li><a href="../cli/npm-version.html">npm-version(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../cli/npm-help.html">npm-help(1)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li></ul>
+</div>
+<p id="footer">package.json &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/files/npmrc.html b/deps/npm/html/doc/files/npmrc.html
new file mode 100644
index 000000000..90cc13410
--- /dev/null
+++ b/deps/npm/html/doc/files/npmrc.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+ <title>npmrc</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../files/npmrc.html">npmrc</a></h1> <p>The npm config files</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm gets its config settings from the command line, environment
+variables, and <code>npmrc</code> files.</p>
+
+<p>The <code>npm config</code> command can be used to update and edit the contents
+of the user and global npmrc files.</p>
+
+<p>For a list of available configuration options, see <a href="../misc/npm-config.html">npm-config(7)</a>.</p>
+
+<h2 id="FILES">FILES</h2>
+
+<p>The three relevant files are:</p>
+
+<ul><li>per-user config file (~/.npmrc)</li><li>global config file ($PREFIX/npmrc)</li><li>npm builtin config file (/path/to/npm/npmrc)</li></ul>
+
+<p>All npm config files are an ini-formatted list of <code>key = value</code>
+parameters. Environment variables can be replaced using
+<code>${VARIABLE_NAME}</code>. For example:</p>
+
+<pre><code>prefix = ${HOME}/.npm-packages</code></pre>
+
+<p>Each of these files is loaded, and config options are resolved in
+priority order. For example, a setting in the userconfig file would
+override the setting in the globalconfig file.</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 in the environment
+or on the command line)</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.
+Environment variables can be replaced as above.</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 &quot;builtin&quot; 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>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">npmrc &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/files/package.json.html b/deps/npm/html/doc/files/package.json.html
new file mode 100644
index 000000000..a8e0f6279
--- /dev/null
+++ b/deps/npm/html/doc/files/package.json.html
@@ -0,0 +1,580 @@
+<!doctype html>
+<html>
+ <title>package.json</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../files/package.json.html">package.json</a></h1> <p>Specifics of npm&#39;s package.json handling</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This document is all you need to know about what&#39;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="../misc/npm-config.html">npm-config(7)</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>&quot;scripts&quot;: {&quot;start&quot;: &quot;node server.js&quot;}</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>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-waf clean || true; node-waf configure build&quot;}</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>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-gyp rebuild&quot;}</code></p><p>If there is a <code>binding.gyp</code> file in the root of your package, npm will
+default the <code>preinstall</code> command to compile using node-gyp.</p></li><li><p><code>&quot;contributors&quot;: [...]</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&#39;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&#39;t put &quot;js&quot; or &quot;node&quot; in the name. It&#39;s assumed that it&#39;s js, since you&#39;re
+writing a package.json file, and you can specify the engine using the &quot;engines&quot;
+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&#39;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&#39;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&#39;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&#39;s how npm&#39;s semver implementation deviates from what&#39;s on semver.org:</p>
+
+<ul><li>Versions can start with &quot;v&quot;</li><li>A numeric item separated from the main three-number version by a hyphen
+will be interpreted as a &quot;build&quot; number, and will <em>increase</em> the version.
+But, if the tag is not a number separated by a hyphen, then it&#39;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 &quot;v1.2.3&quot; and then do &quot;git describe&quot; to generate
+a patch version.</p>
+
+<h2 id="description">description</h2>
+
+<p>Put a description in it. It&#39;s a string. This helps people discover your
+package, as it&#39;s listed in <code>npm search</code>.</p>
+
+<h2 id="keywords">keywords</h2>
+
+<p>Put keywords in it. It&#39;s an array of strings. This helps people
+discover your package as it&#39;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 &quot;url&quot;. If you put a &quot;url&quot; field,
+then the registry will think it&#39;s a redirection to your package that has
+been published somewhere else, and spit at you.</p>
+
+<p>Literally. Spit. I&#39;m so not kidding.</p>
+
+<h2 id="bugs">bugs</h2>
+
+<p>The url to your project&#39;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>{ &quot;url&quot; : &quot;http://github.com/owner/project/issues&quot;
+, &quot;email&quot; : &quot;project@hostname.com&quot;
+}</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 &quot;bugs&quot; 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="license">license</h2>
+
+<p>You should specify a license for your package so that people know how they are
+permitted to use it, and any restrictions you&#39;re placing on it.</p>
+
+<p>The simplest way, assuming you&#39;re using a common license such as BSD or MIT, is
+to just specify the name of the license you&#39;re using, like this:</p>
+
+<pre><code>{ &quot;license&quot; : &quot;BSD&quot; }</code></pre>
+
+<p>If you have more complex licensing terms, or you want to provide more detail
+in your package.json file, you can use the more verbose plural form, like this:</p>
+
+<pre><code>&quot;licenses&quot; : [
+ { &quot;type&quot; : &quot;MyLicense&quot;
+ , &quot;url&quot; : &quot;http://github.com/owner/project/path/to/license&quot;
+ }
+]</code></pre>
+
+<p>It&#39;s also a good idea to include a license file at the top level in your package.</p>
+
+<h2 id="people-fields-author-contributors">people fields: author, contributors</h2>
+
+<p>The &quot;author&quot; is one person. &quot;contributors&quot; is an array of people. A &quot;person&quot;
+is an object with a &quot;name&quot; field and optionally &quot;url&quot; and &quot;email&quot;, like this:</p>
+
+<pre><code>{ &quot;name&quot; : &quot;Barney Rubble&quot;
+, &quot;email&quot; : &quot;b@rubble.com&quot;
+, &quot;url&quot; : &quot;http://barnyrubble.tumblr.com/&quot;
+}</code></pre>
+
+<p>Or you can shorten that all into a single string, and npm will parse it for you:</p>
+
+<pre><code>&quot;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 &quot;maintainers&quot; field with your npm user info.</p>
+
+<h2 id="files">files</h2>
+
+<p>The &quot;files&quot; 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 &quot;.npmignore&quot; 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 &quot;.npmignore&quot; file works just like a
+&quot;.gitignore&quot;.</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(&quot;foo&quot;)</code>, then your main module&#39;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&#39;d like to
+install into the PATH. npm makes this pretty easy (in fact, it uses this
+feature to install the &quot;npm&quot; 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>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }</code></pre>
+
+<p>So, when you install npm, it&#39;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>{ &quot;name&quot;: &quot;my-program&quot;
+, &quot;version&quot;: &quot;1.2.5&quot;
+, &quot;bin&quot;: &quot;./path/to/program&quot; }</code></pre>
+
+<p>would be the same as this:</p>
+
+<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
+, &quot;version&quot;: &quot;1.2.5&quot;
+, &quot;bin&quot; : { &quot;my-program&quot; : &quot;./path/to/program&quot; } }</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&#39;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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;version&quot; : &quot;1.2.3&quot;
+, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
+, &quot;main&quot; : &quot;foo.js&quot;
+, &quot;man&quot; : &quot;./man/doc.1&quot;
+}</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&#39;t start with the package name, then it&#39;s prefixed.
+So, this:</p>
+
+<pre><code>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;version&quot; : &quot;1.2.3&quot;
+, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
+, &quot;main&quot; : &quot;foo.js&quot;
+, &quot;man&quot; : [ &quot;./man/foo.1&quot;, &quot;./man/bar.1&quot; ]
+}</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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;version&quot; : &quot;1.2.3&quot;
+, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
+, &quot;main&quot; : &quot;foo.js&quot;
+, &quot;man&quot; : [ &quot;./man/foo.1&quot;, &quot;./man/foo.2&quot; ]
+}</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&#39;s package.json</a>,
+you&#39;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&#39;s useful meta info.</p>
+
+<h3 id="directories-bin">directories.bin</h3>
+
+<p>If you specify a &quot;bin&quot; directory, then all the files in that folder will
+be used as the &quot;bin&quot; hash.</p>
+
+<p>If you have a &quot;bin&quot; 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 &quot;man&quot; 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>&quot;repository&quot; :
+ { &quot;type&quot; : &quot;git&quot;
+ , &quot;url&quot; : &quot;http://github.com/isaacs/npm.git&quot;
+ }
+
+&quot;repository&quot; :
+ { &quot;type&quot; : &quot;svn&quot;
+ , &quot;url&quot; : &quot;http://v8.googlecode.com/svn/trunk/&quot;
+ }</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&#39;s for computers.</p>
+
+<h2 id="scripts">scripts</h2>
+
+<p>The &quot;scripts&quot; 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="../misc/npm-scripts.html">npm-scripts(7)</a></code> to find out more about writing package scripts.</p>
+
+<h2 id="config">config</h2>
+
+<p>A &quot;config&quot; 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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; } }</code></pre>
+
+<p>and then had a &quot;start&quot; 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="../misc/npm-config.html">npm-config(7)</a></code> and <code><a href="../misc/npm-scripts.html">npm-scripts(7)</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 &quot;fromVersion - toVersion&quot;</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 &quot;version&quot;
+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 &#39;Tilde Version Ranges&#39; below</li><li><code>1.2.x</code> See &#39;X Version Ranges&#39; below</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</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><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li></ul>
+
+<p>For example, these are all valid:</p>
+
+<pre><code>{ &quot;dependencies&quot; :
+ { &quot;foo&quot; : &quot;1.0.0 - 2.9999.9999&quot;
+ , &quot;bar&quot; : &quot;&gt;=1.0.2 &lt;2.1.2&quot;
+ , &quot;baz&quot; : &quot;&gt;1.0.2 &lt;=2.3.4&quot;
+ , &quot;boo&quot; : &quot;2.0.1&quot;
+ , &quot;qux&quot; : &quot;&lt;1.0.0 || &gt;=2.3.1 &lt;2.4.5 || &gt;=2.5.2 &lt;3.0.0&quot;
+ , &quot;asd&quot; : &quot;http://asdf.com/asdf.tar.gz&quot;
+ , &quot;til&quot; : &quot;~1.2&quot;
+ , &quot;elf&quot; : &quot;~1.2.3&quot;
+ , &quot;two&quot; : &quot;2.x&quot;
+ , &quot;thr&quot; : &quot;3.3.x&quot;
+ }
+}</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>&quot;~1.2.3&quot; = &quot;&gt;=1.2.3 &lt;1.3.0&quot;</code></li><li><code>&quot;~1.2&quot; = &quot;&gt;=1.2.0 &lt;1.3.0&quot;</code></li><li><code>&quot;~1&quot; = &quot;&gt;=1.0.0 &lt;1.1.0&quot;</code></li></ul>
+
+<h3 id="X-Version-Ranges">X Version Ranges</h3>
+
+<p>An &quot;x&quot; 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>&quot;1.2.x&quot; = &quot;&gt;=1.2.0 &lt;1.3.0&quot;</code></li><li><code>&quot;1.x.x&quot; = &quot;&gt;=1.0.0 &lt;2.0.0&quot;</code></li><li><code>&quot;1.2&quot; = &quot;1.2.x&quot;</code></li><li><code>&quot;1.x&quot; = &quot;1.x.x&quot;</code></li><li><code>&quot;1&quot; = &quot;1.x.x&quot;</code></li></ul>
+
+<p>You may not supply a comparator with a version containing an x. Any
+digits after the first &quot;x&quot; 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>
+
+<h3 id="Git-URLs-as-Dependencies">Git URLs as Dependencies</h3>
+
+<p>Git urls can be of the form:</p>
+
+<pre><code>git://github.com/user/project.git#commit-ish
+git+ssh://user@hostname:project.git#commit-ish
+git+ssh://user@hostname/project.git#commit-ish
+git+http://user@hostname/project/blah.git#commit-ish
+git+https://user@hostname/project/blah.git#commit-ish</code></pre>
+
+<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
+an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
+
+<h2 id="devDependencies">devDependencies</h2>
+
+<p>If someone is planning on downloading and using your module in their
+program, then they probably don&#39;t want or need to download and build
+the external test or documentation framework that you use.</p>
+
+<p>In this case, it&#39;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> or when doing
+<code>npm install</code> from the root of a package, and can be managed like any other npm
+configuration param. See <code><a href="../misc/npm-config.html">npm-config(7)</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>&quot;bundleDependencies&quot;</code>, then that is also honorable.</p>
+
+<h2 id="optionalDependencies">optionalDependencies</h2>
+
+<p>If a dependency can be used, but you would like npm to proceed if it
+cannot be found or fails to install, then you may put it in the
+<code>optionalDependencies</code> hash. This is a map of package name to version
+or url, just like the <code>dependencies</code> hash. The difference is that
+failure is tolerated.</p>
+
+<p>It is still your program&#39;s responsibility to handle the lack of the
+dependency. For example, something like this:</p>
+
+<pre><code>try {
+ var foo = require(&#39;foo&#39;)
+ var fooVersion = require(&#39;foo/package.json&#39;).version
+} catch (er) {
+ foo = null
+}
+if ( notGoodFooVersion(fooVersion) ) {
+ foo = null
+}
+
+// .. then later in your program ..
+
+if (foo) {
+ foo.doFooThings()
+}</code></pre>
+
+<p>Entries in <code>optionalDependencies</code> will override entries of the same name in
+<code>dependencies</code>, so it&#39;s usually best to only put in one place.</p>
+
+<h2 id="engines">engines</h2>
+
+<p>You can specify the version of node that your stuff works on:</p>
+
+<pre><code>{ &quot;engines&quot; : { &quot;node&quot; : &quot;&gt;=0.1.27 &lt;0.1.30&quot; } }</code></pre>
+
+<p>And, like with dependencies, if you don&#39;t specify the version (or if you
+specify &quot;*&quot; as the version), then any version of node will do.</p>
+
+<p>If you specify an &quot;engines&quot; field, then npm will require that &quot;node&quot; be
+somewhere on that list. If &quot;engines&quot; is omitted, then npm will just assume
+that it works on node.</p>
+
+<p>You can also use the &quot;engines&quot; field to specify which versions of npm
+are capable of properly installing your program. For example:</p>
+
+<pre><code>{ &quot;engines&quot; : { &quot;npm&quot; : &quot;~1.0.20&quot; } }</code></pre>
+
+<p>Note that, unless the user has set the <code>engine-strict</code> config flag, this
+field is advisory only.</p>
+
+<h2 id="engineStrict">engineStrict</h2>
+
+<p>If you are sure that your module will <em>definitely not</em> run properly on
+versions of Node/npm other than those specified in the <code>engines</code> hash,
+then you can set <code>&quot;engineStrict&quot;: true</code> in your package.json file.
+This will override the user&#39;s <code>engine-strict</code> config setting.</p>
+
+<p>Please do not do this unless you are really very very sure. If your
+engines hash is something overly restrictive, you can quite easily and
+inadvertently lock yourself into obscurity and prevent your users from
+updating to new versions of Node. Consider this choice carefully. If
+people abuse it, it will be removed in a future version of npm.</p>
+
+<h2 id="os">os</h2>
+
+<p>You can specify which operating systems your
+module will run on:</p>
+
+<pre><code>&quot;os&quot; : [ &quot;darwin&quot;, &quot;linux&quot; ]</code></pre>
+
+<p>You can also blacklist instead of whitelist operating systems,
+just prepend the blacklisted os with a &#39;!&#39;:</p>
+
+<pre><code>&quot;os&quot; : [ &quot;!win32&quot; ]</code></pre>
+
+<p>The host operating system is determined by <code>process.platform</code></p>
+
+<p>It is allowed to both blacklist, and whitelist, although there isn&#39;t any
+good reason to do this.</p>
+
+<h2 id="cpu">cpu</h2>
+
+<p>If your code only runs on certain cpu architectures,
+you can specify which ones.</p>
+
+<pre><code>&quot;cpu&quot; : [ &quot;x64&quot;, &quot;ia32&quot; ]</code></pre>
+
+<p>Like the <code>os</code> option, you can also blacklist architectures:</p>
+
+<pre><code>&quot;cpu&quot; : [ &quot;!arm&quot;, &quot;!mips&quot; ]</code></pre>
+
+<p>The host architecture is determined by <code>process.arch</code></p>
+
+<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&#39;t actually prevent users from installing it locally, but it
+does help prevent some confusion if it doesn&#39;t work as expected.</p>
+
+<h2 id="private">private</h2>
+
+<p>If you set <code>&quot;private&quot;: 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 specific 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&#39;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 &quot;latest&quot; or published to
+the global public registry by default.</p>
+
+<p>Any config values can be overridden, but of course only &quot;tag&quot; and
+&quot;registry&quot; probably matter for the purposes of publishing.</p>
+
+<p>See <code><a href="../misc/npm-config.html">npm-config(7)</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="../misc/npm-semver.html">npm-semver(7)</a></li><li><a href="../cli/npm-init.html">npm-init(1)</a></li><li><a href="../cli/npm-version.html">npm-version(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../cli/npm-help.html">npm-help(1)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li></ul>
+</div>
+<p id="footer">package.json &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/folders.html b/deps/npm/html/doc/folders.html
deleted file mode 100644
index 8219cddb3..000000000
--- a/deps/npm/html/doc/folders.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<!doctype html>
-<html>
- <title>folders</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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&#39;re going to <code>require()</code> it.</li><li>Install it <strong>globally</strong> if you&#39;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&#39;s <code>process.installPrefix</code>.</p>
-
-<p>On windows, this is the exact location of the node.exe binary. On Unix
-systems, it&#39;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(&quot;packagename&quot;)</code> to load its main module, or
-<code>require(&quot;packagename/lib/path/to/sub/module&quot;)</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
-&quot;current directory&quot; for the purpose of running npm commands. (This
-behavior is inspired by and similar to git&#39;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&#39;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 &quot;globally&quot;.</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&#39;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&#39;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&#39;s no need to
-put another copy of bar into <code>.../baz/node_modules</code>, since when it calls
-require(&quot;bar&quot;), 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
-&quot;a&quot; 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 &quot;target&quot; 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 <code>bar@1.2.3</code> and <code>baz@1.2.3</code>, those are
-installed in foo&#39;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 satisfies bar&#39;s dependency on <code>blerg@1.x</code>,
-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&#39;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 bar is already in quux&#39;s ancestry [B], it does not
-unpack another copy of bar into that folder.</p>
-
-<p>Underneath <code>foo -&gt; baz</code> [D], quux&#39;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.2.25</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
deleted file mode 100644
index 0b726c07c..000000000
--- a/deps/npm/html/doc/global.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<!doctype html>
-<html>
- <title>global</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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&#39;re going to <code>require()</code> it.</li><li>Install it <strong>globally</strong> if you&#39;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&#39;s <code>process.installPrefix</code>.</p>
-
-<p>On windows, this is the exact location of the node.exe binary. On Unix
-systems, it&#39;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(&quot;packagename&quot;)</code> to load its main module, or
-<code>require(&quot;packagename/lib/path/to/sub/module&quot;)</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
-&quot;current directory&quot; for the purpose of running npm commands. (This
-behavior is inspired by and similar to git&#39;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&#39;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 &quot;globally&quot;.</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&#39;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&#39;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&#39;s no need to
-put another copy of bar into <code>.../baz/node_modules</code>, since when it calls
-require(&quot;bar&quot;), 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
-&quot;a&quot; 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 &quot;target&quot; 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&#39;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&#39;s bar&#39;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&#39;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>&#39;s ancestry [B], it does not
-unpack another copy of bar into that folder.</p>
-
-<p>Underneath <code>foo-&gt;baz</code> [D], quux&#39;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.2.25</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
deleted file mode 100644
index 92435151b..000000000
--- a/deps/npm/html/doc/help-search.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!doctype html>
-<html>
- <title>help-search</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;long&quot; 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.2.25</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
deleted file mode 100644
index e08ffa767..000000000
--- a/deps/npm/html/doc/help.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!doctype html>
-<html>
- <title>help</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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: &quot;man&quot; on Posix, &quot;browser&quot; on Windows</li><li>Type: path</li></ul>
-
-<p>The program to use to view help content.</p>
-
-<p>Set to <code>&quot;browser&quot;</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.2.25</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
index 2dfbf2c1c..d4f2e1115 100644
--- a/deps/npm/html/doc/index.html
+++ b/deps/npm/html/doc/index.html
@@ -1,406 +1,414 @@
<!doctype html>
<html>
- <title>index</title>
+ <title>npm-index</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../static/style.css">
<body>
<div id="wrapper">
-<h1><a href="../doc/index.html">index</a></h1> <p>Index of all npm documentation</p>
+<h1><a href="misc/npm-index.html">npm-index</a></h1> <p>Index of all npm documentation</p>
-<h2 id="npm-README-1"><a href="../doc/README.html">README</a></h2>
+<h2 id="README-1"><a href="../doc/README.html">README</a></h2>
-<p> node package manager</p>
+<p>node package manager</p>
<h1>Command Line Documentation</h1>
-<h2 id="npm-adduser-1"><a href="../doc/adduser.html">adduser(1)</a></h2>
+<h2 id="npm-1"><a href="cli/npm.html">npm(1)</a></h2>
-<p> Add a registry user account</p>
+<p>node package manager</p>
-<h2 id="npm-bin-1"><a href="../doc/bin.html">bin(1)</a></h2>
+<h2 id="npm-adduser-1"><a href="cli/npm-adduser.html">npm-adduser(1)</a></h2>
-<p> Display npm bin folder</p>
+<p>Add a registry user account</p>
-<h2 id="npm-bugs-1"><a href="../doc/bugs.html">bugs(1)</a></h2>
+<h2 id="npm-bin-1"><a href="cli/npm-bin.html">npm-bin(1)</a></h2>
-<p> Bugs for a package in a web browser maybe</p>
+<p>Display npm bin folder</p>
-<h2 id="npm-build-1"><a href="../doc/build.html">build(1)</a></h2>
+<h2 id="npm-bugs-1"><a href="cli/npm-bugs.html">npm-bugs(1)</a></h2>
-<p> Build a package</p>
+<p>Bugs for a package in a web browser maybe</p>
-<h2 id="npm-bundle-1"><a href="../doc/bundle.html">bundle(1)</a></h2>
+<h2 id="npm-build-1"><a href="cli/npm-build.html">npm-build(1)</a></h2>
-<p> REMOVED</p>
+<p>Build a package</p>
-<h2 id="npm-cache-1"><a href="../doc/cache.html">cache(1)</a></h2>
+<h2 id="npm-bundle-1"><a href="cli/npm-bundle.html">npm-bundle(1)</a></h2>
-<p> Manipulates packages cache</p>
+<p>REMOVED</p>
-<h2 id="npm-changelog-1"><a href="../doc/changelog.html">changelog(1)</a></h2>
+<h2 id="npm-cache-1"><a href="cli/npm-cache.html">npm-cache(1)</a></h2>
-<p> Changes</p>
+<p>Manipulates packages cache</p>
-<h2 id="npm-coding-style-1"><a href="../doc/coding-style.html">coding-style(1)</a></h2>
+<h2 id="npm-completion-1"><a href="cli/npm-completion.html">npm-completion(1)</a></h2>
-<p> npm&#39;s &quot;funny&quot; coding style</p>
+<p>Tab Completion for npm</p>
-<h2 id="npm-completion-1"><a href="../doc/completion.html">completion(1)</a></h2>
+<h2 id="npm-config-1"><a href="cli/npm-config.html">npm-config(1)</a></h2>
-<p> Tab Completion for npm</p>
+<p>Manage the npm configuration files</p>
-<h2 id="npm-config-1"><a href="../doc/config.html">config(1)</a></h2>
+<h2 id="npm-dedupe-1"><a href="cli/npm-dedupe.html">npm-dedupe(1)</a></h2>
-<p> Manage the npm configuration file</p>
+<p>Reduce duplication</p>
-<h2 id="npm-dedupe-1"><a href="../doc/dedupe.html">dedupe(1)</a></h2>
+<h2 id="npm-deprecate-1"><a href="cli/npm-deprecate.html">npm-deprecate(1)</a></h2>
-<p> Reduce duplication</p>
+<p>Deprecate a version of a package</p>
-<h2 id="npm-deprecate-1"><a href="../doc/deprecate.html">deprecate(1)</a></h2>
+<h2 id="npm-docs-1"><a href="cli/npm-docs.html">npm-docs(1)</a></h2>
-<p> Deprecate a version of a package</p>
+<p>Docs for a package in a web browser maybe</p>
-<h2 id="npm-developers-1"><a href="../doc/developers.html">developers(1)</a></h2>
+<h2 id="npm-edit-1"><a href="cli/npm-edit.html">npm-edit(1)</a></h2>
-<p> Developer Guide</p>
+<p>Edit an installed package</p>
-<h2 id="npm-disputes-1"><a href="../doc/disputes.html">disputes(1)</a></h2>
+<h2 id="npm-explore-1"><a href="cli/npm-explore.html">npm-explore(1)</a></h2>
-<p> Handling Module Name Disputes</p>
+<p>Browse an installed package</p>
-<h2 id="npm-docs-1"><a href="../doc/docs.html">docs(1)</a></h2>
+<h2 id="npm-help-search-1"><a href="cli/npm-help-search.html">npm-help-search(1)</a></h2>
-<p> Docs for a package in a web browser maybe</p>
+<p>Search npm help documentation</p>
-<h2 id="npm-edit-1"><a href="../doc/edit.html">edit(1)</a></h2>
+<h2 id="npm-help-1"><a href="cli/npm-help.html">npm-help(1)</a></h2>
-<p> Edit an installed package</p>
+<p>Get help on npm</p>
-<h2 id="npm-explore-1"><a href="../doc/explore.html">explore(1)</a></h2>
+<h2 id="npm-init-1"><a href="cli/npm-init.html">npm-init(1)</a></h2>
-<p> Browse an installed package</p>
+<p>Interactively create a package.json file</p>
-<h2 id="npm-faq-1"><a href="../doc/faq.html">faq(1)</a></h2>
+<h2 id="npm-install-1"><a href="cli/npm-install.html">npm-install(1)</a></h2>
-<p> Frequently Asked Questions</p>
+<p>Install a package</p>
-<h2 id="npm-folders-1"><a href="../doc/folders.html">folders(1)</a></h2>
+<h2 id="npm-link-1"><a href="cli/npm-link.html">npm-link(1)</a></h2>
-<p> Folder Structures Used by npm</p>
+<p>Symlink a package folder</p>
-<h2 id="npm-global-1"><a href="../doc/global.html">global(1)</a></h2>
+<h2 id="npm-ls-1"><a href="cli/npm-ls.html">npm-ls(1)</a></h2>
-<p> Folder Structures Used by npm</p>
+<p>List installed packages</p>
-<h2 id="npm-help-search-1"><a href="../doc/help-search.html">help-search(1)</a></h2>
+<h2 id="npm-outdated-1"><a href="cli/npm-outdated.html">npm-outdated(1)</a></h2>
-<p> Search npm help documentation</p>
+<p>Check for outdated packages</p>
-<h2 id="npm-help-1"><a href="../doc/help.html">help(1)</a></h2>
+<h2 id="npm-owner-1"><a href="cli/npm-owner.html">npm-owner(1)</a></h2>
-<p> Get help on npm</p>
+<p>Manage package owners</p>
-<h2 id="npm-init-1"><a href="../doc/init.html">init(1)</a></h2>
+<h2 id="npm-pack-1"><a href="cli/npm-pack.html">npm-pack(1)</a></h2>
-<p> Interactively create a package.json file</p>
+<p>Create a tarball from a package</p>
-<h2 id="npm-install-1"><a href="../doc/install.html">install(1)</a></h2>
+<h2 id="npm-prefix-1"><a href="cli/npm-prefix.html">npm-prefix(1)</a></h2>
-<p> Install a package</p>
+<p>Display prefix</p>
-<h2 id="npm-json-1"><a href="../doc/json.html">json(1)</a></h2>
+<h2 id="npm-prune-1"><a href="cli/npm-prune.html">npm-prune(1)</a></h2>
-<p> Specifics of npm&#39;s package.json handling</p>
+<p>Remove extraneous packages</p>
-<h2 id="npm-link-1"><a href="../doc/link.html">link(1)</a></h2>
+<h2 id="npm-publish-1"><a href="cli/npm-publish.html">npm-publish(1)</a></h2>
-<p> Symlink a package folder</p>
+<p>Publish a package</p>
-<h2 id="npm-ls-1"><a href="../doc/ls.html">ls(1)</a></h2>
+<h2 id="npm-rebuild-1"><a href="cli/npm-rebuild.html">npm-rebuild(1)</a></h2>
-<p> List installed packages</p>
+<p>Rebuild a package</p>
-<h2 id="npm-1"><a href="../doc/npm.html">npm(1)</a></h2>
+<h2 id="npm-restart-1"><a href="cli/npm-restart.html">npm-restart(1)</a></h2>
-<p> node package manager</p>
+<p>Start a package</p>
-<h2 id="npm-outdated-1"><a href="../doc/outdated.html">outdated(1)</a></h2>
+<h2 id="npm-rm-1"><a href="cli/npm-rm.html">npm-rm(1)</a></h2>
-<p> Check for outdated packages</p>
+<p>Remove a package</p>
-<h2 id="npm-owner-1"><a href="../doc/owner.html">owner(1)</a></h2>
+<h2 id="npm-root-1"><a href="cli/npm-root.html">npm-root(1)</a></h2>
-<p> Manage package owners</p>
+<p>Display npm root</p>
-<h2 id="npm-pack-1"><a href="../doc/pack.html">pack(1)</a></h2>
+<h2 id="npm-run-script-1"><a href="cli/npm-run-script.html">npm-run-script(1)</a></h2>
-<p> Create a tarball from a package</p>
+<p>Run arbitrary package scripts</p>
-<h2 id="npm-prefix-1"><a href="../doc/prefix.html">prefix(1)</a></h2>
+<h2 id="npm-search-1"><a href="cli/npm-search.html">npm-search(1)</a></h2>
-<p> Display prefix</p>
+<p>Search for packages</p>
-<h2 id="npm-prune-1"><a href="../doc/prune.html">prune(1)</a></h2>
+<h2 id="npm-shrinkwrap-1"><a href="cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></h2>
-<p> Remove extraneous packages</p>
+<p>Lock down dependency versions</p>
-<h2 id="npm-publish-1"><a href="../doc/publish.html">publish(1)</a></h2>
+<h2 id="npm-star-1"><a href="cli/npm-star.html">npm-star(1)</a></h2>
-<p> Publish a package</p>
+<p>Mark your favorite packages</p>
-<h2 id="npm-rebuild-1"><a href="../doc/rebuild.html">rebuild(1)</a></h2>
+<h2 id="npm-stars-1"><a href="cli/npm-stars.html">npm-stars(1)</a></h2>
-<p> Rebuild a package</p>
+<p>View packages marked as favorites</p>
-<h2 id="npm-registry-1"><a href="../doc/registry.html">registry(1)</a></h2>
+<h2 id="npm-start-1"><a href="cli/npm-start.html">npm-start(1)</a></h2>
-<p> The JavaScript Package Registry</p>
+<p>Start a package</p>
-<h2 id="npm-removing-npm-1"><a href="../doc/removing-npm.html">removing-npm(1)</a></h2>
+<h2 id="npm-stop-1"><a href="cli/npm-stop.html">npm-stop(1)</a></h2>
-<p> Cleaning the Slate</p>
+<p>Stop a package</p>
-<h2 id="npm-restart-1"><a href="../doc/restart.html">restart(1)</a></h2>
+<h2 id="npm-submodule-1"><a href="cli/npm-submodule.html">npm-submodule(1)</a></h2>
-<p> Start a package</p>
+<p>Add a package as a git submodule</p>
-<h2 id="npm-rm-1"><a href="../doc/rm.html">rm(1)</a></h2>
+<h2 id="npm-tag-1"><a href="cli/npm-tag.html">npm-tag(1)</a></h2>
-<p> Remove a package</p>
+<p>Tag a published version</p>
-<h2 id="npm-root-1"><a href="../doc/root.html">root(1)</a></h2>
+<h2 id="npm-test-1"><a href="cli/npm-test.html">npm-test(1)</a></h2>
-<p> Display npm root</p>
+<p>Test a package</p>
-<h2 id="npm-run-script-1"><a href="../doc/run-script.html">run-script(1)</a></h2>
+<h2 id="npm-uninstall-1"><a href="cli/npm-uninstall.html">npm-uninstall(1)</a></h2>
-<p> Run arbitrary package scripts</p>
+<p>Remove a package</p>
-<h2 id="npm-scripts-1"><a href="../doc/scripts.html">scripts(1)</a></h2>
+<h2 id="npm-unpublish-1"><a href="cli/npm-unpublish.html">npm-unpublish(1)</a></h2>
-<p> How npm handles the &quot;scripts&quot; field</p>
+<p>Remove a package from the registry</p>
-<h2 id="npm-search-1"><a href="../doc/search.html">search(1)</a></h2>
+<h2 id="npm-update-1"><a href="cli/npm-update.html">npm-update(1)</a></h2>
-<p> Search for packages</p>
+<p>Update a package</p>
-<h2 id="npm-semver-1"><a href="../doc/semver.html">semver(1)</a></h2>
+<h2 id="npm-version-1"><a href="cli/npm-version.html">npm-version(1)</a></h2>
-<p> The semantic versioner for npm</p>
+<p>Bump a package version</p>
-<h2 id="npm-shrinkwrap-1"><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></h2>
+<h2 id="npm-view-1"><a href="cli/npm-view.html">npm-view(1)</a></h2>
-<p> Lock down dependency versions</p>
+<p>View registry info</p>
-<h2 id="npm-star-1"><a href="../doc/star.html">star(1)</a></h2>
+<h2 id="npm-whoami-1"><a href="cli/npm-whoami.html">npm-whoami(1)</a></h2>
-<p> Mark your favorite packages</p>
+<p>Display npm username</p>
-<h2 id="npm-stars-1"><a href="../doc/stars.html">stars(1)</a></h2>
+<h1>API Documentation</h1>
-<p> View packages marked as favorites</p>
+<h2 id="npm-3"><a href="api/npm.html">npm(3)</a></h2>
-<h2 id="npm-start-1"><a href="../doc/start.html">start(1)</a></h2>
+<p>node package manager</p>
-<p> Start a package</p>
+<h2 id="npm-bin-3"><a href="api/npm-bin.html">npm-bin(3)</a></h2>
-<h2 id="npm-stop-1"><a href="../doc/stop.html">stop(1)</a></h2>
+<p>Display npm bin folder</p>
-<p> Stop a package</p>
+<h2 id="npm-bugs-3"><a href="api/npm-bugs.html">npm-bugs(3)</a></h2>
-<h2 id="npm-submodule-1"><a href="../doc/submodule.html">submodule(1)</a></h2>
+<p>Bugs for a package in a web browser maybe</p>
-<p> Add a package as a git submodule</p>
+<h2 id="npm-commands-3"><a href="api/npm-commands.html">npm-commands(3)</a></h2>
-<h2 id="npm-tag-1"><a href="../doc/tag.html">tag(1)</a></h2>
+<p>npm commands</p>
-<p> Tag a published version</p>
+<h2 id="npm-config-3"><a href="api/npm-config.html">npm-config(3)</a></h2>
-<h2 id="npm-test-1"><a href="../doc/test.html">test(1)</a></h2>
+<p>Manage the npm configuration files</p>
-<p> Test a package</p>
+<h2 id="npm-deprecate-3"><a href="api/npm-deprecate.html">npm-deprecate(3)</a></h2>
-<h2 id="npm-uninstall-1"><a href="../doc/uninstall.html">uninstall(1)</a></h2>
+<p>Deprecate a version of a package</p>
-<p> Remove a package</p>
+<h2 id="npm-docs-3"><a href="api/npm-docs.html">npm-docs(3)</a></h2>
-<h2 id="npm-unpublish-1"><a href="../doc/unpublish.html">unpublish(1)</a></h2>
+<p>Docs for a package in a web browser maybe</p>
-<p> Remove a package from the registry</p>
+<h2 id="npm-edit-3"><a href="api/npm-edit.html">npm-edit(3)</a></h2>
-<h2 id="npm-update-1"><a href="../doc/update.html">update(1)</a></h2>
+<p>Edit an installed package</p>
-<p> Update a package</p>
+<h2 id="npm-explore-3"><a href="api/npm-explore.html">npm-explore(3)</a></h2>
-<h2 id="npm-version-1"><a href="../doc/version.html">version(1)</a></h2>
+<p>Browse an installed package</p>
-<p> Bump a package version</p>
+<h2 id="npm-help-search-3"><a href="api/npm-help-search.html">npm-help-search(3)</a></h2>
-<h2 id="npm-view-1"><a href="../doc/view.html">view(1)</a></h2>
+<p>Search the help pages</p>
-<p> View registry info</p>
+<h2 id="npm-init-3"><a href="api/npm-init.html">npm-init(3)</a></h2>
-<h2 id="npm-whoami-1"><a href="../doc/whoami.html">whoami(1)</a></h2>
+<p>Interactively create a package.json file</p>
-<p> Display npm username</p>
+<h2 id="npm-install-3"><a href="api/npm-install.html">npm-install(3)</a></h2>
-<h1>API Documentation</h1>
+<p>install a package programmatically</p>
+
+<h2 id="npm-link-3"><a href="api/npm-link.html">npm-link(3)</a></h2>
+
+<p>Symlink a package folder</p>
+
+<h2 id="npm-load-3"><a href="api/npm-load.html">npm-load(3)</a></h2>
+
+<p>Load config settings</p>
-<h2 id="npm-bin-3"><a href="../api/bin.html">bin(3)</a></h2>
+<h2 id="npm-ls-3"><a href="api/npm-ls.html">npm-ls(3)</a></h2>
-<p> Display npm bin folder</p>
+<p>List installed packages</p>
-<h2 id="npm-bugs-3"><a href="../api/bugs.html">bugs(3)</a></h2>
+<h2 id="npm-outdated-3"><a href="api/npm-outdated.html">npm-outdated(3)</a></h2>
-<p> Bugs for a package in a web browser maybe</p>
+<p>Check for outdated packages</p>
-<h2 id="npm-commands-3"><a href="../api/commands.html">commands(3)</a></h2>
+<h2 id="npm-owner-3"><a href="api/npm-owner.html">npm-owner(3)</a></h2>
-<p> npm commands</p>
+<p>Manage package owners</p>
-<h2 id="npm-config-3"><a href="../api/config.html">config(3)</a></h2>
+<h2 id="npm-pack-3"><a href="api/npm-pack.html">npm-pack(3)</a></h2>
-<p> Manage the npm configuration files</p>
+<p>Create a tarball from a package</p>
-<h2 id="npm-deprecate-3"><a href="../api/deprecate.html">deprecate(3)</a></h2>
+<h2 id="npm-prefix-3"><a href="api/npm-prefix.html">npm-prefix(3)</a></h2>
-<p> Deprecate a version of a package</p>
+<p>Display prefix</p>
-<h2 id="npm-docs-3"><a href="../api/docs.html">docs(3)</a></h2>
+<h2 id="npm-prune-3"><a href="api/npm-prune.html">npm-prune(3)</a></h2>
-<p> Docs for a package in a web browser maybe</p>
+<p>Remove extraneous packages</p>
-<h2 id="npm-edit-3"><a href="../api/edit.html">edit(3)</a></h2>
+<h2 id="npm-publish-3"><a href="api/npm-publish.html">npm-publish(3)</a></h2>
-<p> Edit an installed package</p>
+<p>Publish a package</p>
-<h2 id="npm-explore-3"><a href="../api/explore.html">explore(3)</a></h2>
+<h2 id="npm-rebuild-3"><a href="api/npm-rebuild.html">npm-rebuild(3)</a></h2>
-<p> Browse an installed package</p>
+<p>Rebuild a package</p>
-<h2 id="npm-help-search-3"><a href="../api/help-search.html">help-search(3)</a></h2>
+<h2 id="npm-restart-3"><a href="api/npm-restart.html">npm-restart(3)</a></h2>
-<p> Search the help pages</p>
+<p>Start a package</p>
-<h2 id="npm-init-3"><a href="../api/init.html">init(3)</a></h2>
+<h2 id="npm-root-3"><a href="api/npm-root.html">npm-root(3)</a></h2>
-<p> Interactively create a package.json file</p>
+<p>Display npm root</p>
-<h2 id="npm-install-3"><a href="../api/install.html">install(3)</a></h2>
+<h2 id="npm-run-script-3"><a href="api/npm-run-script.html">npm-run-script(3)</a></h2>
-<p> install a package programmatically</p>
+<p>Run arbitrary package scripts</p>
-<h2 id="npm-link-3"><a href="../api/link.html">link(3)</a></h2>
+<h2 id="npm-search-3"><a href="api/npm-search.html">npm-search(3)</a></h2>
-<p> Symlink a package folder</p>
+<p>Search for packages</p>
-<h2 id="npm-load-3"><a href="../api/load.html">load(3)</a></h2>
+<h2 id="npm-shrinkwrap-3"><a href="api/npm-shrinkwrap.html">npm-shrinkwrap(3)</a></h2>
-<p> Load config settings</p>
+<p>programmatically generate package shrinkwrap file</p>
-<h2 id="npm-ls-3"><a href="../api/ls.html">ls(3)</a></h2>
+<h2 id="npm-start-3"><a href="api/npm-start.html">npm-start(3)</a></h2>
-<p> List installed packages</p>
+<p>Start a package</p>
-<h2 id="npm-3"><a href="../api/npm.html">npm(3)</a></h2>
+<h2 id="npm-stop-3"><a href="api/npm-stop.html">npm-stop(3)</a></h2>
-<p> node package manager</p>
+<p>Stop a package</p>
-<h2 id="npm-outdated-3"><a href="../api/outdated.html">outdated(3)</a></h2>
+<h2 id="npm-submodule-3"><a href="api/npm-submodule.html">npm-submodule(3)</a></h2>
-<p> Check for outdated packages</p>
+<p>Add a package as a git submodule</p>
-<h2 id="npm-owner-3"><a href="../api/owner.html">owner(3)</a></h2>
+<h2 id="npm-tag-3"><a href="api/npm-tag.html">npm-tag(3)</a></h2>
-<p> Manage package owners</p>
+<p>Tag a published version</p>
-<h2 id="npm-pack-3"><a href="../api/pack.html">pack(3)</a></h2>
+<h2 id="npm-test-3"><a href="api/npm-test.html">npm-test(3)</a></h2>
-<p> Create a tarball from a package</p>
+<p>Test a package</p>
-<h2 id="npm-prefix-3"><a href="../api/prefix.html">prefix(3)</a></h2>
+<h2 id="npm-uninstall-3"><a href="api/npm-uninstall.html">npm-uninstall(3)</a></h2>
-<p> Display prefix</p>
+<p>uninstall a package programmatically</p>
-<h2 id="npm-prune-3"><a href="../api/prune.html">prune(3)</a></h2>
+<h2 id="npm-unpublish-3"><a href="api/npm-unpublish.html">npm-unpublish(3)</a></h2>
-<p> Remove extraneous packages</p>
+<p>Remove a package from the registry</p>
-<h2 id="npm-publish-3"><a href="../api/publish.html">publish(3)</a></h2>
+<h2 id="npm-update-3"><a href="api/npm-update.html">npm-update(3)</a></h2>
-<p> Publish a package</p>
+<p>Update a package</p>
-<h2 id="npm-rebuild-3"><a href="../api/rebuild.html">rebuild(3)</a></h2>
+<h2 id="npm-version-3"><a href="api/npm-version.html">npm-version(3)</a></h2>
-<p> Rebuild a package</p>
+<p>Bump a package version</p>
-<h2 id="npm-restart-3"><a href="../api/restart.html">restart(3)</a></h2>
+<h2 id="npm-view-3"><a href="api/npm-view.html">npm-view(3)</a></h2>
-<p> Start a package</p>
+<p>View registry info</p>
-<h2 id="npm-root-3"><a href="../api/root.html">root(3)</a></h2>
+<h2 id="npm-whoami-3"><a href="api/npm-whoami.html">npm-whoami(3)</a></h2>
-<p> Display npm root</p>
+<p>Display npm username</p>
-<h2 id="npm-run-script-3"><a href="../api/run-script.html">run-script(3)</a></h2>
+<h1>Files</h1>
-<p> Run arbitrary package scripts</p>
+<h2 id="npm-folders-5"><a href="files/npm-folders.html">npm-folders(5)</a></h2>
-<h2 id="npm-search-3"><a href="../api/search.html">search(3)</a></h2>
+<p>Folder Structures Used by npm</p>
-<p> Search for packages</p>
+<h2 id="npmrc-5"><a href="files/npmrc.html">npmrc(5)</a></h2>
-<h2 id="npm-shrinkwrap-3"><a href="../api/shrinkwrap.html">shrinkwrap(3)</a></h2>
+<p>The npm config files</p>
-<p> programmatically generate package shrinkwrap file</p>
+<h2 id="package-json-5"><a href="files/package.json.html">package.json(5)</a></h2>
-<h2 id="npm-start-3"><a href="../api/start.html">start(3)</a></h2>
+<p>Specifics of npm&#39;s package.json handling</p>
-<p> Start a package</p>
+<h1>Misc</h1>
-<h2 id="npm-stop-3"><a href="../api/stop.html">stop(3)</a></h2>
+<h2 id="npm-coding-style-7"><a href="misc/npm-coding-style.html">npm-coding-style(7)</a></h2>
-<p> Stop a package</p>
+<p>npm&#39;s &quot;funny&quot; coding style</p>
-<h2 id="npm-submodule-3"><a href="../api/submodule.html">submodule(3)</a></h2>
+<h2 id="npm-config-7"><a href="misc/npm-config.html">npm-config(7)</a></h2>
-<p> Add a package as a git submodule</p>
+<p>More than you probably want to know about npm configuration</p>
-<h2 id="npm-tag-3"><a href="../api/tag.html">tag(3)</a></h2>
+<h2 id="npm-developers-7"><a href="misc/npm-developers.html">npm-developers(7)</a></h2>
-<p> Tag a published version</p>
+<p>Developer Guide</p>
-<h2 id="npm-test-3"><a href="../api/test.html">test(3)</a></h2>
+<h2 id="npm-disputes-7"><a href="misc/npm-disputes.html">npm-disputes(7)</a></h2>
-<p> Test a package</p>
+<p>Handling Module Name Disputes</p>
-<h2 id="npm-uninstall-3"><a href="../api/uninstall.html">uninstall(3)</a></h2>
+<h2 id="npm-faq-7"><a href="misc/npm-faq.html">npm-faq(7)</a></h2>
-<p> uninstall a package programmatically</p>
+<p>Frequently Asked Questions</p>
-<h2 id="npm-unpublish-3"><a href="../api/unpublish.html">unpublish(3)</a></h2>
+<h2 id="npm-index-7"><a href="misc/npm-index.html">npm-index(7)</a></h2>
-<p> Remove a package from the registry</p>
+<p>Index of all npm documentation</p>
-<h2 id="npm-update-3"><a href="../api/update.html">update(3)</a></h2>
+<h2 id="npm-registry-7"><a href="misc/npm-registry.html">npm-registry(7)</a></h2>
-<p> Update a package</p>
+<p>The JavaScript Package Registry</p>
-<h2 id="npm-version-3"><a href="../api/version.html">version(3)</a></h2>
+<h2 id="npm-scripts-7"><a href="misc/npm-scripts.html">npm-scripts(7)</a></h2>
-<p> Bump a package version</p>
+<p>How npm handles the &quot;scripts&quot; field</p>
-<h2 id="npm-view-3"><a href="../api/view.html">view(3)</a></h2>
+<h2 id="removing-npm-7"><a href="misc/removing-npm.html">removing-npm(7)</a></h2>
-<p> View registry info</p>
+<p>Cleaning the Slate</p>
-<h2 id="npm-whoami-3"><a href="../api/whoami.html">whoami(3)</a></h2>
+<h2 id="semver-7"><a href="misc/semver.html">semver(7)</a></h2>
-<p> Display npm username</p>
+<p>The semantic versioner for npm</p>
</div>
-<p id="footer">index &mdash; npm@1.2.25</p>
+<p id="footer">npm-index &mdash; npm@1.3.3</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
@@ -432,4 +440,3 @@ 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
deleted file mode 100644
index 4124dbfec..000000000
--- a/deps/npm/html/doc/init.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html>
-<html>
- <title>init</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;ve selected.</p>
-
-<p>If you already have a package.json file, it&#39;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="https://github.com/isaacs/init-package-json">https://github.com/isaacs/init-package-json</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/version.html">version(1)</a></li></ul>
-</div>
-<p id="footer">init &mdash; npm@1.2.25</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
deleted file mode 100644
index ce271a51c..000000000
--- a/deps/npm/html/doc/install.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!doctype html>
-<html>
- <title>install</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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; [--save|--save-dev|--save-optional]
-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;
-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. If the
-package has a shrinkwrap file, the installation of dependencies will be driven
-by that. See <a href="../doc/shrinkwrap.html">shrinkwrap(1)</a>.</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 &quot;latest&quot; 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):</p><p>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>:</p><p>Install a package that is sitting in a folder on the filesystem.</p></li><li><p><code>npm install &lt;tarball file&gt;</code>:</p><p>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>:</p><p>Fetch the tarball url, and then install it. In order to distinguish between
-this and other options, the argument must start with &quot;http://&quot; or &quot;https://&quot;</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; [--save|--save-dev|--save-optional]</code>:</p><p>Do a <code>&lt;name&gt;@&lt;tag&gt;</code> install, where <code>&lt;tag&gt;</code> is the &quot;tag&quot; config. (See
-<code><a href="../doc/config.html">config(1)</a></code>.)</p><p>In most cases, this will install the latest version
-of the module published on npm.</p><p>Example:</p><p> npm install sax</p><p><code>npm install</code> takes 3 exclusive, optional flags which save or update
-the package version in your main package.json:</p><ul><li><p><code>--save</code>: Package will appear in your <code>dependencies</code>.</p></li><li><p><code>--save-dev</code>: Package will appear in your <code>devDependencies</code>.</p></li><li><p><code>--save-optional</code>: Package will appear in your <code>optionalDependencies</code>.</p><p>Examples:</p><p> npm install sax --save
- npm install node-tap --save-dev
- npm install dtrace-provider --save-optional</p><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></ul></li><li><p><code>npm install &lt;name&gt;@&lt;tag&gt;</code>:</p><p>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>:</p><p>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>:</p><p>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><p> npm install sax@&quot;&gt;=0.1.0 &lt;0.2.0&quot;</p></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><p> &lt;protocol&gt;://[&lt;user&gt;@]&lt;hostname&gt;&lt;separator&gt;&lt;path&gt;[#&lt;commit-ish&gt;]</p><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@&quot;&gt;=0.1.0 &lt;0.2.0&quot; 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/folders.html">folders(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>The <code>--no-bin-links</code> argument will prevent npm from creating symlinks for
-any binaries the package might contain.</p>
-
-<p>The <code>--no-shrinkwrap</code> argument, which will ignore an available
-shrinkwrap file and use the package.json instead.</p>
-
-<p>The <code>--nodedir=/path/to/node/source</code> argument will allow npm to find the
-node source code so that npm can compile native modules.</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&#39;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&#39;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&#39; -&gt; B&#39; -&gt; A -&gt; B -&gt; A&#39; -&gt; B&#39; -&gt; A -&gt; ...</code></pre>
-
-<p>where <code>A</code> is some version of a package, and <code>A&#39;</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&#39;</code>, which must install <code>B&#39;</code>. Because <code>B&#39;</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><li><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></li></ul>
-</div>
-<p id="footer">install &mdash; npm@1.2.25</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
deleted file mode 100644
index e38c7b1e8..000000000
--- a/deps/npm/html/doc/json.html
+++ /dev/null
@@ -1,581 +0,0 @@
-<!doctype html>
-<html>
- <title>json</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/json.html">json</a></h1> <p>Specifics of npm&#39;s package.json handling</p>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>This document is all you need to know about what&#39;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>&quot;scripts&quot;: {&quot;start&quot;: &quot;node server.js&quot;}</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>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-waf clean || true; node-waf configure build&quot;}</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>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-gyp rebuild&quot;}</code></p><p>If there is a <code>binding.gyp</code> file in the root of your package, npm will
-default the <code>preinstall</code> command to compile using node-gyp.</p></li><li><p><code>&quot;contributors&quot;: [...]</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&#39;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&#39;t put &quot;js&quot; or &quot;node&quot; in the name. It&#39;s assumed that it&#39;s js, since you&#39;re
-writing a package.json file, and you can specify the engine using the &quot;engines&quot;
-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&#39;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&#39;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&#39;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&#39;s how npm&#39;s semver implementation deviates from what&#39;s on semver.org:</p>
-
-<ul><li>Versions can start with &quot;v&quot;</li><li>A numeric item separated from the main three-number version by a hyphen
-will be interpreted as a &quot;build&quot; number, and will <em>increase</em> the version.
-But, if the tag is not a number separated by a hyphen, then it&#39;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 &quot;v1.2.3&quot; and then do &quot;git describe&quot; to generate
-a patch version.</p>
-
-<h2 id="description">description</h2>
-
-<p>Put a description in it. It&#39;s a string. This helps people discover your
-package, as it&#39;s listed in <code>npm search</code>.</p>
-
-<h2 id="keywords">keywords</h2>
-
-<p>Put keywords in it. It&#39;s an array of strings. This helps people
-discover your package as it&#39;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 &quot;url&quot;. If you put a &quot;url&quot; field,
-then the registry will think it&#39;s a redirection to your package that has
-been published somewhere else, and spit at you.</p>
-
-<p>Literally. Spit. I&#39;m so not kidding.</p>
-
-<h2 id="bugs">bugs</h2>
-
-<p>The url to your project&#39;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>{ &quot;url&quot; : &quot;http://github.com/owner/project/issues&quot;
-, &quot;email&quot; : &quot;project@hostname.com&quot;
-}</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 &quot;bugs&quot; 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="license">license</h2>
-
-<p>You should specify a license for your package so that people know how they are
-permitted to use it, and any restrictions you&#39;re placing on it.</p>
-
-<p>The simplest way, assuming you&#39;re using a common license such as BSD or MIT, is
-to just specify the name of the license you&#39;re using, like this:</p>
-
-<pre><code>{ &quot;license&quot; : &quot;BSD&quot; }</code></pre>
-
-<p>If you have more complex licensing terms, or you want to provide more detail
-in your package.json file, you can use the more verbose plural form, like this:</p>
-
-<pre><code>&quot;licenses&quot; : [
- { &quot;type&quot; : &quot;MyLicense&quot;
- , &quot;url&quot; : &quot;http://github.com/owner/project/path/to/license&quot;
- }
-]</code></pre>
-
-<p>It&#39;s also a good idea to include a license file at the top level in your package.</p>
-
-<h2 id="people-fields-author-contributors">people fields: author, contributors</h2>
-
-<p>The &quot;author&quot; is one person. &quot;contributors&quot; is an array of people. A &quot;person&quot;
-is an object with a &quot;name&quot; field and optionally &quot;url&quot; and &quot;email&quot;, like this:</p>
-
-<pre><code>{ &quot;name&quot; : &quot;Barney Rubble&quot;
-, &quot;email&quot; : &quot;b@rubble.com&quot;
-, &quot;url&quot; : &quot;http://barnyrubble.tumblr.com/&quot;
-}</code></pre>
-
-<p>Or you can shorten that all into a single string, and npm will parse it for you:</p>
-
-<pre><code>&quot;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 &quot;maintainers&quot; field with your npm user info.</p>
-
-<h2 id="files">files</h2>
-
-<p>The &quot;files&quot; 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 &quot;.npmignore&quot; 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 &quot;.npmignore&quot; file works just like a
-&quot;.gitignore&quot;.</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(&quot;foo&quot;)</code>, then your main module&#39;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&#39;d like to
-install into the PATH. npm makes this pretty easy (in fact, it uses this
-feature to install the &quot;npm&quot; 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>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }</code></pre>
-
-<p>So, when you install npm, it&#39;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>{ &quot;name&quot;: &quot;my-program&quot;
-, &quot;version&quot;: &quot;1.2.5&quot;
-, &quot;bin&quot;: &quot;./path/to/program&quot; }</code></pre>
-
-<p>would be the same as this:</p>
-
-<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
-, &quot;version&quot;: &quot;1.2.5&quot;
-, &quot;bin&quot; : { &quot;my-program&quot; : &quot;./path/to/program&quot; } }</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&#39;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>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;version&quot; : &quot;1.2.3&quot;
-, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
-, &quot;main&quot; : &quot;foo.js&quot;
-, &quot;man&quot; : &quot;./man/doc.1&quot;
-}</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&#39;t start with the package name, then it&#39;s prefixed.
-So, this:</p>
-
-<pre><code>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;version&quot; : &quot;1.2.3&quot;
-, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
-, &quot;main&quot; : &quot;foo.js&quot;
-, &quot;man&quot; : [ &quot;./man/foo.1&quot;, &quot;./man/bar.1&quot; ]
-}</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>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;version&quot; : &quot;1.2.3&quot;
-, &quot;description&quot; : &quot;A packaged foo fooer for fooing foos&quot;
-, &quot;main&quot; : &quot;foo.js&quot;
-, &quot;man&quot; : [ &quot;./man/foo.1&quot;, &quot;./man/foo.2&quot; ]
-}</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&#39;s package.json</a>,
-you&#39;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&#39;s useful meta info.</p>
-
-<h3 id="directories-bin">directories.bin</h3>
-
-<p>If you specify a &quot;bin&quot; directory, then all the files in that folder will
-be used as the &quot;bin&quot; hash.</p>
-
-<p>If you have a &quot;bin&quot; 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 &quot;man&quot; 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>&quot;repository&quot; :
- { &quot;type&quot; : &quot;git&quot;
- , &quot;url&quot; : &quot;http://github.com/isaacs/npm.git&quot;
- }
-
-&quot;repository&quot; :
- { &quot;type&quot; : &quot;svn&quot;
- , &quot;url&quot; : &quot;http://v8.googlecode.com/svn/trunk/&quot;
- }</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&#39;s for computers.</p>
-
-<h2 id="scripts">scripts</h2>
-
-<p>The &quot;scripts&quot; 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 &quot;config&quot; 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>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; } }</code></pre>
-
-<p>and then had a &quot;start&quot; 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 &quot;fromVersion - toVersion&quot;</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 &quot;version&quot;
-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 &#39;Tilde Version Ranges&#39; below</li><li><code>1.2.x</code> See &#39;X Version Ranges&#39; below</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</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><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li></ul>
-
-<p>For example, these are all valid:</p>
-
-<pre><code>{ &quot;dependencies&quot; :
- { &quot;foo&quot; : &quot;1.0.0 - 2.9999.9999&quot;
- , &quot;bar&quot; : &quot;&gt;=1.0.2 &lt;2.1.2&quot;
- , &quot;baz&quot; : &quot;&gt;1.0.2 &lt;=2.3.4&quot;
- , &quot;boo&quot; : &quot;2.0.1&quot;
- , &quot;qux&quot; : &quot;&lt;1.0.0 || &gt;=2.3.1 &lt;2.4.5 || &gt;=2.5.2 &lt;3.0.0&quot;
- , &quot;asd&quot; : &quot;http://asdf.com/asdf.tar.gz&quot;
- , &quot;til&quot; : &quot;~1.2&quot;
- , &quot;elf&quot; : &quot;~1.2.3&quot;
- , &quot;two&quot; : &quot;2.x&quot;
- , &quot;thr&quot; : &quot;3.3.x&quot;
- }
-}</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>&quot;~1.2.3&quot; = &quot;&gt;=1.2.3 &lt;1.3.0&quot;</code></li><li><code>&quot;~1.2&quot; = &quot;&gt;=1.2.0 &lt;1.3.0&quot;</code></li><li><code>&quot;~1&quot; = &quot;&gt;=1.0.0 &lt;1.1.0&quot;</code></li></ul>
-
-<h3 id="X-Version-Ranges">X Version Ranges</h3>
-
-<p>An &quot;x&quot; 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>&quot;1.2.x&quot; = &quot;&gt;=1.2.0 &lt;1.3.0&quot;</code></li><li><code>&quot;1.x.x&quot; = &quot;&gt;=1.0.0 &lt;2.0.0&quot;</code></li><li><code>&quot;1.2&quot; = &quot;1.2.x&quot;</code></li><li><code>&quot;1.x&quot; = &quot;1.x.x&quot;</code></li><li><code>&quot;1&quot; = &quot;1.x.x&quot;</code></li></ul>
-
-<p>You may not supply a comparator with a version containing an x. Any
-digits after the first &quot;x&quot; 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>
-
-<h3 id="Git-URLs-as-Dependencies">Git URLs as Dependencies</h3>
-
-<p>Git urls can be of the form:</p>
-
-<pre><code>git://github.com/user/project.git#commit-ish
-git+ssh://user@hostname:project.git#commit-ish
-git+ssh://user@hostname/project.git#commit-ish
-git+http://user@hostname/project/blah.git#commit-ish
-git+https://user@hostname/project/blah.git#commit-ish</code></pre>
-
-<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
-an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
-
-<h2 id="devDependencies">devDependencies</h2>
-
-<p>If someone is planning on downloading and using your module in their
-program, then they probably don&#39;t want or need to download and build
-the external test or documentation framework that you use.</p>
-
-<p>In this case, it&#39;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> or when doing
-<code>npm install</code> from the root of a package, 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>&quot;bundleDependencies&quot;</code>, then that is also honorable.</p>
-
-<h2 id="optionalDependencies">optionalDependencies</h2>
-
-<p>If a dependency can be used, but you would like npm to proceed if it
-cannot be found or fails to install, then you may put it in the
-<code>optionalDependencies</code> hash. This is a map of package name to version
-or url, just like the <code>dependencies</code> hash. The difference is that
-failure is tolerated.</p>
-
-<p>It is still your program&#39;s responsibility to handle the lack of the
-dependency. For example, something like this:</p>
-
-<pre><code>try {
- var foo = require(&#39;foo&#39;)
- var fooVersion = require(&#39;foo/package.json&#39;).version
-} catch (er) {
- foo = null
-}
-if ( notGoodFooVersion(fooVersion) ) {
- foo = null
-}
-
-// .. then later in your program ..
-
-if (foo) {
- foo.doFooThings()
-}</code></pre>
-
-<p>Entries in <code>optionalDependencies</code> will override entries of the same name in
-<code>dependencies</code>, so it&#39;s usually best to only put in one place.</p>
-
-<h2 id="engines">engines</h2>
-
-<p>You can specify the version of node that your stuff works on:</p>
-
-<pre><code>{ &quot;engines&quot; : { &quot;node&quot; : &quot;&gt;=0.1.27 &lt;0.1.30&quot; } }</code></pre>
-
-<p>And, like with dependencies, if you don&#39;t specify the version (or if you
-specify &quot;*&quot; as the version), then any version of node will do.</p>
-
-<p>If you specify an &quot;engines&quot; field, then npm will require that &quot;node&quot; be
-somewhere on that list. If &quot;engines&quot; is omitted, then npm will just assume
-that it works on node.</p>
-
-<p>You can also use the &quot;engines&quot; field to specify which versions of npm
-are capable of properly installing your program. For example:</p>
-
-<pre><code>{ &quot;engines&quot; : { &quot;npm&quot; : &quot;~1.0.20&quot; } }</code></pre>
-
-<p>Note that, unless the user has set the <code>engine-strict</code> config flag, this
-field is advisory only.</p>
-
-<h2 id="engineStrict">engineStrict</h2>
-
-<p>If you are sure that your module will <em>definitely not</em> run properly on
-versions of Node/npm other than those specified in the <code>engines</code> hash,
-then you can set <code>&quot;engineStrict&quot;: true</code> in your package.json file.
-This will override the user&#39;s <code>engine-strict</code> config setting.</p>
-
-<p>Please do not do this unless you are really very very sure. If your
-engines hash is something overly restrictive, you can quite easily and
-inadvertently lock yourself into obscurity and prevent your users from
-updating to new versions of Node. Consider this choice carefully. If
-people abuse it, it will be removed in a future version of npm.</p>
-
-<h2 id="os">os</h2>
-
-<p>You can specify which operating systems your
-module will run on:</p>
-
-<pre><code>&quot;os&quot; : [ &quot;darwin&quot;, &quot;linux&quot; ]</code></pre>
-
-<p>You can also blacklist instead of whitelist operating systems,
-just prepend the blacklisted os with a &#39;!&#39;:</p>
-
-<pre><code>&quot;os&quot; : [ &quot;!win32&quot; ]</code></pre>
-
-<p>The host operating system is determined by <code>process.platform</code></p>
-
-<p>It is allowed to both blacklist, and whitelist, although there isn&#39;t any
-good reason to do this.</p>
-
-<h2 id="cpu">cpu</h2>
-
-<p>If your code only runs on certain cpu architectures,
-you can specify which ones.</p>
-
-<pre><code>&quot;cpu&quot; : [ &quot;x64&quot;, &quot;ia32&quot; ]</code></pre>
-
-<p>Like the <code>os</code> option, you can also blacklist architectures:</p>
-
-<pre><code>&quot;cpu&quot; : [ &quot;!arm&quot;, &quot;!mips&quot; ]</code></pre>
-
-<p>The host architecture is determined by <code>process.arch</code></p>
-
-<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&#39;t actually prevent users from installing it locally, but it
-does help prevent some confusion if it doesn&#39;t work as expected.</p>
-
-<h2 id="private">private</h2>
-
-<p>If you set <code>&quot;private&quot;: 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 specific 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&#39;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 &quot;latest&quot; or published to
-the global public registry by default.</p>
-
-<p>Any config values can be overridden, but of course only &quot;tag&quot; and
-&quot;registry&quot; 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.2.25</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
deleted file mode 100644
index da25e4db3..000000000
--- a/deps/npm/html/doc/link.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!doctype html>
-<html>
- <title>link</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>Note that <code>package-name</code> is taken from <code>package.json</code> ,
-not from directory name.</p>
-
-<p>When creating tarballs for <code>npm publish</code>, the linked packages are
-&quot;snapshotted&quot; 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&#39;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.2.25</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
deleted file mode 100644
index 45f4b7d1a..000000000
--- a/deps/npm/html/doc/list.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!doctype html>
-<html>
- <title>list</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 [&lt;pkg&gt; ...]
-npm ls [&lt;pkg&gt; ...]
-npm la [&lt;pkg&gt; ...]
-npm ll [&lt;pkg&gt; ...]</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>Positional arguments are <code>name@version-range</code> identifiers, which will
-limit the results to only the paths to the packages named. Note that
-nested packages will <em>also</em> show the paths to the specified packages.
-For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
-
-<pre><code>npm@1.1.59 /path/to/npm
-└─┬ init-package-json@0.0.4
- └── promzard@0.1.5</code></pre>
-
-<p>It will show 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="json">json</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Show information in JSON format.</p>
-
-<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.59</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
deleted file mode 100644
index 934f72a6d..000000000
--- a/deps/npm/html/doc/ls.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!doctype html>
-<html>
- <title>ls</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 [&lt;pkg&gt; ...]
-npm ls [&lt;pkg&gt; ...]
-npm la [&lt;pkg&gt; ...]
-npm ll [&lt;pkg&gt; ...]</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>Positional arguments are <code>name@version-range</code> identifiers, which will
-limit the results to only the paths to the packages named. Note that
-nested packages will <em>also</em> show the paths to the specified packages.
-For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
-
-<pre><code>npm@1.2.25 /path/to/npm
-└─┬ init-package-json@0.0.4
- └── promzard@0.1.5</code></pre>
-
-<p>It will show 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="json">json</h3>
-
-<ul><li>Default: false</li><li>Type: Boolean</li></ul>
-
-<p>Show information in JSON format.</p>
-
-<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.2.25</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/misc/index.html b/deps/npm/html/doc/misc/index.html
new file mode 100644
index 000000000..4db393c7c
--- /dev/null
+++ b/deps/npm/html/doc/misc/index.html
@@ -0,0 +1,438 @@
+<!doctype html>
+<html>
+ <title>index</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-index.html">npm-index</a></h1> <p>Index of all npm documentation</p>
+
+<h2 id="README-1"><a href="../../doc/README.html">README</a></h2>
+
+<p>node package manager</p>
+
+<h1>Command Line Documentation</h1>
+
+<h2 id="npm-1"><a href="../cli/npm.html">npm(1)</a></h2>
+
+<p>node package manager</p>
+
+<h2 id="npm-adduser-1"><a href="../cli/npm-adduser.html">npm-adduser(1)</a></h2>
+
+<p>Add a registry user account</p>
+
+<h2 id="npm-bin-1"><a href="../cli/npm-bin.html">npm-bin(1)</a></h2>
+
+<p>Display npm bin folder</p>
+
+<h2 id="npm-bugs-1"><a href="../cli/npm-bugs.html">npm-bugs(1)</a></h2>
+
+<p>Bugs for a package in a web browser maybe</p>
+
+<h2 id="npm-build-1"><a href="../cli/npm-build.html">npm-build(1)</a></h2>
+
+<p>Build a package</p>
+
+<h2 id="npm-bundle-1"><a href="../cli/npm-bundle.html">npm-bundle(1)</a></h2>
+
+<p>REMOVED</p>
+
+<h2 id="npm-cache-1"><a href="../cli/npm-cache.html">npm-cache(1)</a></h2>
+
+<p>Manipulates packages cache</p>
+
+<h2 id="npm-completion-1"><a href="../cli/npm-completion.html">npm-completion(1)</a></h2>
+
+<p>Tab Completion for npm</p>
+
+<h2 id="npm-config-1"><a href="../cli/npm-config.html">npm-config(1)</a></h2>
+
+<p>Manage the npm configuration files</p>
+
+<h2 id="npm-dedupe-1"><a href="../cli/npm-dedupe.html">npm-dedupe(1)</a></h2>
+
+<p>Reduce duplication</p>
+
+<h2 id="npm-deprecate-1"><a href="../cli/npm-deprecate.html">npm-deprecate(1)</a></h2>
+
+<p>Deprecate a version of a package</p>
+
+<h2 id="npm-docs-1"><a href="../cli/npm-docs.html">npm-docs(1)</a></h2>
+
+<p>Docs for a package in a web browser maybe</p>
+
+<h2 id="npm-edit-1"><a href="../cli/npm-edit.html">npm-edit(1)</a></h2>
+
+<p>Edit an installed package</p>
+
+<h2 id="npm-explore-1"><a href="../cli/npm-explore.html">npm-explore(1)</a></h2>
+
+<p>Browse an installed package</p>
+
+<h2 id="npm-help-search-1"><a href="../cli/npm-help-search.html">npm-help-search(1)</a></h2>
+
+<p>Search npm help documentation</p>
+
+<h2 id="npm-help-1"><a href="../cli/npm-help.html">npm-help(1)</a></h2>
+
+<p>Get help on npm</p>
+
+<h2 id="npm-init-1"><a href="../cli/npm-init.html">npm-init(1)</a></h2>
+
+<p>Interactively create a package.json file</p>
+
+<h2 id="npm-install-1"><a href="../cli/npm-install.html">npm-install(1)</a></h2>
+
+<p>Install a package</p>
+
+<h2 id="npm-link-1"><a href="../cli/npm-link.html">npm-link(1)</a></h2>
+
+<p>Symlink a package folder</p>
+
+<h2 id="npm-ls-1"><a href="../cli/npm-ls.html">npm-ls(1)</a></h2>
+
+<p>List installed packages</p>
+
+<h2 id="npm-outdated-1"><a href="../cli/npm-outdated.html">npm-outdated(1)</a></h2>
+
+<p>Check for outdated packages</p>
+
+<h2 id="npm-owner-1"><a href="../cli/npm-owner.html">npm-owner(1)</a></h2>
+
+<p>Manage package owners</p>
+
+<h2 id="npm-pack-1"><a href="../cli/npm-pack.html">npm-pack(1)</a></h2>
+
+<p>Create a tarball from a package</p>
+
+<h2 id="npm-prefix-1"><a href="../cli/npm-prefix.html">npm-prefix(1)</a></h2>
+
+<p>Display prefix</p>
+
+<h2 id="npm-prune-1"><a href="../cli/npm-prune.html">npm-prune(1)</a></h2>
+
+<p>Remove extraneous packages</p>
+
+<h2 id="npm-publish-1"><a href="../cli/npm-publish.html">npm-publish(1)</a></h2>
+
+<p>Publish a package</p>
+
+<h2 id="npm-rebuild-1"><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></h2>
+
+<p>Rebuild a package</p>
+
+<h2 id="npm-restart-1"><a href="../cli/npm-restart.html">npm-restart(1)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-rm-1"><a href="../cli/npm-rm.html">npm-rm(1)</a></h2>
+
+<p>Remove a package</p>
+
+<h2 id="npm-root-1"><a href="../cli/npm-root.html">npm-root(1)</a></h2>
+
+<p>Display npm root</p>
+
+<h2 id="npm-run-script-1"><a href="../cli/npm-run-script.html">npm-run-script(1)</a></h2>
+
+<p>Run arbitrary package scripts</p>
+
+<h2 id="npm-search-1"><a href="../cli/npm-search.html">npm-search(1)</a></h2>
+
+<p>Search for packages</p>
+
+<h2 id="npm-shrinkwrap-1"><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></h2>
+
+<p>Lock down dependency versions</p>
+
+<h2 id="npm-star-1"><a href="../cli/npm-star.html">npm-star(1)</a></h2>
+
+<p>Mark your favorite packages</p>
+
+<h2 id="npm-stars-1"><a href="../cli/npm-stars.html">npm-stars(1)</a></h2>
+
+<p>View packages marked as favorites</p>
+
+<h2 id="npm-start-1"><a href="../cli/npm-start.html">npm-start(1)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-stop-1"><a href="../cli/npm-stop.html">npm-stop(1)</a></h2>
+
+<p>Stop a package</p>
+
+<h2 id="npm-submodule-1"><a href="../cli/npm-submodule.html">npm-submodule(1)</a></h2>
+
+<p>Add a package as a git submodule</p>
+
+<h2 id="npm-tag-1"><a href="../cli/npm-tag.html">npm-tag(1)</a></h2>
+
+<p>Tag a published version</p>
+
+<h2 id="npm-test-1"><a href="../cli/npm-test.html">npm-test(1)</a></h2>
+
+<p>Test a package</p>
+
+<h2 id="npm-uninstall-1"><a href="../cli/npm-uninstall.html">npm-uninstall(1)</a></h2>
+
+<p>Remove a package</p>
+
+<h2 id="npm-unpublish-1"><a href="../cli/npm-unpublish.html">npm-unpublish(1)</a></h2>
+
+<p>Remove a package from the registry</p>
+
+<h2 id="npm-update-1"><a href="../cli/npm-update.html">npm-update(1)</a></h2>
+
+<p>Update a package</p>
+
+<h2 id="npm-version-1"><a href="../cli/npm-version.html">npm-version(1)</a></h2>
+
+<p>Bump a package version</p>
+
+<h2 id="npm-view-1"><a href="../cli/npm-view.html">npm-view(1)</a></h2>
+
+<p>View registry info</p>
+
+<h2 id="npm-whoami-1"><a href="../cli/npm-whoami.html">npm-whoami(1)</a></h2>
+
+<p>Display npm username</p>
+
+<h1>API Documentation</h1>
+
+<h2 id="npm-3"><a href="../api/npm.html">npm(3)</a></h2>
+
+<p>node package manager</p>
+
+<h2 id="npm-bin-3"><a href="../api/npm-bin.html">npm-bin(3)</a></h2>
+
+<p>Display npm bin folder</p>
+
+<h2 id="npm-bugs-3"><a href="../api/npm-bugs.html">npm-bugs(3)</a></h2>
+
+<p>Bugs for a package in a web browser maybe</p>
+
+<h2 id="npm-commands-3"><a href="../api/npm-commands.html">npm-commands(3)</a></h2>
+
+<p>npm commands</p>
+
+<h2 id="npm-config-3"><a href="../api/npm-config.html">npm-config(3)</a></h2>
+
+<p>Manage the npm configuration files</p>
+
+<h2 id="npm-deprecate-3"><a href="../api/npm-deprecate.html">npm-deprecate(3)</a></h2>
+
+<p>Deprecate a version of a package</p>
+
+<h2 id="npm-docs-3"><a href="../api/npm-docs.html">npm-docs(3)</a></h2>
+
+<p>Docs for a package in a web browser maybe</p>
+
+<h2 id="npm-edit-3"><a href="../api/npm-edit.html">npm-edit(3)</a></h2>
+
+<p>Edit an installed package</p>
+
+<h2 id="npm-explore-3"><a href="../api/npm-explore.html">npm-explore(3)</a></h2>
+
+<p>Browse an installed package</p>
+
+<h2 id="npm-help-search-3"><a href="../api/npm-help-search.html">npm-help-search(3)</a></h2>
+
+<p>Search the help pages</p>
+
+<h2 id="npm-init-3"><a href="../api/npm-init.html">npm-init(3)</a></h2>
+
+<p>Interactively create a package.json file</p>
+
+<h2 id="npm-install-3"><a href="../api/npm-install.html">npm-install(3)</a></h2>
+
+<p>install a package programmatically</p>
+
+<h2 id="npm-link-3"><a href="../api/npm-link.html">npm-link(3)</a></h2>
+
+<p>Symlink a package folder</p>
+
+<h2 id="npm-load-3"><a href="../api/npm-load.html">npm-load(3)</a></h2>
+
+<p>Load config settings</p>
+
+<h2 id="npm-ls-3"><a href="../api/npm-ls.html">npm-ls(3)</a></h2>
+
+<p>List installed packages</p>
+
+<h2 id="npm-outdated-3"><a href="../api/npm-outdated.html">npm-outdated(3)</a></h2>
+
+<p>Check for outdated packages</p>
+
+<h2 id="npm-owner-3"><a href="../api/npm-owner.html">npm-owner(3)</a></h2>
+
+<p>Manage package owners</p>
+
+<h2 id="npm-pack-3"><a href="../api/npm-pack.html">npm-pack(3)</a></h2>
+
+<p>Create a tarball from a package</p>
+
+<h2 id="npm-prefix-3"><a href="../api/npm-prefix.html">npm-prefix(3)</a></h2>
+
+<p>Display prefix</p>
+
+<h2 id="npm-prune-3"><a href="../api/npm-prune.html">npm-prune(3)</a></h2>
+
+<p>Remove extraneous packages</p>
+
+<h2 id="npm-publish-3"><a href="../api/npm-publish.html">npm-publish(3)</a></h2>
+
+<p>Publish a package</p>
+
+<h2 id="npm-rebuild-3"><a href="../api/npm-rebuild.html">npm-rebuild(3)</a></h2>
+
+<p>Rebuild a package</p>
+
+<h2 id="npm-restart-3"><a href="../api/npm-restart.html">npm-restart(3)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-root-3"><a href="../api/npm-root.html">npm-root(3)</a></h2>
+
+<p>Display npm root</p>
+
+<h2 id="npm-run-script-3"><a href="../api/npm-run-script.html">npm-run-script(3)</a></h2>
+
+<p>Run arbitrary package scripts</p>
+
+<h2 id="npm-search-3"><a href="../api/npm-search.html">npm-search(3)</a></h2>
+
+<p>Search for packages</p>
+
+<h2 id="npm-shrinkwrap-3"><a href="../api/npm-shrinkwrap.html">npm-shrinkwrap(3)</a></h2>
+
+<p>programmatically generate package shrinkwrap file</p>
+
+<h2 id="npm-start-3"><a href="../api/npm-start.html">npm-start(3)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-stop-3"><a href="../api/npm-stop.html">npm-stop(3)</a></h2>
+
+<p>Stop a package</p>
+
+<h2 id="npm-submodule-3"><a href="../api/npm-submodule.html">npm-submodule(3)</a></h2>
+
+<p>Add a package as a git submodule</p>
+
+<h2 id="npm-tag-3"><a href="../api/npm-tag.html">npm-tag(3)</a></h2>
+
+<p>Tag a published version</p>
+
+<h2 id="npm-test-3"><a href="../api/npm-test.html">npm-test(3)</a></h2>
+
+<p>Test a package</p>
+
+<h2 id="npm-uninstall-3"><a href="../api/npm-uninstall.html">npm-uninstall(3)</a></h2>
+
+<p>uninstall a package programmatically</p>
+
+<h2 id="npm-unpublish-3"><a href="../api/npm-unpublish.html">npm-unpublish(3)</a></h2>
+
+<p>Remove a package from the registry</p>
+
+<h2 id="npm-update-3"><a href="../api/npm-update.html">npm-update(3)</a></h2>
+
+<p>Update a package</p>
+
+<h2 id="npm-version-3"><a href="../api/npm-version.html">npm-version(3)</a></h2>
+
+<p>Bump a package version</p>
+
+<h2 id="npm-view-3"><a href="../api/npm-view.html">npm-view(3)</a></h2>
+
+<p>View registry info</p>
+
+<h2 id="npm-whoami-3"><a href="../api/npm-whoami.html">npm-whoami(3)</a></h2>
+
+<p>Display npm username</p>
+
+<h1>Files</h1>
+
+<h2 id="npm-folders-5"><a href="../files/npm-folders.html">npm-folders(5)</a></h2>
+
+<p>Folder Structures Used by npm</p>
+
+<h2 id="npmrc-5"><a href="../files/npmrc.html">npmrc(5)</a></h2>
+
+<p>The npm config files</p>
+
+<h2 id="package-json-5"><a href="../files/package.json.html">package.json(5)</a></h2>
+
+<p>Specifics of npm&#39;s package.json handling</p>
+
+<h1>Misc</h1>
+
+<h2 id="npm-coding-style-7"><a href="../misc/npm-coding-style.html">npm-coding-style(7)</a></h2>
+
+<p>npm&#39;s &quot;funny&quot; coding style</p>
+
+<h2 id="npm-config-7"><a href="../misc/npm-config.html">npm-config(7)</a></h2>
+
+<p>More than you probably want to know about npm configuration</p>
+
+<h2 id="npm-developers-7"><a href="../misc/npm-developers.html">npm-developers(7)</a></h2>
+
+<p>Developer Guide</p>
+
+<h2 id="npm-disputes-7"><a href="../misc/npm-disputes.html">npm-disputes(7)</a></h2>
+
+<p>Handling Module Name Disputes</p>
+
+<h2 id="npm-faq-7"><a href="../misc/npm-faq.html">npm-faq(7)</a></h2>
+
+<p>Frequently Asked Questions</p>
+
+<h2 id="npm-registry-7"><a href="../misc/npm-registry.html">npm-registry(7)</a></h2>
+
+<p>The JavaScript Package Registry</p>
+
+<h2 id="npm-scripts-7"><a href="../misc/npm-scripts.html">npm-scripts(7)</a></h2>
+
+<p>How npm handles the &quot;scripts&quot; field</p>
+
+<h2 id="removing-npm-7"><a href="../misc/removing-npm.html">removing-npm(7)</a></h2>
+
+<p>Cleaning the Slate</p>
+
+<h2 id="semver-7"><a href="../misc/semver.html">semver(7)</a></h2>
+
+<p>The semantic versioner for npm</p>
+</div>
+<p id="footer">index &mdash; npm@1.3.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>
diff --git a/deps/npm/html/doc/misc/npm-coding-style.html b/deps/npm/html/doc/misc/npm-coding-style.html
new file mode 100644
index 000000000..a44f1dead
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-coding-style.html
@@ -0,0 +1,216 @@
+<!doctype html>
+<html>
+ <title>npm-coding-style</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-coding-style.html">npm-coding-style</a></h1> <p>npm&#39;s &quot;funny&quot; coding style</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm&#39;s coding style is a bit unconventional. It is not different for
+difference&#39;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&#39;s style.</p>
+
+<p>Note: this concerns npm&#39;s code not the specific packages at npmjs.org</p>
+
+<h2 id="Line-Length">Line Length</h2>
+
+<p>Keep lines shorter than 80 characters. It&#39;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&#39;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&#39;t
+use it if it doesn&#39;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&#39;t use them except in four situations:</p>
+
+<ul><li><code>for (;;)</code> loops. They&#39;re actually required.</li><li>null loops like: <code>while (something) ;</code> (But you&#39;d better have a good
+reason for doing that.)</li><li><code>case &quot;foo&quot;: doSomething(); break</code></li><li>In front of a leading <code>(</code> or <code>[</code> at the start of the line.
+This prevents the expression from being interpreted
+as a function call or property access, respectively.</li></ul>
+
+<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 &quot;begin&quot;: start(); continue
+ case &quot;end&quot;: finish(); break
+ default: throw new Error(&quot;unknown state&quot;)
+ }
+ 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 = [ &quot;abracadabra&quot;
+ , &quot;gesundheit&quot;
+ , &quot;ventrilo&quot;
+ ]
+ , spells = { &quot;fireball&quot; : function () { setOnFire() }
+ , &quot;water&quot; : function () { putOut() }
+ }
+ , a = 1
+ , b = &quot;abc&quot;
+ , 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&#39;t leave trailing whitespace at the end of lines. Don&#39;t indent empty
+lines. Don&#39;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&#39;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&#39;t just return a
+string message to the callback. Stack traces are handy.</p>
+
+<h2 id="Logging">Logging</h2>
+
+<p>Logging is done using the <a href="https://github.com/isaacs/npmlog">npmlog</a>
+utility.</p>
+
+<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&#39;s happening so that it&#39;s easier to track down where a fault
+occurs.</p>
+
+<p>Use appropriate log levels. See <code><a href="../misc/npm-config.html">npm-config(7)</a></code> and search for
+&quot;loglevel&quot;.</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&#39;d pass to &quot;new&quot;).</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&#39;s a &quot;throwaway&quot; 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&#39;t set it to 0 unless it&#39;s supposed to be a number.</p>
+
+<p>When something is intentionally missing or removed, set it to <code>null</code>.</p>
+
+<p>Don&#39;t set things to <code>undefined</code>. Reserve that value to mean &quot;not yet
+set to anything.&quot;</p>
+
+<p>Boolean objects are verboten.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../cli/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">npm-coding-style &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-config.html b/deps/npm/html/doc/misc/npm-config.html
new file mode 100644
index 000000000..22c6c7809
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-config.html
@@ -0,0 +1,751 @@
+<!doctype html>
+<html>
+ <title>npm-config</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-config.html">npm-config</a></h1> <p>More than you probably want to know about npm configuration</p>
+
+<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>&quot;bar&quot;</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="npmrc-Files">npmrc Files</h3>
+
+<p>The three relevant files are:</p>
+
+<ul><li>per-user config file (~/.npmrc)</li><li>global config file ($PREFIX/npmrc)</li><li>npm builtin config file (/path/to/npm/npmrc)</li></ul>
+
+<p>See <a href="../files/npmrc.html">npmrc(5)</a> for more details.</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="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>-q</code>, <code>--quiet</code>: <code>--loglevel warn</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>-desc</code>: <code>--description</code></li><li><code>-S</code>: <code>--save</code></li><li><code>-D</code>: <code>--save-dev</code></li><li><code>-O</code>: <code>--save-optional</code></li><li><code>-B</code>: <code>--save-bundle</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="../misc/npm-scripts.html">npm-scripts(7)</a></code>) the package.json &quot;config&quot;
+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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; }
+, &quot;scripts&quot; : { &quot;start&quot; : &quot;node server.js&quot; } }</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>
+
+<p>See <a href="../files/package.json.html">package.json(5)</a> for more information.</p>
+
+<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-links">bin-links</h3>
+
+<ul><li>Default: <code>true</code></li><li>Type: Boolean</li></ul>
+
+<p>Tells npm to create symlinks (or <code>.cmd</code> shims on Windows) for package
+executables.</p>
+
+<p>Set to false to have it not do this. This can be used to work around
+the fact that some file systems don&#39;t support symlinks, even on
+ostensibly Unix systems.</p>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>&quot;open&quot;</code>, Windows: <code>&quot;start&quot;</code>, Others: <code>&quot;xdg-open&quot;</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 &quot;known&quot; 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>%APPDATA%\npm-cache</code>, Posix: <code>~/.npm</code></li><li>Type: path</li></ul>
+
+<p>The location of npm&#39;s cache directory. See <code><a href="../cli/npm-cache.html">npm-cache(1)</a></code></p>
+
+<h3 id="cache-lock-stale">cache-lock-stale</h3>
+
+<ul><li>Default: 60000 (1 minute)</li><li>Type: Number</li></ul>
+
+<p>The number of ms before cache folder lockfiles are considered stale.</p>
+
+<h3 id="cache-lock-retries">cache-lock-retries</h3>
+
+<ul><li>Default: 10</li><li>Type: Number</li></ul>
+
+<p>Number of times to retry to acquire a lock on cache folder lockfiles.</p>
+
+<h3 id="cache-lock-wait">cache-lock-wait</h3>
+
+<ul><li>Default: 10000 (10 seconds)</li><li>Type: Number</li></ul>
+
+<p>Number of ms to wait for cache lock files to expire.</p>
+
+<h3 id="cache-max">cache-max</h3>
+
+<ul><li>Default: Infinity</li><li>Type: Number</li></ul>
+
+<p>The maximum time (in seconds) to keep items in the registry cache before
+re-checking against the registry.</p>
+
+<p>Note that no purging is done unless the <code>npm cache clean</code> command is
+explicitly used, and that only GET requests use the cache.</p>
+
+<h3 id="cache-min">cache-min</h3>
+
+<ul><li>Default: 10</li><li>Type: Number</li></ul>
+
+<p>The minimum time (in seconds) to keep items in the registry cache before
+re-checking against the registry.</p>
+
+<p>Note that no purging is done unless the <code>npm cache clean</code> command is
+explicitly used, and that only GET requests use the cache.</p>
+
+<h3 id="color">color</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean or <code>&quot;always&quot;</code></li></ul>
+
+<p>If false, never shows colors. If <code>&quot;always&quot;</code> then always shows colors.
+If true, then only prints color codes for tty file descriptors.</p>
+
+<h3 id="coverage">coverage</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>A flag to tell test-harness to run with their coverage options enabled,
+if they respond to the <code>npm_config_coverage</code> environment variable.</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>&quot;vi&quot;</code> on Posix,
+or <code>&quot;notepad&quot;</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="engine-strict">engine-strict</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If set to true, then npm will stubbornly refuse to install (or even
+consider installing) any package that claims to not be compatible with
+the current Node.js version.</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="fetch-retries">fetch-retries</h3>
+
+<ul><li>Default: 2</li><li>Type: Number</li></ul>
+
+<p>The &quot;retries&quot; config for the <code>retry</code> module to use when fetching
+packages from the registry.</p>
+
+<h3 id="fetch-retry-factor">fetch-retry-factor</h3>
+
+<ul><li>Default: 10</li><li>Type: Number</li></ul>
+
+<p>The &quot;factor&quot; config for the <code>retry</code> module to use when fetching
+packages.</p>
+
+<h3 id="fetch-retry-mintimeout">fetch-retry-mintimeout</h3>
+
+<ul><li>Default: 10000 (10 seconds)</li><li>Type: Number</li></ul>
+
+<p>The &quot;minTimeout&quot; config for the <code>retry</code> module to use when fetching
+packages.</p>
+
+<h3 id="fetch-retry-maxtimeout">fetch-retry-maxtimeout</h3>
+
+<ul><li>Default: 60000 (1 minute)</li><li>Type: Number</li></ul>
+
+<p>The &quot;maxTimeout&quot; config for the <code>retry</code> module to use when fetching
+packages.</p>
+
+<h3 id="git">git</h3>
+
+<ul><li>Default: <code>&quot;git&quot;</code></li><li>Type: String</li></ul>
+
+<p>The command to use for git commands. If git is installed on the
+computer, but is not in the <code>PATH</code>, then set this to the full path to
+the git binary.</p>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Operates in &quot;global&quot; mode, so that packages are installed into the
+<code>prefix</code> folder instead of the current working directory. See
+<code><a href="../misc/npm-folders.html">npm-folders(7)</a></code> for more on the differences in behavior.</p>
+
+<ul><li>packages are installed into the <code>{prefix}/lib/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 &quot;gitignore&quot; 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="user-agent">user-agent</h3>
+
+<ul><li>Default: node/{process.version} {process.platform} {process.arch}</li><li>Type: String</li></ul>
+
+<p>Sets a User-Agent to the request header</p>
+
+<h3 id="ignore">ignore</h3>
+
+<ul><li>Default: &quot;&quot;</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-module">init-module</h3>
+
+<ul><li>Default: ~/.npm-init.js</li><li>Type: path</li></ul>
+
+<p>A module that will be loaded by the <code>npm init</code> command. See the
+documentation for the
+<a href="https://github.com/isaacs/init-package-json">init-package-json</a> module
+for more information, or <a href="../cli/npm-init.html">npm-init(1)</a>.</p>
+
+<h3 id="init-version">init.version</h3>
+
+<ul><li>Default: &quot;0.0.0&quot;</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: &quot;&quot;</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author&#39;s name.</p>
+
+<h3 id="init-author-email">init.author.email</h3>
+
+<ul><li>Default: &quot;&quot;</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author&#39;s email.</p>
+
+<h3 id="init-author-url">init.author.url</h3>
+
+<ul><li>Default: &quot;&quot;</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author&#39;s homepage.</p>
+
+<h3 id="json">json</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to output JSON data, rather than the normal output.</p>
+
+<p>This feature is currently experimental, and the output data structures
+for many commands is either not implemented in JSON yet, or subject to
+change. Only the output from <code>npm ls --json</code> is currently valid.</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="loglevel">loglevel</h3>
+
+<ul><li>Default: &quot;http&quot;</li><li>Type: String</li><li>Values: &quot;silent&quot;, &quot;win&quot;, &quot;error&quot;, &quot;warn&quot;, &quot;http&quot;, &quot;info&quot;, &quot;verbose&quot;, &quot;silly&quot;</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>
+
+<p>Any logs of a higher level than the setting are shown.
+The default is &quot;http&quot;, which shows http, warn, and error output.</p>
+
+<h3 id="logstream">logstream</h3>
+
+<ul><li>Default: process.stderr</li><li>Type: Stream</li></ul>
+
+<p>This is the stream that is passed to the
+<a href="https://github.com/isaacs/npmlog">npmlog</a> module at run time.</p>
+
+<p>It cannot be set from the command line, but if you are using npm
+programmatically, you may wish to send logs to somewhere other than
+stderr.</p>
+
+<p>If the <code>color</code> config is set to true, then this stream will receive
+colored output if it is a TTY.</p>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information in <code>npm ls</code></p>
+
+<h3 id="message">message</h3>
+
+<ul><li>Default: &quot;%s&quot;</li><li>Type: String</li></ul>
+
+<p>Commit message which is used by <code>npm version</code> when creating version commit.</p>
+
+<p>Any &quot;%s&quot; 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&#39;s &quot;engines&quot; 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="optional">optional</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Attempt to install packages in the <code>optionalDependencies</code> hash. Note
+that if these packages fail to install, the overall installation
+process is not aborted.</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: see <a href="../misc/npm-folders.html">npm-folders(7)</a></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 &quot;production&quot; 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=&quot;production&quot; for lifecycle scripts.</li></ol>
+
+<h3 id="proprietary-attribs">proprietary-attribs</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to include proprietary extended attributes in the
+tarballs created by npm.</p>
+
+<p>Unless you are expecting to unpack package tarballs with something other
+than npm -- particularly a very outdated tar implementation -- leave
+this as true.</p>
+
+<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>When used with the <code>npm rm</code> command, it removes it from the dependencies
+hash.</p>
+
+<p>Only works if there is already a package.json file present.</p>
+
+<h3 id="save-bundle">save-bundle</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If a package would be saved at install time by the use of <code>--save</code>,
+<code>--save-dev</code>, or <code>--save-optional</code>, then also put it in the
+<code>bundleDependencies</code> list.</p>
+
+<p>When used with the <code>npm rm</code> command, it removes it from the
+bundledDependencies list.</p>
+
+<h3 id="save-dev">save-dev</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Save installed packages to a package.json file as devDependencies.</p>
+
+<p>When used with the <code>npm rm</code> command, it removes it from the devDependencies
+hash.</p>
+
+<p>Only works if there is already a package.json file present.</p>
+
+<h3 id="save-optional">save-optional</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Save installed packages to a package.json file as optionalDependencies.</p>
+
+<p>When used with the <code>npm rm</code> command, it removes it from the devDependencies
+hash.</p>
+
+<p>Only works if there is already a package.json file present.</p>
+
+<h3 id="searchopts">searchopts</h3>
+
+<ul><li>Default: &quot;&quot;</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: &quot;&quot;</li><li>Type: String</li></ul>
+
+<p>Space-separated options that limit the results from search.</p>
+
+<h3 id="searchsort">searchsort</h3>
+
+<ul><li>Default: &quot;name&quot;</li><li>Type: String</li><li>Values: &quot;name&quot;, &quot;-name&quot;, &quot;date&quot;, &quot;-date&quot;, &quot;description&quot;,
+&quot;-description&quot;, &quot;keywords&quot;, &quot;-keywords&quot;</li></ul>
+
+<p>Indication of which field to sort search results by. Prefix with a <code>-</code>
+character to indicate reverse sort.</p>
+
+<h3 id="shell">shell</h3>
+
+<ul><li>Default: SHELL environment variable, or &quot;bash&quot; on Posix, or &quot;cmd&quot; on
+Windows</li><li>Type: path</li></ul>
+
+<p>The shell to run for the <code>npm explore</code> command.</p>
+
+<h3 id="shrinkwrap">shrinkwrap</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>If set to false, then ignore <code>npm-shrinkwrap.json</code> files when
+installing.</p>
+
+<h3 id="sign-git-tag">sign-git-tag</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If set to true, then the <code>npm version</code> command will tag the version
+using <code>-s</code> to add a signature.</p>
+
+<p>Note that git requires you to have set up GPG keys in your git configs
+for this to work properly.</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&#39;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 &quot;/tmp&quot;</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="../cli/npm-help.html">npm-help(1)</a></code>.</p>
+
+<h3 id="user">user</h3>
+
+<ul><li>Default: &quot;nobody&quot;</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 &quot;umask&quot; 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="versions">versions</h3>
+
+<ul><li>Default: false</li><li>Type: boolean</li></ul>
+
+<p>If true, output the npm version as well as node&#39;s <code>process.versions</code>
+hash, and exit successfully.</p>
+
+<p>Only relevant when specified explicitly on the command line.</p>
+
+<h3 id="viewer">viewer</h3>
+
+<ul><li>Default: &quot;man&quot; on Posix, &quot;browser&quot; on Windows</li><li>Type: path</li></ul>
+
+<p>The program to use to view help content.</p>
+
+<p>Set to <code>&quot;browser&quot;</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 &quot;yes&quot; to any prompt. If set to <code>false</code>
+then answer &quot;no&quot; to any prompt.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">npm-config &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-developers.html b/deps/npm/html/doc/misc/npm-developers.html
new file mode 100644
index 000000000..3160d46bb
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-developers.html
@@ -0,0 +1,208 @@
+<!doctype html>
+<html>
+ <title>npm-developers</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-developers.html">npm-developers</a></h1> <p>Developer Guide</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>So, you&#39;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 <code>package</code></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 &quot;latest&quot; tag satisfying (e)</li><li>g) a <code>git</code> url that, when cloned, results in (a).</li></ul>
+
+<p>Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b).</p>
+
+<p>Git urls can be of the form:</p>
+
+<pre><code>git://github.com/user/project.git#commit-ish
+git+ssh://user@hostname:project.git#commit-ish
+git+http://user@hostname/project/blah.git#commit-ish
+git+https://user@hostname/project/blah.git#commit-ish</code></pre>
+
+<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
+an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
+
+<h2 id="The-package-json-File">The package.json File</h2>
+
+<p>You need to have a <code>package.json</code> file in the root of your project to do
+much of anything with npm. That is basically the whole interface.</p>
+
+<p>See <code><a href="../files/package.json.html">package.json(5)</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 &quot;engines&quot; field to explicitly state the versions of
+node (or whatever else) that your program requires, and it&#39;s pretty
+well assumed that it&#39;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 &quot;scripts.test&quot; field.
+See <a href="../misc/npm-scripts.html">npm-scripts(7)</a>.</p></li><li><p>main:
+If you have a single module that serves as the entry point to your
+program (like what the &quot;foo&quot; package gives you at require(&quot;foo&quot;)),
+then you need to specify that in the &quot;main&quot; field.</p></li><li><p>directories:
+This is a hash of folders. The best ones to include are &quot;lib&quot; and
+&quot;doc&quot;, but if you specify a folder full of man pages in &quot;man&quot;, then
+they&#39;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="../cli/npm-init.html">npm-init(1)</a></code> for
+more info.</p>
+
+<h2 id="Keeping-files-out-of-your-package">Keeping files <em>out</em> of your package</h2>
+
+<p>Use a <code>.npmignore</code> file to keep stuff out of your package. If there&#39;s
+no <code>.npmignore</code> file, but there <em>is</em> a <code>.gitignore</code> file, then npm will
+ignore the stuff matched by the <code>.gitignore</code> file. If you <em>want</em> to
+include something that is excluded by your <code>.gitignore</code> file, you can
+create an empty <code>.npmignore</code> file to override it.</p>
+
+<p>By default, the following paths and files are ignored, so there&#39;s no
+need to add them to <code>.npmignore</code> explicitly:</p>
+
+<ul><li><code>.*.swp</code></li><li><code>._*</code></li><li><code>.DS_Store</code></li><li><code>.git</code></li><li><code>.hg</code></li><li><code>.lock-wscript</code></li><li><code>.svn</code></li><li><code>.wafpickle-*</code></li><li><code>CVS</code></li><li><code>npm-debug.log</code></li></ul>
+
+<p>Additionally, everything in <code>node_modules</code> is ignored, except for
+bundled dependencies. npm automatically handles this for you, so don&#39;t
+bother adding <code>node_modules</code> to <code>.npmignore</code>.</p>
+
+<p>The following paths and files are never ignored, so adding them to
+<code>.npmignore</code> is pointless:</p>
+
+<ul><li><code>package.json</code></li><li><code><a href="../../doc/README.html">README</a>.*</code></li></ul>
+
+<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="../cli/npm-link.html">npm-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&#39;ll have
+problems trying to publish it. Or, worse yet, you&#39;ll be able to
+publish it, but you&#39;ll be publishing a broken or pointless package.
+So don&#39;t do that.</p>
+
+<p>In the root of your package, do this:</p>
+
+<pre><code>npm install . -g</code></pre>
+
+<p>That&#39;ll show you that it&#39;s working. If you&#39;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&#39;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(&quot;my-thing&quot;) to
+bring in your module&#39;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="../cli/npm-adduser.html">npm-adduser(1)</a>.</p>
+
+<h2 id="Publish-your-package">Publish your package</h2>
+
+<p>This part&#39;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>.npmignore</code> file to list out the globs to 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="../misc/npm-faq.html">npm-faq(7)</a></li><li><a href="../cli/npm.html">npm(1)</a></li><li><a href="../cli/npm-init.html">npm-init(1)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-publish.html">npm-publish(1)</a></li><li><a href="../cli/npm-adduser.html">npm-adduser(1)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li></ul>
+</div>
+<p id="footer">npm-developers &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-disputes.html b/deps/npm/html/doc/misc/npm-disputes.html
new file mode 100644
index 000000000..a383e7657
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-disputes.html
@@ -0,0 +1,125 @@
+<!doctype html>
+<html>
+ <title>npm-disputes</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-disputes.html">npm-disputes</a></h1> <p>Handling Module Name Disputes</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<ol><li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li><li>Email the author, CC <a href="mailto:i@izs.me">i@izs.me</a>.</li><li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li></ol>
+
+<p>Don&#39;t squat on package names. Publish code or move out of the way.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>There sometimes arise cases where a user publishes a module, and then
+later, some other user wants to use that name. Here are some common
+ways that happens (each of these is based on actual events.)</p>
+
+<ol><li>Joe writes a JavaScript module <code>foo</code>, which is not node-specific.
+Joe doesn&#39;t use node at all. Bob wants to use <code>foo</code> in node, so he
+wraps it in an npm module. Some time later, Joe starts using node,
+and wants to take over management of his program.</li><li>Bob writes an npm module <code>foo</code>, and publishes it. Perhaps much
+later, Joe finds a bug in <code>foo</code>, and fixes it. He sends a pull
+request to Bob, but Bob doesn&#39;t have the time to deal with it,
+because he has a new job and a new baby and is focused on his new
+erlang project, and kind of not involved with node any more. Joe
+would like to publish a new <code>foo</code>, but can&#39;t, because the name is
+taken.</li><li>Bob writes a 10-line flow-control library, and calls it <code>foo</code>, and
+publishes it to the npm registry. Being a simple little thing, it
+never really has to be updated. Joe works for Foo Inc, the makers
+of the critically acclaimed and widely-marketed <code>foo</code> JavaScript
+toolkit framework. They publish it to npm as <code>foojs</code>, but people are
+routinely confused when <code>npm install foo</code> is some different thing.</li><li>Bob writes a parser for the widely-known <code>foo</code> file format, because
+he needs it for work. Then, he gets a new job, and never updates the
+prototype. Later on, Joe writes a much more complete <code>foo</code> parser,
+but can&#39;t publish, because Bob&#39;s <code>foo</code> is in the way.</li></ol>
+
+<p>The validity of Joe&#39;s claim in each situation can be debated. However,
+Joe&#39;s appropriate course of action in each case is the same.</p>
+
+<ol><li><code>npm owner ls foo</code>. This will tell Joe the email address of the
+owner (Bob).</li><li>Joe emails Bob, explaining the situation <strong>as respectfully as possible</strong>,
+and what he would like to do with the module name. He adds
+isaacs <a href="mailto:i@izs.me">i@izs.me</a> to the CC list of the email. Mention in the email
+that Bob can run <code>npm owner add joe foo</code> to add Joe as an owner of
+the <code>foo</code> package.</li><li>After a reasonable amount of time, if Bob has not responded, or if
+Bob and Joe can&#39;t come to any sort of resolution, email isaacs
+<a href="mailto:i@izs.me">i@izs.me</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is usually about 4
+weeks, but extra time is allowed around common holidays.)</li></ol>
+
+<h2 id="REASONING">REASONING</h2>
+
+<p>In almost every case so far, the parties involved have been able to reach
+an amicable resolution without any major intervention. Most people
+really do want to be reasonable, and are probably not even aware that
+they&#39;re in your way.</p>
+
+<p>Module ecosystems are most vibrant and powerful when they are as
+self-directed as possible. If an admin one day deletes something you
+had worked on, then that is going to make most people quite upset,
+regardless of the justification. When humans solve their problems by
+talking to other humans with respect, everyone has the chance to end up
+feeling good about the interaction.</p>
+
+<h2 id="EXCEPTIONS">EXCEPTIONS</h2>
+
+<p>Some things are not allowed, and will be removed without discussion if
+they are brought to the attention of the npm registry admins, including
+but not limited to:</p>
+
+<ol><li>Malware (that is, a package designed to exploit or harm the machine on
+which it is installed).</li><li>Violations of copyright or licenses (for example, cloning an
+MIT-licensed program, and then removing or changing the copyright and
+license statement).</li><li>Illegal content.</li><li>&quot;Squatting&quot; on a package name that you <em>plan</em> to use, but aren&#39;t
+actually using. Sorry, I don&#39;t care how great the name is, or how
+perfect a fit it is for the thing that someday might happen. If
+someone wants to use it today, and you&#39;re just taking up space with
+an empty tarball, you&#39;re going to be evicted.</li><li>Putting empty packages in the registry. Packages must have SOME
+functionality. It can be silly, but it can&#39;t be <em>nothing</em>. (See
+also: squatting.)</li><li>Doing weird things with the registry, like using it as your own
+personal application database or otherwise putting non-packagey
+things into it.</li></ol>
+
+<p>If you see bad behavior like this, please report it right away.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-owner.html">npm-owner(1)</a></li></ul>
+</div>
+<p id="footer">npm-disputes &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-faq.html b/deps/npm/html/doc/misc/npm-faq.html
new file mode 100644
index 000000000..854c87b9a
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-faq.html
@@ -0,0 +1,374 @@
+<!doctype html>
+<html>
+ <title>npm-faq</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-faq.html">npm-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="https://npmjs.org/doc/">https://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&#39;t work.</h2>
+
+<p>That&#39;s not really a question.</p>
+
+<h2 id="Why-didn-t-it-work">Why didn&#39;t it work?</h2>
+
+<p>I don&#39;t know yet.</p>
+
+<p>Read the error output, and if you can&#39;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="../files/npm-folders.html">npm-folders(5)</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-on-my-computer-in-a-central-location">How do I install something on my computer in a central location?</h2>
+
+<p>Install it globally by tacking <code>-g</code> or <code>--global</code> to the command. (This
+is especially important for command line utilities that need to add
+their bins to the global system <code>PATH</code>.)</p>
+
+<h2 id="I-installed-something-globally-but-I-can-t-require-it">I installed something globally, but I can&#39;t <code>require()</code> it</h2>
+
+<p>Install it locally.</p>
+
+<p>The global install location is a place for command-line utilities
+to put their bins in the system <code>PATH</code>. It&#39;s not for use with <code>require()</code>.</p>
+
+<p>If you <code>require()</code> a module in your code, then that means it&#39;s a
+dependency, and a part of your program. You need to install it locally
+in your program.</p>
+
+<h2 id="Why-can-t-npm-just-put-everything-in-one-place-like-other-package-managers">Why can&#39;t npm just put everything in one place, like other package managers?</h2>
+
+<p>Not every change is an improvement, but every improvement is a change.
+This would be like asking git to do network IO for every commit. It&#39;s
+not going to happen, because it&#39;s a terrible idea that causes more
+problems than it solves.</p>
+
+<p>It is much harder to avoid dependency conflicts without nesting
+dependencies. This is fundamental to the way that npm works, and has
+proven to be an extremely successful approach. See <code><a href="../files/npm-folders.html">npm-folders(5)</a></code> for
+more details.</p>
+
+<p>If you want a package to be installed in one place, and have all your
+programs reference the same copy of it, then use the <code>npm link</code> command.
+That&#39;s what it&#39;s for. Install it globally, then link it into each
+program that uses it.</p>
+
+<h2 id="Whatever-I-really-want-the-old-style-everything-global-style">Whatever, I really want the old style &#39;everything global&#39; style.</h2>
+
+<p>Write your own package manager, then. It&#39;s not that hard.</p>
+
+<p>npm will not help you do something that is known to be a bad idea.</p>
+
+<h2 id="Should-I-check-my-node_modules-folder-into-git">Should I check my <code>node_modules</code> folder into git?</h2>
+
+<p>Mikeal Rogers answered this question very well:</p>
+
+<p><a href="http://www.mikealrogers.com/posts/nodemodules-in-git.html">http://www.mikealrogers.com/posts/nodemodules-in-git.html</a></p>
+
+<p>tl;dr</p>
+
+<ul><li>Check <code>node_modules</code> into git for things you <strong>deploy</strong>, such as
+websites and apps.</li><li>Do not check <code>node_modules</code> into git for libraries and modules
+intended to be reused.</li><li>Use npm to manage dependencies in your dev environment, but not in
+your deployment scripts.</li></ul>
+
+<h2 id="Is-it-npm-or-NPM-or-Npm">Is it &#39;npm&#39; or &#39;NPM&#39; or &#39;Npm&#39;?</h2>
+
+<p>npm should never be capitalized unless it is being displayed in a
+location that is customarily all-caps (such as the title of man pages.)</p>
+
+<h2 id="If-npm-is-an-acronym-why-is-it-never-capitalized">If &#39;npm&#39; is an acronym, why is it never capitalized?</h2>
+
+<p>Contrary to the belief of many, &quot;npm&quot; is not in fact an abbreviation for
+&quot;Node Package Manager&quot;. It is a recursive bacronymic abbreviation for
+&quot;npm is not an acronym&quot;. (If it was &quot;ninaa&quot;, then it would be an
+acronym, and thus incorrectly named.)</p>
+
+<p>&quot;NPM&quot;, 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, &quot;NPM&quot; 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 &quot;pm&quot;, which was a shortened descendent of &quot;pkgmakeinst&quot;, a
+bash function that was used to install various different things on different
+platforms, most often using Yahoo&#39;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 &quot;npm&quot; 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 https://npmjs.org/install.sh | sh</code></pre>
+
+<h2 id="What-is-a-package">What is a <code>package</code>?</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 &quot;latest&quot; 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="What-is-a-module">What is a <code>module</code>?</h2>
+
+<p>A module is anything that can be loaded with <code>require()</code> in a Node.js
+program. The following things are all examples of things that can be
+loaded as modules:</p>
+
+<ul><li>A folder with a <code>package.json</code> file containing a <code>main</code> field.</li><li>A folder with an <code>index.js</code> file in it.</li><li>A JavaScript file.</li></ul>
+
+<p>Most npm packages are modules, because they are libraries that you
+load with <code>require</code>. However, there&#39;s no requirement that an npm
+package be a module! Some only contain an executable command-line
+interface, and don&#39;t provide a <code>main</code> field for use in Node programs.</p>
+
+<p>Almost all npm packages (at least, those that are Node programs)
+<em>contain</em> many modules within them (because every file they load with
+<code>require()</code> is a module).</p>
+
+<p>In the context of a Node program, the <code>module</code> is also the thing that
+was loaded <em>from</em> a file. For example, in the following program:</p>
+
+<pre><code>var req = require(&#39;request&#39;)</code></pre>
+
+<p>we might say that &quot;The variable <code>req</code> refers to the <code>request</code> module&quot;.</p>
+
+<h2 id="So-why-is-it-the-node_modules-folder-but-package-json-file-Why-not-node_packages-or-module-json">So, why is it the &quot;<code>node_modules</code>&quot; folder, but &quot;<code>package.json</code>&quot; file? Why not <code>node_packages</code> or <code>module.json</code>?</h2>
+
+<p>The <code>package.json</code> file defines the package. (See &quot;What is a
+package?&quot; above.)</p>
+
+<p>The <code>node_modules</code> folder is the place Node.js looks for modules.
+(See &quot;What is a module?&quot; above.)</p>
+
+<p>For example, if you create a file at <code>node_modules/foo.js</code> and then
+had a program that did <code>var f = require(&#39;foo.js&#39;)</code> then it would load
+the module. However, <code>foo.js</code> is not a &quot;package&quot; in this case,
+because it does not have a package.json.</p>
+
+<p>Alternatively, if you create a package which does not have an
+<code>index.js</code> or a <code>&quot;main&quot;</code> field in the <code>package.json</code> file, then it is
+not a module. Even if it&#39;s installed in <code>node_modules</code>, it can&#39;t be
+an argument to <code>require()</code>.</p>
+
+<h2 id="node_modules-is-the-name-of-my-deity-s-arch-rival-and-a-Forbidden-Word-in-my-religion-Can-I-configure-npm-to-use-a-different-folder"><code>&quot;node_modules&quot;</code> is the name of my deity&#39;s arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?</h2>
+
+<p>No. This will never happen. This question comes up sometimes,
+because it seems silly from the outside that npm couldn&#39;t just be
+configured to put stuff somewhere else, and then npm could load them
+from there. It&#39;s an arbitrary spelling choice, right? What&#39;s the big
+deal?</p>
+
+<p>At the time of this writing, the string <code>&#39;node_modules&#39;</code> appears 151
+times in 53 separate files in npm and node core (excluding tests and
+documentation).</p>
+
+<p>Some of these references are in node&#39;s built-in module loader. Since
+npm is not involved <strong>at all</strong> at run-time, node itself would have to
+be configured to know where you&#39;ve decided to stick stuff. Complexity
+hurdle #1. Since the Node module system is locked, this cannot be
+changed, and is enough to kill this request. But I&#39;ll continue, in
+deference to your deity&#39;s delicate feelings regarding spelling.</p>
+
+<p>Many of the others are in dependencies that npm uses, which are not
+necessarily tightly coupled to npm (in the sense that they do not read
+npm&#39;s configuration files, etc.) Each of these would have to be
+configured to take the name of the <code>node_modules</code> folder as a
+parameter. Complexity hurdle #2.</p>
+
+<p>Furthermore, npm has the ability to &quot;bundle&quot; dependencies by adding
+the dep names to the <code>&quot;bundledDependencies&quot;</code> list in package.json,
+which causes the folder to be included in the package tarball. What
+if the author of a module bundles its dependencies, and they use a
+different spelling for <code>node_modules</code>? npm would have to rename the
+folder at publish time, and then be smart enough to unpack it using
+your locally configured name. Complexity hurdle #3.</p>
+
+<p>Furthermore, what happens when you <em>change</em> this name? Fine, it&#39;s
+easy enough the first time, just rename the <code>node_modules</code> folders to
+<code>./blergyblerp/</code> or whatever name you choose. But what about when you
+change it again? npm doesn&#39;t currently track any state about past
+configuration settings, so this would be rather difficult to do
+properly. It would have to track every previous value for this
+config, and always accept any of them, or else yesterday&#39;s install may
+be broken tomorrow. Complexity hurdle #5.</p>
+
+<p>Never going to happen. The folder is named <code>node_modules</code>. It is
+written indelibly in the Node Way, handed down from the ancient times
+of Node 0.3.</p>
+
+<h2 id="How-do-I-install-node-with-npm">How do I install node with npm?</h2>
+
+<p>You don&#39;t. Try one of these node version managers:</p>
+
+<p>Unix:</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>
+
+<p>Windows:</p>
+
+<ul><li><a href="http://github.com/marcelklehr/nodist">http://github.com/marcelklehr/nodist</a></li><li><a href="https://github.com/hakobera/nvmw">https://github.com/hakobera/nvmw</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="../misc/npm-developers.html">npm-developers(7)</a></code> and <code><a href="../files/package.json.html">package.json(5)</a></code>.</p>
+
+<p>You&#39;ll most likely want to <code>npm link</code> your development folder. That&#39;s
+awesomely handy.</p>
+
+<p>To set up your own private registry, check out <code><a href="../misc/npm-registry.html">npm-registry(7)</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 &quot;what is a package?&quot; 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&#39;t have to keep re-installing?</h2>
+
+<p>See <code><a href="../cli/npm-link.html">npm-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="../misc/npm-registry.html">npm-registry(7)</a></code>.</p>
+
+<h2 id="I-forgot-my-password-and-can-t-publish-How-do-I-reset-it">I forgot my password, and can&#39;t publish. How do I reset it?</h2>
+
+<p>Go to <a href="https://npmjs.org/forgot">https://npmjs.org/forgot</a>.</p>
+
+<h2 id="I-get-ECONNREFUSED-a-lot-What-s-up">I get ECONNREFUSED a lot. What&#39;s up?</h2>
+
+<p>Either the registry is down, or node&#39;s DNS isn&#39;t able to reach out.</p>
+
+<p>To check if the registry is down, open up <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</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 <a href="mailto:i@izs.me">i@izs.me</a> or posting
+an issue at <a href="https://github.com/isaacs/npm/issues">https://github.com/isaacs/npm/issues</a>. We&#39;ll have
+someone kick it or something.</p>
+
+<h2 id="Why-no-namespaces">Why no namespaces?</h2>
+
+<p>Please see this discussion: <a href="https://github.com/isaacs/npm/issues/798">https://github.com/isaacs/npm/issues/798</a></p>
+
+<p>tl;dr - It doesn&#39;t actually make things better, and can make them worse.</p>
+
+<p>If you want to namespace your own packages, you may: simply use the
+<code>-</code> character to separate the names. npm is a mostly anarchic system.
+There is not sufficient need to impose namespace rules on everyone.</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>Post an issue on the github project:</p>
+
+<ul><li><a href="https://github.com/isaacs/npm/issues">https://github.com/isaacs/npm/issues</a></li></ul>
+
+<h2 id="Why-does-npm-hate-me">Why does npm hate me?</h2>
+
+<p>npm is not capable of hatred. It loves everyone, especially you.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm.html">npm(1)</a></li><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npm-folders.html">npm-folders(5)</a></li></ul>
+</div>
+<p id="footer">npm-faq &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-index.html b/deps/npm/html/doc/misc/npm-index.html
new file mode 100644
index 000000000..fb768c3e0
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-index.html
@@ -0,0 +1,442 @@
+<!doctype html>
+<html>
+ <title>npm-index</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-index.html">npm-index</a></h1> <p>Index of all npm documentation</p>
+
+<h2 id="README-1"><a href="../../doc/README.html">README</a></h2>
+
+<p>node package manager</p>
+
+<h1>Command Line Documentation</h1>
+
+<h2 id="npm-1"><a href="../cli/npm.html">npm(1)</a></h2>
+
+<p>node package manager</p>
+
+<h2 id="npm-adduser-1"><a href="../cli/npm-adduser.html">npm-adduser(1)</a></h2>
+
+<p>Add a registry user account</p>
+
+<h2 id="npm-bin-1"><a href="../cli/npm-bin.html">npm-bin(1)</a></h2>
+
+<p>Display npm bin folder</p>
+
+<h2 id="npm-bugs-1"><a href="../cli/npm-bugs.html">npm-bugs(1)</a></h2>
+
+<p>Bugs for a package in a web browser maybe</p>
+
+<h2 id="npm-build-1"><a href="../cli/npm-build.html">npm-build(1)</a></h2>
+
+<p>Build a package</p>
+
+<h2 id="npm-bundle-1"><a href="../cli/npm-bundle.html">npm-bundle(1)</a></h2>
+
+<p>REMOVED</p>
+
+<h2 id="npm-cache-1"><a href="../cli/npm-cache.html">npm-cache(1)</a></h2>
+
+<p>Manipulates packages cache</p>
+
+<h2 id="npm-completion-1"><a href="../cli/npm-completion.html">npm-completion(1)</a></h2>
+
+<p>Tab Completion for npm</p>
+
+<h2 id="npm-config-1"><a href="../cli/npm-config.html">npm-config(1)</a></h2>
+
+<p>Manage the npm configuration files</p>
+
+<h2 id="npm-dedupe-1"><a href="../cli/npm-dedupe.html">npm-dedupe(1)</a></h2>
+
+<p>Reduce duplication</p>
+
+<h2 id="npm-deprecate-1"><a href="../cli/npm-deprecate.html">npm-deprecate(1)</a></h2>
+
+<p>Deprecate a version of a package</p>
+
+<h2 id="npm-docs-1"><a href="../cli/npm-docs.html">npm-docs(1)</a></h2>
+
+<p>Docs for a package in a web browser maybe</p>
+
+<h2 id="npm-edit-1"><a href="../cli/npm-edit.html">npm-edit(1)</a></h2>
+
+<p>Edit an installed package</p>
+
+<h2 id="npm-explore-1"><a href="../cli/npm-explore.html">npm-explore(1)</a></h2>
+
+<p>Browse an installed package</p>
+
+<h2 id="npm-help-search-1"><a href="../cli/npm-help-search.html">npm-help-search(1)</a></h2>
+
+<p>Search npm help documentation</p>
+
+<h2 id="npm-help-1"><a href="../cli/npm-help.html">npm-help(1)</a></h2>
+
+<p>Get help on npm</p>
+
+<h2 id="npm-init-1"><a href="../cli/npm-init.html">npm-init(1)</a></h2>
+
+<p>Interactively create a package.json file</p>
+
+<h2 id="npm-install-1"><a href="../cli/npm-install.html">npm-install(1)</a></h2>
+
+<p>Install a package</p>
+
+<h2 id="npm-link-1"><a href="../cli/npm-link.html">npm-link(1)</a></h2>
+
+<p>Symlink a package folder</p>
+
+<h2 id="npm-ls-1"><a href="../cli/npm-ls.html">npm-ls(1)</a></h2>
+
+<p>List installed packages</p>
+
+<h2 id="npm-outdated-1"><a href="../cli/npm-outdated.html">npm-outdated(1)</a></h2>
+
+<p>Check for outdated packages</p>
+
+<h2 id="npm-owner-1"><a href="../cli/npm-owner.html">npm-owner(1)</a></h2>
+
+<p>Manage package owners</p>
+
+<h2 id="npm-pack-1"><a href="../cli/npm-pack.html">npm-pack(1)</a></h2>
+
+<p>Create a tarball from a package</p>
+
+<h2 id="npm-prefix-1"><a href="../cli/npm-prefix.html">npm-prefix(1)</a></h2>
+
+<p>Display prefix</p>
+
+<h2 id="npm-prune-1"><a href="../cli/npm-prune.html">npm-prune(1)</a></h2>
+
+<p>Remove extraneous packages</p>
+
+<h2 id="npm-publish-1"><a href="../cli/npm-publish.html">npm-publish(1)</a></h2>
+
+<p>Publish a package</p>
+
+<h2 id="npm-rebuild-1"><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></h2>
+
+<p>Rebuild a package</p>
+
+<h2 id="npm-restart-1"><a href="../cli/npm-restart.html">npm-restart(1)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-rm-1"><a href="../cli/npm-rm.html">npm-rm(1)</a></h2>
+
+<p>Remove a package</p>
+
+<h2 id="npm-root-1"><a href="../cli/npm-root.html">npm-root(1)</a></h2>
+
+<p>Display npm root</p>
+
+<h2 id="npm-run-script-1"><a href="../cli/npm-run-script.html">npm-run-script(1)</a></h2>
+
+<p>Run arbitrary package scripts</p>
+
+<h2 id="npm-search-1"><a href="../cli/npm-search.html">npm-search(1)</a></h2>
+
+<p>Search for packages</p>
+
+<h2 id="npm-shrinkwrap-1"><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></h2>
+
+<p>Lock down dependency versions</p>
+
+<h2 id="npm-star-1"><a href="../cli/npm-star.html">npm-star(1)</a></h2>
+
+<p>Mark your favorite packages</p>
+
+<h2 id="npm-stars-1"><a href="../cli/npm-stars.html">npm-stars(1)</a></h2>
+
+<p>View packages marked as favorites</p>
+
+<h2 id="npm-start-1"><a href="../cli/npm-start.html">npm-start(1)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-stop-1"><a href="../cli/npm-stop.html">npm-stop(1)</a></h2>
+
+<p>Stop a package</p>
+
+<h2 id="npm-submodule-1"><a href="../cli/npm-submodule.html">npm-submodule(1)</a></h2>
+
+<p>Add a package as a git submodule</p>
+
+<h2 id="npm-tag-1"><a href="../cli/npm-tag.html">npm-tag(1)</a></h2>
+
+<p>Tag a published version</p>
+
+<h2 id="npm-test-1"><a href="../cli/npm-test.html">npm-test(1)</a></h2>
+
+<p>Test a package</p>
+
+<h2 id="npm-uninstall-1"><a href="../cli/npm-uninstall.html">npm-uninstall(1)</a></h2>
+
+<p>Remove a package</p>
+
+<h2 id="npm-unpublish-1"><a href="../cli/npm-unpublish.html">npm-unpublish(1)</a></h2>
+
+<p>Remove a package from the registry</p>
+
+<h2 id="npm-update-1"><a href="../cli/npm-update.html">npm-update(1)</a></h2>
+
+<p>Update a package</p>
+
+<h2 id="npm-version-1"><a href="../cli/npm-version.html">npm-version(1)</a></h2>
+
+<p>Bump a package version</p>
+
+<h2 id="npm-view-1"><a href="../cli/npm-view.html">npm-view(1)</a></h2>
+
+<p>View registry info</p>
+
+<h2 id="npm-whoami-1"><a href="../cli/npm-whoami.html">npm-whoami(1)</a></h2>
+
+<p>Display npm username</p>
+
+<h1>API Documentation</h1>
+
+<h2 id="npm-3"><a href="../api/npm.html">npm(3)</a></h2>
+
+<p>node package manager</p>
+
+<h2 id="npm-bin-3"><a href="../api/npm-bin.html">npm-bin(3)</a></h2>
+
+<p>Display npm bin folder</p>
+
+<h2 id="npm-bugs-3"><a href="../api/npm-bugs.html">npm-bugs(3)</a></h2>
+
+<p>Bugs for a package in a web browser maybe</p>
+
+<h2 id="npm-commands-3"><a href="../api/npm-commands.html">npm-commands(3)</a></h2>
+
+<p>npm commands</p>
+
+<h2 id="npm-config-3"><a href="../api/npm-config.html">npm-config(3)</a></h2>
+
+<p>Manage the npm configuration files</p>
+
+<h2 id="npm-deprecate-3"><a href="../api/npm-deprecate.html">npm-deprecate(3)</a></h2>
+
+<p>Deprecate a version of a package</p>
+
+<h2 id="npm-docs-3"><a href="../api/npm-docs.html">npm-docs(3)</a></h2>
+
+<p>Docs for a package in a web browser maybe</p>
+
+<h2 id="npm-edit-3"><a href="../api/npm-edit.html">npm-edit(3)</a></h2>
+
+<p>Edit an installed package</p>
+
+<h2 id="npm-explore-3"><a href="../api/npm-explore.html">npm-explore(3)</a></h2>
+
+<p>Browse an installed package</p>
+
+<h2 id="npm-help-search-3"><a href="../api/npm-help-search.html">npm-help-search(3)</a></h2>
+
+<p>Search the help pages</p>
+
+<h2 id="npm-init-3"><a href="../api/npm-init.html">npm-init(3)</a></h2>
+
+<p>Interactively create a package.json file</p>
+
+<h2 id="npm-install-3"><a href="../api/npm-install.html">npm-install(3)</a></h2>
+
+<p>install a package programmatically</p>
+
+<h2 id="npm-link-3"><a href="../api/npm-link.html">npm-link(3)</a></h2>
+
+<p>Symlink a package folder</p>
+
+<h2 id="npm-load-3"><a href="../api/npm-load.html">npm-load(3)</a></h2>
+
+<p>Load config settings</p>
+
+<h2 id="npm-ls-3"><a href="../api/npm-ls.html">npm-ls(3)</a></h2>
+
+<p>List installed packages</p>
+
+<h2 id="npm-outdated-3"><a href="../api/npm-outdated.html">npm-outdated(3)</a></h2>
+
+<p>Check for outdated packages</p>
+
+<h2 id="npm-owner-3"><a href="../api/npm-owner.html">npm-owner(3)</a></h2>
+
+<p>Manage package owners</p>
+
+<h2 id="npm-pack-3"><a href="../api/npm-pack.html">npm-pack(3)</a></h2>
+
+<p>Create a tarball from a package</p>
+
+<h2 id="npm-prefix-3"><a href="../api/npm-prefix.html">npm-prefix(3)</a></h2>
+
+<p>Display prefix</p>
+
+<h2 id="npm-prune-3"><a href="../api/npm-prune.html">npm-prune(3)</a></h2>
+
+<p>Remove extraneous packages</p>
+
+<h2 id="npm-publish-3"><a href="../api/npm-publish.html">npm-publish(3)</a></h2>
+
+<p>Publish a package</p>
+
+<h2 id="npm-rebuild-3"><a href="../api/npm-rebuild.html">npm-rebuild(3)</a></h2>
+
+<p>Rebuild a package</p>
+
+<h2 id="npm-restart-3"><a href="../api/npm-restart.html">npm-restart(3)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-root-3"><a href="../api/npm-root.html">npm-root(3)</a></h2>
+
+<p>Display npm root</p>
+
+<h2 id="npm-run-script-3"><a href="../api/npm-run-script.html">npm-run-script(3)</a></h2>
+
+<p>Run arbitrary package scripts</p>
+
+<h2 id="npm-search-3"><a href="../api/npm-search.html">npm-search(3)</a></h2>
+
+<p>Search for packages</p>
+
+<h2 id="npm-shrinkwrap-3"><a href="../api/npm-shrinkwrap.html">npm-shrinkwrap(3)</a></h2>
+
+<p>programmatically generate package shrinkwrap file</p>
+
+<h2 id="npm-start-3"><a href="../api/npm-start.html">npm-start(3)</a></h2>
+
+<p>Start a package</p>
+
+<h2 id="npm-stop-3"><a href="../api/npm-stop.html">npm-stop(3)</a></h2>
+
+<p>Stop a package</p>
+
+<h2 id="npm-submodule-3"><a href="../api/npm-submodule.html">npm-submodule(3)</a></h2>
+
+<p>Add a package as a git submodule</p>
+
+<h2 id="npm-tag-3"><a href="../api/npm-tag.html">npm-tag(3)</a></h2>
+
+<p>Tag a published version</p>
+
+<h2 id="npm-test-3"><a href="../api/npm-test.html">npm-test(3)</a></h2>
+
+<p>Test a package</p>
+
+<h2 id="npm-uninstall-3"><a href="../api/npm-uninstall.html">npm-uninstall(3)</a></h2>
+
+<p>uninstall a package programmatically</p>
+
+<h2 id="npm-unpublish-3"><a href="../api/npm-unpublish.html">npm-unpublish(3)</a></h2>
+
+<p>Remove a package from the registry</p>
+
+<h2 id="npm-update-3"><a href="../api/npm-update.html">npm-update(3)</a></h2>
+
+<p>Update a package</p>
+
+<h2 id="npm-version-3"><a href="../api/npm-version.html">npm-version(3)</a></h2>
+
+<p>Bump a package version</p>
+
+<h2 id="npm-view-3"><a href="../api/npm-view.html">npm-view(3)</a></h2>
+
+<p>View registry info</p>
+
+<h2 id="npm-whoami-3"><a href="../api/npm-whoami.html">npm-whoami(3)</a></h2>
+
+<p>Display npm username</p>
+
+<h1>Files</h1>
+
+<h2 id="npm-folders-5"><a href="../files/npm-folders.html">npm-folders(5)</a></h2>
+
+<p>Folder Structures Used by npm</p>
+
+<h2 id="npmrc-5"><a href="../files/npmrc.html">npmrc(5)</a></h2>
+
+<p>The npm config files</p>
+
+<h2 id="package-json-5"><a href="../files/package.json.html">package.json(5)</a></h2>
+
+<p>Specifics of npm&#39;s package.json handling</p>
+
+<h1>Misc</h1>
+
+<h2 id="npm-coding-style-7"><a href="../misc/npm-coding-style.html">npm-coding-style(7)</a></h2>
+
+<p>npm&#39;s &quot;funny&quot; coding style</p>
+
+<h2 id="npm-config-7"><a href="../misc/npm-config.html">npm-config(7)</a></h2>
+
+<p>More than you probably want to know about npm configuration</p>
+
+<h2 id="npm-developers-7"><a href="../misc/npm-developers.html">npm-developers(7)</a></h2>
+
+<p>Developer Guide</p>
+
+<h2 id="npm-disputes-7"><a href="../misc/npm-disputes.html">npm-disputes(7)</a></h2>
+
+<p>Handling Module Name Disputes</p>
+
+<h2 id="npm-faq-7"><a href="../misc/npm-faq.html">npm-faq(7)</a></h2>
+
+<p>Frequently Asked Questions</p>
+
+<h2 id="npm-index-7"><a href="../misc/npm-index.html">npm-index(7)</a></h2>
+
+<p>Index of all npm documentation</p>
+
+<h2 id="npm-registry-7"><a href="../misc/npm-registry.html">npm-registry(7)</a></h2>
+
+<p>The JavaScript Package Registry</p>
+
+<h2 id="npm-scripts-7"><a href="../misc/npm-scripts.html">npm-scripts(7)</a></h2>
+
+<p>How npm handles the &quot;scripts&quot; field</p>
+
+<h2 id="removing-npm-7"><a href="../misc/removing-npm.html">removing-npm(7)</a></h2>
+
+<p>Cleaning the Slate</p>
+
+<h2 id="semver-7"><a href="../misc/semver.html">semver(7)</a></h2>
+
+<p>The semantic versioner for npm</p>
+</div>
+<p id="footer">npm-index &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-registry.html b/deps/npm/html/doc/misc/npm-registry.html
new file mode 100644
index 000000000..4f6392d5c
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-registry.html
@@ -0,0 +1,130 @@
+<!doctype html>
+<html>
+ <title>npm-registry</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-registry.html">npm-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&#39;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.iriscouch.com/registry">http://isaacs.iriscouch.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.iriscouch.com/_users">http://isaacs.iriscouch.com/_users</a>
+database.</p>
+
+<p>The registry URL is supplied by the <code>registry</code> config parameter. See
+<code><a href="../cli/npm-config.html">npm-config(1)</a></code>, <code><a href="../files/npmrc.html">npmrc(5)</a></code>, and <code><a href="../misc/npm-config.html">npm-config(7)</a></code> for more on managing
+npm&#39;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&#39;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&#39;t want my package published in the official registry. It&#39;s private.</h2>
+
+<p>Set <code>&quot;private&quot;: true</code> in your package.json to prevent it from being
+published at all, or
+<code>&quot;publishConfig&quot;:{&quot;registry&quot;:&quot;http://my-internal-registry.local&quot;}</code>
+to force it to be published only to your internal registry.</p>
+
+<p>See <code><a href="../files/package.json.html">package.json(5)</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&#39;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&#39;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
+
+{ &quot;name&quot;:&quot;my-foreign-package&quot;
+, &quot;maintainers&quot;:[&quot;owner&quot;,&quot;usernames&quot;]
+, &quot;description&quot;:&quot;A package that is hosted elsewhere&quot;
+, &quot;keywords&quot;:[&quot;nih&quot;,&quot;my cheese smells the best&quot;]
+, &quot;url&quot;:&quot;http://my-different-registry.com/blerg/my-local-package&quot;
+}</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 &quot;my-foreign-package&quot;, it&#39;ll redirect
+to your registry. If that doesn&#39;t resolve to a valid package entry,
+then it&#39;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>Yes, head over to <a href="https://npmjs.org/">https://npmjs.org/</a></p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../misc/npm-disputes.html">npm-disputes(7)</a></li></ul>
+</div>
+<p id="footer">npm-registry &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/npm-scripts.html b/deps/npm/html/doc/misc/npm-scripts.html
new file mode 100644
index 000000000..804553288
--- /dev/null
+++ b/deps/npm/html/doc/misc/npm-scripts.html
@@ -0,0 +1,257 @@
+<!doctype html>
+<html>
+ <title>npm-scripts</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/npm-scripts.html">npm-scripts</a></h1> <p>How npm handles the &quot;scripts&quot; field</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm supports the &quot;scripts&quot; member of the package.json script, for the
+following scripts:</p>
+
+<ul><li>prepublish:
+Run BEFORE the package is published. (Also run on local <code>npm
+install</code> without any arguments.)</li><li>publish, postpublish:
+Run AFTER the package is published.</li><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>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="NOTE-INSTALL-SCRIPTS-ARE-AN-ANTIPATTERN">NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN</h2>
+
+<p><strong>tl;dr</strong> Don&#39;t use <code>install</code>. Use a <code>.gyp</code> file for compilation, and
+<code>prepublish</code> for anything else.</p>
+
+<p>You should almost never have to explicitly set a <code>preinstall</code> or
+<code>install</code> script. If you are doing this, please consider if there is
+another option.</p>
+
+<p>The only valid use of <code>install</code> or <code>preinstall</code> scripts is for
+compilation which must be done on the target architecture. In early
+versions of node, this was often done using the <code>node-waf</code> scripts, or
+a standalone <code>Makefile</code>, and early versions of npm required that it be
+explicitly set in package.json. This was not portable, and harder to
+do properly.</p>
+
+<p>In the current version of node, the standard way to do this is using a
+<code>.gyp</code> file. If you have a file with a <code>.gyp</code> extension in the root
+of your package, then npm will run the appropriate <code>node-gyp</code> commands
+automatically at install time. This is the only officially supported
+method for compiling binary addons, and does not require that you add
+anything to your package.json file.</p>
+
+<p>If you have to do other things before your package is used, in a way
+that is not dependent on the operating system or architecture of the
+target system, then use a <code>prepublish</code> script instead. This includes
+tasks such as:</p>
+
+<ul><li>Compile CoffeeScript source code into JavaScript.</li><li>Create minified versions of JavaScript source code.</li><li>Fetching remote resources that your package will use.</li></ul>
+
+<p>The advantage of doing these things at <code>prepublish</code> time instead of
+<code>preinstall</code> or <code>install</code> time is that they can be done once, in a
+single place, and thus greatly reduce complexity and variability.
+Additionally, this means that:</p>
+
+<ul><li>You can depend on <code>coffee-script</code> as a <code>devDependency</code>, and thus
+your users don&#39;t need to have it installed.</li><li>You don&#39;t need to include the minifiers in your package, reducing
+the size for your users.</li><li>You don&#39;t need to rely on your users having <code>curl</code> or <code>wget</code> or
+other system tools on the target machines.</li></ul>
+
+<h2 id="DEFAULT-VALUES">DEFAULT VALUES</h2>
+
+<p>npm will default some script values based on package contents.</p>
+
+<ul><li><p><code>&quot;start&quot;: &quot;node server.js&quot;</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>&quot;preinstall&quot;: &quot;node-waf clean || true; node-waf configure build&quot;</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="path">path</h3>
+
+<p>If you depend on modules that define executable scripts, like test
+suites, then those executables will be added to the <code>PATH</code> for
+executing the scripts. So, if your package.json has this:</p>
+
+<pre><code>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;dependencies&quot; : { &quot;bar&quot; : &quot;0.1.x&quot; }
+, &quot;scripts&quot;: { &quot;start&quot; : &quot;bar ./test&quot; } }</code></pre>
+
+<p>then you could run <code>npm start</code> to execute the <code>bar</code> script, which is
+exported into the <code>node_modules/.bin</code> directory on <code>npm install</code>.</p>
+
+<h3 id="package-json-vars">package.json vars</h3>
+
+<p>The package.json fields are tacked onto the <code>npm_package_</code> prefix. So,
+for instance, if you had <code>{&quot;name&quot;:&quot;foo&quot;, &quot;version&quot;:&quot;1.2.5&quot;}</code> in your
+package.json file, then your package scripts would have the
+<code>npm_package_name</code> environment variable set to &quot;foo&quot;, and the
+<code>npm_package_version</code> set to &quot;1.2.5&quot;</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 &quot;config&quot; hash</h3>
+
+<p>The package.json &quot;config&quot; 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>{ &quot;name&quot; : &quot;foo&quot;
+, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; }
+, &quot;scripts&quot; : { &quot;start&quot; : &quot;node server.js&quot; } }</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&#39;s currently happening.</p>
+
+<p>Objects are flattened following this format, so if you had
+<code>{&quot;scripts&quot;:{&quot;install&quot;:&quot;foo.js&quot;}}</code> in your package.json, then you&#39;d
+see this in the script:</p>
+
+<pre><code>process.env.npm_package_scripts_install === &quot;foo.js&quot;</code></pre>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<p>For example, if your package.json contains this:</p>
+
+<pre><code>{ &quot;scripts&quot; :
+ { &quot;install&quot; : &quot;scripts/install.js&quot;
+ , &quot;postinstall&quot; : &quot;scripts/install.js&quot;
+ , &quot;uninstall&quot; : &quot;scripts/uninstall.js&quot;
+ }
+}</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>{ &quot;scripts&quot; :
+ { &quot;preinstall&quot; : &quot;./configure&quot;
+ , &quot;install&quot; : &quot;make &amp;&amp; make install&quot;
+ , &quot;test&quot; : &quot;make test&quot;
+ }
+}</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&#39;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&#39;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&#39;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&#39;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="../files/package.json.html">package.json(5)</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&#39;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&#39;t prefix your script commands with &quot;sudo&quot;. If root permissions
+are required for some reason, then it&#39;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="../cli/npm-run-script.html">npm-run-script(1)</a></li><li><a href="../files/package.json.html">package.json(5)</a></li><li><a href="../misc/npm-developers.html">npm-developers(7)</a></li><li><a href="../cli/npm-install.html">npm-install(1)</a></li></ul>
+</div>
+<p id="footer">npm-scripts &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/removing-npm.html b/deps/npm/html/doc/misc/removing-npm.html
new file mode 100644
index 000000000..952dc7930
--- /dev/null
+++ b/deps/npm/html/doc/misc/removing-npm.html
@@ -0,0 +1,92 @@
+<!doctype html>
+<html>
+ <title>removing-npm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../cli/npm-removal.html">npm-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&#39;ve installed.</p>
+
+<p>If that doesn&#39;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&#39;s <code>node_modules</code>
+folder. Delete that folder, and everything is gone (unless a package&#39;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="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../cli/npm-prune.html">npm-prune(1)</a></li></ul>
+</div>
+<p id="footer">removing-npm &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/misc/semver.html b/deps/npm/html/doc/misc/semver.html
new file mode 100644
index 000000000..19db6e16c
--- /dev/null
+++ b/deps/npm/html/doc/misc/semver.html
@@ -0,0 +1,128 @@
+<!doctype html>
+<html>
+ <title>semver</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../misc/semver.html">semver</a></h1> <p>The semantic versioner for npm</p>
+
+<h2 id="Usage">Usage</h2>
+
+<pre><code>$ npm install semver
+
+semver.valid(&#39;1.2.3&#39;) // &#39;1.2.3&#39;
+semver.valid(&#39;a.b.c&#39;) // null
+semver.clean(&#39; =v1.2.3 &#39;) // &#39;1.2.3&#39;
+semver.satisfies(&#39;1.2.3&#39;, &#39;1.x || &gt;=2.5.0 || 5.0.0 - 7.2.3&#39;) // true
+semver.gt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // false
+semver.lt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // true</code></pre>
+
+<p>As a command-line utility:</p>
+
+<pre><code>$ semver -h
+
+Usage: semver &lt;version&gt; [&lt;version&gt; [...]] [-r &lt;range&gt; | -i &lt;inc&gt; | -d &lt;dec&gt;]
+Test if version(s) satisfy the supplied range(s), and sort them.
+
+Multiple versions or ranges may be supplied, unless increment
+or decrement options are specified. In that case, only a single
+version may be used, and it is incremented by the specified level
+
+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 &quot;version&quot; is described by the v2.0.0 specification found at
+<a href="http://semver.org/">http://semver.org/</a>.</p>
+
+<p>A leading <code>&quot;=&quot;</code> or <code>&quot;v&quot;</code> character is stripped off and ignored.</p>
+
+<h2 id="Ranges">Ranges</h2>
+
+<p>The following range styles are supported:</p>
+
+<ul><li><code>1.2.3</code> A specific version. When nothing else will do. Note that
+build metadata is still ignored, so <code>1.2.3+build2012</code> will satisfy
+this range.</li><li><code>&gt;1.2.3</code> Greater than a specific version.</li><li><code>&lt;1.2.3</code> Less than a specific version. If there is no prerelease
+tag on the version range, then no prerelease version will be allowed
+either, even though these are technically &quot;less than&quot;.</li><li><code>&gt;=1.2.3</code> Greater than or equal to. Note that prerelease versions
+are NOT equal to their &quot;normal&quot; equivalents, so <code>1.2.3-beta</code> will
+not satisfy this range, but <code>2.3.0-beta</code> will.</li><li><code>&lt;=1.2.3</code> Less than or equal to. In this case, prerelease versions
+ARE allowed, so <code>1.2.3-beta</code> would satisfy.</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-0 &lt;1.3.0-0</code> &quot;Reasonably close to 1.2.3&quot;. When
+using tilde operators, prerelease versions are supported as well,
+but a prerelease of the next significant digit will NOT be
+satisfactory, so <code>1.3.0-beta</code> will not satisfy <code>~1.2.3</code>.</li><li><code>~1.2</code> := <code>&gt;=1.2.0-0 &lt;1.3.0-0</code> &quot;Any version starting with 1.2&quot;</li><li><code>1.2.x</code> := <code>&gt;=1.2.0-0 &lt;1.3.0-0</code> &quot;Any version starting with 1.2&quot;</li><li><code>~1</code> := <code>&gt;=1.0.0-0 &lt;2.0.0-0</code> &quot;Any version starting with 1&quot;</li><li><code>1.x</code> := <code>&gt;=1.0.0-0 &lt;2.0.0-0</code> &quot;Any version starting with 1&quot;</li></ul>
+
+<p>Ranges can be joined with either a space (which implies &quot;and&quot;) or a
+<code>||</code> (which implies &quot;or&quot;).</p>
+
+<h2 id="Functions">Functions</h2>
+
+<p>All methods and classes take a final <code>loose</code> boolean argument that, if
+true, will be more forgiving about not-quite-valid semver strings.
+The resulting output will always be 100% strict, of course.</p>
+
+<p>Strict-mode Comparators and Ranges will be strict about the SemVer
+strings that they parse.</p>
+
+<ul><li>valid(v): Return the parsed version, or null if it&#39;s not valid.</li><li>inc(v, release): Return the version incremented by the release type
+(major, minor, patch, or prerelease), or null if it&#39;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&#39;re logically equivalent,
+even if they&#39;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&#39;ll call
+the corresponding function above. <code>&quot;===&quot;</code> and <code>&quot;!==&quot;</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&#39;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>
+</div>
+<p id="footer">semver &mdash; npm@1.3.3</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>
diff --git a/deps/npm/html/doc/npm.html b/deps/npm/html/doc/npm.html
deleted file mode 100644
index f97bca120..000000000
--- a/deps/npm/html/doc/npm.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!doctype html>
-<html>
- <title>npm</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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 &quot;blerg&quot;. 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&#39;s available.
-Use <code>npm ls</code> to show everything you&#39;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&#39;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&#39;s path, so that you
-don&#39;t have to reinstall every time you make a change. Use
-<code>npm link</code> to do this.</li><li>install:
-It&#39;s a good idea to install things if you don&#39;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. Credentials are stored in the
-user config file.</li><li>publish:
-Use the <code>npm publish</code> command to upload your code to the registry.</li></ul>
-
-<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&#39;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&#39;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&#39;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 &quot;doc&quot; folder. (Don&#39;t worry about generating the man page.)</li></ul>
-
-<p>Contributors are listed in npm&#39;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&#39;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&#39;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.2.25</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
deleted file mode 100644
index 3f7a82cb5..000000000
--- a/deps/npm/html/doc/outdated.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html>
-<html>
- <title>outdated</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index cd147e1e8..000000000
--- a/deps/npm/html/doc/owner.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<html>
- <title>owner</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
-</div>
-<p id="footer">owner &mdash; npm@1.2.25</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
deleted file mode 100644
index 8aa8ed5b8..000000000
--- a/deps/npm/html/doc/pack.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html>
-<html>
- <title>pack</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.2.25</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
deleted file mode 100644
index 76ec887ad..000000000
--- a/deps/npm/html/doc/prefix.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>prefix</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index 32e331eca..000000000
--- a/deps/npm/html/doc/prune.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>prune</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;extraneous&quot; 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&#39;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.2.25</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
deleted file mode 100644
index f4a5280b5..000000000
--- a/deps/npm/html/doc/publish.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!doctype html>
-<html>
- <title>publish</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;--force&quot; 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.2.25</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
deleted file mode 100644
index 78837f259..000000000
--- a/deps/npm/html/doc/rebuild.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>rebuild</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index 207f2fcaf..000000000
--- a/deps/npm/html/doc/registry.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<!doctype html>
-<html>
- <title>registry</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.iriscouch.com/registry">http://isaacs.iriscouch.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.iriscouch.com/_users">http://isaacs.iriscouch.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&#39;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&#39;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&#39;t want my package published in the official registry. It&#39;s private.</h2>
-
-<p>Set <code>&quot;private&quot;: true</code> in your package.json to prevent it from being
-published at all, or
-<code>&quot;publishConfig&quot;:{&quot;registry&quot;:&quot;http://my-internal-registry.local&quot;}</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&#39;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&#39;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
-
-{ &quot;name&quot;:&quot;my-foreign-package&quot;
-, &quot;maintainers&quot;:[&quot;owner&quot;,&quot;usernames&quot;]
-, &quot;description&quot;:&quot;A package that is hosted elsewhere&quot;
-, &quot;keywords&quot;:[&quot;nih&quot;,&quot;my cheese smells the best&quot;]
-, &quot;url&quot;:&quot;http://my-different-registry.com/blerg/my-local-package&quot;
-}</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 &quot;my-foreign-package&quot;, it&#39;ll redirect
-to your registry. If that doesn&#39;t resolve to a valid package entry,
-then it&#39;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>Yes, head over to <a href="https://npmjs.org/">https://npmjs.org/</a></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><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
-</div>
-<p id="footer">registry &mdash; npm@1.2.25</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
deleted file mode 100644
index 8f6fd8b35..000000000
--- a/deps/npm/html/doc/removing-npm.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!doctype html>
-<html>
- <title>removing-npm</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;ve installed.</p>
-
-<p>If that doesn&#39;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&#39;s <code>node_modules</code>
-folder. Delete that folder, and everything is gone (unless a package&#39;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.2.25</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
deleted file mode 100644
index 0bd60927e..000000000
--- a/deps/npm/html/doc/restart.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!doctype html>
-<html>
- <title>restart</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;restart&quot; script, if one was provided.
-Otherwise it runs package&#39;s &quot;stop&quot; script, if one was provided, and then
-the &quot;start&quot; script.</p>
-
-<p>If no version is specified, then it restarts the &quot;active&quot; 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.2.25</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
deleted file mode 100644
index 8e5ae3179..000000000
--- a/deps/npm/html/doc/rm.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html>
- <title>rm</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index 4f1ad88e2..000000000
--- a/deps/npm/html/doc/root.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>root</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index ec03c8ddc..000000000
--- a/deps/npm/html/doc/run-script.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!doctype html>
-<html>
- <title>run-script</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;scripts&quot; 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.2.25</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
deleted file mode 100644
index b5a34be46..000000000
--- a/deps/npm/html/doc/scripts.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!doctype html>
-<html>
- <title>scripts</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/scripts.html">scripts</a></h1> <p>How npm handles the &quot;scripts&quot; field</p>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>npm supports the &quot;scripts&quot; member of the package.json script, for the
-following scripts:</p>
-
-<ul><li>prepublish:
-Run BEFORE the package is published. (Also run on local <code>npm
-install</code> without any arguments.)</li><li>publish, postpublish:
-Run AFTER the package is published.</li><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>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="NOTE-INSTALL-SCRIPTS-ARE-AN-ANTIPATTERN">NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN</h2>
-
-<p><strong>tl;dr</strong> Don&#39;t use <code>install</code>. Use a <code>.gyp</code> file for compilation, and
-<code>prepublish</code> for anything else.</p>
-
-<p>You should almost never have to explicitly set a <code>preinstall</code> or
-<code>install</code> script. If you are doing this, please consider if there is
-another option.</p>
-
-<p>The only valid use of <code>install</code> or <code>preinstall</code> scripts is for
-compilation which must be done on the target architecture. In early
-versions of node, this was often done using the <code>node-waf</code> scripts, or
-a standalone <code>Makefile</code>, and early versions of npm required that it be
-explicitly set in package.json. This was not portable, and harder to
-do properly.</p>
-
-<p>In the current version of node, the standard way to do this is using a
-<code>.gyp</code> file. If you have a file with a <code>.gyp</code> extension in the root
-of your package, then npm will run the appropriate <code>node-gyp</code> commands
-automatically at install time. This is the only officially supported
-method for compiling binary addons, and does not require that you add
-anything to your package.json file.</p>
-
-<p>If you have to do other things before your package is used, in a way
-that is not dependent on the operating system or architecture of the
-target system, then use a <code>prepublish</code> script instead. This includes
-tasks such as:</p>
-
-<ul><li>Compile CoffeeScript source code into JavaScript.</li><li>Create minified versions of JavaScript source code.</li><li>Fetching remote resources that your package will use.</li></ul>
-
-<p>The advantage of doing these things at <code>prepublish</code> time instead of
-<code>preinstall</code> or <code>install</code> time is that they can be done once, in a
-single place, and thus greatly reduce complexity and variability.
-Additionally, this means that:</p>
-
-<ul><li>You can depend on <code>coffee-script</code> as a <code>devDependency</code>, and thus
-your users don&#39;t need to have it installed.</li><li>You don&#39;t need to include the minifiers in your package, reducing
-the size for your users.</li><li>You don&#39;t need to rely on your users having <code>curl</code> or <code>wget</code> or
-other system tools on the target machines.</li></ul>
-
-<h2 id="DEFAULT-VALUES">DEFAULT VALUES</h2>
-
-<p>npm will default some script values based on package contents.</p>
-
-<ul><li><p><code>&quot;start&quot;: &quot;node server.js&quot;</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>&quot;preinstall&quot;: &quot;node-waf clean || true; node-waf configure build&quot;</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="path">path</h3>
-
-<p>If you depend on modules that define executable scripts, like test suites,
-then those executables will be added to the <code>PATH</code> for executing the scripts.
-So, if your package.json has this:</p>
-
-<pre><code>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;dependencies&quot; : { &quot;bar&quot; : &quot;0.1.x&quot; }
-, &quot;scripts&quot;: { &quot;start&quot; : &quot;bar ./test&quot; } }</code></pre>
-
-<p>then you could run <code>npm start</code> to execute the <code>bar</code> script, which is exported
-into the <code>node_modules/.bin</code> directory on <code>npm install</code>.</p>
-
-<h3 id="package-json-vars">package.json vars</h3>
-
-<p>The package.json fields are tacked onto the <code>npm_package_</code> prefix. So, for
-instance, if you had <code>{&quot;name&quot;:&quot;foo&quot;, &quot;version&quot;:&quot;1.2.5&quot;}</code> in your package.json
-file, then your package scripts would have the <code>npm_package_name</code> environment
-variable set to &quot;foo&quot;, and the <code>npm_package_version</code> set to &quot;1.2.5&quot;</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 &quot;config&quot; hash</h3>
-
-<p>The package.json &quot;config&quot; 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>{ &quot;name&quot; : &quot;foo&quot;
-, &quot;config&quot; : { &quot;port&quot; : &quot;8080&quot; }
-, &quot;scripts&quot; : { &quot;start&quot; : &quot;node server.js&quot; } }</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&#39;s currently
-happening.</p>
-
-<p>Objects are flattened following this format, so if you had
-<code>{&quot;scripts&quot;:{&quot;install&quot;:&quot;foo.js&quot;}}</code> in your package.json, then you&#39;d see this
-in the script:</p>
-
-<pre><code>process.env.npm_package_scripts_install === &quot;foo.js&quot;</code></pre>
-
-<h2 id="EXAMPLES">EXAMPLES</h2>
-
-<p>For example, if your package.json contains this:</p>
-
-<pre><code>{ &quot;scripts&quot; :
- { &quot;install&quot; : &quot;scripts/install.js&quot;
- , &quot;postinstall&quot; : &quot;scripts/install.js&quot;
- , &quot;uninstall&quot; : &quot;scripts/uninstall.js&quot;
- }
-}</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>{ &quot;scripts&quot; :
- { &quot;preinstall&quot; : &quot;./configure&quot;
- , &quot;install&quot; : &quot;make &amp;&amp; make install&quot;
- , &quot;test&quot; : &quot;make test&quot;
- }
-}</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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;t prefix your script commands with &quot;sudo&quot;. If root permissions are
-required for some reason, then it&#39;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.2.25</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
deleted file mode 100644
index 032ffabaa..000000000
--- a/deps/npm/html/doc/search.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!doctype html>
-<html>
- <title>search</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>
-
-<p>If a term starts with <code>/</code>, then it&#39;s interpreted as a regular expression.
-A trailing <code>/</code> will be ignored in this case. (Note that many regular
-expression characters must be escaped or quoted in most shells.)</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.2.25</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
deleted file mode 100644
index a9a46ebe9..000000000
--- a/deps/npm/html/doc/semver.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<!doctype html>
-<html>
- <title>semver</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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(&#39;1.2.3&#39;) // &#39;1.2.3&#39;
-semver.valid(&#39;a.b.c&#39;) // null
-semver.clean(&#39; =v1.2.3 &#39;) // &#39;1.2.3&#39;
-semver.satisfies(&#39;1.2.3&#39;, &#39;1.x || &gt;=2.5.0 || 5.0.0 - 7.2.3&#39;) // true
-semver.gt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // false
-semver.lt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // 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>&quot;=&quot;</code> or <code>&quot;v&quot;</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&#39;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;1.3.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 &quot;and&quot;) or a
-<code>||</code> (which implies &quot;or&quot;).</p>
-
-<h2 id="Functions">Functions</h2>
-
-<ul><li>valid(v): Return the parsed version, or null if it&#39;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&#39;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&#39;re logically equivalent,
-even if they&#39;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&#39;ll call
-the corresponding function above. <code>&quot;===&quot;</code> and <code>&quot;!==&quot;</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&#39;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.2.25</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/shrinkwrap.html b/deps/npm/html/doc/shrinkwrap.html
deleted file mode 100644
index c120765b2..000000000
--- a/deps/npm/html/doc/shrinkwrap.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!doctype html>
-<html>
- <title>shrinkwrap</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/shrinkwrap.html">shrinkwrap</a></h1> <p>Lock down dependency versions</p>
-
-<h2 id="SYNOPSIS">SYNOPSIS</h2>
-
-<pre><code>npm shrinkwrap</code></pre>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>This command locks down the versions of a package&#39;s dependencies so
-that you can control exactly which versions of each dependency will be
-used when your package is installed. The &quot;package.json&quot; file is still
-required if you want to use &quot;npm install&quot;.</p>
-
-<p>By default, &quot;npm install&quot; recursively installs the target&#39;s
-dependencies (as specified in package.json), choosing the latest
-available version that satisfies the dependency&#39;s semver pattern. In
-some situations, particularly when shipping software where each change
-is tightly managed, it&#39;s desirable to fully specify each version of
-each dependency recursively so that subsequent builds and deploys do
-not inadvertently pick up newer versions of a dependency that satisfy
-the semver pattern. Specifying specific semver patterns in each
-dependency&#39;s package.json would facilitate this, but that&#39;s not always
-possible or desirable, as when another author owns the npm package.
-It&#39;s also possible to check dependencies directly into source control,
-but that may be undesirable for other reasons.</p>
-
-<p>As an example, consider package A:</p>
-
-<pre><code>{
- &quot;name&quot;: &quot;A&quot;,
- &quot;version&quot;: &quot;0.1.0&quot;,
- &quot;dependencies&quot;: {
- &quot;B&quot;: &quot;&lt;0.1.0&quot;
- }
-}</code></pre>
-
-<p>package B:</p>
-
-<pre><code>{
- &quot;name&quot;: &quot;B&quot;,
- &quot;version&quot;: &quot;0.0.1&quot;,
- &quot;dependencies&quot;: {
- &quot;C&quot;: &quot;&lt;0.1.0&quot;
- }
-}</code></pre>
-
-<p>and package C:</p>
-
-<pre><code>{
- &quot;name&quot;: &quot;C,
- &quot;version&quot;: &quot;0.0.1&quot;
-}</code></pre>
-
-<p>If these are the only versions of A, B, and C available in the
-registry, then a normal &quot;npm install A&quot; will install:</p>
-
-<pre><code>A@0.1.0
-`-- B@0.0.1
- `-- C@0.0.1</code></pre>
-
-<p>However, if B@0.0.2 is published, then a fresh &quot;npm install A&quot; will
-install:</p>
-
-<pre><code>A@0.1.0
-`-- B@0.0.2
- `-- C@0.0.1</code></pre>
-
-<p>assuming the new version did not modify B&#39;s dependencies. Of course,
-the new version of B could include a new version of C and any number
-of new dependencies. If such changes are undesirable, the author of A
-could specify a dependency on B@0.0.1. However, if A&#39;s author and B&#39;s
-author are not the same person, there&#39;s no way for A&#39;s author to say
-that he or she does not want to pull in newly published versions of C
-when B hasn&#39;t changed at all.</p>
-
-<p>In this case, A&#39;s author can run</p>
-
-<pre><code>npm shrinkwrap</code></pre>
-
-<p>This generates npm-shrinkwrap.json, which will look something like this:</p>
-
-<pre><code>{
- &quot;name&quot;: &quot;A&quot;,
- &quot;version&quot;: &quot;0.1.0&quot;,
- &quot;dependencies&quot;: {
- &quot;B&quot;: {
- &quot;version&quot;: &quot;0.0.1&quot;,
- &quot;dependencies&quot;: {
- &quot;C&quot;: {
- &quot;version&quot;: &quot;0.1.0&quot;
- }
- }
- }
- }
-}</code></pre>
-
-<p>The shrinkwrap command has locked down the dependencies based on
-what&#39;s currently installed in node_modules. When &quot;npm install&quot;
-installs a package with a npm-shrinkwrap.json file in the package
-root, the shrinkwrap file (rather than package.json files) completely
-drives the installation of that package and all of its dependencies
-(recursively). So now the author publishes A@0.1.0, and subsequent
-installs of this package will use B@0.0.1 and C@0.1.0, regardless the
-dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s package.json
-files.</p>
-
-<h3 id="Using-shrinkwrapped-packages">Using shrinkwrapped packages</h3>
-
-<p>Using a shrinkwrapped package is no different than using any other
-package: you can &quot;npm install&quot; it by hand, or add a dependency to your
-package.json file and &quot;npm install&quot; it.</p>
-
-<h3 id="Building-shrinkwrapped-packages">Building shrinkwrapped packages</h3>
-
-<p>To shrinkwrap an existing package:</p>
-
-<ol><li>Run &quot;npm install&quot; in the package root to install the current
-versions of all dependencies.</li><li>Validate that the package works as expected with these versions.</li><li>Run &quot;npm shrinkwrap&quot;, add npm-shrinkwrap.json to git, and publish
-your package.</li></ol>
-
-<p>To add or update a dependency in a shrinkwrapped package:</p>
-
-<ol><li>Run &quot;npm install&quot; in the package root to install the current
-versions of all dependencies.</li><li>Add or update dependencies. &quot;npm install&quot; each new or updated
-package individually and then update package.json. Note that they
-must be explicitly named in order to be installed: running <code>npm
-install</code> with no arguments will merely reproduce the existing
-shrinkwrap.</li><li>Validate that the package works as expected with the new
-dependencies.</li><li>Run &quot;npm shrinkwrap&quot;, commit the new npm-shrinkwrap.json, and
-publish your package.</li></ol>
-
-<p>You can use <a href="../doc/outdated.html">outdated(1)</a> to view dependencies with newer versions
-available.</p>
-
-<h3 id="Other-Notes">Other Notes</h3>
-
-<p>A shrinkwrap file must be consistent with the package&#39;s package.json
-file. &quot;npm shrinkwrap&quot; will fail if required dependencies are not
-already installed, since that would result in a shrinkwrap that
-wouldn&#39;t actually work. Similarly, the command will fail if there are
-extraneous packages (not referenced by package.json), since that would
-indicate that package.json is not correct.</p>
-
-<p>Since &quot;npm shrinkwrap&quot; is intended to lock down your dependencies for
-production use, <code>devDependencies</code> will not be included unless you
-explicitly set the <code>--dev</code> flag when you run <code>npm shrinkwrap</code>. If
-installed <code>devDependencies</code> are excluded, then npm will print a
-warning. If you want them to be installed with your module by
-default, please consider adding them to <code>dependencies</code> instead.</p>
-
-<p>If shrinkwrapped package A depends on shrinkwrapped package B, B&#39;s
-shrinkwrap will not be used as part of the installation of A. However,
-because A&#39;s shrinkwrap is constructed from a valid installation of B
-and recursively specifies all dependencies, the contents of B&#39;s
-shrinkwrap will implicitly be included in A&#39;s shrinkwrap.</p>
-
-<h3 id="Caveats">Caveats</h3>
-
-<p>Shrinkwrap files only lock down package versions, not actual package
-contents. While discouraged, a package author can republish an
-existing version of a package, causing shrinkwrapped packages using
-that version to pick up different code than they were before. If you
-want to avoid any risk that a byzantine author replaces a package
-you&#39;re using with code that breaks your application, you could modify
-the shrinkwrap file to use git URL references rather than version
-numbers so that npm always fetches all packages from git.</p>
-
-<p>If you wish to lock down the specific bytes included in a package, for
-example to have 100% confidence in being able to reproduce a
-deployment or build, then you ought to check your dependencies into
-source control, or pursue some other mechanism that can verify
-contents rather than versions.</p>
-
-<h2 id="SEE-ALSO">SEE ALSO</h2>
-
-<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
-</div>
-<p id="footer">shrinkwrap &mdash; npm@1.2.25</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
deleted file mode 100644
index afb598fa6..000000000
--- a/deps/npm/html/doc/star.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html>
- <title>star</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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>&quot;Starring&quot; a package means that you have some interest in it. It&#39;s
-a vaguely positive way to show that you care.</p>
-
-<p>&quot;Unstarring&quot; is the same thing, but in reverse.</p>
-
-<p>It&#39;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.2.25</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/stars.html b/deps/npm/html/doc/stars.html
deleted file mode 100644
index 968a800c5..000000000
--- a/deps/npm/html/doc/stars.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!doctype html>
-<html>
- <title>stars</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
-
- <body>
- <div id="wrapper">
-<h1><a href="../doc/stars.html">stars</a></h1> <p>View packages marked as favorites</p>
-
-<h2 id="SYNOPSIS">SYNOPSIS</h2>
-
-<pre><code>npm stars
-npm stars [username]</code></pre>
-
-<h2 id="DESCRIPTION">DESCRIPTION</h2>
-
-<p>If you have starred a lot of neat things and want to find them again
-quickly this command lets you do just that.</p>
-
-<p>You may also want to see your friend&#39;s favorite packages, in this case
-you will most certainly enjoy this command.</p>
-
-<h2 id="SEE-ALSO">SEE ALSO</h2>
-
-<ul><li><a href="../doc/star.html">star(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
-</div>
-<p id="footer">stars &mdash; npm@1.2.25</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
deleted file mode 100644
index 14045736c..000000000
--- a/deps/npm/html/doc/start.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>start</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;start&quot; 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.2.25</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
deleted file mode 100644
index 67feb9609..000000000
--- a/deps/npm/html/doc/stop.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>stop</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;stop&quot; 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.2.25</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
deleted file mode 100644
index 7c2bdba7e..000000000
--- a/deps/npm/html/doc/submodule.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!doctype html>
-<html>
- <title>submodule</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;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.2.25</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
deleted file mode 100644
index fed3c3435..000000000
--- a/deps/npm/html/doc/tag.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!doctype html>
-<html>
- <title>tag</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index abf2ca0a9..000000000
--- a/deps/npm/html/doc/test.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!doctype html>
-<html>
- <title>test</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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&#39;s &quot;test&quot; 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.2.25</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
deleted file mode 100644
index 048963092..000000000
--- a/deps/npm/html/doc/uninstall.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!doctype html>
-<html>
- <title>uninstall</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index a0fb39007..000000000
--- a/deps/npm/html/doc/unpublish.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!doctype html>
-<html>
- <title>unpublish</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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
deleted file mode 100644
index b34d12b01..000000000
--- a/deps/npm/html/doc/update.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!doctype html>
-<html>
- <title>update</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 [-g] [&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>
-
-<p>If the <code>-g</code> flag is specified, this command will update globally installed packages.
-If no package name is specified, all packages in the specified location (global or local) will be updated.</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.2.25</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
deleted file mode 100644
index 0ab27ce0d..000000000
--- a/deps/npm/html/doc/version.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!doctype html>
-<html>
- <title>version</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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; | major | minor | patch | build]</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 &quot;build&quot;, &quot;patch&quot;, &quot;minor&quot;, or
-&quot;major&quot;). In the second case, the existing version will be incremented
-by 1 in the specified field.</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>) config option, npm will
-use it as a commit message when creating a version commit. If the
-<code>message</code> config contains <code>%s</code> then that will be replaced with the
-resulting version number. For example:</p>
-
-<pre><code>npm version patch -m &quot;Upgrade to %s for reasons&quot;</code></pre>
-
-<p>If the <code>sign-git-tag</code> config is set, then the tag will be signed using
-the <code>-s</code> flag to git. Note that you must have a default GPG key set up
-in your git config for this to work properly. For example:</p>
-
-<pre><code>$ npm config set sign-git-tag true
-$ npm version patch
-
-You need a passphrase to unlock the secret key for
-user: &quot;isaacs (http://blog.izs.me/) &lt;i@izs.me&gt;&quot;
-2048-bit RSA key, ID 6C481CF6, created 2010-08-31
-
-Enter passphrase:</code></pre>
-
-<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.2.25</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
deleted file mode 100644
index e64e18266..000000000
--- a/deps/npm/html/doc/view.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!doctype html>
-<html>
- <title>view</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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 &quot;latest&quot; 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 &quot;express&quot; 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>&quot;Person&quot; 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@&#39;&gt;0.5.4&#39; 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. If the field is an object, it will be output as a JavaScript object literal.</p>
-
-<p>If the --json flag is given, the outputted fields will be JSON.</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.2.25</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
deleted file mode 100644
index 4a4012d96..000000000
--- a/deps/npm/html/doc/whoami.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!doctype html>
-<html>
- <title>whoami</title>
- <meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/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.2.25</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/docfoot-script.html b/deps/npm/html/docfoot-script.html
new file mode 100644
index 000000000..c0fea672a
--- /dev/null
+++ b/deps/npm/html/docfoot-script.html
@@ -0,0 +1,31 @@
+<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>
diff --git a/deps/npm/html/docfoot.html b/deps/npm/html/docfoot.html
index 3e35341cc..237b89718 100644
--- a/deps/npm/html/docfoot.html
+++ b/deps/npm/html/docfoot.html
@@ -1,34 +1,2 @@
</div>
<p id="footer">@NAME@ &mdash; npm@@VERSION@</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/dochead.html b/deps/npm/html/dochead.html
index 1526e1b7b..01f4d2f05 100644
--- a/deps/npm/html/dochead.html
+++ b/deps/npm/html/dochead.html
@@ -2,7 +2,7 @@
<html>
<title>@NAME@</title>
<meta http-equiv="content-type" value="text/html;utf-8">
- <link rel="stylesheet" type="text/css" href="../static/style.css">
+ <link rel="stylesheet" type="text/css" href="../../static/style.css">
<body>
<div id="wrapper">
diff --git a/deps/npm/lib/adduser.js b/deps/npm/lib/adduser.js
index c3ba5fc32..a5b9321d3 100644
--- a/deps/npm/lib/adduser.js
+++ b/deps/npm/lib/adduser.js
@@ -131,6 +131,7 @@ function save (c, u, cb) {
npm.config.set("username", u.u, "user")
npm.config.set("_password", u.p, "user")
npm.config.set("email", u.e, "user")
+ npm.config.del("_token", "user")
log.info("adduser", "Authorized user %s", u.u)
npm.config.save("user", cb)
})
diff --git a/deps/npm/lib/build.js b/deps/npm/lib/build.js
index fdbae722c..176022559 100644
--- a/deps/npm/lib/build.js
+++ b/deps/npm/lib/build.js
@@ -202,17 +202,12 @@ function linkMans (pkg, folder, parent, gtop, cb) {
var manRoot = path.resolve(npm.config.get("prefix"), "share", "man")
asyncMap(pkg.man, function (man, cb) {
if (typeof man !== "string") return cb()
- var parseMan = man.match(/(.*)\.([0-9]+)(\.gz)?$/)
+ var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
, stem = parseMan[1]
, sxn = parseMan[2]
, gz = parseMan[3] || ""
, bn = path.basename(stem)
- , manDest = path.join( manRoot
- , "man"+sxn
- , (bn.indexOf(pkg.name) === 0 ? bn
- : pkg.name + "-" + bn)
- + "." + sxn + gz
- )
+ , manDest = path.join(manRoot, "man" + sxn, bn)
linkIfExists(man, manDest, gtop && folder, cb)
}, cb)
diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js
index 90d8226d0..313a4f0c6 100644
--- a/deps/npm/lib/cache.js
+++ b/deps/npm/lib/cache.js
@@ -82,6 +82,7 @@ var mkdir = require("mkdirp")
, zlib = require("zlib")
, chmodr = require("chmodr")
, which = require("which")
+ , isGitUrl = require("./utils/is-git-url.js")
cache.usage = "npm cache add <tarball file>"
+ "\nnpm cache add <folder>"
@@ -261,15 +262,11 @@ function add (args, cb) {
case "http:":
case "https:":
return addRemoteTarball(spec, null, name, cb)
- case "git:":
- case "git+http:":
- case "git+https:":
- case "git+rsync:":
- case "git+ftp:":
- case "git+ssh:":
- //p.protocol = p.protocol.replace(/^git([^:])/, "$1")
- return addRemoteGit(spec, p, name, false, cb)
+
default:
+ if (isGitUrl(p))
+ return addRemoteGit(spec, p, name, false, cb)
+
// if we have a name and a spec, then try name@spec
// if not, then try just spec (which may try name@"" if not found)
if (name) {
@@ -520,6 +517,16 @@ function archiveGitRemote (p, u, co, origUrl, cb) {
var parsed = url.parse(origUrl)
parsed.hash = stdout
resolved = url.format(parsed)
+
+ // https://github.com/isaacs/npm/issues/3224
+ // node incorrectly sticks a / at the start of the path
+ // We know that the host won't change, so split and detect this
+ var spo = origUrl.split(parsed.host)
+ var spr = resolved.split(parsed.host)
+ if (spo[1].charAt(0) === ':' && spr[1].charAt(0) === '/')
+ spr[1] = spr[1].slice(1)
+ resolved = spr.join(parsed.host)
+
log.verbose('resolved git url', resolved)
next()
})
@@ -590,8 +597,8 @@ function addNamed (name, x, data, cb_) {
lock(k, function (er, fd) {
if (er) return cb(er)
- var fn = ( null !== semver.valid(x) ? addNameVersion
- : null !== semver.validRange(x) ? addNameRange
+ var fn = ( semver.valid(x, true) ? addNameVersion
+ : semver.validRange(x, true) ? addNameRange
: addNameTag
)
fn(name, x, data, cb)
@@ -645,8 +652,8 @@ function engineFilter (data) {
var eng = data.versions[v].engines
if (!eng) return
if (!strict && !data.versions[v].engineStrict) return
- if (eng.node && !semver.satisfies(nodev, eng.node)
- || eng.npm && !semver.satisfies(npmv, eng.npm)) {
+ if (eng.node && !semver.satisfies(nodev, eng.node, true)
+ || eng.npm && !semver.satisfies(npmv, eng.npm, true)) {
delete data.versions[v]
}
})
@@ -655,7 +662,7 @@ function engineFilter (data) {
function addNameRange (name, range, data, cb) {
if (typeof cb !== "function") cb = data, data = null
- range = semver.validRange(range)
+ range = semver.validRange(range, true)
if (range === null) return cb(new Error(
"Invalid version range: "+range))
@@ -678,12 +685,15 @@ function addNameRange (name, range, data, cb) {
// if the tagged version satisfies, then use that.
var tagged = data["dist-tags"][npm.config.get("tag")]
- if (tagged && data.versions[tagged] && semver.satisfies(tagged, range)) {
+ if (tagged
+ && data.versions[tagged]
+ && semver.satisfies(tagged, range, true)) {
return addNamed(name, tagged, data.versions[tagged], cb)
}
// find the max satisfying version.
- var ms = semver.maxSatisfying(Object.keys(data.versions || {}), range)
+ var versions = Object.keys(data.versions || {})
+ var ms = semver.maxSatisfying(versions, range, true)
if (!ms) {
return cb(installTargetsError(range, data))
}
@@ -710,11 +720,11 @@ function installTargetsError (requested, data) {
+ requested + "\n" + targets)
}
-function addNameVersion (name, ver, data, cb) {
+function addNameVersion (name, v, data, cb) {
if (typeof cb !== "function") cb = data, data = null
- ver = semver.valid(ver)
- if (ver === null) return cb(new Error("Invalid version: "+ver))
+ ver = semver.valid(v, true)
+ if (!ver) return cb(new Error("Invalid version: "+v))
var response
@@ -1097,7 +1107,9 @@ function addLocalDirectory (p, name, shasum, cb) {
// tar it to the proper place, and add the cache tar
if (p.indexOf(npm.cache) === 0) return cb(new Error(
"Adding a cache directory to the cache will make the world implode."))
- readJson(path.join(p, "package.json"), function (er, data) {
+ var strict = p.indexOf(npm.tmp) !== 0
+ && p.indexOf(npm.cache) !== 0
+ readJson(path.join(p, "package.json"), strict, function (er, data) {
er = needName(er, data)
er = needVersion(er, data)
if (er) return cb(er)
@@ -1109,12 +1121,10 @@ function addLocalDirectory (p, name, shasum, cb) {
, data.version, "package.tgz" )
, placeDirect = path.basename(p) === "package"
, tgz = placeDirect ? placed : tmptgz
- , doFancyCrap = p.indexOf(npm.tmp) !== 0
- && p.indexOf(npm.cache) !== 0
getCacheStat(function (er, cs) {
mkdir(path.dirname(tgz), function (er, made) {
if (er) return cb(er)
- tar.pack(tgz, p, data, doFancyCrap, function (er) {
+ tar.pack(tgz, p, data, strict, function (er) {
if (er) {
log.error( "addLocalDirectory", "Could not pack %j to %j"
, p, tgz )
@@ -1163,7 +1173,7 @@ function unpack (pkg, ver, unpackTarget, dMode, fMode, uid, gid, cb) {
log.error("unpack", "Could not read data for %s", pkg + "@" + ver)
return cb(er)
}
- npm.commands.unbuild([unpackTarget], function (er) {
+ npm.commands.unbuild([unpackTarget], true, function (er) {
if (er) return cb(er)
tar.unpack( path.join(npm.cache, pkg, ver, "package.tgz")
, unpackTarget
diff --git a/deps/npm/lib/dedupe.js b/deps/npm/lib/dedupe.js
index bd0056e99..648397b7a 100644
--- a/deps/npm/lib/dedupe.js
+++ b/deps/npm/lib/dedupe.js
@@ -258,9 +258,9 @@ function findVersions (npm, summary, cb) {
function bestMatch (versions, ranges) {
return versions.filter(function (v) {
return !ranges.some(function (r) {
- return !semver.satisfies(v, r)
+ return !semver.satisfies(v, r, true)
})
- }).sort(semver.compare).pop()
+ }).sort(semver.compareLoose).pop()
}
diff --git a/deps/npm/lib/deprecate.js b/deps/npm/lib/deprecate.js
index 1ba4305cd..7d0b41ac7 100644
--- a/deps/npm/lib/deprecate.js
+++ b/deps/npm/lib/deprecate.js
@@ -37,7 +37,7 @@ function deprecate (args, cb) {
if (er) return cb(er)
// filter all the versions that match
Object.keys(data.versions).filter(function (v) {
- return semver.satisfies(v, ver)
+ return semver.satisfies(v, ver, true)
}).forEach(function (v) {
data.versions[v].deprecated = msg
})
diff --git a/deps/npm/lib/help-search.js b/deps/npm/lib/help-search.js
index b0b15baca..590fe270b 100644
--- a/deps/npm/lib/help-search.js
+++ b/deps/npm/lib/help-search.js
@@ -8,6 +8,7 @@ var fs = require("graceful-fs")
, apiDocsPath = path.join(__dirname, "..", "doc", "api")
, log = require("npmlog")
, npm = require("./npm.js")
+ , glob = require("glob")
helpSearch.usage = "npm help-search <text>"
@@ -17,177 +18,199 @@ function helpSearch (args, silent, cb) {
// see if we're actually searching the api docs.
var argv = npm.config.get("argv").cooked
- , docsPath = cliDocsPath
- , cmd = "help"
- if (argv.length && argv[0].indexOf("api") !== -1) {
- docsPath = apiDocsPath
- cmd = "apihelp"
- }
- fs.readdir(docsPath, function(er, files) {
- if (er) {
- log.error("helpSearch", "Could not load documentation")
+ var docPath = path.resolve(__dirname, "..", "doc")
+ return glob(docPath + "/*/*.md", function (er, files) {
+ if (er)
return cb(er)
- }
-
- var search = args.join(" ")
- , results = []
- asyncMap(files, function (file, cb) {
- fs.lstat(path.resolve(docsPath, file), function (er, st) {
- if (er) return cb(er)
- if (!st.isFile()) return cb(null, [])
-
- fs.readFile(path.resolve(docsPath, file), "utf8", function (er, data) {
- if (er) return cb(er)
-
- var match = false
- for (var a = 0, l = args.length; a < l && !match; a ++) {
- match = data.toLowerCase().indexOf(args[a].toLowerCase()) !== -1
- }
- if (!match) return cb(null, [])
-
- var lines = data.split(/\n+/)
- , context = []
-
- // if a line has a search term, then skip it and the next line.
- // if the next line has a search term, then skip all 3
- // otherwise, set the line to null.
- for (var i = 0, l = lines.length; i < l; i ++) {
- var line = lines[i]
- , nextLine = lines[i + 1]
- , match = false
- if (nextLine) {
- for (var a = 0, ll = args.length; a < ll && !match; a ++) {
- match = nextLine.toLowerCase()
- .indexOf(args[a].toLowerCase()) !== -1
- }
- if (match) {
- // skip over the next line, and the line after it.
- i += 2
- continue
- }
- }
-
- match = false
- for (var a = 0, ll = args.length; a < ll && !match; a ++) {
- match = line.toLowerCase().indexOf(args[a].toLowerCase()) !== -1
- }
- if (match) {
- // skip over the next line
- i ++
- continue
- }
-
- lines[i] = null
- }
-
- // now squish any string of nulls into a single null
- lines = lines.reduce(function (l, r) {
- if (!(r === null && l[l.length-1] === null)) l.push(r)
- return l
- }, [])
-
- if (lines[lines.length - 1] === null) lines.pop()
- if (lines[0] === null) lines.shift()
-
- // now see how many args were found at all.
- var found = {}
- , totalHits = 0
- lines.forEach(function (line) {
- args.forEach(function (arg) {
- var hit = (line || "").toLowerCase()
- .split(arg.toLowerCase()).length - 1
- if (hit > 0) {
- found[arg] = (found[arg] || 0) + hit
- totalHits += hit
- }
- })
- })
-
- return cb(null, { file: file, lines: lines, found: Object.keys(found)
- , hits: found, totalHits: totalHits })
- })
+ readFiles(files, function (er, data) {
+ if (er)
+ return cb(er)
+ searchFiles(args, data, function (er, results) {
+ if (er)
+ return cb(er)
+ formatResults(args, results, cb)
})
- }, function (er, results) {
- if (er) return cb(er)
+ })
+ })
+}
- // if only one result, then just show that help section.
- if (results.length === 1) {
- return npm.commands.help([results[0].file.replace(/\.md$/, "")], cb)
+function readFiles (files, cb) {
+ var res = {}
+ asyncMap(files, function (file, cb) {
+ fs.readFile(file, 'utf8', function (er, data) {
+ res[file] = data
+ return cb(er)
+ })
+ }, function (er) {
+ return cb(er, res)
+ })
+}
+
+function searchFiles (args, files, cb) {
+ var results = []
+ Object.keys(files).forEach(function (file) {
+ var data = files[file]
+
+ // skip if no matches at all
+ for (var a = 0, l = args.length; a < l && !match; a++) {
+ var match = data.toLowerCase().indexOf(args[a].toLowerCase()) !== -1
+ }
+ if (!match)
+ return
+
+ var lines = data.split(/\n+/)
+ var context = []
+
+ // if a line has a search term, then skip it and the next line.
+ // if the next line has a search term, then skip all 3
+ // otherwise, set the line to null. then remove the nulls.
+ for (var i = 0, l = lines.length; i < l; i ++) {
+ var line = lines[i]
+ , nextLine = lines[i + 1]
+ , match = false
+ if (nextLine) {
+ for (var a = 0, ll = args.length; a < ll && !match; a ++) {
+ match = nextLine.toLowerCase()
+ .indexOf(args[a].toLowerCase()) !== -1
+ }
+ if (match) {
+ // skip over the next line, and the line after it.
+ i += 2
+ continue
+ }
}
- if (results.length === 0) {
- console.log("No results for " + args.map(JSON.stringify).join(" "))
- return cb()
+ match = false
+ for (var a = 0, ll = args.length; a < ll && !match; a ++) {
+ match = line.toLowerCase().indexOf(args[a].toLowerCase()) !== -1
+ }
+ if (match) {
+ // skip over the next line
+ i ++
+ continue
}
- // sort results by number of results found, then by number of hits
- // then by number of matching lines
- results = results.sort(function (a, b) {
- return a.found.length > b.found.length ? -1
- : a.found.length < b.found.length ? 1
- : a.totalHits > b.totalHits ? -1
- : a.totalHits < b.totalHits ? 1
- : a.lines.length > b.lines.length ? -1
- : a.lines.length < b.lines.length ? 1
- : 0
+ lines[i] = null
+ }
+
+ // now squish any string of nulls into a single null
+ lines = lines.reduce(function (l, r) {
+ if (!(r === null && l[l.length-1] === null)) l.push(r)
+ return l
+ }, [])
+
+ if (lines[lines.length - 1] === null) lines.pop()
+ if (lines[0] === null) lines.shift()
+
+ // now see how many args were found at all.
+ var found = {}
+ , totalHits = 0
+ lines.forEach(function (line) {
+ args.forEach(function (arg) {
+ var hit = (line || "").toLowerCase()
+ .split(arg.toLowerCase()).length - 1
+ if (hit > 0) {
+ found[arg] = (found[arg] || 0) + hit
+ totalHits += hit
+ }
})
+ })
- var out = results.map(function (res, i, results) {
- var out = "npm " + cmd + " "+res.file.replace(/\.md$/, "")
- , r = Object.keys(res.hits).map(function (k) {
- return k + ":" + res.hits[k]
- }).sort(function (a, b) {
- return a > b ? 1 : -1
- }).join(" ")
-
- out += ((new Array(Math.max(1, 81 - out.length - r.length)))
- .join (" ")) + r
-
- if (!npm.config.get("long")) return out
-
- var out = "\n\n" + out
- + "\n" + (new Array(81)).join("—") + "\n"
- + res.lines.map(function (line, i) {
- if (line === null || i > 3) return ""
- for (var out = line, a = 0, l = args.length; a < l; a ++) {
- var finder = out.toLowerCase().split(args[a].toLowerCase())
- , newOut = []
- , p = 0
- finder.forEach(function (f) {
- newOut.push( out.substr(p, f.length)
- , "\1"
- , out.substr(p + f.length, args[a].length)
- , "\2" )
- p += f.length + args[a].length
- })
- out = newOut.join("")
- }
- if (npm.color) {
- var color = "\033[31;40m"
- , reset = "\033[0m"
- } else {
- var color = ""
- , reset = ""
- }
- out = out.split("\1").join(color)
- .split("\2").join(reset)
- return out
- }).join("\n").trim()
- return out
- }).join("\n")
-
- if (results.length && !npm.config.get("long")) {
- out = "Top hits for "+(args.map(JSON.stringify).join(" "))
- + "\n" + (new Array(81)).join("—") + "\n"
- + out
- + "\n" + (new Array(81)).join("—") + "\n"
- + "(run with -l or --long to see more context)"
- }
+ var cmd = "npm help "
+ if (path.basename(path.dirname(file)) === "api") {
+ cmd = "npm apihelp "
+ }
+ cmd += path.basename(file, ".md").replace(/^npm-/, "")
+ results.push({ file: file
+ , cmd: cmd
+ , lines: lines
+ , found: Object.keys(found)
+ , hits: found
+ , totalHits: totalHits
+ })
+ })
- console.log(out.trim())
- cb(null, results)
- })
+ // if only one result, then just show that help section.
+ if (results.length === 1) {
+ return npm.commands.help([results[0].file.replace(/\.md$/, "")], cb)
+ }
+
+ if (results.length === 0) {
+ console.log("No results for " + args.map(JSON.stringify).join(" "))
+ return cb()
+ }
+ // sort results by number of results found, then by number of hits
+ // then by number of matching lines
+ results = results.sort(function (a, b) {
+ return a.found.length > b.found.length ? -1
+ : a.found.length < b.found.length ? 1
+ : a.totalHits > b.totalHits ? -1
+ : a.totalHits < b.totalHits ? 1
+ : a.lines.length > b.lines.length ? -1
+ : a.lines.length < b.lines.length ? 1
+ : 0
})
+
+ cb(null, results)
+}
+
+function formatResults (args, results, cb) {
+ var cols = Math.min(process.stdout.columns || Infinity, 80) + 1
+
+ var out = results.map(function (res, i, results) {
+ var out = res.cmd
+ , r = Object.keys(res.hits).map(function (k) {
+ return k + ":" + res.hits[k]
+ }).sort(function (a, b) {
+ return a > b ? 1 : -1
+ }).join(" ")
+
+ out += ((new Array(Math.max(1, cols - out.length - r.length)))
+ .join (" ")) + r
+
+ if (!npm.config.get("long")) return out
+
+ var out = "\n\n" + out
+ + "\n" + (new Array(cols)).join("—") + "\n"
+ + res.lines.map(function (line, i) {
+ if (line === null || i > 3) return ""
+ for (var out = line, a = 0, l = args.length; a < l; a ++) {
+ var finder = out.toLowerCase().split(args[a].toLowerCase())
+ , newOut = []
+ , p = 0
+ finder.forEach(function (f) {
+ newOut.push( out.substr(p, f.length)
+ , "\1"
+ , out.substr(p + f.length, args[a].length)
+ , "\2" )
+ p += f.length + args[a].length
+ })
+ out = newOut.join("")
+ }
+ if (npm.color) {
+ var color = "\033[31;40m"
+ , reset = "\033[0m"
+ } else {
+ var color = ""
+ , reset = ""
+ }
+ out = out.split("\1").join(color)
+ .split("\2").join(reset)
+ return out
+ }).join("\n").trim()
+ return out
+ }).join("\n")
+
+ if (results.length && !npm.config.get("long")) {
+ out = "Top hits for "+(args.map(JSON.stringify).join(" "))
+ + "\n" + (new Array(cols)).join("—") + "\n"
+ + out
+ + "\n" + (new Array(cols)).join("—") + "\n"
+ + "(run with -l or --long to see more context)"
+ }
+
+ console.log(out.trim())
+ cb(null, results)
}
diff --git a/deps/npm/lib/help.js b/deps/npm/lib/help.js
index 8faef1c2c..f522763db 100644
--- a/deps/npm/lib/help.js
+++ b/deps/npm/lib/help.js
@@ -3,9 +3,7 @@ module.exports = help
help.completion = function (opts, cb) {
if (opts.conf.argv.remain.length > 2) return cb(null, [])
- var num = 1
- if (-1 !== opts.conf.argv.remain[1].indexOf("api")) num = 3
- getSections(num, cb)
+ getSections(cb)
}
var fs = require("graceful-fs")
@@ -14,94 +12,165 @@ var fs = require("graceful-fs")
, npm = require("./npm.js")
, log = require("npmlog")
, opener = require("opener")
+ , glob = require("glob")
function help (args, cb) {
- var num = 1
- , argv = npm.config.get("argv").cooked
- if (argv.length && -1 !== argv[0].indexOf("api")) {
- num = 3
+ var argv = npm.config.get("argv").cooked
+
+ var argnum = 0
+ if (args.length === 2 && ~~args[0]) {
+ argnum = ~~args.shift()
}
+ // npm help foo bar baz: search topics
if (args.length > 1 && args[0]) {
return npm.commands["help-search"](args, num, cb)
}
var section = npm.deref(args[0]) || args[0]
- if (section) {
- if ( npm.config.get("usage")
- && npm.commands[section]
- && npm.commands[section].usage
- ) {
- npm.config.set("loglevel", "silent")
- log.level = "silent"
- console.log(npm.commands[section].usage)
- return cb()
- }
-
- var sectionPath = path.join( __dirname, "..", "man", "man" + num
- , section + "." + num)
- , htmlPath = path.resolve( __dirname, "..", "html"
- , num === 3 ? "api" : "doc"
- , section+".html" )
- return fs.stat
- ( sectionPath
- , function (e, o) {
- if (e) return npm.commands["help-search"](args, cb)
-
- var manpath = path.join(__dirname, "..", "man")
- , env = {}
- Object.keys(process.env).forEach(function (i) {
- env[i] = process.env[i]
- })
- env.MANPATH = manpath
- var viewer = npm.config.get("viewer")
-
- switch (viewer) {
- case "woman":
- var a = ["-e", "(woman-find-file \"" + sectionPath + "\")"]
- var conf = { env: env, customFds: [ 0, 1, 2] }
- var woman = spawn("emacsclient", a, conf)
- woman.on("close", cb)
- break
-
- case "browser":
- opener(htmlPath, { command: npm.config.get("browser") }, cb)
- break
-
- default:
- var conf = { env: env, customFds: [ 0, 1, 2] }
- var man = spawn("man", [num, section], conf)
- man.on("close", cb)
- }
- }
- )
- } else getSections(function (er, sections) {
- if (er) return cb(er)
+ // npm help <noargs>: show basic usage
+ if (!section)
+ return npmUsage(cb)
+
+ // npm <cmd> -h: show command usage
+ if ( npm.config.get("usage")
+ && npm.commands[section]
+ && npm.commands[section].usage
+ ) {
npm.config.set("loglevel", "silent")
log.level = "silent"
- console.log
- ( ["\nUsage: npm <command>"
- , ""
- , "where <command> is one of:"
- , npm.config.get("long") ? usages()
- : " " + wrap(Object.keys(npm.commands))
- , ""
- , "npm <cmd> -h quick help on <cmd>"
- , "npm -l display full usage info"
- , "npm faq commonly asked questions"
- , "npm help <term> search for help on <term>"
- , "npm help npm involved overview"
- , ""
- , "Specify configs in the ini-formatted file:"
- , " " + npm.config.get("userconfig")
- , "or on the command line via: npm <command> --key value"
- , "Config info can be viewed via: npm help config"
- , ""
- , "npm@" + npm.version + " " + path.dirname(__dirname)
- ].join("\n"))
- cb(er)
+ console.log(npm.commands[section].usage)
+ return cb()
+ }
+
+ // npm apihelp <section>: Prefer section 3 over section 1
+ var apihelp = argv.length && -1 !== argv[0].indexOf("api")
+ var pref = apihelp ? [3, 1, 5, 7] : [1, 3, 5, 7]
+ if (argnum)
+ pref = [ argnum ].concat(pref.filter(function (n) {
+ return n !== argnum
+ }))
+
+ // npm help <section>: Try to find the path
+ var manroot = path.resolve(__dirname, "..", "man")
+ var htmlroot = path.resolve(__dirname, "..", "html", "doc")
+
+ // legacy
+ if (section === "global")
+ section = "folders"
+ else if (section === "json")
+ section = "package.json"
+
+ // find either /section.n or /npm-section.n
+ var f = "+(npm-" + section + "|" + section + ").[0-9]"
+ return glob(manroot + "/*/" + f, function (er, mans) {
+ if (er)
+ return cb(er)
+
+ if (!mans.length)
+ return npm.commands["help-search"](args, cb)
+
+ viewMan(pickMan(mans, pref), cb)
+ })
+}
+
+function pickMan (mans, pref_) {
+ var nre = /([0-9]+)$/
+ var pref = {}
+ pref_.forEach(function (sect, i) {
+ pref[sect] = i
+ })
+ mans = mans.sort(function (a, b) {
+ var an = a.match(nre)[1]
+ var bn = b.match(nre)[1]
+ return an === bn ? (a > b ? -1 : 1)
+ : pref[an] < pref[bn] ? -1
+ : 1
+ })
+ return mans[0]
+}
+
+function viewMan (man, cb) {
+ var nre = /([0-9]+)$/
+ var num = man.match(nre)[1]
+ var section = path.basename(man, "." + num)
+
+ // at this point, we know that the specified man page exists
+ var manpath = path.join(__dirname, "..", "man")
+ , env = {}
+ Object.keys(process.env).forEach(function (i) {
+ env[i] = process.env[i]
})
+ env.MANPATH = manpath
+ var viewer = npm.config.get("viewer")
+
+ switch (viewer) {
+ case "woman":
+ var a = ["-e", "(woman-find-file \"" + man + "\")"]
+ var conf = { env: env, customFds: [ 0, 1, 2] }
+ var woman = spawn("emacsclient", a, conf)
+ woman.on("close", cb)
+ break
+
+ case "browser":
+ opener(htmlMan(man), { command: npm.config.get("browser") }, cb)
+ break
+
+ default:
+ var conf = { env: env, customFds: [ 0, 1, 2] }
+ var man = spawn("man", [num, section], conf)
+ man.on("close", cb)
+ break
+ }
+}
+
+function htmlMan (man) {
+ var sect = +man.match(/([0-9]+)$/)[1]
+ var f = path.basename(man).replace(/([0-9]+)$/, "html")
+ switch (sect) {
+ case 1:
+ sect = "cli"
+ break
+ case 3:
+ sect = "api"
+ break
+ case 5:
+ sect = "files"
+ break
+ case 7:
+ sect = "misc"
+ break
+ default:
+ throw new Error("invalid man section: " + sect)
+ }
+ return path.resolve(__dirname, "..", "html", "doc", sect, f)
+}
+
+function npmUsage (cb) {
+ npm.config.set("loglevel", "silent")
+ log.level = "silent"
+ console.log
+ ( ["\nUsage: npm <command>"
+ , ""
+ , "where <command> is one of:"
+ , npm.config.get("long") ? usages()
+ : " " + wrap(Object.keys(npm.commands))
+ , ""
+ , "npm <cmd> -h quick help on <cmd>"
+ , "npm -l display full usage info"
+ , "npm faq commonly asked questions"
+ , "npm help <term> search for help on <term>"
+ , "npm help npm involved overview"
+ , ""
+ , "Specify configs in the ini-formatted file:"
+ , " " + npm.config.get("userconfig")
+ , "or on the command line via: npm <command> --key value"
+ , "Config info can be viewed via: npm help config"
+ , ""
+ , "npm@" + npm.version + " " + path.dirname(__dirname)
+ ].join("\n"))
+ cb()
}
function usages () {
@@ -127,9 +196,17 @@ function usages () {
function wrap (arr) {
var out = ['']
, l = 0
+ , line
+
+ line = process.stdout.columns
+ if (!line)
+ line = 60
+ else
+ line = Math.min(60, Math.max(line - 16, 24))
+
arr.sort(function (a,b) { return a<b?-1:1 })
.forEach(function (c) {
- if (out[l].length + c.length + 2 < 60) {
+ if (out[l].length + c.length + 2 < line) {
out[l] += ', '+c
} else {
out[l++] += ','
@@ -139,16 +216,16 @@ function wrap (arr) {
return out.join("\n ").substr(2)
}
-function getSections (num, cb) {
- if (typeof cb !== "function") cb = num, num = 1
-
- var mp = path.join(__dirname, "../man/man" + num + "/")
- , cleaner = new RegExp("\\." + num + "$")
- fs.readdir(mp, function (er, files) {
- if (er) return cb(er)
- var sectionList = files.concat("help." + num)
- .filter(function (s) { return s.match(cleaner) })
- .map(function (s) { return s.replace(cleaner, "")})
- cb(null, sectionList)
+function getSections (cb) {
+ var g = path.resolve(__dirname, "../man/man[0-9]/*.[0-9]")
+ glob(g, function (er, files) {
+ if (er)
+ return cb(er)
+ cb(null, Object.keys(files.reduce(function (acc, file) {
+ file = path.basename(file).replace(/\.[0-9]+$/, "")
+ file = file.replace(/^npm-/, "")
+ acc[file] = true
+ return acc
+ }, { help: true })))
})
}
diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js
index 50ba5ebc5..39d926721 100644
--- a/deps/npm/lib/install.js
+++ b/deps/npm/lib/install.js
@@ -74,6 +74,7 @@ var npm = require("./npm.js")
, archy = require("archy")
function install (args, cb_) {
+ var hasArguments = !!args.length
function cb (er, installed) {
if (er) return cb_(er)
@@ -94,7 +95,7 @@ function install (args, cb_) {
, pretty = prettify(tree, installed).trim()
if (pretty) console.log(pretty)
- save(where, installed, tree, pretty, cb_)
+ save(where, installed, tree, pretty, hasArguments, cb_)
})
}
@@ -160,8 +161,11 @@ function install (args, cb_) {
// initial "family" is the name:version of the root, if it's got
// a package.json file.
- readJson(path.resolve(where, "package.json"), function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ var jsonFile = path.resolve(where, "package.json")
+ readJson(jsonFile, true, function (er, data) {
+ if (er
+ && er.code !== "ENOENT"
+ && er.code !== "ENOTDIR") return cb(er)
if (er) data = null
var context = { family: {}
, ancestors: {}
@@ -178,7 +182,7 @@ function install (args, cb_) {
}
function findPeerInvalid (where, cb) {
- readInstalled(where, function (er, data) {
+ readInstalled(where, log.warn, function (er, data) {
if (er) return cb(er)
cb(null, findPeerInvalid_(data.dependencies, []))
@@ -315,8 +319,9 @@ function readWrap (w) {
// if the -S|--save option is specified, then write installed packages
// as dependencies to a package.json file.
// This is experimental.
-function save (where, installed, tree, pretty, cb) {
- if (!npm.config.get("save") &&
+function save (where, installed, tree, pretty, hasArguments, cb) {
+ if (!hasArguments ||
+ !npm.config.get("save") &&
!npm.config.get("save-dev") &&
!npm.config.get("save-optional") ||
npm.config.get("global")) {
@@ -337,8 +342,8 @@ function save (where, installed, tree, pretty, cb) {
if (u && u.protocol) w[1] = t.from
return w
}).reduce(function (set, k) {
- var rangeDescriptor = semver.valid(k[1]) &&
- semver.gte(k[1], "0.1.0")
+ var rangeDescriptor = semver.valid(k[1], true) &&
+ semver.gte(k[1], "0.1.0", true)
? "~" : ""
set[k[0]] = rangeDescriptor + k[1]
return set
@@ -494,7 +499,7 @@ function installManyTop (what, where, context, cb_) {
if (context.explicit) return next()
- readJson(path.join(where, "package.json"), function (er, data) {
+ readJson(path.join(where, "package.json"), true, function (er, data) {
if (er) return next(er)
lifecycle(data, "preinstall", where, next)
})
@@ -619,7 +624,7 @@ function targetResolver (where, context, deps) {
// otherwise, make sure that it's a semver match with what we want.
var bd = parent.bundleDependencies
if (bd && bd.indexOf(d.name) !== -1 ||
- semver.satisfies(d.version, deps[d.name] || "*")) {
+ semver.satisfies(d.version, deps[d.name] || "*", true)) {
return cb(null, d.name)
}
@@ -977,7 +982,7 @@ function write (target, targetFolder, context, cb_) {
if (!er) return cb_(er, data)
if (false === npm.config.get("rollback")) return cb_(er)
- npm.commands.unbuild([targetFolder], function (er2) {
+ npm.commands.unbuild([targetFolder], true, function (er2) {
if (er2) log.error("error rolling back", target._id, er2)
return cb_(er, data)
})
@@ -1066,7 +1071,10 @@ function prepareForInstallMany (packageData, depsKey, bundled, wrap, family) {
// prefer to not install things that are satisfied by
// something in the "family" list, unless we're installing
// from a shrinkwrap.
- return wrap || !semver.satisfies(family[d], packageData[depsKey][d])
+ if (wrap) return wrap
+ if (semver.validRange(family[d], true))
+ return !semver.satisfies(family[d], packageData[depsKey][d], true)
+ return true
}).map(function (d) {
var t = packageData[depsKey][d]
, parsed = url.parse(t.replace(/^git\+/, "git"))
diff --git a/deps/npm/lib/ls.js b/deps/npm/lib/ls.js
index c1d222090..842b612cc 100644
--- a/deps/npm/lib/ls.js
+++ b/deps/npm/lib/ls.js
@@ -13,6 +13,8 @@ var npm = require("./npm.js")
, path = require("path")
, archy = require("archy")
, semver = require("semver")
+ , url = require("url")
+ , isGitUrl = require("./utils/is-git-url.js")
ls.usage = "npm ls"
@@ -33,7 +35,8 @@ function ls (args, silent, cb) {
return [ name, ver ]
})
- readInstalled(dir, npm.config.get("depth"), function (er, data) {
+ var depth = npm.config.get("depth")
+ readInstalled(dir, depth, log.warn, function (er, data) {
var bfs = bfsify(data, args)
, lite = getLite(bfs)
@@ -83,7 +86,6 @@ function alphasort (a, b) {
function getLite (data, noname) {
var lite = {}
, maxDepth = npm.config.get("depth")
- , url = require("url")
if (!noname && data.name) lite.name = data.name
if (data.version) lite.version = data.version
@@ -196,7 +198,7 @@ function filterFound (root, args) {
var found = false
for (var i = 0; !found && i < args.length; i ++) {
if (d === args[i][0]) {
- found = semver.satisfies(dep.version, args[i][1])
+ found = semver.satisfies(dep.version, args[i][1], true)
}
}
// included explicitly
@@ -261,6 +263,13 @@ function makeArchy_ (data, long, dir, depth, parent, d) {
+ (color ? "\033[0m" : "")
}
+ // add giturl to name@version
+ if (data._resolved) {
+ var p = url.parse(data._resolved)
+ if (isGitUrl(p))
+ out.label += " (" + data._resolved + ")"
+ }
+
if (long) {
if (dir === data.path) out.label += "\n" + dir
out.label += "\n" + getExtras(data, dir)
@@ -284,7 +293,6 @@ function makeArchy_ (data, long, dir, depth, parent, d) {
function getExtras (data, dir) {
var extras = []
- , url = require("url")
if (data.description) extras.push(data.description)
if (data.repository) extras.push(data.repository.url)
@@ -324,7 +332,7 @@ function makeParseable_ (data, long, dir, depth, parent, d) {
+ ":"+d+"@"+JSON.stringify(data)+":INVALID:MISSING"
: ""
} else {
- data = path.resolve(data.path, "node_modules", d)
+ data = path.resolve(data.path || "", "node_modules", d || "")
+ (npm.config.get("long")
? ":" + d + "@" + JSON.stringify(data)
+ ":" // no realpath resolved
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index 9a6a69c2f..ea9759265 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -53,15 +53,16 @@ function mkdir (p, cb) {
npm.commands = {}
try {
+ var pv = process.version.replace(/^v/, '')
// startup, ok to do this synchronously
var j = JSON.parse(fs.readFileSync(
path.join(__dirname, "../package.json"))+"")
npm.version = j.version
npm.nodeVersionRequired = j.engines.node
- if (!semver.satisfies(process.version, j.engines.node)) {
+ if (!semver.satisfies(pv, j.engines.node)) {
log.warn("unsupported version", [""
,"npm requires node version: "+j.engines.node
- ,"And you have: "+process.version
+ ,"And you have: "+pv
,"which is not satisfactory."
,""
,"Bad things will likely happen. You have been warned."
@@ -163,6 +164,7 @@ var commandCache = {}
, "unbuild"
, "xmas"
, "substack"
+ , "visnup"
]
, fullList = npm.fullList = cmdList.concat(aliasNames).filter(function (c) {
return plumbing.indexOf(c) === -1
@@ -475,9 +477,14 @@ Object.defineProperty(npm, "cache",
})
var tmpFolder
+var crypto = require("crypto")
+var rand = crypto.randomBytes(6)
+ .toString("base64")
+ .replace(/\//g, '_')
+ .replace(/\+/, '-')
Object.defineProperty(npm, "tmp",
{ get : function () {
- if (!tmpFolder) tmpFolder = "npm-" + process.pid
+ if (!tmpFolder) tmpFolder = "npm-" + process.pid + "-" + rand
return path.resolve(npm.config.get("tmp"), tmpFolder)
}
, enumerable : true
diff --git a/deps/npm/lib/outdated.js b/deps/npm/lib/outdated.js
index e3ef5b1e4..b205922ef 100644
--- a/deps/npm/lib/outdated.js
+++ b/deps/npm/lib/outdated.js
@@ -24,7 +24,6 @@ var path = require("path")
, cache = require("./cache.js")
, asyncMap = require("slide").asyncMap
, npm = require("./npm.js")
- , semver = require("semver")
function outdated (args, silent, cb) {
if (typeof cb !== "function") cb = silent, silent = false
@@ -138,7 +137,7 @@ function shouldUpdate (args, dir, dep, has, req, cb) {
}
function doIt (shouldHave) {
- cb(null, [[ dir, dep, has[dep], shouldHave ]])
+ cb(null, [[ dir, dep, has[dep], shouldHave, req ]])
}
if (args.length && args.indexOf(dep) === -1) {
diff --git a/deps/npm/lib/publish.js b/deps/npm/lib/publish.js
index 62d7fb9bb..00ffdfae3 100644
--- a/deps/npm/lib/publish.js
+++ b/deps/npm/lib/publish.js
@@ -98,9 +98,12 @@ function publish_ (arg, data, isRetry, cachedir, cb) {
log.warn("publish", "Forced publish over "+data._id)
return npm.commands.unpublish([data._id], function (er) {
// ignore errors. Use the force. Reach out with your feelings.
- publish([arg], true, cb)
+ // but if it fails again, then report the first error.
+ publish([arg], er || true, cb)
})
}
+ // report the unpublish error if this was a retry and unpublish failed
+ if (er && isRetry && isRetry !== true) return cb(isRetry)
if (er) return cb(er)
console.log("+ " + data._id)
cb()
diff --git a/deps/npm/lib/rebuild.js b/deps/npm/lib/rebuild.js
index 35bb454d7..7cea3efff 100644
--- a/deps/npm/lib/rebuild.js
+++ b/deps/npm/lib/rebuild.js
@@ -52,7 +52,7 @@ function filter (data, args, set, seen) {
, n = nv.shift()
, v = nv.join("@")
if (n !== data.name) continue
- if (!semver.satisfies(data.version, v)) continue
+ if (!semver.satisfies(data.version, v, true)) continue
pass = true
break
}
diff --git a/deps/npm/lib/search.js b/deps/npm/lib/search.js
index edbdc70b1..c758f869a 100644
--- a/deps/npm/lib/search.js
+++ b/deps/npm/lib/search.js
@@ -3,7 +3,6 @@ module.exports = exports = search
var npm = require("./npm.js")
, registry = npm.registry
- , semver = require("semver")
search.usage = "npm search [some search terms ...]"
diff --git a/deps/npm/lib/submodule.js b/deps/npm/lib/submodule.js
index ccb9d5833..72a224814 100644
--- a/deps/npm/lib/submodule.js
+++ b/deps/npm/lib/submodule.js
@@ -91,7 +91,7 @@ function addSubmodule (name, url, cb) {
var getSubmodules = function getSubmodules (cb) {
var git = npm.config.get("git")
- var arg = [ "submodule", "status" ]
+ var args = [ "submodule", "status" ]
// check for git
which(git, function (err) {
diff --git a/deps/npm/lib/unbuild.js b/deps/npm/lib/unbuild.js
index c89a538f2..ec34d5688 100644
--- a/deps/npm/lib/unbuild.js
+++ b/deps/npm/lib/unbuild.js
@@ -15,9 +15,12 @@ var readJson = require("read-package-json")
// args is a list of folders.
// remove any bins/etc, and then delete the folder.
-function unbuild (args, cb) { asyncMap(args, unbuild_, cb) }
+function unbuild (args, silent, cb) {
+ if (typeof silent === 'function') cb = silent, silent = false
+ asyncMap(args, unbuild_(silent), cb)
+}
-function unbuild_ (folder, cb) {
+function unbuild_ (silent) { return function (folder, cb) {
folder = path.resolve(folder)
delete build._didBuild[folder]
log.info(folder, "unbuild")
@@ -28,12 +31,16 @@ function unbuild_ (folder, cb) {
chain
( [ [lifecycle, pkg, "preuninstall", folder, false, true]
, [lifecycle, pkg, "uninstall", folder, false, true]
+ , !silent && function(cb) {
+ console.log("unbuild " + pkg._id)
+ cb()
+ }
, [rmStuff, pkg, folder]
, [lifecycle, pkg, "postuninstall", folder, false, true]
, [rm, folder] ]
, cb )
})
-}
+}}
function rmStuff (pkg, folder, cb) {
// if it's global, and folder is in {prefix}/node_modules,
@@ -45,7 +52,7 @@ function rmStuff (pkg, folder, cb) {
readJson.cache.del(path.resolve(folder, "package.json"))
- log.verbose([top, gnm, parent], "unbuild "+pkg._id)
+ log.verbose([top, gnm, parent], "unbuild " + pkg._id)
asyncMap([rmBins, rmMans], function (fn, cb) {
fn(pkg, folder, parent, top, cb)
}, cb)
diff --git a/deps/npm/lib/uninstall.js b/deps/npm/lib/uninstall.js
index bebc2300b..072d46bcf 100644
--- a/deps/npm/lib/uninstall.js
+++ b/deps/npm/lib/uninstall.js
@@ -13,7 +13,6 @@ var fs = require("graceful-fs")
, readJson = require("read-package-json")
, path = require("path")
, npm = require("./npm.js")
- , semver = require("semver")
, asyncMap = require("slide").asyncMap
function uninstall (args, cb) {
diff --git a/deps/npm/lib/update.js b/deps/npm/lib/update.js
index 46d32678e..68e01955a 100644
--- a/deps/npm/lib/update.js
+++ b/deps/npm/lib/update.js
@@ -27,12 +27,16 @@ function update (args, cb) {
if (er) return cb(er)
asyncMap(outdated, function (ww, cb) {
- // [[ dir, dep, has, want ]]
+ // [[ dir, dep, has, want, req ]]
var where = ww[0]
, dep = ww[1]
, want = ww[3]
, what = dep + "@" + want
+ , req = ww[4]
+ , url = require('url')
+ // use the initial installation method (repo, tar, git) for updating
+ if (url.parse(req).protocol) what = req
npm.commands.install(where, what, cb)
}, cb)
})
diff --git a/deps/npm/lib/utils/is-git-url.js b/deps/npm/lib/utils/is-git-url.js
new file mode 100644
index 000000000..7ded4b602
--- /dev/null
+++ b/deps/npm/lib/utils/is-git-url.js
@@ -0,0 +1,13 @@
+module.exports = isGitUrl
+
+function isGitUrl (url) {
+ switch (url.protocol) {
+ case "git:":
+ case "git+http:":
+ case "git+https:":
+ case "git+rsync:":
+ case "git+ftp:":
+ case "git+ssh:":
+ return true
+ }
+}
diff --git a/deps/npm/lib/utils/tar.js b/deps/npm/lib/utils/tar.js
index c96c4c46f..378415eb1 100644
--- a/deps/npm/lib/utils/tar.js
+++ b/deps/npm/lib/utils/tar.js
@@ -9,8 +9,6 @@ var npm = require("../npm.js")
, rm = require("rimraf")
, readJson = require("read-package-json")
, cache = require("../cache.js")
- , lock = cache.lock
- , unlock = cache.unlock
, myUid = process.getuid && process.getuid()
, myGid = process.getgid && process.getgid()
, tar = require("tar")
@@ -19,6 +17,14 @@ var npm = require("../npm.js")
, Packer = require("fstream-npm")
, lifecycle = require("./lifecycle.js")
+function lock(path, cb) {
+ return cache.lock('tar://' + path, cb)
+}
+
+function unlock(path, cb) {
+ return cache.unlock('tar://' + path, cb)
+}
+
if (process.env.SUDO_UID && myUid === 0) {
if (!isNaN(process.env.SUDO_UID)) myUid = +process.env.SUDO_UID
if (!isNaN(process.env.SUDO_GID)) myGid = +process.env.SUDO_GID
diff --git a/deps/npm/lib/version.js b/deps/npm/lib/version.js
index 73cd163f4..386001eb2 100644
--- a/deps/npm/lib/version.js
+++ b/deps/npm/lib/version.js
@@ -11,7 +11,7 @@ var exec = require("child_process").execFile
, which = require("which")
, npm = require("./npm.js")
-version.usage = "npm version [<newversion> | major | minor | patch | build]\n"
+version.usage = "npm version [<newversion> | major | minor | patch]\n"
+ "\n(run in package dir)\n"
+ "'npm -v' or 'npm --version' to print npm version "
+ "("+npm.version+")\n"
diff --git a/deps/npm/lib/view.js b/deps/npm/lib/view.js
index b88f98a09..babd072f7 100644
--- a/deps/npm/lib/view.js
+++ b/deps/npm/lib/view.js
@@ -13,7 +13,7 @@ view.completion = function (opts, cb) {
if (er) return cb(er)
var dv = d.versions[d["dist-tags"][tag]]
, fields = []
- d.versions = Object.keys(d.versions).sort(semver.compare)
+ d.versions = Object.keys(d.versions).sort(semver.compareLoose)
fields = getFields(d).concat(getFields(dv))
cb(null, fields)
})
@@ -64,7 +64,7 @@ function view (args, silent, cb) {
var results = []
, error = null
, versions = data.versions
- data.versions = Object.keys(data.versions).sort(semver.compare)
+ data.versions = Object.keys(data.versions).sort(semver.compareLoose)
if (!args.length) args = [""]
// remove readme unless we asked for it
@@ -73,7 +73,7 @@ function view (args, silent, cb) {
}
Object.keys(versions).forEach(function (v) {
- if (semver.satisfies(v, version)) args.forEach(function (args) {
+ if (semver.satisfies(v, version, true)) args.forEach(function (args) {
// remove readme unless we asked for it
if (-1 === args.indexOf("readme")) {
delete versions[v].readme
diff --git a/deps/npm/man/man1/README.1 b/deps/npm/man/man1/README.1
deleted file mode 100644
index feb5f8d4a..000000000
--- a/deps/npm/man/man1/README.1
+++ /dev/null
@@ -1,325 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM" "1" "June 2013" "" ""
-.
-.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\.6 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 "Super Easy Install"
-npm comes with node now\.
-.
-.SS "Windows Computers"
-Get the MSI\. npm is in it\.
-.
-.SS "Apple Macintosh Computers"
-Get the pkg\. npm is in it\.
-.
-.SS "Other Sorts of Unices"
-Run \fBmake install\fR\|\. npm will be installed with node\.
-.
-.P
-If you want a more fancy pants install (a different version, customized
-paths, etc\.) then read on\.
-.
-.SH "Fancy Install (Unix)"
-There\'s a pretty robust install script at \fIhttps://npmjs\.org/install\.sh\fR\|\. You can download that and run it\.
-.
-.SS "Slightly Fancier"
-You can set any npm configuration params with that script:
-.
-.IP "" 4
-.
-.nf
-npm_config_prefix=/some/path sh install\.sh
-.
-.fi
-.
-.IP "" 0
-.
-.P
-Or, you can run it in uber\-debuggery mode:
-.
-.IP "" 4
-.
-.nf
-npm_debug=1 sh install\.sh
-.
-.fi
-.
-.IP "" 0
-.
-.SS "Even Fancier"
-Get the code with git\. Use \fBmake\fR to build the docs and do other stuff\.
-If you plan on hacking on npm, \fBmake link\fR is your friend\.
-.
-.P
-If you\'ve got the npm source code, you can also semi\-permanently set
-arbitrary config keys using the \fB\|\./configure \-\-key=val \.\.\.\fR, and then
-run npm commands by doing \fBnode cli\.js <cmd> <args>\fR\|\. (This is helpful
-for testing, or running stuff without actually installing npm itself\.)
-.
-.SH "Fancy Windows Install"
-You can download a zip file from \fIhttps://npmjs\.org/dist/\fR, and unpack it
-in the same folder where node\.exe lives\.
-.
-.P
-If that\'s not fancy enough for you, then you can fetch the code with
-git, and mess with it directly\.
-.
-.SH "Installing on Cygwin"
-No\.
-.
-.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\.
-.
-.P
-Most of the time, unless you actually want to do all the things that
-npm does, you should try using one of npm\'s dependencies rather than
-using npm itself, if possible\.
-.
-.P
-Eventually, npm will be just a thin cli wrapper around the modules
-that it depends on, but for now, there are some things that you must
-use npm itself to do\.
-.
-.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 \fIhttps://npmjs\.org/doc/\fR,
-especially the faq \fIhttps://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 \fIhttps://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 "BUGS"
-When you find issues, please report them:
-.
-.IP "\(bu" 4
-web: \fIhttps://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 "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
deleted file mode 100644
index 4e948a8ff..000000000
--- a/deps/npm/man/man1/adduser.1
+++ /dev/null
@@ -1,57 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-ADDUSER" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 6373c3ee4..000000000
--- a/deps/npm/man/man1/author.1
+++ /dev/null
@@ -1,55 +0,0 @@
-.\" 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
deleted file mode 100644
index 39b903405..000000000
--- a/deps/npm/man/man1/bin.1
+++ /dev/null
@@ -1,34 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-BIN" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 062130e96..000000000
--- a/deps/npm/man/man1/bugs.1
+++ /dev/null
@@ -1,70 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-BUGS" "1" "June 2013" "" ""
-.
-.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, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\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
deleted file mode 100644
index 9b06a852e..000000000
--- a/deps/npm/man/man1/build.1
+++ /dev/null
@@ -1,43 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-BUILD" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index e134b1c8e..000000000
--- a/deps/npm/man/man1/bundle.1
+++ /dev/null
@@ -1,23 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-BUNDLE" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index d3b7c6207..000000000
--- a/deps/npm/man/man1/cache.1
+++ /dev/null
@@ -1,97 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-CACHE" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 80e08dd1a..000000000
--- a/deps/npm/man/man1/changelog.1
+++ /dev/null
@@ -1,173 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-CHANGELOG" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-changelog\fR \-\- Changes
-.
-.SH "HISTORY"
-.
-.SS "1\.1\.3, 1\.1\.4"
-.
-.IP "\(bu" 4
-Update request to support HTTPS\-over\-HTTP proxy tunneling
-.
-.IP "\(bu" 4
-Throw on undefined envs in config settings
-.
-.IP "\(bu" 4
-Update which to 1\.0\.5
-.
-.IP "\(bu" 4
-Fix windows UNC busyloop in findPrefix
-.
-.IP "\(bu" 4
-Bundle nested bundleDependencies properly
-.
-.IP "\(bu" 4
-Alias adduser to add\-user
-.
-.IP "\(bu" 4
-Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)
-.
-.IP "\(bu" 4
-ignore logfd/outfd streams in makeEnv() (Rod Vagg)
-.
-.IP "\(bu" 4
-shrinkwrap: Behave properly with url\-installed deps
-.
-.IP "\(bu" 4
-install: Support \-\-save with url install targets
-.
-.IP "\(bu" 4
-Support installing naked tars or single\-file modules from urls etc\.
-.
-.IP "\(bu" 4
-init: Don\'t add engines section
-.
-.IP "\(bu" 4
-Don\'t run make clean on rebuild
-.
-.IP "\(bu" 4
-Added missing unicode replacement (atomizer)
-.
-.IP "" 0
-.
-.SS "1\.1\.2"
-Dave Pacheco (2):
- add "npm shrinkwrap"
-.
-.P
-Martin Cooper (1):
- Fix #1753 Make a copy of the cached objects we\'ll modify\.
-.
-.P
-Tim Oxley (1):
- correctly remove readme from default npm view command\.
-.
-.P
-Tyler Green (1):
- fix #2187 set terminal columns to Infinity if 0
-.
-.P
-isaacs (19):
- update minimatch
- update request
- Experimental: single\-file modules
- Fix #2172 Don\'t remove global mans uninstalling local pkgs
- Add \-\-versions flag to show the version of node as well
- Support \-\-json flag for ls output
- update request to 2\.9\.151
-.
-.SS "1\.1"
-.
-.IP "\(bu" 4
-Replace system tar dependency with a JS tar
-.
-.IP "\(bu" 4
-Continue to refine
-.
-.IP "" 0
-.
-.SS "1\.0"
-.
-.IP "\(bu" 4
-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
deleted file mode 100644
index 25147bfb0..000000000
--- a/deps/npm/man/man1/coding-style.1
+++ /dev/null
@@ -1,254 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-CODING\-STYLE" "1" "June 2013" "" ""
-.
-.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\.
-.
-.P
-Note: this concerns npm\'s code not the specific packages at npmjs\.org
-.
-.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
-\fBcase "foo": doSomething(); break\fR
-.
-.IP "\(bu" 4
-In front of a leading \fB(\fR or \fB[\fR at the start of the line\.
-This prevents the expression from being interpreted
-as a function call or property access, respectively\.
-.
-.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\.
-.
-.SH "Logging"
-Logging is done using the npmlog \fIhttps://github\.com/isaacs/npmlog\fR
-utility\.
-.
-.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
-Use appropriate log levels\. 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
deleted file mode 100644
index 2d698a1eb..000000000
--- a/deps/npm/man/man1/completion.1
+++ /dev/null
@@ -1,47 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-COMPLETION" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 52c19d827..000000000
--- a/deps/npm/man/man1/config.1
+++ /dev/null
@@ -1,1523 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-CONFIG" "1" "June 2013" "" ""
-.
-.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\.
-Environment variables can be replaced using \fB${VARIABLE_NAME}\fR\|\. For example:
-.
-.IP "" 4
-.
-.nf
-prefix = ${HOME}/\.npm\-packages
-.
-.fi
-.
-.IP "" 0
-.
-.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\.
-Environment variables can be replaced as above\.
-.
-.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\-q\fR, \fB\-\-quiet\fR: \fB\-\-loglevel warn\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\-desc\fR: \fB\-\-description\fR
-.
-.IP "\(bu" 4
-\fB\-S\fR: \fB\-\-save\fR
-.
-.IP "\(bu" 4
-\fB\-D\fR: \fB\-\-save\-dev\fR
-.
-.IP "\(bu" 4
-\fB\-O\fR: \fB\-\-save\-optional\fR
-.
-.IP "\(bu" 4
-\fB\-B\fR: \fB\-\-save\-bundle\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\-links"
-.
-.IP "\(bu" 4
-Default: \fBtrue\fR
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Tells npm to create symlinks (or \fB\|\.cmd\fR shims on Windows) for package
-executables\.
-.
-.P
-Set to false to have it not do this\. This can be used to work around
-the fact that some file systems don\'t support symlinks, even on
-ostensibly Unix systems\.
-.
-.SS "browser"
-.
-.IP "\(bu" 4
-Default: OS X: \fB"open"\fR, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\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%APPDATA%\\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 "cache\-lock\-stale"
-.
-.IP "\(bu" 4
-Default: 60000 (1 minute)
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The number of ms before cache folder lockfiles are considered stale\.
-.
-.SS "cache\-lock\-retries"
-.
-.IP "\(bu" 4
-Default: 10
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-Number of times to retry to acquire a lock on cache folder lockfiles\.
-.
-.SS "cache\-lock\-wait"
-.
-.IP "\(bu" 4
-Default: 10000 (10 seconds)
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-Number of ms to wait for cache lock files to expire\.
-.
-.SS "cache\-max"
-.
-.IP "\(bu" 4
-Default: Infinity
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The maximum time (in seconds) to keep items in the registry cache before
-re\-checking against the registry\.
-.
-.P
-Note that no purging is done unless the \fBnpm cache clean\fR command is
-explicitly used, and that only GET requests use the cache\.
-.
-.SS "cache\-min"
-.
-.IP "\(bu" 4
-Default: 10
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The minimum time (in seconds) to keep items in the registry cache before
-re\-checking against the registry\.
-.
-.P
-Note that no purging is done unless the \fBnpm cache clean\fR command is
-explicitly used, and that only GET requests use the cache\.
-.
-.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 "coverage"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-A flag to tell test\-harness to run with their coverage options enabled,
-if they respond to the \fBnpm_config_coverage\fR environment variable\.
-.
-.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 "engine\-strict"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-If set to true, then npm will stubbornly refuse to install (or even
-consider installing) any package that claims to not be compatible with
-the current Node\.js version\.
-.
-.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 "fetch\-retries"
-.
-.IP "\(bu" 4
-Default: 2
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The "retries" config for the \fBretry\fR module to use when fetching
-packages from the registry\.
-.
-.SS "fetch\-retry\-factor"
-.
-.IP "\(bu" 4
-Default: 10
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The "factor" config for the \fBretry\fR module to use when fetching
-packages\.
-.
-.SS "fetch\-retry\-mintimeout"
-.
-.IP "\(bu" 4
-Default: 10000 (10 seconds)
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The "minTimeout" config for the \fBretry\fR module to use when fetching
-packages\.
-.
-.SS "fetch\-retry\-maxtimeout"
-.
-.IP "\(bu" 4
-Default: 60000 (1 minute)
-.
-.IP "\(bu" 4
-Type: Number
-.
-.IP "" 0
-.
-.P
-The "maxTimeout" config for the \fBretry\fR module to use when fetching
-packages\.
-.
-.SS "git"
-.
-.IP "\(bu" 4
-Default: \fB"git"\fR
-.
-.IP "\(bu" 4
-Type: String
-.
-.IP "" 0
-.
-.P
-The command to use for git commands\. If git is installed on the
-computer, but is not in the \fBPATH\fR, then set this to the full path to
-the git binary\.
-.
-.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 \fB{prefix}/lib/node_modules\fR folder, instead of the
-current working directory\.
-.
-.IP "\(bu" 4
-bin files are linked to \fB{prefix}/bin\fR
-.
-.IP "\(bu" 4
-man pages are linked to \fB{prefix}/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 "user\-agent"
-.
-.IP "\(bu" 4
-Default: node/{process\.version} {process\.platform} {process\.arch}
-.
-.IP "\(bu" 4
-Type: String
-.
-.IP "" 0
-.
-.P
-Sets a User\-Agent to the request header
-.
-.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\-module"
-.
-.IP "\(bu" 4
-Default: ~/\.npm\-init\.js
-.
-.IP "\(bu" 4
-Type: path
-.
-.IP "" 0
-.
-.P
-A module that will be loaded by the \fBnpm init\fR command\. See the
-documentation for the init\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR module
-for more information, or npm help init\.
-.
-.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: ""
-.
-.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 "json"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Whether or not to output JSON data, rather than the normal output\.
-.
-.P
-This feature is currently experimental, and the output data structures
-for many commands is either not implemented in JSON yet, or subject to
-change\. Only the output from \fBnpm ls \-\-json\fR is currently valid\.
-.
-.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 "loglevel"
-.
-.IP "\(bu" 4
-Default: "http"
-.
-.IP "\(bu" 4
-Type: String
-.
-.IP "\(bu" 4
-Values: "silent", "win", "error", "warn", "http", "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\.
-.
-.P
-Any logs of a higher level than the setting are shown\.
-The default is "http", which shows http, warn, and error output\.
-.
-.SS "logstream"
-.
-.IP "\(bu" 4
-Default: process\.stderr
-.
-.IP "\(bu" 4
-Type: Stream
-.
-.IP "" 0
-.
-.P
-This is the stream that is passed to the npmlog \fIhttps://github\.com/isaacs/npmlog\fR module at run time\.
-.
-.P
-It cannot be set from the command line, but if you are using npm
-programmatically, you may wish to send logs to somewhere other than
-stderr\.
-.
-.P
-If the \fBcolor\fR config is set to true, then this stream will receive
-colored output if it is a TTY\.
-.
-.SS "long"
-.
-.IP "\(bu" 4
-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 "optional"
-.
-.IP "\(bu" 4
-Default: true
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Attempt to install packages in the \fBoptionalDependencies\fR hash\. Note
-that if these packages fail to install, the overall installation
-process is not aborted\.
-.
-.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: see npm help folders
-.
-.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 "proprietary\-attribs"
-.
-.IP "\(bu" 4
-Default: true
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Whether or not to include proprietary extended attributes in the
-tarballs created by npm\.
-.
-.P
-Unless you are expecting to unpack package tarballs with something other
-than npm \-\- particularly a very outdated tar implementation \-\- leave
-this as true\.
-.
-.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
-When used with the \fBnpm rm\fR command, it removes it from the dependencies
-hash\.
-.
-.P
-Only works if there is already a package\.json file present\.
-.
-.SS "save\-bundle"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-If a package would be saved at install time by the use of \fB\-\-save\fR, \fB\-\-save\-dev\fR, or \fB\-\-save\-optional\fR, then also put it in the \fBbundleDependencies\fR list\.
-.
-.P
-When used with the \fBnpm rm\fR command, it removes it from the
-bundledDependencies list\.
-.
-.SS "save\-dev"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Save installed packages to a package\.json file as devDependencies\.
-.
-.P
-When used with the \fBnpm rm\fR command, it removes it from the devDependencies
-hash\.
-.
-.P
-Only works if there is already a package\.json file present\.
-.
-.SS "save\-optional"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Save installed packages to a package\.json file as optionalDependencies\.
-.
-.P
-When used with the \fBnpm rm\fR command, it removes it from the devDependencies
-hash\.
-.
-.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 "searchsort"
-.
-.IP "\(bu" 4
-Default: "name"
-.
-.IP "\(bu" 4
-Type: String
-.
-.IP "\(bu" 4
-Values: "name", "\-name", "date", "\-date", "description",
-"\-description", "keywords", "\-keywords"
-.
-.IP "" 0
-.
-.P
-Indication of which field to sort search results by\. Prefix with a \fB\-\fR
-character to indicate reverse sort\.
-.
-.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 "shrinkwrap"
-.
-.IP "\(bu" 4
-Default: true
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-If set to false, then ignore \fBnpm\-shrinkwrap\.json\fR files when
-installing\.
-.
-.SS "sign\-git\-tag"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-If set to true, then the \fBnpm version\fR command will tag the version
-using \fB\-s\fR to add a signature\.
-.
-.P
-Note that git requires you to have set up GPG keys in your git configs
-for this to work properly\.
-.
-.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 "versions"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: boolean
-.
-.IP "" 0
-.
-.P
-If true, output the npm version as well as node\'s \fBprocess\.versions\fR
-hash, 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/dedupe.1 b/deps/npm/man/man1/dedupe.1
deleted file mode 100644
index b3ac26b80..000000000
--- a/deps/npm/man/man1/dedupe.1
+++ /dev/null
@@ -1,90 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DEDUPE" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-dedupe\fR \-\- Reduce duplication
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm dedupe [package names\.\.\.]
-.
-.fi
-.
-.SH "DESCRIPTION"
-Searches the local package tree and attempts to simplify the overall
-structure by moving dependencies further up the tree, where they can
-be more effectively shared by multiple dependent packages\.
-.
-.P
-For example, consider this dependency graph:
-.
-.IP "" 4
-.
-.nf
-a
-+\-\- b <\-\- depends on c@1\.0\.x
-| `\-\- c@1\.0\.3
-`\-\- d <\-\- depends on c@~1\.0\.9
- `\-\- c@1\.0\.10
-.
-.fi
-.
-.IP "" 0
-.
-.P
-In this case, \fBnpm help dedupe\fR will transform the tree to:
-.
-.IP "" 4
-.
-.nf
-a
-+\-\- b
-+\-\- d
-`\-\- c@1\.0\.10
-.
-.fi
-.
-.IP "" 0
-.
-.P
-Because of the hierarchical nature of node\'s module lookup, b and d
-will both get their dependency met by the single c package at the root
-level of the tree\.
-.
-.P
-If a suitable version exists at the target location in the tree
-already, then it will be left untouched, but the other duplicates will
-be deleted\.
-.
-.P
-If no suitable version can be found, then a warning is printed, and
-nothing is done\.
-.
-.P
-If any arguments are supplied, then they are filters, and only the
-named packages will be touched\.
-.
-.P
-Note that this operation transforms the dependency tree, and may
-result in packages getting updated versions, perhaps from the npm
-registry\.
-.
-.P
-This feature is experimental, and may change in future versions\.
-.
-.SH "SEE ALSO"
-.
-.IP "\(bu" 4
-npm help ls
-.
-.IP "\(bu" 4
-npm help update
-.
-.IP "\(bu" 4
-npm help install
-.
-.IP "" 0
-
diff --git a/deps/npm/man/man1/deprecate.1 b/deps/npm/man/man1/deprecate.1
deleted file mode 100644
index e41c1ca3e..000000000
--- a/deps/npm/man/man1/deprecate.1
+++ /dev/null
@@ -1,48 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DEPRECATE" "1" "June 2013" "" ""
-.
-.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\.
-.
-.P
-To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessage\fR argument\.
-.
-.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
deleted file mode 100644
index 9e007ed9e..000000000
--- a/deps/npm/man/man1/developers.1
+++ /dev/null
@@ -1,335 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DEVELOPERS" "1" "June 2013" "" ""
-.
-.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 "
-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 "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 "
-Use a \fB\|\.npmignore\fR file to keep stuff out of your package\. If there\'s
-no \fB\|\.npmignore\fR file, but there \fIis\fR a \fB\|\.gitignore\fR file, then npm will
-ignore the stuff matched by the \fB\|\.gitignore\fR file\. If you \fIwant\fR to
-include something that is excluded by your \fB\|\.gitignore\fR file, you can
-create an empty \fB\|\.npmignore\fR file to override it\.
-.
-.P
-By default, the following paths and files are ignored, so there\'s no
-need to add them to \fB\|\.npmignore\fR explicitly:
-.
-.IP "\(bu" 4
-\fB\|\.*\.swp\fR
-.
-.IP "\(bu" 4
-\fB\|\._*\fR
-.
-.IP "\(bu" 4
-\fB\|\.DS_Store\fR
-.
-.IP "\(bu" 4
-\fB\|\.git\fR
-.
-.IP "\(bu" 4
-\fB\|\.hg\fR
-.
-.IP "\(bu" 4
-\fB\|\.lock\-wscript\fR
-.
-.IP "\(bu" 4
-\fB\|\.svn\fR
-.
-.IP "\(bu" 4
-\fB\|\.wafpickle\-*\fR
-.
-.IP "\(bu" 4
-\fBCVS\fR
-.
-.IP "\(bu" 4
-\fBnpm\-debug\.log\fR
-.
-.IP "" 0
-.
-.P
-Additionally, everything in \fBnode_modules\fR is ignored, except for
-bundled dependencies\. npm automatically handles this for you, so don\'t
-bother adding \fBnode_modules\fR to \fB\|\.npmignore\fR\|\.
-.
-.P
-The following paths and files are never ignored, so adding them to \fB\|\.npmignore\fR is pointless:
-.
-.IP "\(bu" 4
-\fBpackage\.json\fR
-.
-.IP "\(bu" 4
-\fBREADME\.*\fR
-.
-.IP "" 0
-.
-.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\|\.npmignore\fR file to list out the globs to 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/disputes.1 b/deps/npm/man/man1/disputes.1
deleted file mode 100644
index 7a7db0034..000000000
--- a/deps/npm/man/man1/disputes.1
+++ /dev/null
@@ -1,145 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DISPUTES" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-disputes\fR \-\- Handling Module Name Disputes
-.
-.SH "SYNOPSIS"
-.
-.IP "1" 4
-Get the author email with \fBnpm owner ls <pkgname>\fR
-.
-.IP "2" 4
-Email the author, CC \fIi@izs\.me\fR\|\.
-.
-.IP "3" 4
-After a few weeks, if there\'s no resolution, we\'ll sort it out\.
-.
-.IP "" 0
-.
-.P
-Don\'t squat on package names\. Publish code or move out of the way\.
-.
-.SH "DESCRIPTION"
-There sometimes arise cases where a user publishes a module, and then
-later, some other user wants to use that name\. Here are some common
-ways that happens (each of these is based on actual events\.)
-.
-.IP "1" 4
-Joe writes a JavaScript module \fBfoo\fR, which is not node\-specific\.
-Joe doesn\'t use node at all\. Bob wants to use \fBfoo\fR in node, so he
-wraps it in an npm module\. Some time later, Joe starts using node,
-and wants to take over management of his program\.
-.
-.IP "2" 4
-Bob writes an npm module \fBfoo\fR, and publishes it\. Perhaps much
-later, Joe finds a bug in \fBfoo\fR, and fixes it\. He sends a pull
-request to Bob, but Bob doesn\'t have the time to deal with it,
-because he has a new job and a new baby and is focused on his new
-erlang project, and kind of not involved with node any more\. Joe
-would like to publish a new \fBfoo\fR, but can\'t, because the name is
-taken\.
-.
-.IP "3" 4
-Bob writes a 10\-line flow\-control library, and calls it \fBfoo\fR, and
-publishes it to the npm registry\. Being a simple little thing, it
-never really has to be updated\. Joe works for Foo Inc, the makers
-of the critically acclaimed and widely\-marketed \fBfoo\fR JavaScript
-toolkit framework\. They publish it to npm as \fBfoojs\fR, but people are
-routinely confused when \fBnpm install foo\fR is some different thing\.
-.
-.IP "4" 4
-Bob writes a parser for the widely\-known \fBfoo\fR file format, because
-he needs it for work\. Then, he gets a new job, and never updates the
-prototype\. Later on, Joe writes a much more complete \fBfoo\fR parser,
-but can\'t publish, because Bob\'s \fBfoo\fR is in the way\.
-.
-.IP "" 0
-.
-.P
-The validity of Joe\'s claim in each situation can be debated\. However,
-Joe\'s appropriate course of action in each case is the same\.
-.
-.IP "1" 4
-\fBnpm owner ls foo\fR\|\. This will tell Joe the email address of the
-owner (Bob)\.
-.
-.IP "2" 4
-Joe emails Bob, explaining the situation \fBas respectfully as possible\fR,
-and what he would like to do with the module name\. He adds
-isaacs \fIi@izs\.me\fR to the CC list of the email\. Mention in the email
-that Bob can run \fBnpm owner add joe foo\fR to add Joe as an owner of
-the \fBfoo\fR package\.
-.
-.IP "3" 4
-After a reasonable amount of time, if Bob has not responded, or if
-Bob and Joe can\'t come to any sort of resolution, email isaacs \fIi@izs\.me\fR and we\'ll sort it out\. ("Reasonable" is usually about 4
-weeks, but extra time is allowed around common holidays\.)
-.
-.IP "" 0
-.
-.SH "REASONING"
-In almost every case so far, the parties involved have been able to reach
-an amicable resolution without any major intervention\. Most people
-really do want to be reasonable, and are probably not even aware that
-they\'re in your way\.
-.
-.P
-Module ecosystems are most vibrant and powerful when they are as
-self\-directed as possible\. If an admin one day deletes something you
-had worked on, then that is going to make most people quite upset,
-regardless of the justification\. When humans solve their problems by
-talking to other humans with respect, everyone has the chance to end up
-feeling good about the interaction\.
-.
-.SH "EXCEPTIONS"
-Some things are not allowed, and will be removed without discussion if
-they are brought to the attention of the npm registry admins, including
-but not limited to:
-.
-.IP "1" 4
-Malware (that is, a package designed to exploit or harm the machine on
-which it is installed)\.
-.
-.IP "2" 4
-Violations of copyright or licenses (for example, cloning an
-MIT\-licensed program, and then removing or changing the copyright and
-license statement)\.
-.
-.IP "3" 4
-Illegal content\.
-.
-.IP "4" 4
-"Squatting" on a package name that you \fIplan\fR to use, but aren\'t
-actually using\. Sorry, I don\'t care how great the name is, or how
-perfect a fit it is for the thing that someday might happen\. If
-someone wants to use it today, and you\'re just taking up space with
-an empty tarball, you\'re going to be evicted\.
-.
-.IP "5" 4
-Putting empty packages in the registry\. Packages must have SOME
-functionality\. It can be silly, but it can\'t be \fInothing\fR\|\. (See
-also: squatting\.)
-.
-.IP "6" 4
-Doing weird things with the registry, like using it as your own
-personal application database or otherwise putting non\-packagey
-things into it\.
-.
-.IP "" 0
-.
-.P
-If you see bad behavior like this, please report it right away\.
-.
-.SH "SEE ALSO"
-.
-.IP "\(bu" 4
-npm help registry
-.
-.IP "\(bu" 4
-npm help owner
-.
-.IP "" 0
-
diff --git a/deps/npm/man/man1/docs.1 b/deps/npm/man/man1/docs.1
deleted file mode 100644
index 3a576fa53..000000000
--- a/deps/npm/man/man1/docs.1
+++ /dev/null
@@ -1,68 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DOCS" "1" "June 2013" "" ""
-.
-.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, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\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
deleted file mode 100644
index dcb4f4caf..000000000
--- a/deps/npm/man/man1/edit.1
+++ /dev/null
@@ -1,60 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-EDIT" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 02870ef4b..000000000
--- a/deps/npm/man/man1/explore.1
+++ /dev/null
@@ -1,76 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-EXPLORE" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 68353e594..000000000
--- a/deps/npm/man/man1/faq.1
+++ /dev/null
@@ -1,405 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-FAQ" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-faq\fR \-\- Frequently Asked Questions
-.
-.SH "Where can I find these docs in HTML?"
-\fIhttps://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&#39;t work\."
-That\'s not really a question\.
-.
-.SH "Why didn&#39;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 on my computer in a central location?"
-Install it globally by tacking \fB\-g\fR or \fB\-\-global\fR to the command\. (This
-is especially important for command line utilities that need to add
-their bins to the global system \fBPATH\fR\|\.)
-.
-.SH "I installed something globally, but I can&#39;t "
-Install it locally\.
-.
-.P
-The global install location is a place for command\-line utilities
-to put their bins in the system \fBPATH\fR\|\. It\'s not for use with \fBrequire()\fR\|\.
-.
-.P
-If you \fBrequire()\fR a module in your code, then that means it\'s a
-dependency, and a part of your program\. You need to install it locally
-in your program\.
-.
-.SH "Why can&#39;t npm just put everything in one place, like other package managers?"
-Not every change is an improvement, but every improvement is a change\.
-This would be like asking git to do network IO for every commit\. It\'s
-not going to happen, because it\'s a terrible idea that causes more
-problems than it solves\.
-.
-.P
-It is much harder to avoid dependency conflicts without nesting
-dependencies\. This is fundamental to the way that npm works, and has
-proven to be an extremely successful approach\. See \fBnpm help folders\fR for
-more details\.
-.
-.P
-If you want a package to be installed in one place, and have all your
-programs reference the same copy of it, then use the \fBnpm link\fR command\.
-That\'s what it\'s for\. Install it globally, then link it into each
-program that uses it\.
-.
-.SH "Whatever, I really want the old style &#39;everything global&#39; style\."
-Write your own package manager, then\. It\'s not that hard\.
-.
-.P
-npm will not help you do something that is known to be a bad idea\.
-.
-.SH "<code>&quot;node_modules&quot;</code>"
-No\. This will never happen\. This question comes up sometimes,
-because it seems silly from the outside that npm couldn\'t just be
-configured to put stuff somewhere else, and then npm could load them
-from there\. It\'s an arbitrary spelling choice, right? What\'s the big
-deal?
-.
-.P
-At the time of this writing, the string \fB\'node_modules\'\fR appears 151
-times in 53 separate files in npm and node core (excluding tests and
-documentation)\.
-.
-.P
-Some of these references are in node\'s built\-in module loader\. Since
-npm is not involved \fBat all\fR at run\-time, node itself would have to
-be configured to know where you\'ve decided to stick stuff\. Complexity
-hurdle #1\. Since the Node module system is locked, this cannot be
-changed, and is enough to kill this request\. But I\'ll continue, in
-deference to your deity\'s delicate feelings regarding spelling\.
-.
-.P
-Many of the others are in dependencies that npm uses, which are not
-necessarily tightly coupled to npm (in the sense that they do not read
-npm\'s configuration files, etc\.) Each of these would have to be
-configured to take the name of the \fBnode_modules\fR folder as a
-parameter\. Complexity hurdle #2\.
-.
-.P
-Furthermore, npm has the ability to "bundle" dependencies by adding
-the dep names to the \fB"bundledDependencies"\fR list in package\.json,
-which causes the folder to be included in the package tarball\. What
-if the author of a module bundles its dependencies, and they use a
-different spelling for \fBnode_modules\fR? npm would have to rename the
-folder at publish time, and then be smart enough to unpack it using
-your locally configured name\. Complexity hurdle #3\.
-.
-.P
-Furthermore, what happens when you \fIchange\fR this name? Fine, it\'s
-easy enough the first time, just rename the \fBnode_modules\fR folders to \fB\|\./blergyblerp/\fR or whatever name you choose\. But what about when you
-change it again? npm doesn\'t currently track any state about past
-configuration settings, so this would be rather difficult to do
-properly\. It would have to track every previous value for this
-config, and always accept any of them, or else yesterday\'s install may
-be broken tomorrow\. Complexity hurdle #5\.
-.
-.P
-Never going to happen\. The folder is named \fBnode_modules\fR\|\. It is
-written indelibly in the Node Way, handed down from the ancient times
-of Node 0\.3\.
-.
-.SH "Should I check my "
-Mikeal Rogers answered this question very well:
-.
-.P
-\fIhttp://www\.mikealrogers\.com/posts/nodemodules\-in\-git\.html\fR
-.
-.P
-tl;dr
-.
-.IP "\(bu" 4
-Check \fBnode_modules\fR into git for things you \fBdeploy\fR, such as
-websites and apps\.
-.
-.IP "\(bu" 4
-Do not check \fBnode_modules\fR into git for libraries and modules
-intended to be reused\.
-.
-.IP "\(bu" 4
-Use npm to manage dependencies in your dev environment, but not in
-your deployment scripts\.
-.
-.IP "" 0
-.
-.SH "Is it &#39;npm&#39; or &#39;NPM&#39; or &#39;Npm&#39;?"
-npm should never be capitalized unless it is being displayed in a
-location that is customarily all\-caps (such as the title of man pages\.)
-.
-.SH "If &#39;npm&#39; 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 https://npmjs\.org/install\.sh | sh
-.
-.fi
-.
-.IP "" 0
-.
-.SH "What is a "
-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 node version managers:
-.
-.P
-Unix:
-.
-.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
-.
-.P
-Windows:
-.
-.IP "\(bu" 4
-\fIhttp://github\.com/marcelklehr/nodist\fR
-.
-.IP "\(bu" 4
-\fIhttps://github\.com/hakobera/nvmw\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&#39;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&#39;s up with the insecure channel warnings?"
-Until node 0\.4\.10, there were problems sending big files over HTTPS\. That
-means that publishes go over HTTP by default in those versions of node\.
-.
-.SH "I forgot my password, and can&#39;t publish\. How do I reset it?"
-Go to \fIhttps://npmjs\.org/forgot\fR\|\.
-.
-.SH "I get ECONNREFUSED a lot\. What&#39;s up?"
-Either the registry is down, or node\'s DNS isn\'t able to reach out\.
-.
-.P
-To check if the registry is down, open up \fIhttp://registry\.npmjs\.org/\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 "Why no namespaces?"
-Please see this discussion: \fIhttps://github\.com/isaacs/npm/issues/798\fR
-.
-.P
-tl;dr \- It doesn\'t actually make things better, and can make them worse\.
-.
-.P
-If you want to namespace your own packages, you may: simply use the \fB\-\fR character to separate the names\. npm is a mostly anarchic system\.
-There is not sufficient need to impose namespace rules on everyone\.
-.
-.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
-\fIhttps://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
deleted file mode 100644
index 653597ffa..000000000
--- a/deps/npm/man/man1/find.1
+++ /dev/null
@@ -1,72 +0,0 @@
-.\" 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
deleted file mode 100644
index 3d9d4900f..000000000
--- a/deps/npm/man/man1/folders.1
+++ /dev/null
@@ -1,258 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-FOLDERS" "1" "June 2013" "" ""
-.
-.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\.
-.
-.SS "\fIExample\fR"
-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 \fBbar@1\.2\.3\fR and \fBbaz@1\.2\.3\fR, 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 satisfies bar\'s dependency on \fBblerg@1\.x\fR,
-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 bar is already in quux\'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
deleted file mode 100644
index 5075c9f0c..000000000
--- a/deps/npm/man/man1/get.1
+++ /dev/null
@@ -1,1154 +0,0 @@
-.\" 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
deleted file mode 100644
index 36ebf1777..000000000
--- a/deps/npm/man/man1/global.1
+++ /dev/null
@@ -1,258 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-FOLDERS" "1" "June 2013" "" ""
-.
-.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\.
-.
-.SS "\fIExample\fR"
-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
deleted file mode 100644
index 8f1a6f0ee..000000000
--- a/deps/npm/man/man1/help-search.1
+++ /dev/null
@@ -1,59 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-HELP\-SEARCH" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index bdf4d1aa5..000000000
--- a/deps/npm/man/man1/help.1
+++ /dev/null
@@ -1,71 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-HELP" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index c63dd3cd9..000000000
--- a/deps/npm/man/man1/home.1
+++ /dev/null
@@ -1,68 +0,0 @@
-.\" 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
deleted file mode 100644
index 39b7c2e05..000000000
--- a/deps/npm/man/man1/index.1
+++ /dev/null
@@ -1,298 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-INDEX" "1" "June 2013" "" ""
-.
-.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 dedupe"
- Reduce duplication
-.
-.SH "npm help deprecate"
- Deprecate a version of a package
-.
-.SH "npm help developers"
- Developer Guide
-.
-.SH "npm help disputes"
- Handling Module Name Disputes
-.
-.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 global"
- 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 ls"
- 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 rm"
- Remove 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 shrinkwrap"
- Lock down dependency versions
-.
-.SH "npm help star"
- Mark your favorite packages
-.
-.SH "npm help stars"
- View packages marked as favorites
-.
-.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 shrinkwrap"
- programmatically generate package shrinkwrap file
-.
-.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
deleted file mode 100644
index 2e40a7aa8..000000000
--- a/deps/npm/man/man1/init.1
+++ /dev/null
@@ -1,43 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-INIT" "1" "June 2013" "" ""
-.
-.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
-\fIhttps://github\.com/isaacs/init\-package\-json\fR
-.
-.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
deleted file mode 100644
index 18bc5060a..000000000
--- a/deps/npm/man/man1/install.1
+++ /dev/null
@@ -1,417 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-INSTALL" "1" "June 2013" "" ""
-.
-.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> [\-\-save|\-\-save\-dev|\-\-save\-optional]
-npm install <name>@<tag>
-npm install <name>@<version>
-npm install <name>@<version range>
-npm install <name>@<version range>
-.
-.fi
-.
-.SH "DESCRIPTION"
-This command installs a package, and any packages that it depends on\. If the
-package has a shrinkwrap file, the installation of dependencies will be driven
-by that\. See npm help shrinkwrap\.
-.
-.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):
-.
-.IP
-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:
-.
-.IP
-Install a package that is sitting in a folder on the filesystem\.
-.
-.IP "\(bu" 4
-\fBnpm install <tarball file>\fR:
-.
-.IP
-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:
-.
-.IP
-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> [\-\-save|\-\-save\-dev|\-\-save\-optional]\fR:
-.
-.IP
-Do a \fB<name>@<tag>\fR install, where \fB<tag>\fR is the "tag" config\. (See \fBnpm help config\fR\|\.)
-.
-.IP
-In most cases, this will install the latest version
-of the module published on npm\.
-.
-.IP
-Example:
-.
-.IP
- npm install sax
-.
-.IP
-\fBnpm install\fR takes 3 exclusive, optional flags which save or update
-the package version in your main package\.json:
-.
-.IP "\(bu" 4
-\fB\-\-save\fR: Package will appear in your \fBdependencies\fR\|\.
-.
-.IP "\(bu" 4
-\fB\-\-save\-dev\fR: Package will appear in your \fBdevDependencies\fR\|\.
-.
-.IP "\(bu" 4
-\fB\-\-save\-optional\fR: Package will appear in your \fBoptionalDependencies\fR\|\.
-.
-.IP
-Examples:
-.
-.IP
- npm install sax \-\-save
- npm install node\-tap \-\-save\-dev
- npm install dtrace\-provider \-\-save\-optional
-.
-.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 "" 0
-
-.
-.IP "\(bu" 4
-\fBnpm install <name>@<tag>\fR:
-.
-.IP
-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:
-.
-.IP
-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:
-.
-.IP
-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
- npm install sax@">=0\.1\.0 <0\.2\.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
- <protocol>://[<user>@]<hostname><separator><path>[#<commit\-ish>]
-.
-.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 folders\fR\|\.
-.
-.P
-The \fB\-\-link\fR argument will cause npm to link global installs into the
-local space in some cases\.
-.
-.P
-The \fB\-\-no\-bin\-links\fR argument will prevent npm from creating symlinks for
-any binaries the package might contain\.
-.
-.P
-The \fB\-\-no\-shrinkwrap\fR argument, which will ignore an available
-shrinkwrap file and use the package\.json instead\.
-.
-.P
-The \fB\-\-nodedir=/path/to/node/source\fR argument will allow npm to find the
-node source code so that npm can compile native modules\.
-.
-.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&#39;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 "\(bu" 4
-npm help shrinkwrap
-.
-.IP "" 0
-
diff --git a/deps/npm/man/man1/json.1 b/deps/npm/man/man1/json.1
deleted file mode 100644
index 6c29bfe9a..000000000
--- a/deps/npm/man/man1/json.1
+++ /dev/null
@@ -1,853 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-JSON" "1" "June 2013" "" ""
-.
-.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"scripts":{"preinstall": "node\-gyp rebuild"}\fR
-.
-.IP
-If there is a \fBbinding\.gyp\fR file in the root of your package, npm will
-default the \fBpreinstall\fR command to compile using node\-gyp\.
-.
-.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 "license"
-You should specify a license for your package so that people know how they are
-permitted to use it, and any restrictions you\'re placing on it\.
-.
-.P
-The simplest way, assuming you\'re using a common license such as BSD or MIT, is
-to just specify the name of the license you\'re using, like this:
-.
-.IP "" 4
-.
-.nf
-{ "license" : "BSD" }
-.
-.fi
-.
-.IP "" 0
-.
-.P
-If you have more complex licensing terms, or you want to provide more detail
-in your package\.json file, you can use the more verbose plural form, like this:
-.
-.IP "" 4
-.
-.nf
-"licenses" : [
- { "type" : "MyLicense"
- , "url" : "http://github\.com/owner/project/path/to/license"
- }
-]
-.
-.fi
-.
-.IP "" 0
-.
-.P
-It\'s also a good idea to include a license file at the top level in your package\.
-.
-.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 "\(bu" 4
-\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below
-.
-.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 <1\.3\.0"\fR
-.
-.IP "\(bu" 4
-\fB"~1" = ">=1\.0\.0 <1\.1\.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\.
-.
-.SS "Git URLs as Dependencies"
-Git urls can be of the form:
-.
-.IP "" 4
-.
-.nf
-git://github\.com/user/project\.git#commit\-ish
-git+ssh://user@hostname:project\.git#commit\-ish
-git+ssh://user@hostname/project\.git#commit\-ish
-git+http://user@hostname/project/blah\.git#commit\-ish
-git+https://user@hostname/project/blah\.git#commit\-ish
-.
-.fi
-.
-.IP "" 0
-.
-.P
-The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as
-an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\.
-.
-.SH "devDependencies"
-If someone is planning on downloading and using your module in their
-program, then they probably don\'t want or need to download and build
-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 or when doing \fBnpm install\fR from the root of a package, 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 "optionalDependencies"
-If a dependency can be used, but you would like npm to proceed if it
-cannot be found or fails to install, then you may put it in the \fBoptionalDependencies\fR hash\. This is a map of package name to version
-or url, just like the \fBdependencies\fR hash\. The difference is that
-failure is tolerated\.
-.
-.P
-It is still your program\'s responsibility to handle the lack of the
-dependency\. For example, something like this:
-.
-.IP "" 4
-.
-.nf
-try {
- var foo = require(\'foo\')
- var fooVersion = require(\'foo/package\.json\')\.version
-} catch (er) {
- foo = null
-}
-if ( notGoodFooVersion(fooVersion) ) {
- foo = null
-}
-// \.\. then later in your program \.\.
-if (foo) {
- foo\.doFooThings()
-}
-.
-.fi
-.
-.IP "" 0
-.
-.P
-Entries in \fBoptionalDependencies\fR will override entries of the same name in \fBdependencies\fR, so it\'s usually best to only put in one place\.
-.
-.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
-.
-.P
-Note that, unless the user has set the \fBengine\-strict\fR config flag, this
-field is advisory only\.
-.
-.SH "engineStrict"
-If you are sure that your module will \fIdefinitely not\fR run properly on
-versions of Node/npm other than those specified in the \fBengines\fR hash,
-then you can set \fB"engineStrict": true\fR in your package\.json file\.
-This will override the user\'s \fBengine\-strict\fR config setting\.
-.
-.P
-Please do not do this unless you are really very very sure\. If your
-engines hash is something overly restrictive, you can quite easily and
-inadvertently lock yourself into obscurity and prevent your users from
-updating to new versions of Node\. Consider this choice carefully\. If
-people abuse it, it will be removed in a future version of npm\.
-.
-.SH "os"
-You can specify which operating systems your
-module will run on:
-.
-.IP "" 4
-.
-.nf
-"os" : [ "darwin", "linux" ]
-.
-.fi
-.
-.IP "" 0
-.
-.P
-You can also blacklist instead of whitelist operating systems,
-just prepend the blacklisted os with a \'!\':
-.
-.IP "" 4
-.
-.nf
-"os" : [ "!win32" ]
-.
-.fi
-.
-.IP "" 0
-.
-.P
-The host operating system is determined by \fBprocess\.platform\fR
-.
-.P
-It is allowed to both blacklist, and whitelist, although there isn\'t any
-good reason to do this\.
-.
-.SH "cpu"
-If your code only runs on certain cpu architectures,
-you can specify which ones\.
-.
-.IP "" 4
-.
-.nf
-"cpu" : [ "x64", "ia32" ]
-.
-.fi
-.
-.IP "" 0
-.
-.P
-Like the \fBos\fR option, you can also blacklist architectures:
-.
-.IP "" 4
-.
-.nf
-"cpu" : [ "!arm", "!mips" ]
-.
-.fi
-.
-.IP "" 0
-.
-.P
-The host architecture is determined by \fBprocess\.arch\fR
-.
-.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 specific 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
deleted file mode 100644
index 1e1c87a30..000000000
--- a/deps/npm/man/man1/link.1
+++ /dev/null
@@ -1,112 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-LINK" "1" "June 2013" "" ""
-.
-.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
-Note that \fBpackage\-name\fR is taken from \fBpackage\.json\fR ,
-not from directory name\.
-.
-.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
deleted file mode 100644
index 00a743ae1..000000000
--- a/deps/npm/man/man1/list.1
+++ /dev/null
@@ -1,125 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-LS" "1" "August 2012" "" ""
-.
-.SH "NAME"
-\fBnpm-ls\fR \-\- List installed packages
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm list [<pkg> \.\.\.]
-npm ls [<pkg> \.\.\.]
-npm la [<pkg> \.\.\.]
-npm ll [<pkg> \.\.\.]
-.
-.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
-Positional arguments are \fBname@version\-range\fR identifiers, which will
-limit the results to only the paths to the packages named\. Note that
-nested packages will \fIalso\fR show the paths to the specified packages\.
-For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
-.
-.IP "" 4
-.
-.nf
-npm@1.1.59 /path/to/npm
-└─┬ init\-package\-json@0\.0\.4
- └── promzard@0\.1\.5
-.
-.fi
-.
-.IP "" 0
-.
-.P
-It will show 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 "json"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Show information in JSON format\.
-.
-.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
deleted file mode 100644
index 74bf729b5..000000000
--- a/deps/npm/man/man1/ln.1
+++ /dev/null
@@ -1,108 +0,0 @@
-.\" 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
deleted file mode 100644
index 13db06343..000000000
--- a/deps/npm/man/man1/ls.1
+++ /dev/null
@@ -1,125 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-LS" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-ls\fR \-\- List installed packages
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm list [<pkg> \.\.\.]
-npm ls [<pkg> \.\.\.]
-npm la [<pkg> \.\.\.]
-npm ll [<pkg> \.\.\.]
-.
-.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
-Positional arguments are \fBname@version\-range\fR identifiers, which will
-limit the results to only the paths to the packages named\. Note that
-nested packages will \fIalso\fR show the paths to the specified packages\.
-For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
-.
-.IP "" 4
-.
-.nf
-npm@1.2.25 /path/to/npm
-└─┬ init\-package\-json@0\.0\.4
- └── promzard@0\.1\.5
-.
-.fi
-.
-.IP "" 0
-.
-.P
-It will show 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 "json"
-.
-.IP "\(bu" 4
-Default: false
-.
-.IP "\(bu" 4
-Type: Boolean
-.
-.IP "" 0
-.
-.P
-Show information in JSON format\.
-.
-.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-README.1 b/deps/npm/man/man1/npm-README.1
new file mode 100644
index 000000000..811acb2b1
--- /dev/null
+++ b/deps/npm/man/man1/npm-README.1
@@ -0,0 +1,325 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM" "1" "July 2013" "" ""
+.
+.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\.8 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 "Super Easy Install"
+npm comes with node now\.
+.
+.SS "Windows Computers"
+Get the MSI\. npm is in it\.
+.
+.SS "Apple Macintosh Computers"
+Get the pkg\. npm is in it\.
+.
+.SS "Other Sorts of Unices"
+Run \fBmake install\fR\|\. npm will be installed with node\.
+.
+.P
+If you want a more fancy pants install (a different version, customized
+paths, etc\.) then read on\.
+.
+.SH "Fancy Install (Unix)"
+There\'s a pretty robust install script at \fIhttps://npmjs\.org/install\.sh\fR\|\. You can download that and run it\.
+.
+.SS "Slightly Fancier"
+You can set any npm configuration params with that script:
+.
+.IP "" 4
+.
+.nf
+npm_config_prefix=/some/path sh install\.sh
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Or, you can run it in uber\-debuggery mode:
+.
+.IP "" 4
+.
+.nf
+npm_debug=1 sh install\.sh
+.
+.fi
+.
+.IP "" 0
+.
+.SS "Even Fancier"
+Get the code with git\. Use \fBmake\fR to build the docs and do other stuff\.
+If you plan on hacking on npm, \fBmake link\fR is your friend\.
+.
+.P
+If you\'ve got the npm source code, you can also semi\-permanently set
+arbitrary config keys using the \fB\|\./configure \-\-key=val \.\.\.\fR, and then
+run npm commands by doing \fBnode cli\.js <cmd> <args>\fR\|\. (This is helpful
+for testing, or running stuff without actually installing npm itself\.)
+.
+.SH "Fancy Windows Install"
+You can download a zip file from \fIhttps://npmjs\.org/dist/\fR, and unpack it
+in the same folder where node\.exe lives\.
+.
+.P
+If that\'s not fancy enough for you, then you can fetch the code with
+git, and mess with it directly\.
+.
+.SH "Installing on Cygwin"
+No\.
+.
+.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\.
+.
+.P
+Most of the time, unless you actually want to do all the things that
+npm does, you should try using one of npm\'s dependencies rather than
+using npm itself, if possible\.
+.
+.P
+Eventually, npm will be just a thin cli wrapper around the modules
+that it depends on, but for now, there are some things that you must
+use npm itself to do\.
+.
+.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 \fIhttps://npmjs\.org/doc/\fR,
+especially the faq \fIhttps://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 \fIhttps://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 "BUGS"
+When you find issues, please report them:
+.
+.IP "\(bu" 4
+web: \fIhttps://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 "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/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1
new file mode 100644
index 000000000..8696248be
--- /dev/null
+++ b/deps/npm/man/man1/npm-adduser.1
@@ -0,0 +1,63 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-ADDUSER" "1" "July 2013" "" ""
+.
+.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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help owner
+.
+.IP "\(bu" 4
+npm help whoami
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1
new file mode 100644
index 000000000..fe6886053
--- /dev/null
+++ b/deps/npm/man/man1/npm-bin.1
@@ -0,0 +1,40 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BIN" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
new file mode 100644
index 000000000..dc2a83752
--- /dev/null
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -0,0 +1,76 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUGS" "1" "July 2013" "" ""
+.
+.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, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-build.1 b/deps/npm/man/man1/npm-build.1
new file mode 100644
index 000000000..1cb520911
--- /dev/null
+++ b/deps/npm/man/man1/npm-build.1
@@ -0,0 +1,43 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUILD" "1" "July 2013" "" ""
+.
+.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 package\.json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-bundle.1 b/deps/npm/man/man1/npm-bundle.1
new file mode 100644
index 000000000..880d23f9d
--- /dev/null
+++ b/deps/npm/man/man1/npm-bundle.1
@@ -0,0 +1,23 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUNDLE" "1" "July 2013" "" ""
+.
+.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/npm-cache.1 b/deps/npm/man/man1/npm-cache.1
new file mode 100644
index 000000000..1aa5c6286
--- /dev/null
+++ b/deps/npm/man/man1/npm-cache.1
@@ -0,0 +1,103 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CACHE" "1" "July 2013" "" ""
+.
+.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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.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/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
new file mode 100644
index 000000000..25e7bf10c
--- /dev/null
+++ b/deps/npm/man/man1/npm-completion.1
@@ -0,0 +1,47 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-COMPLETION" "1" "July 2013" "" ""
+.
+.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/npm-config.1 b/deps/npm/man/man1/npm-config.1
new file mode 100644
index 000000000..55a00995c
--- /dev/null
+++ b/deps/npm/man/man1/npm-config.1
@@ -0,0 +1,112 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration files
+.
+.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 config settings from the command line, environment
+variables, \fBnpmrc\fR files, and in some cases, the \fBpackage\.json\fR file\.
+.
+.P
+npm help See npmrc for more information about the npmrc files\.
+.
+.P
+npm help See \fBnpm\-config\fR for a more thorough discussion of the mechanisms
+involved\.
+.
+.P
+The \fBnpm config\fR command can be used to update and edit the contents
+of the user and global npmrc files\.
+.
+.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 "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
new file mode 100644
index 000000000..5446cbdd8
--- /dev/null
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -0,0 +1,90 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEDUPE" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-dedupe\fR \-\- Reduce duplication
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm dedupe [package names\.\.\.]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Searches the local package tree and attempts to simplify the overall
+structure by moving dependencies further up the tree, where they can
+be more effectively shared by multiple dependent packages\.
+.
+.P
+For example, consider this dependency graph:
+.
+.IP "" 4
+.
+.nf
+a
++\-\- b <\-\- depends on c@1\.0\.x
+| `\-\- c@1\.0\.3
+`\-\- d <\-\- depends on c@~1\.0\.9
+ `\-\- c@1\.0\.10
+.
+.fi
+.
+.IP "" 0
+.
+.P
+npm help In this case, \fBnpm\-dedupe\fR will transform the tree to:
+.
+.IP "" 4
+.
+.nf
+a
++\-\- b
++\-\- d
+`\-\- c@1\.0\.10
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Because of the hierarchical nature of node\'s module lookup, b and d
+will both get their dependency met by the single c package at the root
+level of the tree\.
+.
+.P
+If a suitable version exists at the target location in the tree
+already, then it will be left untouched, but the other duplicates will
+be deleted\.
+.
+.P
+If no suitable version can be found, then a warning is printed, and
+nothing is done\.
+.
+.P
+If any arguments are supplied, then they are filters, and only the
+named packages will be touched\.
+.
+.P
+Note that this operation transforms the dependency tree, and may
+result in packages getting updated versions, perhaps from the npm
+registry\.
+.
+.P
+This feature is experimental, and may change in future versions\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help ls
+.
+.IP "\(bu" 4
+npm help update
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
new file mode 100644
index 000000000..265e437cb
--- /dev/null
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -0,0 +1,48 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEPRECATE" "1" "July 2013" "" ""
+.
+.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\.
+.
+.P
+To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessage\fR argument\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
new file mode 100644
index 000000000..a3a9c4751
--- /dev/null
+++ b/deps/npm/man/man1/npm-docs.1
@@ -0,0 +1,74 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DOCS" "1" "July 2013" "" ""
+.
+.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, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
new file mode 100644
index 000000000..48213a586
--- /dev/null
+++ b/deps/npm/man/man1/npm-edit.1
@@ -0,0 +1,66 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EDIT" "1" "July 2013" "" ""
+.
+.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
+npm help configured as the npm \fBeditor\fR config \-\- see \fBnpm\-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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
new file mode 100644
index 000000000..c534f4ac6
--- /dev/null
+++ b/deps/npm/man/man1/npm-explore.1
@@ -0,0 +1,76 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EXPLORE" "1" "July 2013" "" ""
+.
+.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/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
new file mode 100644
index 000000000..098bcedea
--- /dev/null
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -0,0 +1,59 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-HELP\-SEARCH" "1" "July 2013" "" ""
+.
+.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/npm-help.1 b/deps/npm/man/man1/npm-help.1
new file mode 100644
index 000000000..ce5f77266
--- /dev/null
+++ b/deps/npm/man/man1/npm-help.1
@@ -0,0 +1,77 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-HELP" "1" "July 2013" "" ""
+.
+.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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "\(bu" 4
+npm help help\-search
+.
+.IP "\(bu" 4
+npm help index
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
new file mode 100644
index 000000000..4e8b6b1a4
--- /dev/null
+++ b/deps/npm/man/man1/npm-init.1
@@ -0,0 +1,43 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INIT" "1" "July 2013" "" ""
+.
+.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
+\fIhttps://github\.com/isaacs/init\-package\-json\fR
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "\(bu" 4
+npm help version
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
new file mode 100644
index 000000000..d6ddfac94
--- /dev/null
+++ b/deps/npm/man/man1/npm-install.1
@@ -0,0 +1,423 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INSTALL" "1" "July 2013" "" ""
+.
+.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> [\-\-save|\-\-save\-dev|\-\-save\-optional]
+npm install <name>@<tag>
+npm install <name>@<version>
+npm install <name>@<version range>
+npm install <name>@<version range>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command installs a package, and any packages that it depends on\. If the
+package has a shrinkwrap file, the installation of dependencies will be driven
+npm help by that\. See npm\-shrinkwrap\.
+.
+.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):
+.
+.IP
+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:
+.
+.IP
+Install a package that is sitting in a folder on the filesystem\.
+.
+.IP "\(bu" 4
+\fBnpm install <tarball file>\fR:
+.
+.IP
+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:
+.
+.IP
+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> [\-\-save|\-\-save\-dev|\-\-save\-optional]\fR:
+.
+.IP
+Do a \fB<name>@<tag>\fR install, where \fB<tag>\fR is the "tag" config\. (npm help See \fBnpm\-config\fR\|\.)
+.
+.IP
+In most cases, this will install the latest version
+of the module published on npm\.
+.
+.IP
+Example:
+.
+.IP
+ npm install sax
+.
+.IP
+\fBnpm install\fR takes 3 exclusive, optional flags which save or update
+the package version in your main package\.json:
+.
+.IP "\(bu" 4
+\fB\-\-save\fR: Package will appear in your \fBdependencies\fR\|\.
+.
+.IP "\(bu" 4
+\fB\-\-save\-dev\fR: Package will appear in your \fBdevDependencies\fR\|\.
+.
+.IP "\(bu" 4
+\fB\-\-save\-optional\fR: Package will appear in your \fBoptionalDependencies\fR\|\.
+.
+.IP
+Examples:
+.
+.IP
+ npm install sax \-\-save
+ npm install node\-tap \-\-save\-dev
+ npm install dtrace\-provider \-\-save\-optional
+.
+.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 "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm install <name>@<tag>\fR:
+.
+.IP
+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:
+.
+.IP
+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:
+.
+.IP
+Install a version of the package matching the specified version range\. This
+npm help will follow the same rules for resolving dependencies described in \fBpackage\.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
+ npm install sax@">=0\.1\.0 <0\.2\.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
+ <protocol>://[<user>@]<hostname><separator><path>[#<commit\-ish>]
+.
+.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
+npm help rather than locally\. See \fBnpm\-folders\fR\|\.
+.
+.P
+The \fB\-\-link\fR argument will cause npm to link global installs into the
+local space in some cases\.
+.
+.P
+The \fB\-\-no\-bin\-links\fR argument will prevent npm from creating symlinks for
+any binaries the package might contain\.
+.
+.P
+The \fB\-\-no\-shrinkwrap\fR argument, which will ignore an available
+shrinkwrap file and use the package\.json instead\.
+.
+.P
+The \fB\-\-nodedir=/path/to/node/source\fR argument will allow npm to find the
+node source code so that npm can compile native modules\.
+.
+.P
+npm help See \fBnpm\-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
+npm help See npm\-folders for a more detailed description of the specific
+folder structures that npm creates\.
+.
+.SS "Limitations of npm&#39;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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.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 "\(bu" 4
+npm help shrinkwrap
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
new file mode 100644
index 000000000..d972d8548
--- /dev/null
+++ b/deps/npm/man/man1/npm-link.1
@@ -0,0 +1,118 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LINK" "1" "July 2013" "" ""
+.
+.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
+Note that \fBpackage\-name\fR is taken from \fBpackage\.json\fR ,
+not from directory name\.
+.
+.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 package\.json
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
new file mode 100644
index 000000000..39f525db5
--- /dev/null
+++ b/deps/npm/man/man1/npm-ls.1
@@ -0,0 +1,136 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-ls\fR \-\- List installed packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm list [<pkg> \.\.\.]
+npm ls [<pkg> \.\.\.]
+npm la [<pkg> \.\.\.]
+npm ll [<pkg> \.\.\.]
+.
+.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
+Positional arguments are \fBname@version\-range\fR identifiers, which will
+limit the results to only the paths to the packages named\. Note that
+nested packages will \fIalso\fR show the paths to the specified packages\.
+For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
+.
+.IP "" 4
+.
+.nf
+npm@1.3.3 /path/to/npm
+└─┬ init\-package\-json@0\.0\.4
+ └── promzard@0\.1\.5
+.
+.fi
+.
+.IP "" 0
+.
+.P
+It will print out extraneous, missing, and invalid packages\.
+.
+.P
+If a project specifies git urls for dependencies these are shown
+in parentheses after the name@version to make it easier for users to
+recognize potential forks of a project\.
+.
+.P
+When run as \fBll\fR or \fBla\fR, it shows extended information by default\.
+.
+.SH "CONFIGURATION"
+.
+.SS "json"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show information in JSON format\.
+.
+.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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.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-outdated.1 b/deps/npm/man/man1/npm-outdated.1
new file mode 100644
index 000000000..4ef2e8497
--- /dev/null
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -0,0 +1,32 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OUTDATED" "1" "July 2013" "" ""
+.
+.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/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
new file mode 100644
index 000000000..b0ba9e809
--- /dev/null
+++ b/deps/npm/man/man1/npm-owner.1
@@ -0,0 +1,58 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OWNER" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help disputes
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
new file mode 100644
index 000000000..b591b9ebe
--- /dev/null
+++ b/deps/npm/man/man1/npm-pack.1
@@ -0,0 +1,48 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PACK" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1
new file mode 100644
index 000000000..60897bc0b
--- /dev/null
+++ b/deps/npm/man/man1/npm-prefix.1
@@ -0,0 +1,40 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PREFIX" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
new file mode 100644
index 000000000..283d6885c
--- /dev/null
+++ b/deps/npm/man/man1/npm-prune.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PRUNE" "1" "July 2013" "" ""
+.
+.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/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
new file mode 100644
index 000000000..4b1d57c16
--- /dev/null
+++ b/deps/npm/man/man1/npm-publish.1
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PUBLISH" "1" "July 2013" "" ""
+.
+.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/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
new file mode 100644
index 000000000..c0dc36a35
--- /dev/null
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -0,0 +1,36 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REBUILD" "1" "July 2013" "" ""
+.
+.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/npm-restart.1 b/deps/npm/man/man1/npm-restart.1
new file mode 100644
index 000000000..061c15774
--- /dev/null
+++ b/deps/npm/man/man1/npm-restart.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RESTART" "1" "July 2013" "" ""
+.
+.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/npm-rm.1 b/deps/npm/man/man1/npm-rm.1
new file mode 100644
index 000000000..b19c51b1f
--- /dev/null
+++ b/deps/npm/man/man1/npm-rm.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RM" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
new file mode 100644
index 000000000..2fbbbd6c6
--- /dev/null
+++ b/deps/npm/man/man1/npm-root.1
@@ -0,0 +1,40 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-ROOT" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1
new file mode 100644
index 000000000..00de0d967
--- /dev/null
+++ b/deps/npm/man/man1/npm-run-script.1
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RUN\-SCRIPT" "1" "July 2013" "" ""
+.
+.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/npm-search.1 b/deps/npm/man/man1/npm-search.1
new file mode 100644
index 000000000..cf82b21a8
--- /dev/null
+++ b/deps/npm/man/man1/npm-search.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SEARCH" "1" "July 2013" "" ""
+.
+.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\.
+.
+.P
+If a term starts with \fB/\fR, then it\'s interpreted as a regular expression\.
+A trailing \fB/\fR will be ignored in this case\. (Note that many regular
+expression characters must be escaped or quoted in most shells\.)
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1
new file mode 100644
index 000000000..1f81700d3
--- /dev/null
+++ b/deps/npm/man/man1/npm-shrinkwrap.1
@@ -0,0 +1,275 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SHRINKWRAP" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-shrinkwrap\fR \-\- Lock down dependency versions
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm shrinkwrap
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command locks down the versions of a package\'s dependencies so
+that you can control exactly which versions of each dependency will be
+used when your package is installed\. The "package\.json" file is still
+required if you want to use "npm install"\.
+.
+.P
+By default, "npm install" recursively installs the target\'s
+dependencies (as specified in package\.json), choosing the latest
+available version that satisfies the dependency\'s semver pattern\. In
+some situations, particularly when shipping software where each change
+is tightly managed, it\'s desirable to fully specify each version of
+each dependency recursively so that subsequent builds and deploys do
+not inadvertently pick up newer versions of a dependency that satisfy
+the semver pattern\. Specifying specific semver patterns in each
+dependency\'s package\.json would facilitate this, but that\'s not always
+possible or desirable, as when another author owns the npm package\.
+It\'s also possible to check dependencies directly into source control,
+but that may be undesirable for other reasons\.
+.
+.P
+As an example, consider package A:
+.
+.IP "" 4
+.
+.nf
+{
+ "name": "A",
+ "version": "0\.1\.0",
+ "dependencies": {
+ "B": "<0\.1\.0"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+package B:
+.
+.IP "" 4
+.
+.nf
+{
+ "name": "B",
+ "version": "0\.0\.1",
+ "dependencies": {
+ "C": "<0\.1\.0"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and package C:
+.
+.IP "" 4
+.
+.nf
+{
+ "name": "C,
+ "version": "0\.0\.1"
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If these are the only versions of A, B, and C available in the
+registry, then a normal "npm install A" will install:
+.
+.IP "" 4
+.
+.nf
+A@0\.1\.0
+`\-\- B@0\.0\.1
+ `\-\- C@0\.0\.1
+.
+.fi
+.
+.IP "" 0
+.
+.P
+However, if B@0\.0\.2 is published, then a fresh "npm install A" will
+install:
+.
+.IP "" 4
+.
+.nf
+A@0\.1\.0
+`\-\- B@0\.0\.2
+ `\-\- C@0\.0\.1
+.
+.fi
+.
+.IP "" 0
+.
+.P
+assuming the new version did not modify B\'s dependencies\. Of course,
+the new version of B could include a new version of C and any number
+of new dependencies\. If such changes are undesirable, the author of A
+could specify a dependency on B@0\.0\.1\. However, if A\'s author and B\'s
+author are not the same person, there\'s no way for A\'s author to say
+that he or she does not want to pull in newly published versions of C
+when B hasn\'t changed at all\.
+.
+.P
+In this case, A\'s author can run
+.
+.IP "" 4
+.
+.nf
+npm shrinkwrap
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This generates npm\-shrinkwrap\.json, which will look something like this:
+.
+.IP "" 4
+.
+.nf
+{
+ "name": "A",
+ "version": "0\.1\.0",
+ "dependencies": {
+ "B": {
+ "version": "0\.0\.1",
+ "dependencies": {
+ "C": {
+ "version": "0\.1\.0"
+ }
+ }
+ }
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The shrinkwrap command has locked down the dependencies based on
+what\'s currently installed in node_modules\. When "npm install"
+installs a package with a npm\-shrinkwrap\.json file in the package
+root, the shrinkwrap file (rather than package\.json files) completely
+drives the installation of that package and all of its dependencies
+(recursively)\. So now the author publishes A@0\.1\.0, and subsequent
+installs of this package will use B@0\.0\.1 and C@0\.1\.0, regardless the
+dependencies and versions listed in A\'s, B\'s, and C\'s package\.json
+files\.
+.
+.SS "Using shrinkwrapped packages"
+Using a shrinkwrapped package is no different than using any other
+package: you can "npm install" it by hand, or add a dependency to your
+package\.json file and "npm install" it\.
+.
+.SS "Building shrinkwrapped packages"
+To shrinkwrap an existing package:
+.
+.IP "1" 4
+Run "npm install" in the package root to install the current
+versions of all dependencies\.
+.
+.IP "2" 4
+Validate that the package works as expected with these versions\.
+.
+.IP "3" 4
+Run "npm shrinkwrap", add npm\-shrinkwrap\.json to git, and publish
+your package\.
+.
+.IP "" 0
+.
+.P
+To add or update a dependency in a shrinkwrapped package:
+.
+.IP "1" 4
+Run "npm install" in the package root to install the current
+versions of all dependencies\.
+.
+.IP "2" 4
+Add or update dependencies\. "npm install" each new or updated
+package individually and then update package\.json\. Note that they
+must be explicitly named in order to be installed: running \fBnpm
+install\fR with no arguments will merely reproduce the existing
+shrinkwrap\.
+.
+.IP "3" 4
+Validate that the package works as expected with the new
+dependencies\.
+.
+.IP "4" 4
+Run "npm shrinkwrap", commit the new npm\-shrinkwrap\.json, and
+publish your package\.
+.
+.IP "" 0
+.
+.P
+npm help You can use npm\-outdated to view dependencies with newer versions
+available\.
+.
+.SS "Other Notes"
+A shrinkwrap file must be consistent with the package\'s package\.json
+file\. "npm shrinkwrap" will fail if required dependencies are not
+already installed, since that would result in a shrinkwrap that
+wouldn\'t actually work\. Similarly, the command will fail if there are
+extraneous packages (not referenced by package\.json), since that would
+indicate that package\.json is not correct\.
+.
+.P
+Since "npm shrinkwrap" is intended to lock down your dependencies for
+production use, \fBdevDependencies\fR will not be included unless you
+explicitly set the \fB\-\-dev\fR flag when you run \fBnpm shrinkwrap\fR\|\. If
+installed \fBdevDependencies\fR are excluded, then npm will print a
+warning\. If you want them to be installed with your module by
+default, please consider adding them to \fBdependencies\fR instead\.
+.
+.P
+If shrinkwrapped package A depends on shrinkwrapped package B, B\'s
+shrinkwrap will not be used as part of the installation of A\. However,
+because A\'s shrinkwrap is constructed from a valid installation of B
+and recursively specifies all dependencies, the contents of B\'s
+shrinkwrap will implicitly be included in A\'s shrinkwrap\.
+.
+.SS "Caveats"
+Shrinkwrap files only lock down package versions, not actual package
+contents\. While discouraged, a package author can republish an
+existing version of a package, causing shrinkwrapped packages using
+that version to pick up different code than they were before\. If you
+want to avoid any risk that a byzantine author replaces a package
+you\'re using with code that breaks your application, you could modify
+the shrinkwrap file to use git URL references rather than version
+numbers so that npm always fetches all packages from git\.
+.
+.P
+If you wish to lock down the specific bytes included in a package, for
+example to have 100% confidence in being able to reproduce a
+deployment or build, then you ought to check your dependencies into
+source control, or pursue some other mechanism that can verify
+contents rather than versions\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "\(bu" 4
+npm help list
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
new file mode 100644
index 000000000..9fbc3000b
--- /dev/null
+++ b/deps/npm/man/man1/npm-star.1
@@ -0,0 +1,39 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STAR" "1" "July 2013" "" ""
+.
+.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/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
new file mode 100644
index 000000000..0f23c8069
--- /dev/null
+++ b/deps/npm/man/man1/npm-stars.1
@@ -0,0 +1,40 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STARS" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-stars\fR \-\- View packages marked as favorites
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm stars
+npm stars [username]
+.
+.fi
+.
+.SH "DESCRIPTION"
+If you have starred a lot of neat things and want to find them again
+quickly this command lets you do just that\.
+.
+.P
+You may also want to see your friend\'s favorite packages, in this case
+you will most certainly enjoy this command\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help star
+.
+.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/npm-start.1 b/deps/npm/man/man1/npm-start.1
new file mode 100644
index 000000000..70146eccf
--- /dev/null
+++ b/deps/npm/man/man1/npm-start.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-START" "1" "July 2013" "" ""
+.
+.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/npm-stop.1 b/deps/npm/man/man1/npm-stop.1
new file mode 100644
index 000000000..6886ba5d4
--- /dev/null
+++ b/deps/npm/man/man1/npm-stop.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STOP" "1" "July 2013" "" ""
+.
+.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/npm-submodule.1 b/deps/npm/man/man1/npm-submodule.1
new file mode 100644
index 000000000..d5ad4dd47
--- /dev/null
+++ b/deps/npm/man/man1/npm-submodule.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "1" "July 2013" "" ""
+.
+.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 package\.json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-tag.1 b/deps/npm/man/man1/npm-tag.1
new file mode 100644
index 000000000..18d689f68
--- /dev/null
+++ b/deps/npm/man/man1/npm-tag.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TAG" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1
new file mode 100644
index 000000000..b8d01e6b9
--- /dev/null
+++ b/deps/npm/man/man1/npm-test.1
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TEST" "1" "July 2013" "" ""
+.
+.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/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
new file mode 100644
index 000000000..b19c51b1f
--- /dev/null
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RM" "1" "July 2013" "" ""
+.
+.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 "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
new file mode 100644
index 000000000..d7b64656c
--- /dev/null
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNPUBLISH" "1" "July 2013" "" ""
+.
+.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/npm-update.1 b/deps/npm/man/man1/npm-update.1
new file mode 100644
index 000000000..f66fe5d82
--- /dev/null
+++ b/deps/npm/man/man1/npm-update.1
@@ -0,0 +1,45 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UPDATE" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-update\fR \-\- Update a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm update [\-g] [<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\.
+.
+.P
+If the \fB\-g\fR flag is specified, this command will update globally installed packages\.
+If no package name is specified, all packages in the specified location (global or local) will be updated\.
+.
+.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/npm-version.1 b/deps/npm/man/man1/npm-version.1
new file mode 100644
index 000000000..55c72ccb0
--- /dev/null
+++ b/deps/npm/man/man1/npm-version.1
@@ -0,0 +1,75 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VERSION" "1" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-version\fR \-\- Bump a package version
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm version [<newversion> | major | minor | patch | build]
+.
+.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 "build", "patch", "minor", or
+"major")\. In the second case, the existing version will be incremented
+by 1 in the specified field\.
+.
+.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) config option, npm will
+use it as a commit message when creating a version commit\. If the \fBmessage\fR config contains \fB%s\fR then that will be replaced with the
+resulting version number\. For example:
+.
+.IP "" 4
+.
+.nf
+npm version patch \-m "Upgrade to %s for reasons"
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If the \fBsign\-git\-tag\fR config is set, then the tag will be signed using
+the \fB\-s\fR flag to git\. Note that you must have a default GPG key set up
+in your git config for this to work properly\. For example:
+.
+.IP "" 4
+.
+.nf
+$ npm config set sign\-git\-tag true
+$ npm version patch
+You need a passphrase to unlock the secret key for
+user: "isaacs (http://blog\.izs\.me/) <i@izs\.me>"
+2048\-bit RSA key, ID 6C481CF6, created 2010\-08\-31
+Enter passphrase:
+.
+.fi
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help init
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "\(bu" 4
+npm help semver
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
new file mode 100644
index 000000000..39beb4bfe
--- /dev/null
+++ b/deps/npm/man/man1/npm-view.1
@@ -0,0 +1,185 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VIEW" "1" "July 2013" "" ""
+.
+.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\. (npm help See \fBpackage\.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\. If the field is an object, it will be output as a JavaScript object literal\.
+.
+.P
+If the \-\-json flag is given, the outputted fields will be JSON\.
+.
+.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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help docs
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
new file mode 100644
index 000000000..b840711b3
--- /dev/null
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -0,0 +1,34 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-WHOAMI" "1" "July 2013" "" ""
+.
+.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 config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 72a747ba7..ef69a83f9 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM" "1" "June 2013" "" ""
+.TH "NPM" "1" "July 2013" "" ""
.
.SH "NAME"
\fBnpm\fR \-\- node package manager
@@ -14,7 +14,7 @@ npm <command> [args]
.fi
.
.SH "VERSION"
-1.2.25
+1.3.3
.
.SH "DESCRIPTION"
npm is the package manager for the Node JavaScript platform\. It puts
@@ -33,14 +33,14 @@ Run \fBnpm help\fR to get a list of available commands\.
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\.
+npm help Use \fBnpm install blerg\fR to install the latest version of "blerg"\. Check out \fBnpm\-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\.
+npm help See \fBnpm\-folders\fR to learn about where npm puts stuff\.
.
.P
In particular, npm has two modes of operation:
@@ -70,7 +70,7 @@ following help topics:
.
.IP "\(bu" 4
json:
-Make a package\.json file\. See \fBnpm help json\fR\|\.
+npm help Make a package\.json file\. See \fBpackage\.json\fR\|\.
.
.IP "\(bu" 4
link:
@@ -139,14 +139,14 @@ lib/utils/config\-defs\.js\. These must not be changed\.
.IP "" 0
.
.P
-See \fBnpm help config\fR for much much more information\.
+npm help See \fBnpm\-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\.
+npm help Read through \fBnpm\-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
@@ -192,7 +192,7 @@ 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
+npm help See npm\-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
@@ -203,13 +203,13 @@ Isaac Z\. Schlueter \fIhttp://blog\.izs\.me/\fR :: isaacs \fIhttps://github\.com
npm help help
.
.IP "\(bu" 4
-npm help faq
+npm help faq
.
.IP "\(bu" 4
README
.
.IP "\(bu" 4
-npm help json
+npm help package\.json
.
.IP "\(bu" 4
npm help install
@@ -218,7 +218,13 @@ npm help install
npm help config
.
.IP "\(bu" 4
-npm help index
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help index
.
.IP "\(bu" 4
npm apihelp npm
diff --git a/deps/npm/man/man1/outdated.1 b/deps/npm/man/man1/outdated.1
deleted file mode 100644
index 4a116d157..000000000
--- a/deps/npm/man/man1/outdated.1
+++ /dev/null
@@ -1,32 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-OUTDATED" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index ffa62bc11..000000000
--- a/deps/npm/man/man1/owner.1
+++ /dev/null
@@ -1,58 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-OWNER" "1" "June 2013" "" ""
-.
-.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 "\(bu" 4
-npm help disputes
-.
-.IP "" 0
-
diff --git a/deps/npm/man/man1/pack.1 b/deps/npm/man/man1/pack.1
deleted file mode 100644
index be6889cf1..000000000
--- a/deps/npm/man/man1/pack.1
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PACK" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index c8c1db508..000000000
--- a/deps/npm/man/man1/prefix.1
+++ /dev/null
@@ -1,34 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PREFIX" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index dfac9af38..000000000
--- a/deps/npm/man/man1/prune.1
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PRUNE" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 2ca0d9e01..000000000
--- a/deps/npm/man/man1/publish.1
+++ /dev/null
@@ -1,53 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PUBLISH" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 94e69ea84..000000000
--- a/deps/npm/man/man1/rebuild.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-REBUILD" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 0ab89ebc3..000000000
--- a/deps/npm/man/man1/registry.1
+++ /dev/null
@@ -1,107 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-REGISTRY" "1" "June 2013" "" ""
-.
-.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\.iriscouch\.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\.iriscouch\.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&#39;t want my package published in the official registry\. It&#39;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?"
-Yes, head over to \fIhttps://npmjs\.org/\fR
-.
-.SH "SEE ALSO"
-.
-.IP "\(bu" 4
-npm help config
-.
-.IP "\(bu" 4
-npm help developers
-.
-.IP "\(bu" 4
-npm help disputes
-.
-.IP "" 0
-
diff --git a/deps/npm/man/man1/removing-npm.1 b/deps/npm/man/man1/removing-npm.1
deleted file mode 100644
index 5b62b69de..000000000
--- a/deps/npm/man/man1/removing-npm.1
+++ /dev/null
@@ -1,107 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-REMOVAL" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 20dd844c8..000000000
--- a/deps/npm/man/man1/restart.1
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-RESTART" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index b32e0aeec..000000000
--- a/deps/npm/man/man1/rm.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-RM" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index c57297347..000000000
--- a/deps/npm/man/man1/root.1
+++ /dev/null
@@ -1,34 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-ROOT" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 2508a7777..000000000
--- a/deps/npm/man/man1/run-script.1
+++ /dev/null
@@ -1,41 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-RUN\-SCRIPT" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index f24c04f95..000000000
--- a/deps/npm/man/man1/scripts.1
+++ /dev/null
@@ -1,351 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SCRIPTS" "1" "June 2013" "" ""
-.
-.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
-prepublish:
-Run BEFORE the package is published\. (Also run on local \fBnpm
-install\fR without any arguments\.)
-.
-.IP "\(bu" 4
-publish, postpublish:
-Run AFTER the package is published\.
-.
-.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
-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 "NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN"
-\fBtl;dr\fR Don\'t use \fBinstall\fR\|\. Use a \fB\|\.gyp\fR file for compilation, and \fBprepublish\fR for anything else\.
-.
-.P
-You should almost never have to explicitly set a \fBpreinstall\fR or \fBinstall\fR script\. If you are doing this, please consider if there is
-another option\.
-.
-.P
-The only valid use of \fBinstall\fR or \fBpreinstall\fR scripts is for
-compilation which must be done on the target architecture\. In early
-versions of node, this was often done using the \fBnode\-waf\fR scripts, or
-a standalone \fBMakefile\fR, and early versions of npm required that it be
-explicitly set in package\.json\. This was not portable, and harder to
-do properly\.
-.
-.P
-In the current version of node, the standard way to do this is using a \fB\|\.gyp\fR file\. If you have a file with a \fB\|\.gyp\fR extension in the root
-of your package, then npm will run the appropriate \fBnode\-gyp\fR commands
-automatically at install time\. This is the only officially supported
-method for compiling binary addons, and does not require that you add
-anything to your package\.json file\.
-.
-.P
-If you have to do other things before your package is used, in a way
-that is not dependent on the operating system or architecture of the
-target system, then use a \fBprepublish\fR script instead\. This includes
-tasks such as:
-.
-.IP "\(bu" 4
-Compile CoffeeScript source code into JavaScript\.
-.
-.IP "\(bu" 4
-Create minified versions of JavaScript source code\.
-.
-.IP "\(bu" 4
-Fetching remote resources that your package will use\.
-.
-.IP "" 0
-.
-.P
-The advantage of doing these things at \fBprepublish\fR time instead of \fBpreinstall\fR or \fBinstall\fR time is that they can be done once, in a
-single place, and thus greatly reduce complexity and variability\.
-Additionally, this means that:
-.
-.IP "\(bu" 4
-You can depend on \fBcoffee\-script\fR as a \fBdevDependency\fR, and thus
-your users don\'t need to have it installed\.
-.
-.IP "\(bu" 4
-You don\'t need to include the minifiers in your package, reducing
-the size for your users\.
-.
-.IP "\(bu" 4
-You don\'t need to rely on your users having \fBcurl\fR or \fBwget\fR or
-other system tools on the target machines\.
-.
-.IP "" 0
-.
-.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 "path"
-If you depend on modules that define executable scripts, like test suites,
-then those executables will be added to the \fBPATH\fR for executing the scripts\.
-So, if your package\.json has this:
-.
-.IP "" 4
-.
-.nf
-{ "name" : "foo"
-, "dependencies" : { "bar" : "0\.1\.x" }
-, "scripts": { "start" : "bar \./test" } }
-.
-.fi
-.
-.IP "" 0
-.
-.P
-then you could run \fBnpm start\fR to execute the \fBbar\fR script, which is exported
-into the \fBnode_modules/\.bin\fR directory on \fBnpm install\fR\|\.
-.
-.SS "package\.json vars"
-The package\.json fields are tacked onto the \fBnpm_package_\fR prefix\. So, for
-instance, if you had \fB{"name":"foo", "version":"1\.2\.5"}\fR in your package\.json
-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 &quot;config&quot; 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
deleted file mode 100644
index d196590d1..000000000
--- a/deps/npm/man/man1/search.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SEARCH" "1" "June 2013" "" ""
-.
-.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\.
-.
-.P
-If a term starts with \fB/\fR, then it\'s interpreted as a regular expression\.
-A trailing \fB/\fR will be ignored in this case\. (Note that many regular
-expression characters must be escaped or quoted in most shells\.)
-.
-.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
deleted file mode 100644
index ec9cd73fc..000000000
--- a/deps/npm/man/man1/semver.1
+++ /dev/null
@@ -1,221 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SEMVER" "1" "June 2013" "" ""
-.
-.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\') // \'1\.2\.3\'
-semver\.valid(\'a\.b\.c\') // null
-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 <1\.3\.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
deleted file mode 100644
index 5075c9f0c..000000000
--- a/deps/npm/man/man1/set.1
+++ /dev/null
@@ -1,1154 +0,0 @@
-.\" 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/shrinkwrap.1 b/deps/npm/man/man1/shrinkwrap.1
deleted file mode 100644
index 3b4b93db5..000000000
--- a/deps/npm/man/man1/shrinkwrap.1
+++ /dev/null
@@ -1,275 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SHRINKWRAP" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-shrinkwrap\fR \-\- Lock down dependency versions
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm shrinkwrap
-.
-.fi
-.
-.SH "DESCRIPTION"
-This command locks down the versions of a package\'s dependencies so
-that you can control exactly which versions of each dependency will be
-used when your package is installed\. The "package\.json" file is still
-required if you want to use "npm install"\.
-.
-.P
-By default, "npm install" recursively installs the target\'s
-dependencies (as specified in package\.json), choosing the latest
-available version that satisfies the dependency\'s semver pattern\. In
-some situations, particularly when shipping software where each change
-is tightly managed, it\'s desirable to fully specify each version of
-each dependency recursively so that subsequent builds and deploys do
-not inadvertently pick up newer versions of a dependency that satisfy
-the semver pattern\. Specifying specific semver patterns in each
-dependency\'s package\.json would facilitate this, but that\'s not always
-possible or desirable, as when another author owns the npm package\.
-It\'s also possible to check dependencies directly into source control,
-but that may be undesirable for other reasons\.
-.
-.P
-As an example, consider package A:
-.
-.IP "" 4
-.
-.nf
-{
- "name": "A",
- "version": "0\.1\.0",
- "dependencies": {
- "B": "<0\.1\.0"
- }
-}
-.
-.fi
-.
-.IP "" 0
-.
-.P
-package B:
-.
-.IP "" 4
-.
-.nf
-{
- "name": "B",
- "version": "0\.0\.1",
- "dependencies": {
- "C": "<0\.1\.0"
- }
-}
-.
-.fi
-.
-.IP "" 0
-.
-.P
-and package C:
-.
-.IP "" 4
-.
-.nf
-{
- "name": "C,
- "version": "0\.0\.1"
-}
-.
-.fi
-.
-.IP "" 0
-.
-.P
-If these are the only versions of A, B, and C available in the
-registry, then a normal "npm install A" will install:
-.
-.IP "" 4
-.
-.nf
-A@0\.1\.0
-`\-\- B@0\.0\.1
- `\-\- C@0\.0\.1
-.
-.fi
-.
-.IP "" 0
-.
-.P
-However, if B@0\.0\.2 is published, then a fresh "npm install A" will
-install:
-.
-.IP "" 4
-.
-.nf
-A@0\.1\.0
-`\-\- B@0\.0\.2
- `\-\- C@0\.0\.1
-.
-.fi
-.
-.IP "" 0
-.
-.P
-assuming the new version did not modify B\'s dependencies\. Of course,
-the new version of B could include a new version of C and any number
-of new dependencies\. If such changes are undesirable, the author of A
-could specify a dependency on B@0\.0\.1\. However, if A\'s author and B\'s
-author are not the same person, there\'s no way for A\'s author to say
-that he or she does not want to pull in newly published versions of C
-when B hasn\'t changed at all\.
-.
-.P
-In this case, A\'s author can run
-.
-.IP "" 4
-.
-.nf
-npm shrinkwrap
-.
-.fi
-.
-.IP "" 0
-.
-.P
-This generates npm\-shrinkwrap\.json, which will look something like this:
-.
-.IP "" 4
-.
-.nf
-{
- "name": "A",
- "version": "0\.1\.0",
- "dependencies": {
- "B": {
- "version": "0\.0\.1",
- "dependencies": {
- "C": {
- "version": "0\.1\.0"
- }
- }
- }
- }
-}
-.
-.fi
-.
-.IP "" 0
-.
-.P
-The shrinkwrap command has locked down the dependencies based on
-what\'s currently installed in node_modules\. When "npm install"
-installs a package with a npm\-shrinkwrap\.json file in the package
-root, the shrinkwrap file (rather than package\.json files) completely
-drives the installation of that package and all of its dependencies
-(recursively)\. So now the author publishes A@0\.1\.0, and subsequent
-installs of this package will use B@0\.0\.1 and C@0\.1\.0, regardless the
-dependencies and versions listed in A\'s, B\'s, and C\'s package\.json
-files\.
-.
-.SS "Using shrinkwrapped packages"
-Using a shrinkwrapped package is no different than using any other
-package: you can "npm install" it by hand, or add a dependency to your
-package\.json file and "npm install" it\.
-.
-.SS "Building shrinkwrapped packages"
-To shrinkwrap an existing package:
-.
-.IP "1" 4
-Run "npm install" in the package root to install the current
-versions of all dependencies\.
-.
-.IP "2" 4
-Validate that the package works as expected with these versions\.
-.
-.IP "3" 4
-Run "npm shrinkwrap", add npm\-shrinkwrap\.json to git, and publish
-your package\.
-.
-.IP "" 0
-.
-.P
-To add or update a dependency in a shrinkwrapped package:
-.
-.IP "1" 4
-Run "npm install" in the package root to install the current
-versions of all dependencies\.
-.
-.IP "2" 4
-Add or update dependencies\. "npm install" each new or updated
-package individually and then update package\.json\. Note that they
-must be explicitly named in order to be installed: running \fBnpm
-install\fR with no arguments will merely reproduce the existing
-shrinkwrap\.
-.
-.IP "3" 4
-Validate that the package works as expected with the new
-dependencies\.
-.
-.IP "4" 4
-Run "npm shrinkwrap", commit the new npm\-shrinkwrap\.json, and
-publish your package\.
-.
-.IP "" 0
-.
-.P
-You can use npm help outdated to view dependencies with newer versions
-available\.
-.
-.SS "Other Notes"
-A shrinkwrap file must be consistent with the package\'s package\.json
-file\. "npm shrinkwrap" will fail if required dependencies are not
-already installed, since that would result in a shrinkwrap that
-wouldn\'t actually work\. Similarly, the command will fail if there are
-extraneous packages (not referenced by package\.json), since that would
-indicate that package\.json is not correct\.
-.
-.P
-Since "npm shrinkwrap" is intended to lock down your dependencies for
-production use, \fBdevDependencies\fR will not be included unless you
-explicitly set the \fB\-\-dev\fR flag when you run \fBnpm shrinkwrap\fR\|\. If
-installed \fBdevDependencies\fR are excluded, then npm will print a
-warning\. If you want them to be installed with your module by
-default, please consider adding them to \fBdependencies\fR instead\.
-.
-.P
-If shrinkwrapped package A depends on shrinkwrapped package B, B\'s
-shrinkwrap will not be used as part of the installation of A\. However,
-because A\'s shrinkwrap is constructed from a valid installation of B
-and recursively specifies all dependencies, the contents of B\'s
-shrinkwrap will implicitly be included in A\'s shrinkwrap\.
-.
-.SS "Caveats"
-Shrinkwrap files only lock down package versions, not actual package
-contents\. While discouraged, a package author can republish an
-existing version of a package, causing shrinkwrapped packages using
-that version to pick up different code than they were before\. If you
-want to avoid any risk that a byzantine author replaces a package
-you\'re using with code that breaks your application, you could modify
-the shrinkwrap file to use git URL references rather than version
-numbers so that npm always fetches all packages from git\.
-.
-.P
-If you wish to lock down the specific bytes included in a package, for
-example to have 100% confidence in being able to reproduce a
-deployment or build, then you ought to check your dependencies into
-source control, or pursue some other mechanism that can verify
-contents rather than versions\.
-.
-.SH "SEE ALSO"
-.
-.IP "\(bu" 4
-npm help install
-.
-.IP "\(bu" 4
-npm help json
-.
-.IP "\(bu" 4
-npm help list
-.
-.IP "" 0
-
diff --git a/deps/npm/man/man1/star.1 b/deps/npm/man/man1/star.1
deleted file mode 100644
index 975a349ef..000000000
--- a/deps/npm/man/man1/star.1
+++ /dev/null
@@ -1,39 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-STAR" "1" "June 2013" "" ""
-.
-.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/stars.1 b/deps/npm/man/man1/stars.1
deleted file mode 100644
index ab36719e8..000000000
--- a/deps/npm/man/man1/stars.1
+++ /dev/null
@@ -1,40 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-STARS" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-stars\fR \-\- View packages marked as favorites
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm stars
-npm stars [username]
-.
-.fi
-.
-.SH "DESCRIPTION"
-If you have starred a lot of neat things and want to find them again
-quickly this command lets you do just that\.
-.
-.P
-You may also want to see your friend\'s favorite packages, in this case
-you will most certainly enjoy this command\.
-.
-.SH "SEE ALSO"
-.
-.IP "\(bu" 4
-npm help star
-.
-.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
deleted file mode 100644
index 3af46688c..000000000
--- a/deps/npm/man/man1/start.1
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-START" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 917965021..000000000
--- a/deps/npm/man/man1/stop.1
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-STOP" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 552acc3db..000000000
--- a/deps/npm/man/man1/submodule.1
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SUBMODULE" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index e359f4450..000000000
--- a/deps/npm/man/man1/tag.1
+++ /dev/null
@@ -1,31 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-TAG" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 3b396b473..000000000
--- a/deps/npm/man/man1/test.1
+++ /dev/null
@@ -1,41 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-TEST" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index b32e0aeec..000000000
--- a/deps/npm/man/man1/uninstall.1
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-RM" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 399ed525b..000000000
--- a/deps/npm/man/man1/unpublish.1
+++ /dev/null
@@ -1,53 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-UNPUBLISH" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index b19c2fd22..000000000
--- a/deps/npm/man/man1/update.1
+++ /dev/null
@@ -1,45 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-UPDATE" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-update\fR \-\- Update a package
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm update [\-g] [<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\.
-.
-.P
-If the \fB\-g\fR flag is specified, this command will update globally installed packages\.
-If no package name is specified, all packages in the specified location (global or local) will be updated\.
-.
-.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
deleted file mode 100644
index 20d90316d..000000000
--- a/deps/npm/man/man1/version.1
+++ /dev/null
@@ -1,75 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-VERSION" "1" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-version\fR \-\- Bump a package version
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm version [<newversion> | major | minor | patch | build]
-.
-.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 "build", "patch", "minor", or
-"major")\. In the second case, the existing version will be incremented
-by 1 in the specified field\.
-.
-.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) config option, npm will
-use it as a commit message when creating a version commit\. If the \fBmessage\fR config contains \fB%s\fR then that will be replaced with the
-resulting version number\. For example:
-.
-.IP "" 4
-.
-.nf
-npm version patch \-m "Upgrade to %s for reasons"
-.
-.fi
-.
-.IP "" 0
-.
-.P
-If the \fBsign\-git\-tag\fR config is set, then the tag will be signed using
-the \fB\-s\fR flag to git\. Note that you must have a default GPG key set up
-in your git config for this to work properly\. For example:
-.
-.IP "" 4
-.
-.nf
-$ npm config set sign\-git\-tag true
-$ npm version patch
-You need a passphrase to unlock the secret key for
-user: "isaacs (http://blog\.izs\.me/) <i@izs\.me>"
-2048\-bit RSA key, ID 6C481CF6, created 2010\-08\-31
-Enter passphrase:
-.
-.fi
-.
-.IP "" 0
-.
-.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
deleted file mode 100644
index d443f9240..000000000
--- a/deps/npm/man/man1/view.1
+++ /dev/null
@@ -1,179 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-VIEW" "1" "June 2013" "" ""
-.
-.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\. If the field is an object, it will be output as a JavaScript object literal\.
-.
-.P
-If the \-\-json flag is given, the outputted fields will be JSON\.
-.
-.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
deleted file mode 100644
index 1bcbb8a7f..000000000
--- a/deps/npm/man/man1/whoami.1
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-WHOAMI" "1" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 0f5d2c8c2..000000000
--- a/deps/npm/man/man3/author.3
+++ /dev/null
@@ -1,52 +0,0 @@
-.\" 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
deleted file mode 100644
index 2537e87f0..000000000
--- a/deps/npm/man/man3/bin.3
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-BIN" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index de76f2d40..000000000
--- a/deps/npm/man/man3/bugs.3
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-BUGS" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 31c3d0141..000000000
--- a/deps/npm/man/man3/commands.3
+++ /dev/null
@@ -1,35 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-COMMANDS" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 5a9726cec..000000000
--- a/deps/npm/man/man3/config.3
+++ /dev/null
@@ -1,69 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-CONFIG" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index a9cf8660f..000000000
--- a/deps/npm/man/man3/deprecate.3
+++ /dev/null
@@ -1,57 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DEPRECATE" "3" "June 2013" "" ""
-.
-.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\.
-.
-.P
-To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessage\fR argument\.
-.
-.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
deleted file mode 100644
index 04973307c..000000000
--- a/deps/npm/man/man3/docs.3
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-DOCS" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 3212032a8..000000000
--- a/deps/npm/man/man3/edit.3
+++ /dev/null
@@ -1,35 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-EDIT" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 82a85bd3f..000000000
--- a/deps/npm/man/man3/explore.3
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-EXPLORE" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 3c733c9de..000000000
--- a/deps/npm/man/man3/find.3
+++ /dev/null
@@ -1,79 +0,0 @@
-.\" 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
deleted file mode 100644
index 548f4bb9c..000000000
--- a/deps/npm/man/man3/get.3
+++ /dev/null
@@ -1,69 +0,0 @@
-.\" 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
deleted file mode 100644
index 48e60a625..000000000
--- a/deps/npm/man/man3/help-search.3
+++ /dev/null
@@ -1,51 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-HELP\-SEARCH" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 3db059e0f..000000000
--- a/deps/npm/man/man3/home.3
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" 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
deleted file mode 100644
index 142f7e920..000000000
--- a/deps/npm/man/man3/init.3
+++ /dev/null
@@ -1,39 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "INIT" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index ec0a3436e..000000000
--- a/deps/npm/man/man3/install.3
+++ /dev/null
@@ -1,29 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-INSTALL" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index b6e8ea803..000000000
--- a/deps/npm/man/man3/link.3
+++ /dev/null
@@ -1,53 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-LINK" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 3c733c9de..000000000
--- a/deps/npm/man/man3/list.3
+++ /dev/null
@@ -1,79 +0,0 @@
-.\" 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
deleted file mode 100644
index bbb7ff092..000000000
--- a/deps/npm/man/man3/ln.3
+++ /dev/null
@@ -1,53 +0,0 @@
-.\" 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
deleted file mode 100644
index 7f41ac388..000000000
--- a/deps/npm/man/man3/load.3
+++ /dev/null
@@ -1,44 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-LOAD" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index f6975f1d3..000000000
--- a/deps/npm/man/man3/ls.3
+++ /dev/null
@@ -1,86 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-LS" "3" "June 2013" "" ""
-.
-.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\.
-.
-.P
-Callback is provided an error if one occurred, the full data about which
-packages are installed and which dependencies they will receive, and a
-"lite" data object which just shows which versions are installed where\.
-Note that the full data object is a circular structure, so care must be
-taken if it is serialized to JSON\.
-.
-.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-bin.3 b/deps/npm/man/man3/npm-bin.3
new file mode 100644
index 000000000..db4e120bf
--- /dev/null
+++ b/deps/npm/man/man3/npm-bin.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BIN" "3" "July 2013" "" ""
+.
+.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/npm-bugs.3 b/deps/npm/man/man3/npm-bugs.3
new file mode 100644
index 000000000..5742fcb55
--- /dev/null
+++ b/deps/npm/man/man3/npm-bugs.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUGS" "3" "July 2013" "" ""
+.
+.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/npm-commands.3 b/deps/npm/man/man3/npm-commands.3
new file mode 100644
index 000000000..ee74bfe35
--- /dev/null
+++ b/deps/npm/man/man3/npm-commands.3
@@ -0,0 +1,35 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-COMMANDS" "3" "July 2013" "" ""
+.
+.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/npm-config.3 b/deps/npm/man/man3/npm-config.3
new file mode 100644
index 000000000..35ca2259d
--- /dev/null
+++ b/deps/npm/man/man3/npm-config.3
@@ -0,0 +1,69 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "3" "July 2013" "" ""
+.
+.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/npm-deprecate.3 b/deps/npm/man/man3/npm-deprecate.3
new file mode 100644
index 000000000..2372a1c5e
--- /dev/null
+++ b/deps/npm/man/man3/npm-deprecate.3
@@ -0,0 +1,57 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEPRECATE" "3" "July 2013" "" ""
+.
+.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\.
+.
+.P
+To un\-deprecate a package, specify an empty string (\fB""\fR) for the \fBmessage\fR argument\.
+.
+.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/npm-docs.3 b/deps/npm/man/man3/npm-docs.3
new file mode 100644
index 000000000..7585e223e
--- /dev/null
+++ b/deps/npm/man/man3/npm-docs.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DOCS" "3" "July 2013" "" ""
+.
+.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/npm-edit.3 b/deps/npm/man/man3/npm-edit.3
new file mode 100644
index 000000000..6bcd05d37
--- /dev/null
+++ b/deps/npm/man/man3/npm-edit.3
@@ -0,0 +1,35 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EDIT" "3" "July 2013" "" ""
+.
+.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/npm-explore.3 b/deps/npm/man/man3/npm-explore.3
new file mode 100644
index 000000000..1b5975ab3
--- /dev/null
+++ b/deps/npm/man/man3/npm-explore.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EXPLORE" "3" "July 2013" "" ""
+.
+.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/npm-help-search.3 b/deps/npm/man/man3/npm-help-search.3
new file mode 100644
index 000000000..a250c5ffe
--- /dev/null
+++ b/deps/npm/man/man3/npm-help-search.3
@@ -0,0 +1,51 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-HELP\-SEARCH" "3" "July 2013" "" ""
+.
+.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/npm-init.3 b/deps/npm/man/man3/npm-init.3
new file mode 100644
index 000000000..c08338cde
--- /dev/null
+++ b/deps/npm/man/man3/npm-init.3
@@ -0,0 +1,39 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "INIT" "3" "July 2013" "" ""
+.
+.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 package\.json
diff --git a/deps/npm/man/man3/npm-install.3 b/deps/npm/man/man3/npm-install.3
new file mode 100644
index 000000000..5e6e52a5f
--- /dev/null
+++ b/deps/npm/man/man3/npm-install.3
@@ -0,0 +1,29 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INSTALL" "3" "July 2013" "" ""
+.
+.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/npm-link.3 b/deps/npm/man/man3/npm-link.3
new file mode 100644
index 000000000..be3642754
--- /dev/null
+++ b/deps/npm/man/man3/npm-link.3
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LINK" "3" "July 2013" "" ""
+.
+.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/npm-load.3 b/deps/npm/man/man3/npm-load.3
new file mode 100644
index 000000000..823020747
--- /dev/null
+++ b/deps/npm/man/man3/npm-load.3
@@ -0,0 +1,44 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LOAD" "3" "July 2013" "" ""
+.
+.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/npm-ls.3 b/deps/npm/man/man3/npm-ls.3
new file mode 100644
index 000000000..bac38958e
--- /dev/null
+++ b/deps/npm/man/man3/npm-ls.3
@@ -0,0 +1,86 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "3" "July 2013" "" ""
+.
+.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\.
+.
+.P
+Callback is provided an error if one occurred, the full data about which
+packages are installed and which dependencies they will receive, and a
+"lite" data object which just shows which versions are installed where\.
+Note that the full data object is a circular structure, so care must be
+taken if it is serialized to JSON\.
+.
+.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-outdated.3 b/deps/npm/man/man3/npm-outdated.3
new file mode 100644
index 000000000..41638a32b
--- /dev/null
+++ b/deps/npm/man/man3/npm-outdated.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OUTDATED" "3" "July 2013" "" ""
+.
+.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/npm-owner.3 b/deps/npm/man/man3/npm-owner.3
new file mode 100644
index 000000000..380c97c93
--- /dev/null
+++ b/deps/npm/man/man3/npm-owner.3
@@ -0,0 +1,52 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OWNER" "3" "July 2013" "" ""
+.
+.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/npm-pack.3 b/deps/npm/man/man3/npm-pack.3
new file mode 100644
index 000000000..8562e3dd6
--- /dev/null
+++ b/deps/npm/man/man3/npm-pack.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PACK" "3" "July 2013" "" ""
+.
+.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/npm-prefix.3 b/deps/npm/man/man3/npm-prefix.3
new file mode 100644
index 000000000..7ae64f541
--- /dev/null
+++ b/deps/npm/man/man3/npm-prefix.3
@@ -0,0 +1,24 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PREFIX" "3" "July 2013" "" ""
+.
+.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/npm-prune.3 b/deps/npm/man/man3/npm-prune.3
new file mode 100644
index 000000000..9fa7bf78d
--- /dev/null
+++ b/deps/npm/man/man3/npm-prune.3
@@ -0,0 +1,27 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PRUNE" "3" "July 2013" "" ""
+.
+.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/npm-publish.3 b/deps/npm/man/man3/npm-publish.3
new file mode 100644
index 000000000..964c39df0
--- /dev/null
+++ b/deps/npm/man/man3/npm-publish.3
@@ -0,0 +1,51 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PUBLISH" "3" "July 2013" "" ""
+.
+.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/npm-rebuild.3 b/deps/npm/man/man3/npm-rebuild.3
new file mode 100644
index 000000000..6ec98558a
--- /dev/null
+++ b/deps/npm/man/man3/npm-rebuild.3
@@ -0,0 +1,22 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REBUILD" "3" "July 2013" "" ""
+.
+.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/npm-restart.3 b/deps/npm/man/man3/npm-restart.3
new file mode 100644
index 000000000..9a1af15ff
--- /dev/null
+++ b/deps/npm/man/man3/npm-restart.3
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RESTART" "3" "July 2013" "" ""
+.
+.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/npm-root.3 b/deps/npm/man/man3/npm-root.3
new file mode 100644
index 000000000..6635da7e1
--- /dev/null
+++ b/deps/npm/man/man3/npm-root.3
@@ -0,0 +1,24 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-ROOT" "3" "July 2013" "" ""
+.
+.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/npm-run-script.3 b/deps/npm/man/man3/npm-run-script.3
new file mode 100644
index 000000000..b509d962d
--- /dev/null
+++ b/deps/npm/man/man3/npm-run-script.3
@@ -0,0 +1,48 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RUN\-SCRIPT" "3" "July 2013" "" ""
+.
+.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/npm-search.3 b/deps/npm/man/man3/npm-search.3
new file mode 100644
index 000000000..193b01e69
--- /dev/null
+++ b/deps/npm/man/man3/npm-search.3
@@ -0,0 +1,64 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SEARCH" "3" "July 2013" "" ""
+.
+.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/npm-shrinkwrap.3 b/deps/npm/man/man3/npm-shrinkwrap.3
new file mode 100644
index 000000000..befe06417
--- /dev/null
+++ b/deps/npm/man/man3/npm-shrinkwrap.3
@@ -0,0 +1,30 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SHRINKWRAP" "3" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.shrinkwrap(args, [silent,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This acts much the same ways as shrinkwrapping on the command\-line\.
+.
+.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\.
+.
+.P
+If the \'silent\' parameter is set to true, nothing will be output to the screen,
+but the shrinkwrap file will still be written\.
+.
+.P
+Finally, \'callback\' is a function that will be called when the shrinkwrap has
+been saved\.
diff --git a/deps/npm/man/man3/npm-start.3 b/deps/npm/man/man3/npm-start.3
new file mode 100644
index 000000000..057eda3f8
--- /dev/null
+++ b/deps/npm/man/man3/npm-start.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-START" "3" "July 2013" "" ""
+.
+.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/npm-stop.3 b/deps/npm/man/man3/npm-stop.3
new file mode 100644
index 000000000..469742f1d
--- /dev/null
+++ b/deps/npm/man/man3/npm-stop.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STOP" "3" "July 2013" "" ""
+.
+.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/npm-submodule.3 b/deps/npm/man/man3/npm-submodule.3
new file mode 100644
index 000000000..577c12e02
--- /dev/null
+++ b/deps/npm/man/man3/npm-submodule.3
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "3" "July 2013" "" ""
+.
+.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/npm-tag.3 b/deps/npm/man/man3/npm-tag.3
new file mode 100644
index 000000000..6df97e69f
--- /dev/null
+++ b/deps/npm/man/man3/npm-tag.3
@@ -0,0 +1,31 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TAG" "3" "July 2013" "" ""
+.
+.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/npm-test.3 b/deps/npm/man/man3/npm-test.3
new file mode 100644
index 000000000..b2830e4b6
--- /dev/null
+++ b/deps/npm/man/man3/npm-test.3
@@ -0,0 +1,25 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TEST" "3" "July 2013" "" ""
+.
+.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/npm-uninstall.3 b/deps/npm/man/man3/npm-uninstall.3
new file mode 100644
index 000000000..a429f024d
--- /dev/null
+++ b/deps/npm/man/man3/npm-uninstall.3
@@ -0,0 +1,25 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNINSTALL" "3" "July 2013" "" ""
+.
+.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/npm-unpublish.3 b/deps/npm/man/man3/npm-unpublish.3
new file mode 100644
index 000000000..446a7a28e
--- /dev/null
+++ b/deps/npm/man/man3/npm-unpublish.3
@@ -0,0 +1,30 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNPUBLISH" "3" "July 2013" "" ""
+.
+.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/npm-update.3 b/deps/npm/man/man3/npm-update.3
new file mode 100644
index 000000000..a19286fbb
--- /dev/null
+++ b/deps/npm/man/man3/npm-update.3
@@ -0,0 +1,18 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UPDATE" "3" "July 2013" "" ""
+.
+.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/npm-version.3 b/deps/npm/man/man3/npm-version.3
new file mode 100644
index 000000000..e7d79148a
--- /dev/null
+++ b/deps/npm/man/man3/npm-version.3
@@ -0,0 +1,27 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VERSION" "3" "July 2013" "" ""
+.
+.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/npm-view.3 b/deps/npm/man/man3/npm-view.3
new file mode 100644
index 000000000..730163497
--- /dev/null
+++ b/deps/npm/man/man3/npm-view.3
@@ -0,0 +1,176 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VIEW" "3" "July 2013" "" ""
+.
+.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/npm-whoami.3 b/deps/npm/man/man3/npm-whoami.3
new file mode 100644
index 000000000..bde276ba1
--- /dev/null
+++ b/deps/npm/man/man3/npm-whoami.3
@@ -0,0 +1,24 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-WHOAMI" "3" "July 2013" "" ""
+.
+.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
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
index 943c083f1..ff1eb4662 100644
--- a/deps/npm/man/man3/npm.3
+++ b/deps/npm/man/man3/npm.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM" "3" "June 2013" "" ""
+.TH "NPM" "3" "July 2013" "" ""
.
.SH "NAME"
\fBnpm\fR \-\- node package manager
@@ -21,12 +21,12 @@ npm\.load([configObject,] function (er, npm) {
.fi
.
.SH "VERSION"
-1.2.25
+1.3.3
.
.SH "DESCRIPTION"
This is the API documentation for npm\.
To find documentation of the command line
-client, see \fBnpm help npm\fR\|\.
+npm help client, see \fBnpm\fR\|\.
.
.P
Prior to using npm\'s commands, \fBnpm\.load()\fR must be called\.
@@ -34,12 +34,11 @@ If you provide \fBconfigObject\fR as an object hash of top\-level
configs, they override the values stored in the various config
locations\. 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\.
+npm help npm help params are loaded from two configuration files\. See \fBnpm\-config\fR, \fBnpm\-confignpm help \fR, and \fBnpmrc\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
+npm help commands object: \fBnpm\.commands\.<cmd>\fR\|\. See \fBnpm\-index\fR for a list of
all possible commands\.
.
.P
diff --git a/deps/npm/man/man3/outdated.3 b/deps/npm/man/man3/outdated.3
deleted file mode 100644
index ef48d624a..000000000
--- a/deps/npm/man/man3/outdated.3
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-OUTDATED" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 7d7a2aa05..000000000
--- a/deps/npm/man/man3/owner.3
+++ /dev/null
@@ -1,52 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-OWNER" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index fae21ad70..000000000
--- a/deps/npm/man/man3/pack.3
+++ /dev/null
@@ -1,28 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PACK" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 34f682499..000000000
--- a/deps/npm/man/man3/prefix.3
+++ /dev/null
@@ -1,24 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PREFIX" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 6999ed3e5..000000000
--- a/deps/npm/man/man3/prune.3
+++ /dev/null
@@ -1,27 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PRUNE" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index c49df8d51..000000000
--- a/deps/npm/man/man3/publish.3
+++ /dev/null
@@ -1,51 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-PUBLISH" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 275018a79..000000000
--- a/deps/npm/man/man3/rebuild.3
+++ /dev/null
@@ -1,22 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-REBUILD" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 74a0831a0..000000000
--- a/deps/npm/man/man3/restart.3
+++ /dev/null
@@ -1,37 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-RESTART" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 07baafa87..000000000
--- a/deps/npm/man/man3/rm.3
+++ /dev/null
@@ -1,25 +0,0 @@
-.\" 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
deleted file mode 100644
index 0f9044dc7..000000000
--- a/deps/npm/man/man3/root.3
+++ /dev/null
@@ -1,24 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-ROOT" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 3207c97d8..000000000
--- a/deps/npm/man/man3/run-script.3
+++ /dev/null
@@ -1,48 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-RUN\-SCRIPT" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 0a18fe9db..000000000
--- a/deps/npm/man/man3/search.3
+++ /dev/null
@@ -1,64 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SEARCH" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 548f4bb9c..000000000
--- a/deps/npm/man/man3/set.3
+++ /dev/null
@@ -1,69 +0,0 @@
-.\" 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/shrinkwrap.3 b/deps/npm/man/man3/shrinkwrap.3
deleted file mode 100644
index faee3d895..000000000
--- a/deps/npm/man/man3/shrinkwrap.3
+++ /dev/null
@@ -1,30 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SHRINKWRAP" "3" "June 2013" "" ""
-.
-.SH "NAME"
-\fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file
-.
-.SH "SYNOPSIS"
-.
-.nf
-npm\.commands\.shrinkwrap(args, [silent,] callback)
-.
-.fi
-.
-.SH "DESCRIPTION"
-This acts much the same ways as shrinkwrapping on the command\-line\.
-.
-.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\.
-.
-.P
-If the \'silent\' parameter is set to true, nothing will be output to the screen,
-but the shrinkwrap file will still be written\.
-.
-.P
-Finally, \'callback\' is a function that will be called when the shrinkwrap has
-been saved\.
diff --git a/deps/npm/man/man3/start.3 b/deps/npm/man/man3/start.3
deleted file mode 100644
index ae59112b5..000000000
--- a/deps/npm/man/man3/start.3
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-START" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index fec8b994a..000000000
--- a/deps/npm/man/man3/stop.3
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-STOP" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 8e38c0299..000000000
--- a/deps/npm/man/man3/submodule.3
+++ /dev/null
@@ -1,42 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-SUBMODULE" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index c6392ee48..000000000
--- a/deps/npm/man/man3/tag.3
+++ /dev/null
@@ -1,31 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-TAG" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 7c09677b1..000000000
--- a/deps/npm/man/man3/test.3
+++ /dev/null
@@ -1,25 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-TEST" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index eaad18bfe..000000000
--- a/deps/npm/man/man3/uninstall.3
+++ /dev/null
@@ -1,25 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-UNINSTALL" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 739e74e73..000000000
--- a/deps/npm/man/man3/unpublish.3
+++ /dev/null
@@ -1,30 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-UNPUBLISH" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 35f1ef5bc..000000000
--- a/deps/npm/man/man3/update.3
+++ /dev/null
@@ -1,18 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-UPDATE" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 40666c9a4..000000000
--- a/deps/npm/man/man3/version.3
+++ /dev/null
@@ -1,27 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-VERSION" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index b3c894292..000000000
--- a/deps/npm/man/man3/view.3
+++ /dev/null
@@ -1,176 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-VIEW" "3" "June 2013" "" ""
-.
-.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
deleted file mode 100644
index 7eccbab39..000000000
--- a/deps/npm/man/man3/whoami.3
+++ /dev/null
@@ -1,24 +0,0 @@
-.\" Generated with Ronnjs 0.3.8
-.\" http://github.com/kapouer/ronnjs/
-.
-.TH "NPM\-WHOAMI" "3" "June 2013" "" ""
-.
-.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
diff --git a/deps/npm/man/man5/npm-folders.5 b/deps/npm/man/man5/npm-folders.5
new file mode 100644
index 000000000..2f2fb97bd
--- /dev/null
+++ b/deps/npm/man/man5/npm-folders.5
@@ -0,0 +1,264 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-FOLDERS" "5" "July 2013" "" ""
+.
+.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"
+npm help See \fBnpm\-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\.
+.
+.SS "\fIExample\fR"
+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 \fBbar@1\.2\.3\fR and \fBbaz@1\.2\.3\fR, 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 satisfies bar\'s dependency on \fBblerg@1\.x\fR,
+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 bar is already in quux\'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
+npm help cannot be found elsewhere\. See \fBpackage\.json\fR for more information\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help package\.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 npmrc
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man5/npm-global.5 b/deps/npm/man/man5/npm-global.5
new file mode 100644
index 000000000..2f2fb97bd
--- /dev/null
+++ b/deps/npm/man/man5/npm-global.5
@@ -0,0 +1,264 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-FOLDERS" "5" "July 2013" "" ""
+.
+.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"
+npm help See \fBnpm\-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\.
+.
+.SS "\fIExample\fR"
+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 \fBbar@1\.2\.3\fR and \fBbaz@1\.2\.3\fR, 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 satisfies bar\'s dependency on \fBblerg@1\.x\fR,
+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 bar is already in quux\'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
+npm help cannot be found elsewhere\. See \fBpackage\.json\fR for more information\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help package\.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 npmrc
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5
new file mode 100644
index 000000000..8a064e5c5
--- /dev/null
+++ b/deps/npm/man/man5/npm-json.5
@@ -0,0 +1,856 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "PACKAGE\.JSON" "5" "July 2013" "" ""
+.
+.SH "NAME"
+\fBpackage.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
+npm help settings described in \fBnpm\-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"scripts":{"preinstall": "node\-gyp rebuild"}\fR
+.
+.IP
+If there is a \fBbinding\.gyp\fR file in the root of your package, npm will
+default the \fBpreinstall\fR command to compile using node\-gyp\.
+.
+.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 "license"
+You should specify a license for your package so that people know how they are
+permitted to use it, and any restrictions you\'re placing on it\.
+.
+.P
+The simplest way, assuming you\'re using a common license such as BSD or MIT, is
+to just specify the name of the license you\'re using, like this:
+.
+.IP "" 4
+.
+.nf
+{ "license" : "BSD" }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If you have more complex licensing terms, or you want to provide more detail
+in your package\.json file, you can use the more verbose plural form, like this:
+.
+.IP "" 4
+.
+.nf
+"licenses" : [
+ { "type" : "MyLicense"
+ , "url" : "http://github\.com/owner/project/path/to/license"
+ }
+]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+It\'s also a good idea to include a license file at the top level in your package\.
+.
+.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
+npm help See \fBnpm\-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
+npm help See \fBnpm\-confignpm help \fR and \fBnpm\-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 "\(bu" 4
+\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below
+.
+.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 <1\.3\.0"\fR
+.
+.IP "\(bu" 4
+\fB"~1" = ">=1\.0\.0 <1\.1\.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\.
+.
+.SS "Git URLs as Dependencies"
+Git urls can be of the form:
+.
+.IP "" 4
+.
+.nf
+git://github\.com/user/project\.git#commit\-ish
+git+ssh://user@hostname:project\.git#commit\-ish
+git+ssh://user@hostname/project\.git#commit\-ish
+git+http://user@hostname/project/blah\.git#commit\-ish
+git+https://user@hostname/project/blah\.git#commit\-ish
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as
+an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\.
+.
+.SH "devDependencies"
+If someone is planning on downloading and using your module in their
+program, then they probably don\'t want or need to download and build
+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 or when doing \fBnpm install\fR from the root of a package, and can be managed like any other npm
+npm help configuration param\. See \fBnpm\-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 "optionalDependencies"
+If a dependency can be used, but you would like npm to proceed if it
+cannot be found or fails to install, then you may put it in the \fBoptionalDependencies\fR hash\. This is a map of package name to version
+or url, just like the \fBdependencies\fR hash\. The difference is that
+failure is tolerated\.
+.
+.P
+It is still your program\'s responsibility to handle the lack of the
+dependency\. For example, something like this:
+.
+.IP "" 4
+.
+.nf
+try {
+ var foo = require(\'foo\')
+ var fooVersion = require(\'foo/package\.json\')\.version
+} catch (er) {
+ foo = null
+}
+if ( notGoodFooVersion(fooVersion) ) {
+ foo = null
+}
+// \.\. then later in your program \.\.
+if (foo) {
+ foo\.doFooThings()
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Entries in \fBoptionalDependencies\fR will override entries of the same name in \fBdependencies\fR, so it\'s usually best to only put in one place\.
+.
+.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
+.
+.P
+Note that, unless the user has set the \fBengine\-strict\fR config flag, this
+field is advisory only\.
+.
+.SH "engineStrict"
+If you are sure that your module will \fIdefinitely not\fR run properly on
+versions of Node/npm other than those specified in the \fBengines\fR hash,
+then you can set \fB"engineStrict": true\fR in your package\.json file\.
+This will override the user\'s \fBengine\-strict\fR config setting\.
+.
+.P
+Please do not do this unless you are really very very sure\. If your
+engines hash is something overly restrictive, you can quite easily and
+inadvertently lock yourself into obscurity and prevent your users from
+updating to new versions of Node\. Consider this choice carefully\. If
+people abuse it, it will be removed in a future version of npm\.
+.
+.SH "os"
+You can specify which operating systems your
+module will run on:
+.
+.IP "" 4
+.
+.nf
+"os" : [ "darwin", "linux" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You can also blacklist instead of whitelist operating systems,
+just prepend the blacklisted os with a \'!\':
+.
+.IP "" 4
+.
+.nf
+"os" : [ "!win32" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The host operating system is determined by \fBprocess\.platform\fR
+.
+.P
+It is allowed to both blacklist, and whitelist, although there isn\'t any
+good reason to do this\.
+.
+.SH "cpu"
+If your code only runs on certain cpu architectures,
+you can specify which ones\.
+.
+.IP "" 4
+.
+.nf
+"cpu" : [ "x64", "ia32" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Like the \fBos\fR option, you can also blacklist architectures:
+.
+.IP "" 4
+.
+.nf
+"cpu" : [ "!arm", "!mips" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The host architecture is determined by \fBprocess\.arch\fR
+.
+.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 specific 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
+npm help See \fBnpm\-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 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/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5
new file mode 100644
index 000000000..ca4ca548f
--- /dev/null
+++ b/deps/npm/man/man5/npmrc.5
@@ -0,0 +1,89 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPMRC" "5" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpmrc\fR \-\- The npm config files
+.
+.SH "DESCRIPTION"
+npm gets its config settings from the command line, environment
+variables, and \fBnpmrc\fR files\.
+.
+.P
+The \fBnpm config\fR command can be used to update and edit the contents
+of the user and global npmrc files\.
+.
+.P
+npm help For a list of available configuration options, see npm\-config\.
+.
+.SH "FILES"
+The three relevant files are:
+.
+.IP "\(bu" 4
+per\-user config file (~/\.npmrc)
+.
+.IP "\(bu" 4
+global config file ($PREFIX/npmrc)
+.
+.IP "\(bu" 4
+npm builtin config file (/path/to/npm/npmrc)
+.
+.IP "" 0
+.
+.P
+All npm config files are an ini\-formatted list of \fBkey = value\fR
+parameters\. Environment variables can be replaced using \fB${VARIABLE_NAME}\fR\|\. For example:
+.
+.IP "" 4
+.
+.nf
+prefix = ${HOME}/\.npm\-packages
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Each of these files is loaded, and config options are resolved in
+priority order\. For example, a setting in the userconfig file would
+override the setting in the globalconfig file\.
+.
+.SS "Per\-user config file"
+\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set in the environment
+or on the command line)
+.
+.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\.
+Environment variables can be replaced as above\.
+.
+.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\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help package\.json
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man5/package.json.5 b/deps/npm/man/man5/package.json.5
new file mode 100644
index 000000000..8a064e5c5
--- /dev/null
+++ b/deps/npm/man/man5/package.json.5
@@ -0,0 +1,856 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "PACKAGE\.JSON" "5" "July 2013" "" ""
+.
+.SH "NAME"
+\fBpackage.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
+npm help settings described in \fBnpm\-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"scripts":{"preinstall": "node\-gyp rebuild"}\fR
+.
+.IP
+If there is a \fBbinding\.gyp\fR file in the root of your package, npm will
+default the \fBpreinstall\fR command to compile using node\-gyp\.
+.
+.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 "license"
+You should specify a license for your package so that people know how they are
+permitted to use it, and any restrictions you\'re placing on it\.
+.
+.P
+The simplest way, assuming you\'re using a common license such as BSD or MIT, is
+to just specify the name of the license you\'re using, like this:
+.
+.IP "" 4
+.
+.nf
+{ "license" : "BSD" }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If you have more complex licensing terms, or you want to provide more detail
+in your package\.json file, you can use the more verbose plural form, like this:
+.
+.IP "" 4
+.
+.nf
+"licenses" : [
+ { "type" : "MyLicense"
+ , "url" : "http://github\.com/owner/project/path/to/license"
+ }
+]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+It\'s also a good idea to include a license file at the top level in your package\.
+.
+.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
+npm help See \fBnpm\-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
+npm help See \fBnpm\-confignpm help \fR and \fBnpm\-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 "\(bu" 4
+\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below
+.
+.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 <1\.3\.0"\fR
+.
+.IP "\(bu" 4
+\fB"~1" = ">=1\.0\.0 <1\.1\.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\.
+.
+.SS "Git URLs as Dependencies"
+Git urls can be of the form:
+.
+.IP "" 4
+.
+.nf
+git://github\.com/user/project\.git#commit\-ish
+git+ssh://user@hostname:project\.git#commit\-ish
+git+ssh://user@hostname/project\.git#commit\-ish
+git+http://user@hostname/project/blah\.git#commit\-ish
+git+https://user@hostname/project/blah\.git#commit\-ish
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as
+an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\.
+.
+.SH "devDependencies"
+If someone is planning on downloading and using your module in their
+program, then they probably don\'t want or need to download and build
+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 or when doing \fBnpm install\fR from the root of a package, and can be managed like any other npm
+npm help configuration param\. See \fBnpm\-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 "optionalDependencies"
+If a dependency can be used, but you would like npm to proceed if it
+cannot be found or fails to install, then you may put it in the \fBoptionalDependencies\fR hash\. This is a map of package name to version
+or url, just like the \fBdependencies\fR hash\. The difference is that
+failure is tolerated\.
+.
+.P
+It is still your program\'s responsibility to handle the lack of the
+dependency\. For example, something like this:
+.
+.IP "" 4
+.
+.nf
+try {
+ var foo = require(\'foo\')
+ var fooVersion = require(\'foo/package\.json\')\.version
+} catch (er) {
+ foo = null
+}
+if ( notGoodFooVersion(fooVersion) ) {
+ foo = null
+}
+// \.\. then later in your program \.\.
+if (foo) {
+ foo\.doFooThings()
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Entries in \fBoptionalDependencies\fR will override entries of the same name in \fBdependencies\fR, so it\'s usually best to only put in one place\.
+.
+.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
+.
+.P
+Note that, unless the user has set the \fBengine\-strict\fR config flag, this
+field is advisory only\.
+.
+.SH "engineStrict"
+If you are sure that your module will \fIdefinitely not\fR run properly on
+versions of Node/npm other than those specified in the \fBengines\fR hash,
+then you can set \fB"engineStrict": true\fR in your package\.json file\.
+This will override the user\'s \fBengine\-strict\fR config setting\.
+.
+.P
+Please do not do this unless you are really very very sure\. If your
+engines hash is something overly restrictive, you can quite easily and
+inadvertently lock yourself into obscurity and prevent your users from
+updating to new versions of Node\. Consider this choice carefully\. If
+people abuse it, it will be removed in a future version of npm\.
+.
+.SH "os"
+You can specify which operating systems your
+module will run on:
+.
+.IP "" 4
+.
+.nf
+"os" : [ "darwin", "linux" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You can also blacklist instead of whitelist operating systems,
+just prepend the blacklisted os with a \'!\':
+.
+.IP "" 4
+.
+.nf
+"os" : [ "!win32" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The host operating system is determined by \fBprocess\.platform\fR
+.
+.P
+It is allowed to both blacklist, and whitelist, although there isn\'t any
+good reason to do this\.
+.
+.SH "cpu"
+If your code only runs on certain cpu architectures,
+you can specify which ones\.
+.
+.IP "" 4
+.
+.nf
+"cpu" : [ "x64", "ia32" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Like the \fBos\fR option, you can also blacklist architectures:
+.
+.IP "" 4
+.
+.nf
+"cpu" : [ "!arm", "!mips" ]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The host architecture is determined by \fBprocess\.arch\fR
+.
+.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 specific 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
+npm help See \fBnpm\-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 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/man7/index.7 b/deps/npm/man/man7/index.7
new file mode 100644
index 000000000..911d8efab
--- /dev/null
+++ b/deps/npm/man/man7/index.7
@@ -0,0 +1,298 @@
+.\" Generated with Ronnjs 0.4.0
+.\" http://github.com/kapouer/ronnjs
+.
+.TH "NPM\-INDEX" "7" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-index\fR \-\- Index of all npm documentation
+.
+npm help .SH "README"
+node package manager
+.
+npm help .SH "npm"
+node package manager
+.
+npm help .SH "npm\-adduser"
+Add a registry user account
+.
+npm help .SH "npm\-bin"
+Display npm bin folder
+.
+npm help .SH "npm\-bugs"
+Bugs for a package in a web browser maybe
+.
+npm help .SH "npm\-build"
+Build a package
+.
+npm help .SH "npm\-bundle"
+REMOVED
+.
+npm help .SH "npm\-cache"
+Manipulates packages cache
+.
+npm help .SH "npm\-completion"
+Tab Completion for npm
+.
+npm help .SH "npm\-config"
+Manage the npm configuration files
+.
+npm help .SH "npm\-dedupe"
+Reduce duplication
+.
+npm help .SH "npm\-deprecate"
+Deprecate a version of a package
+.
+npm help .SH "npm\-docs"
+Docs for a package in a web browser maybe
+.
+npm help .SH "npm\-edit"
+Edit an installed package
+.
+npm help .SH "npm\-explore"
+Browse an installed package
+.
+npm help .SH "npm\-help\-search"
+Search npm help documentation
+.
+npm help .SH "npm\-help"
+Get help on npm
+.
+npm help .SH "npm\-init"
+Interactively create a package\.json file
+.
+npm help .SH "npm\-install"
+Install a package
+.
+npm help .SH "npm\-link"
+Symlink a package folder
+.
+npm help .SH "npm\-ls"
+List installed packages
+.
+npm help .SH "npm\-outdated"
+Check for outdated packages
+.
+npm help .SH "npm\-owner"
+Manage package owners
+.
+npm help .SH "npm\-pack"
+Create a tarball from a package
+.
+npm help .SH "npm\-prefix"
+Display prefix
+.
+npm help .SH "npm\-prune"
+Remove extraneous packages
+.
+npm help .SH "npm\-publish"
+Publish a package
+.
+npm help .SH "npm\-rebuild"
+Rebuild a package
+.
+npm help .SH "npm\-restart"
+Start a package
+.
+npm help .SH "npm\-rm"
+Remove a package
+.
+npm help .SH "npm\-root"
+Display npm root
+.
+npm help .SH "npm\-run\-script"
+Run arbitrary package scripts
+.
+npm help .SH "npm\-search"
+Search for packages
+.
+npm help .SH "npm\-shrinkwrap"
+Lock down dependency versions
+.
+npm help .SH "npm\-star"
+Mark your favorite packages
+.
+npm help .SH "npm\-stars"
+View packages marked as favorites
+.
+npm help .SH "npm\-start"
+Start a package
+.
+npm help .SH "npm\-stop"
+Stop a package
+.
+npm help .SH "npm\-submodule"
+Add a package as a git submodule
+.
+npm help .SH "npm\-tag"
+Tag a published version
+.
+npm help .SH "npm\-test"
+Test a package
+.
+npm help .SH "npm\-uninstall"
+Remove a package
+.
+npm help .SH "npm\-unpublish"
+Remove a package from the registry
+.
+npm help .SH "npm\-update"
+Update a package
+.
+npm help .SH "npm\-version"
+Bump a package version
+.
+npm help .SH "npm\-view"
+View registry info
+.
+npm help .SH "npm\-whoami"
+Display npm username
+.
+npm apihelp .SH "npm"
+node package manager
+.
+npm apihelp .SH "npm\-bin"
+Display npm bin folder
+.
+npm apihelp .SH "npm\-bugs"
+Bugs for a package in a web browser maybe
+.
+npm apihelp .SH "npm\-commands"
+npm commands
+.
+npm apihelp .SH "npm\-config"
+Manage the npm configuration files
+.
+npm apihelp .SH "npm\-deprecate"
+Deprecate a version of a package
+.
+npm apihelp .SH "npm\-docs"
+Docs for a package in a web browser maybe
+.
+npm apihelp .SH "npm\-edit"
+Edit an installed package
+.
+npm apihelp .SH "npm\-explore"
+Browse an installed package
+.
+npm apihelp .SH "npm\-help\-search"
+Search the help pages
+.
+npm apihelp .SH "npm\-init"
+Interactively create a package\.json file
+.
+npm apihelp .SH "npm\-install"
+install a package programmatically
+.
+npm apihelp .SH "npm\-link"
+Symlink a package folder
+.
+npm apihelp .SH "npm\-load"
+Load config settings
+.
+npm apihelp .SH "npm\-ls"
+List installed packages
+.
+npm apihelp .SH "npm\-outdated"
+Check for outdated packages
+.
+npm apihelp .SH "npm\-owner"
+Manage package owners
+.
+npm apihelp .SH "npm\-pack"
+Create a tarball from a package
+.
+npm apihelp .SH "npm\-prefix"
+Display prefix
+.
+npm apihelp .SH "npm\-prune"
+Remove extraneous packages
+.
+npm apihelp .SH "npm\-publish"
+Publish a package
+.
+npm apihelp .SH "npm\-rebuild"
+Rebuild a package
+.
+npm apihelp .SH "npm\-restart"
+Start a package
+.
+npm apihelp .SH "npm\-root"
+Display npm root
+.
+npm apihelp .SH "npm\-run\-script"
+Run arbitrary package scripts
+.
+npm apihelp .SH "npm\-search"
+Search for packages
+.
+npm apihelp .SH "npm\-shrinkwrap"
+programmatically generate package shrinkwrap file
+.
+npm apihelp .SH "npm\-start"
+Start a package
+.
+npm apihelp .SH "npm\-stop"
+Stop a package
+.
+npm apihelp .SH "npm\-submodule"
+Add a package as a git submodule
+.
+npm apihelp .SH "npm\-tag"
+Tag a published version
+.
+npm apihelp .SH "npm\-test"
+Test a package
+.
+npm apihelp .SH "npm\-uninstall"
+uninstall a package programmatically
+.
+npm apihelp .SH "npm\-unpublish"
+Remove a package from the registry
+.
+npm apihelp .SH "npm\-update"
+Update a package
+.
+npm apihelp .SH "npm\-version"
+Bump a package version
+.
+npm apihelp .SH "npm\-view"
+View registry info
+.
+npm apihelp .SH "npm\-whoami"
+Display npm username
+.
+npm help .SH "npm\-folders"
+Folder Structures Used by npm
+.
+npm help .SH "npmrc"
+The npm config files
+.
+npm help .SH "package\.json"
+Specifics of npm\'s package\.json handling
+.
+npm help .SH "npm\-coding\-style"
+npm\'s "funny" coding style
+.
+npm help .SH "npm\-config"
+More than you probably want to know about npm configuration
+.
+npm help .SH "npm\-developers"
+Developer Guide
+.
+npm help .SH "npm\-disputes"
+Handling Module Name Disputes
+.
+npm help .SH "npm\-faq"
+Frequently Asked Questions
+.
+npm help .SH "npm\-registry"
+The JavaScript Package Registry
+.
+npm help .SH "npm\-scripts"
+How npm handles the "scripts" field
+.
+npm help .SH "removing\-npm"
+Cleaning the Slate
+.
+npm help .SH "semver"
+The semantic versioner for npm
diff --git a/deps/npm/man/man7/npm-coding-style.7 b/deps/npm/man/man7/npm-coding-style.7
new file mode 100644
index 000000000..47417d2de
--- /dev/null
+++ b/deps/npm/man/man7/npm-coding-style.7
@@ -0,0 +1,254 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CODING\-STYLE" "7" "July 2013" "" ""
+.
+.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\.
+.
+.P
+Note: this concerns npm\'s code not the specific packages at npmjs\.org
+.
+.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
+\fBcase "foo": doSomething(); break\fR
+.
+.IP "\(bu" 4
+In front of a leading \fB(\fR or \fB[\fR at the start of the line\.
+This prevents the expression from being interpreted
+as a function call or property access, respectively\.
+.
+.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\.
+.
+.SH "Logging"
+Logging is done using the npmlog \fIhttps://github\.com/isaacs/npmlog\fR
+utility\.
+.
+.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
+npm help Use appropriate log levels\. See \fBnpm\-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/man7/npm-config.7 b/deps/npm/man/man7/npm-config.7
new file mode 100644
index 000000000..f30758b8f
--- /dev/null
+++ b/deps/npm/man/man7/npm-config.7
@@ -0,0 +1,1454 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "7" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- More than you probably want to know about npm configuration
+.
+.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 "npmrc Files"
+The three relevant files are:
+.
+.IP "\(bu" 4
+per\-user config file (~/\.npmrc)
+.
+.IP "\(bu" 4
+global config file ($PREFIX/npmrc)
+.
+.IP "\(bu" 4
+npm builtin config file (/path/to/npm/npmrc)
+.
+.IP "" 0
+.
+.P
+npm help See npmrc for more details\.
+.
+.SS "Default Configs"
+A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified\.
+.
+.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\-q\fR, \fB\-\-quiet\fR: \fB\-\-loglevel warn\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\-desc\fR: \fB\-\-description\fR
+.
+.IP "\(bu" 4
+\fB\-S\fR: \fB\-\-save\fR
+.
+.IP "\(bu" 4
+\fB\-D\fR: \fB\-\-save\-dev\fR
+.
+.IP "\(bu" 4
+\fB\-O\fR: \fB\-\-save\-optional\fR
+.
+.IP "\(bu" 4
+\fB\-B\fR: \fB\-\-save\-bundle\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 (npm help see \fBnpm\-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
+.
+.P
+npm help See package\.json for more information\.
+.
+.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\-links"
+.
+.IP "\(bu" 4
+Default: \fBtrue\fR
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Tells npm to create symlinks (or \fB\|\.cmd\fR shims on Windows) for package
+executables\.
+.
+.P
+Set to false to have it not do this\. This can be used to work around
+the fact that some file systems don\'t support symlinks, even on
+ostensibly Unix systems\.
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, Windows: \fB"start"\fR, Others: \fB"xdg\-open"\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%APPDATA%\\npm\-cache\fR, Posix: \fB~/\.npm\fR
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+npm help The location of npm\'s cache directory\. See \fBnpm\-cache\fR
+.
+.SS "cache\-lock\-stale"
+.
+.IP "\(bu" 4
+Default: 60000 (1 minute)
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The number of ms before cache folder lockfiles are considered stale\.
+.
+.SS "cache\-lock\-retries"
+.
+.IP "\(bu" 4
+Default: 10
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+Number of times to retry to acquire a lock on cache folder lockfiles\.
+.
+.SS "cache\-lock\-wait"
+.
+.IP "\(bu" 4
+Default: 10000 (10 seconds)
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+Number of ms to wait for cache lock files to expire\.
+.
+.SS "cache\-max"
+.
+.IP "\(bu" 4
+Default: Infinity
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The maximum time (in seconds) to keep items in the registry cache before
+re\-checking against the registry\.
+.
+.P
+Note that no purging is done unless the \fBnpm cache clean\fR command is
+explicitly used, and that only GET requests use the cache\.
+.
+.SS "cache\-min"
+.
+.IP "\(bu" 4
+Default: 10
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The minimum time (in seconds) to keep items in the registry cache before
+re\-checking against the registry\.
+.
+.P
+Note that no purging is done unless the \fBnpm cache clean\fR command is
+explicitly used, and that only GET requests use the cache\.
+.
+.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 "coverage"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+A flag to tell test\-harness to run with their coverage options enabled,
+if they respond to the \fBnpm_config_coverage\fR environment variable\.
+.
+.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 "engine\-strict"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If set to true, then npm will stubbornly refuse to install (or even
+consider installing) any package that claims to not be compatible with
+the current Node\.js version\.
+.
+.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 "fetch\-retries"
+.
+.IP "\(bu" 4
+Default: 2
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The "retries" config for the \fBretry\fR module to use when fetching
+packages from the registry\.
+.
+.SS "fetch\-retry\-factor"
+.
+.IP "\(bu" 4
+Default: 10
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The "factor" config for the \fBretry\fR module to use when fetching
+packages\.
+.
+.SS "fetch\-retry\-mintimeout"
+.
+.IP "\(bu" 4
+Default: 10000 (10 seconds)
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The "minTimeout" config for the \fBretry\fR module to use when fetching
+packages\.
+.
+.SS "fetch\-retry\-maxtimeout"
+.
+.IP "\(bu" 4
+Default: 60000 (1 minute)
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The "maxTimeout" config for the \fBretry\fR module to use when fetching
+packages\.
+.
+.SS "git"
+.
+.IP "\(bu" 4
+Default: \fB"git"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The command to use for git commands\. If git is installed on the
+computer, but is not in the \fBPATH\fR, then set this to the full path to
+the git binary\.
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+npm help Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm\-folders\fR for more on the differences in behavior\.
+.
+.IP "\(bu" 4
+packages are installed into the \fB{prefix}/lib/node_modules\fR folder, instead of the
+current working directory\.
+.
+.IP "\(bu" 4
+bin files are linked to \fB{prefix}/bin\fR
+.
+.IP "\(bu" 4
+man pages are linked to \fB{prefix}/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 "user\-agent"
+.
+.IP "\(bu" 4
+Default: node/{process\.version} {process\.platform} {process\.arch}
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Sets a User\-Agent to the request header
+.
+.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\-module"
+.
+.IP "\(bu" 4
+Default: ~/\.npm\-init\.js
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+A module that will be loaded by the \fBnpm init\fR command\. See the
+documentation for the init\-package\-json \fIhttps://github\.com/isaacs/init\-package\-json\fR module
+npm help for more information, or npm\-init\.
+.
+.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: ""
+.
+.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 "json"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to output JSON data, rather than the normal output\.
+.
+.P
+This feature is currently experimental, and the output data structures
+for many commands is either not implemented in JSON yet, or subject to
+change\. Only the output from \fBnpm ls \-\-json\fR is currently valid\.
+.
+.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 "loglevel"
+.
+.IP "\(bu" 4
+Default: "http"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "\(bu" 4
+Values: "silent", "win", "error", "warn", "http", "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\.
+.
+.P
+Any logs of a higher level than the setting are shown\.
+The default is "http", which shows http, warn, and error output\.
+.
+.SS "logstream"
+.
+.IP "\(bu" 4
+Default: process\.stderr
+.
+.IP "\(bu" 4
+Type: Stream
+.
+.IP "" 0
+.
+.P
+This is the stream that is passed to the npmlog \fIhttps://github\.com/isaacs/npmlog\fR module at run time\.
+.
+.P
+It cannot be set from the command line, but if you are using npm
+programmatically, you may wish to send logs to somewhere other than
+stderr\.
+.
+.P
+If the \fBcolor\fR config is set to true, then this stream will receive
+colored output if it is a TTY\.
+.
+.SS "long"
+.
+.IP "\(bu" 4
+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 "optional"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Attempt to install packages in the \fBoptionalDependencies\fR hash\. Note
+that if these packages fail to install, the overall installation
+process is not aborted\.
+.
+.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
+npm help Default: see npm\-folders
+.
+.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 "proprietary\-attribs"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to include proprietary extended attributes in the
+tarballs created by npm\.
+.
+.P
+Unless you are expecting to unpack package tarballs with something other
+than npm \-\- particularly a very outdated tar implementation \-\- leave
+this as true\.
+.
+.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
+When used with the \fBnpm rm\fR command, it removes it from the dependencies
+hash\.
+.
+.P
+Only works if there is already a package\.json file present\.
+.
+.SS "save\-bundle"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If a package would be saved at install time by the use of \fB\-\-save\fR, \fB\-\-save\-dev\fR, or \fB\-\-save\-optional\fR, then also put it in the \fBbundleDependencies\fR list\.
+.
+.P
+When used with the \fBnpm rm\fR command, it removes it from the
+bundledDependencies list\.
+.
+.SS "save\-dev"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Save installed packages to a package\.json file as devDependencies\.
+.
+.P
+When used with the \fBnpm rm\fR command, it removes it from the devDependencies
+hash\.
+.
+.P
+Only works if there is already a package\.json file present\.
+.
+.SS "save\-optional"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Save installed packages to a package\.json file as optionalDependencies\.
+.
+.P
+When used with the \fBnpm rm\fR command, it removes it from the devDependencies
+hash\.
+.
+.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 "searchsort"
+.
+.IP "\(bu" 4
+Default: "name"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "\(bu" 4
+Values: "name", "\-name", "date", "\-date", "description",
+"\-description", "keywords", "\-keywords"
+.
+.IP "" 0
+.
+.P
+Indication of which field to sort search results by\. Prefix with a \fB\-\fR
+character to indicate reverse sort\.
+.
+.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 "shrinkwrap"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If set to false, then ignore \fBnpm\-shrinkwrap\.json\fR files when
+installing\.
+.
+.SS "sign\-git\-tag"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If set to true, then the \fBnpm version\fR command will tag the version
+using \fB\-s\fR to add a signature\.
+.
+.P
+Note that git requires you to have set up GPG keys in your git configs
+for this to work properly\.
+.
+.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)
+npm help instead of complete help when doing \fBnpm\-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 "versions"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: boolean
+.
+.IP "" 0
+.
+.P
+If true, output the npm version as well as node\'s \fBprocess\.versions\fR
+hash, 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 config
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man7/npm-developers.7 b/deps/npm/man/man7/npm-developers.7
new file mode 100644
index 000000000..619e8ecb1
--- /dev/null
+++ b/deps/npm/man/man7/npm-developers.7
@@ -0,0 +1,335 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEVELOPERS" "7" "July 2013" "" ""
+.
+.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 "
+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 "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
+npm help See \fBpackage\.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\.
+npm help See npm\-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
+npm help started with a pretty basic package\.json file\. See \fBnpm\-init\fR for
+more info\.
+.
+.SH "Keeping files "
+Use a \fB\|\.npmignore\fR file to keep stuff out of your package\. If there\'s
+no \fB\|\.npmignore\fR file, but there \fIis\fR a \fB\|\.gitignore\fR file, then npm will
+ignore the stuff matched by the \fB\|\.gitignore\fR file\. If you \fIwant\fR to
+include something that is excluded by your \fB\|\.gitignore\fR file, you can
+create an empty \fB\|\.npmignore\fR file to override it\.
+.
+.P
+By default, the following paths and files are ignored, so there\'s no
+need to add them to \fB\|\.npmignore\fR explicitly:
+.
+.IP "\(bu" 4
+\fB\|\.*\.swp\fR
+.
+.IP "\(bu" 4
+\fB\|\._*\fR
+.
+.IP "\(bu" 4
+\fB\|\.DS_Store\fR
+.
+.IP "\(bu" 4
+\fB\|\.git\fR
+.
+.IP "\(bu" 4
+\fB\|\.hg\fR
+.
+.IP "\(bu" 4
+\fB\|\.lock\-wscript\fR
+.
+.IP "\(bu" 4
+\fB\|\.svn\fR
+.
+.IP "\(bu" 4
+\fB\|\.wafpickle\-*\fR
+.
+.IP "\(bu" 4
+\fBCVS\fR
+.
+.IP "\(bu" 4
+\fBnpm\-debug\.log\fR
+.
+.IP "" 0
+.
+.P
+Additionally, everything in \fBnode_modules\fR is ignored, except for
+bundled dependencies\. npm automatically handles this for you, so don\'t
+bother adding \fBnode_modules\fR to \fB\|\.npmignore\fR\|\.
+.
+.P
+The following paths and files are never ignored, so adding them to \fB\|\.npmignore\fR is pointless:
+.
+.IP "\(bu" 4
+\fBpackage\.json\fR
+.
+.IP "\(bu" 4
+\fBREADME\.*\fR
+.
+.IP "" 0
+.
+.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
+npm help More info at \fBnpm\-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
+npm help This is documented better in npm\-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\|\.npmignore\fR file to list out the globs to 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 package\.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/man7/npm-disputes.7 b/deps/npm/man/man7/npm-disputes.7
new file mode 100644
index 000000000..7d074dd55
--- /dev/null
+++ b/deps/npm/man/man7/npm-disputes.7
@@ -0,0 +1,145 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DISPUTES" "7" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-disputes\fR \-\- Handling Module Name Disputes
+.
+.SH "SYNOPSIS"
+.
+.IP "1" 4
+Get the author email with \fBnpm owner ls <pkgname>\fR
+.
+.IP "2" 4
+Email the author, CC \fIi@izs\.me\fR\|\.
+.
+.IP "3" 4
+After a few weeks, if there\'s no resolution, we\'ll sort it out\.
+.
+.IP "" 0
+.
+.P
+Don\'t squat on package names\. Publish code or move out of the way\.
+.
+.SH "DESCRIPTION"
+There sometimes arise cases where a user publishes a module, and then
+later, some other user wants to use that name\. Here are some common
+ways that happens (each of these is based on actual events\.)
+.
+.IP "1" 4
+Joe writes a JavaScript module \fBfoo\fR, which is not node\-specific\.
+Joe doesn\'t use node at all\. Bob wants to use \fBfoo\fR in node, so he
+wraps it in an npm module\. Some time later, Joe starts using node,
+and wants to take over management of his program\.
+.
+.IP "2" 4
+Bob writes an npm module \fBfoo\fR, and publishes it\. Perhaps much
+later, Joe finds a bug in \fBfoo\fR, and fixes it\. He sends a pull
+request to Bob, but Bob doesn\'t have the time to deal with it,
+because he has a new job and a new baby and is focused on his new
+erlang project, and kind of not involved with node any more\. Joe
+would like to publish a new \fBfoo\fR, but can\'t, because the name is
+taken\.
+.
+.IP "3" 4
+Bob writes a 10\-line flow\-control library, and calls it \fBfoo\fR, and
+publishes it to the npm registry\. Being a simple little thing, it
+never really has to be updated\. Joe works for Foo Inc, the makers
+of the critically acclaimed and widely\-marketed \fBfoo\fR JavaScript
+toolkit framework\. They publish it to npm as \fBfoojs\fR, but people are
+routinely confused when \fBnpm install foo\fR is some different thing\.
+.
+.IP "4" 4
+Bob writes a parser for the widely\-known \fBfoo\fR file format, because
+he needs it for work\. Then, he gets a new job, and never updates the
+prototype\. Later on, Joe writes a much more complete \fBfoo\fR parser,
+but can\'t publish, because Bob\'s \fBfoo\fR is in the way\.
+.
+.IP "" 0
+.
+.P
+The validity of Joe\'s claim in each situation can be debated\. However,
+Joe\'s appropriate course of action in each case is the same\.
+.
+.IP "1" 4
+\fBnpm owner ls foo\fR\|\. This will tell Joe the email address of the
+owner (Bob)\.
+.
+.IP "2" 4
+Joe emails Bob, explaining the situation \fBas respectfully as possible\fR,
+and what he would like to do with the module name\. He adds
+isaacs \fIi@izs\.me\fR to the CC list of the email\. Mention in the email
+that Bob can run \fBnpm owner add joe foo\fR to add Joe as an owner of
+the \fBfoo\fR package\.
+.
+.IP "3" 4
+After a reasonable amount of time, if Bob has not responded, or if
+Bob and Joe can\'t come to any sort of resolution, email isaacs \fIi@izs\.me\fR and we\'ll sort it out\. ("Reasonable" is usually about 4
+weeks, but extra time is allowed around common holidays\.)
+.
+.IP "" 0
+.
+.SH "REASONING"
+In almost every case so far, the parties involved have been able to reach
+an amicable resolution without any major intervention\. Most people
+really do want to be reasonable, and are probably not even aware that
+they\'re in your way\.
+.
+.P
+Module ecosystems are most vibrant and powerful when they are as
+self\-directed as possible\. If an admin one day deletes something you
+had worked on, then that is going to make most people quite upset,
+regardless of the justification\. When humans solve their problems by
+talking to other humans with respect, everyone has the chance to end up
+feeling good about the interaction\.
+.
+.SH "EXCEPTIONS"
+Some things are not allowed, and will be removed without discussion if
+they are brought to the attention of the npm registry admins, including
+but not limited to:
+.
+.IP "1" 4
+Malware (that is, a package designed to exploit or harm the machine on
+which it is installed)\.
+.
+.IP "2" 4
+Violations of copyright or licenses (for example, cloning an
+MIT\-licensed program, and then removing or changing the copyright and
+license statement)\.
+.
+.IP "3" 4
+Illegal content\.
+.
+.IP "4" 4
+"Squatting" on a package name that you \fIplan\fR to use, but aren\'t
+actually using\. Sorry, I don\'t care how great the name is, or how
+perfect a fit it is for the thing that someday might happen\. If
+someone wants to use it today, and you\'re just taking up space with
+an empty tarball, you\'re going to be evicted\.
+.
+.IP "5" 4
+Putting empty packages in the registry\. Packages must have SOME
+functionality\. It can be silly, but it can\'t be \fInothing\fR\|\. (See
+also: squatting\.)
+.
+.IP "6" 4
+Doing weird things with the registry, like using it as your own
+personal application database or otherwise putting non\-packagey
+things into it\.
+.
+.IP "" 0
+.
+.P
+If you see bad behavior like this, please report it right away\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help owner
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man7/npm-faq.7 b/deps/npm/man/man7/npm-faq.7
new file mode 100644
index 000000000..1fde2985f
--- /dev/null
+++ b/deps/npm/man/man7/npm-faq.7
@@ -0,0 +1,468 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-FAQ" "7" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-faq\fR \-\- Frequently Asked Questions
+.
+.SH "Where can I find these docs in HTML?"
+\fIhttps://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&#39;t work\."
+That\'s not really a question\.
+.
+.SH "Why didn&#39;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?"
+npm help See \fBnpm\-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 on my computer in a central location?"
+Install it globally by tacking \fB\-g\fR or \fB\-\-global\fR to the command\. (This
+is especially important for command line utilities that need to add
+their bins to the global system \fBPATH\fR\|\.)
+.
+.SH "I installed something globally, but I can&#39;t "
+Install it locally\.
+.
+.P
+The global install location is a place for command\-line utilities
+to put their bins in the system \fBPATH\fR\|\. It\'s not for use with \fBrequire()\fR\|\.
+.
+.P
+If you \fBrequire()\fR a module in your code, then that means it\'s a
+dependency, and a part of your program\. You need to install it locally
+in your program\.
+.
+.SH "Why can&#39;t npm just put everything in one place, like other package managers?"
+Not every change is an improvement, but every improvement is a change\.
+This would be like asking git to do network IO for every commit\. It\'s
+not going to happen, because it\'s a terrible idea that causes more
+problems than it solves\.
+.
+.P
+It is much harder to avoid dependency conflicts without nesting
+dependencies\. This is fundamental to the way that npm works, and has
+npm help proven to be an extremely successful approach\. See \fBnpm\-folders\fR for
+more details\.
+.
+.P
+If you want a package to be installed in one place, and have all your
+programs reference the same copy of it, then use the \fBnpm link\fR command\.
+That\'s what it\'s for\. Install it globally, then link it into each
+program that uses it\.
+.
+.SH "Whatever, I really want the old style &#39;everything global&#39; style\."
+Write your own package manager, then\. It\'s not that hard\.
+.
+.P
+npm will not help you do something that is known to be a bad idea\.
+.
+.SH "Should I check my "
+Mikeal Rogers answered this question very well:
+.
+.P
+\fIhttp://www\.mikealrogers\.com/posts/nodemodules\-in\-git\.html\fR
+.
+.P
+tl;dr
+.
+.IP "\(bu" 4
+Check \fBnode_modules\fR into git for things you \fBdeploy\fR, such as
+websites and apps\.
+.
+.IP "\(bu" 4
+Do not check \fBnode_modules\fR into git for libraries and modules
+intended to be reused\.
+.
+.IP "\(bu" 4
+Use npm to manage dependencies in your dev environment, but not in
+your deployment scripts\.
+.
+.IP "" 0
+.
+.SH "Is it &#39;npm&#39; or &#39;NPM&#39; or &#39;Npm&#39;?"
+npm should never be capitalized unless it is being displayed in a
+location that is customarily all\-caps (such as the title of man pages\.)
+.
+.SH "If &#39;npm&#39; 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 https://npmjs\.org/install\.sh | sh
+.
+.fi
+.
+.IP "" 0
+.
+.SH "What is a "
+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 "What is a "
+A module is anything that can be loaded with \fBrequire()\fR in a Node\.js
+program\. The following things are all examples of things that can be
+loaded as modules:
+.
+.IP "\(bu" 4
+A folder with a \fBpackage\.json\fR file containing a \fBmain\fR field\.
+.
+.IP "\(bu" 4
+A folder with an \fBindex\.js\fR file in it\.
+.
+.IP "\(bu" 4
+A JavaScript file\.
+.
+.IP "" 0
+.
+.P
+Most npm packages are modules, because they are libraries that you
+load with \fBrequire\fR\|\. However, there\'s no requirement that an npm
+package be a module! Some only contain an executable command\-line
+interface, and don\'t provide a \fBmain\fR field for use in Node programs\.
+.
+.P
+Almost all npm packages (at least, those that are Node programs) \fIcontain\fR many modules within them (because every file they load with \fBrequire()\fR is a module)\.
+.
+.P
+In the context of a Node program, the \fBmodule\fR is also the thing that
+was loaded \fIfrom\fR a file\. For example, in the following program:
+.
+.IP "" 4
+.
+.nf
+var req = require(\'request\')
+.
+.fi
+.
+.IP "" 0
+.
+.P
+we might say that "The variable \fBreq\fR refers to the \fBrequest\fR module"\.
+.
+.SH "So, why is it the &quot;"
+The \fBpackage\.json\fR file defines the package\. (See "What is a
+package?" above\.)
+.
+.P
+The \fBnode_modules\fR folder is the place Node\.js looks for modules\.
+(See "What is a module?" above\.)
+.
+.P
+For example, if you create a file at \fBnode_modules/foo\.js\fR and then
+had a program that did \fBvar f = require(\'foo\.js\')\fR then it would load
+the module\. However, \fBfoo\.js\fR is not a "package" in this case,
+because it does not have a package\.json\.
+.
+.P
+Alternatively, if you create a package which does not have an \fBindex\.js\fR or a \fB"main"\fR field in the \fBpackage\.json\fR file, then it is
+not a module\. Even if it\'s installed in \fBnode_modules\fR, it can\'t be
+an argument to \fBrequire()\fR\|\.
+.
+.SH "<code>&quot;node_modules&quot;</code>"
+No\. This will never happen\. This question comes up sometimes,
+because it seems silly from the outside that npm couldn\'t just be
+configured to put stuff somewhere else, and then npm could load them
+from there\. It\'s an arbitrary spelling choice, right? What\'s the big
+deal?
+.
+.P
+At the time of this writing, the string \fB\'node_modules\'\fR appears 151
+times in 53 separate files in npm and node core (excluding tests and
+documentation)\.
+.
+.P
+Some of these references are in node\'s built\-in module loader\. Since
+npm is not involved \fBat all\fR at run\-time, node itself would have to
+be configured to know where you\'ve decided to stick stuff\. Complexity
+hurdle #1\. Since the Node module system is locked, this cannot be
+changed, and is enough to kill this request\. But I\'ll continue, in
+deference to your deity\'s delicate feelings regarding spelling\.
+.
+.P
+Many of the others are in dependencies that npm uses, which are not
+necessarily tightly coupled to npm (in the sense that they do not read
+npm\'s configuration files, etc\.) Each of these would have to be
+configured to take the name of the \fBnode_modules\fR folder as a
+parameter\. Complexity hurdle #2\.
+.
+.P
+Furthermore, npm has the ability to "bundle" dependencies by adding
+the dep names to the \fB"bundledDependencies"\fR list in package\.json,
+which causes the folder to be included in the package tarball\. What
+if the author of a module bundles its dependencies, and they use a
+different spelling for \fBnode_modules\fR? npm would have to rename the
+folder at publish time, and then be smart enough to unpack it using
+your locally configured name\. Complexity hurdle #3\.
+.
+.P
+Furthermore, what happens when you \fIchange\fR this name? Fine, it\'s
+easy enough the first time, just rename the \fBnode_modules\fR folders to \fB\|\./blergyblerp/\fR or whatever name you choose\. But what about when you
+change it again? npm doesn\'t currently track any state about past
+configuration settings, so this would be rather difficult to do
+properly\. It would have to track every previous value for this
+config, and always accept any of them, or else yesterday\'s install may
+be broken tomorrow\. Complexity hurdle #5\.
+.
+.P
+Never going to happen\. The folder is named \fBnode_modules\fR\|\. It is
+written indelibly in the Node Way, handed down from the ancient times
+of Node 0\.3\.
+.
+.SH "How do I install node with npm?"
+You don\'t\. Try one of these node version managers:
+.
+.P
+Unix:
+.
+.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
+.
+.P
+Windows:
+.
+.IP "\(bu" 4
+\fIhttp://github\.com/marcelklehr/nodist\fR
+.
+.IP "\(bu" 4
+\fIhttps://github\.com/hakobera/nvmw\fR
+.
+.IP "" 0
+.
+.SH "How can I use npm for development?"
+npm help See \fBnpm\-developersnpm help \fR and \fBpackage\.json\fR\|\.
+.
+.P
+You\'ll most likely want to \fBnpm link\fR your development folder\. That\'s
+awesomely handy\.
+.
+.P
+npm help To set up your own private registry, check out \fBnpm\-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&#39;t have to keep re\-installing?"
+npm help See \fBnpm\-link\fR
+.
+.SH "The package registry website\. What is that exactly?"
+npm help See \fBnpm\-registry\fR\|\.
+.
+.SH "I forgot my password, and can&#39;t publish\. How do I reset it?"
+Go to \fIhttps://npmjs\.org/forgot\fR\|\.
+.
+.SH "I get ECONNREFUSED a lot\. What&#39;s up?"
+Either the registry is down, or node\'s DNS isn\'t able to reach out\.
+.
+.P
+To check if the registry is down, open up \fIhttp://registry\.npmjs\.org/\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 \fIi@izs\.me\fR or posting
+an issue at \fIhttps://github\.com/isaacs/npm/issues\fR\|\. We\'ll have
+someone kick it or something\.
+.
+.SH "Why no namespaces?"
+Please see this discussion: \fIhttps://github\.com/isaacs/npm/issues/798\fR
+.
+.P
+tl;dr \- It doesn\'t actually make things better, and can make them worse\.
+.
+.P
+If you want to namespace your own packages, you may: simply use the \fB\-\fR character to separate the names\. npm is a mostly anarchic system\.
+There is not sufficient need to impose namespace rules on everyone\.
+.
+.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?"
+Post an issue on the github project:
+.
+.IP "\(bu" 4
+\fIhttps://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 package\.json
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man7/npm-index.7 b/deps/npm/man/man7/npm-index.7
new file mode 100644
index 000000000..dd3f6a806
--- /dev/null
+++ b/deps/npm/man/man7/npm-index.7
@@ -0,0 +1,301 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INDEX" "7" "July 2013" "" ""
+.
+.SH "NAME"
+\fBnpm-index\fR \-\- Index of all npm documentation
+.
+npm help .SH "README"
+node package manager
+.
+npm help .SH "npm"
+node package manager
+.
+npm help .SH "npm\-adduser"
+Add a registry user account
+.
+npm help .SH "npm\-bin"
+Display npm bin folder
+.
+npm help .SH "npm\-bugs"
+Bugs for a package in a web browser maybe
+.
+npm help .SH "npm\-build"
+Build a package
+.
+npm help .SH "npm\-bundle"
+REMOVED
+.
+npm help .SH "npm\-cache"
+Manipulates packages cache
+.
+npm help .SH "npm\-completion"
+Tab Completion for npm
+.
+npm help .SH "npm\-config"
+Manage the npm configuration files
+.
+npm help .SH "npm\-dedupe"
+Reduce duplication
+.
+npm help .SH "npm\-deprecate"
+Deprecate a version of a package
+.
+npm help .SH "npm\-docs"
+Docs for a package in a web browser maybe
+.
+npm help .SH "npm\-edit"
+Edit an installed package
+.
+npm help .SH "npm\-explore"
+Browse an installed package
+.
+npm help .SH "npm\-help\-search"
+Search npm help documentation
+.
+npm help .SH "npm\-help"
+Get help on npm
+.
+npm help .SH "npm\-init"
+Interactively create a package\.json file
+.
+npm help .SH "npm\-install"
+Install a package
+.
+npm help .SH "npm\-link"
+Symlink a package folder
+.
+npm help .SH "npm\-ls"
+List installed packages
+.
+npm help .SH "npm\-outdated"
+Check for outdated packages
+.
+npm help .SH "npm\-owner"
+Manage package owners
+.
+npm help .SH "npm\-pack"
+Create a tarball from a package
+.
+npm help .SH "npm\-prefix"
+Display prefix
+.
+npm help .SH "npm\-prune"
+Remove extraneous packages
+.
+npm help .SH "npm\-publish"
+Publish a package
+.
+npm help .SH "npm\-rebuild"
+Rebuild a package
+.
+npm help .SH "npm\-restart"
+Start a package
+.
+npm help .SH "npm\-rm"
+Remove a package
+.
+npm help .SH "npm\-root"
+Display npm root
+.
+npm help .SH "npm\-run\-script"
+Run arbitrary package scripts
+.
+npm help .SH "npm\-search"
+Search for packages
+.
+npm help .SH "npm\-shrinkwrap"
+Lock down dependency versions
+.
+npm help .SH "npm\-star"
+Mark your favorite packages
+.
+npm help .SH "npm\-stars"
+View packages marked as favorites
+.
+npm help .SH "npm\-start"
+Start a package
+.
+npm help .SH "npm\-stop"
+Stop a package
+.
+npm help .SH "npm\-submodule"
+Add a package as a git submodule
+.
+npm help .SH "npm\-tag"
+Tag a published version
+.
+npm help .SH "npm\-test"
+Test a package
+.
+npm help .SH "npm\-uninstall"
+Remove a package
+.
+npm help .SH "npm\-unpublish"
+Remove a package from the registry
+.
+npm help .SH "npm\-update"
+Update a package
+.
+npm help .SH "npm\-version"
+Bump a package version
+.
+npm help .SH "npm\-view"
+View registry info
+.
+npm help .SH "npm\-whoami"
+Display npm username
+.
+npm apihelp .SH "npm"
+node package manager
+.
+npm apihelp .SH "npm\-bin"
+Display npm bin folder
+.
+npm apihelp .SH "npm\-bugs"
+Bugs for a package in a web browser maybe
+.
+npm apihelp .SH "npm\-commands"
+npm commands
+.
+npm apihelp .SH "npm\-config"
+Manage the npm configuration files
+.
+npm apihelp .SH "npm\-deprecate"
+Deprecate a version of a package
+.
+npm apihelp .SH "npm\-docs"
+Docs for a package in a web browser maybe
+.
+npm apihelp .SH "npm\-edit"
+Edit an installed package
+.
+npm apihelp .SH "npm\-explore"
+Browse an installed package
+.
+npm apihelp .SH "npm\-help\-search"
+Search the help pages
+.
+npm apihelp .SH "npm\-init"
+Interactively create a package\.json file
+.
+npm apihelp .SH "npm\-install"
+install a package programmatically
+.
+npm apihelp .SH "npm\-link"
+Symlink a package folder
+.
+npm apihelp .SH "npm\-load"
+Load config settings
+.
+npm apihelp .SH "npm\-ls"
+List installed packages
+.
+npm apihelp .SH "npm\-outdated"
+Check for outdated packages
+.
+npm apihelp .SH "npm\-owner"
+Manage package owners
+.
+npm apihelp .SH "npm\-pack"
+Create a tarball from a package
+.
+npm apihelp .SH "npm\-prefix"
+Display prefix
+.
+npm apihelp .SH "npm\-prune"
+Remove extraneous packages
+.
+npm apihelp .SH "npm\-publish"
+Publish a package
+.
+npm apihelp .SH "npm\-rebuild"
+Rebuild a package
+.
+npm apihelp .SH "npm\-restart"
+Start a package
+.
+npm apihelp .SH "npm\-root"
+Display npm root
+.
+npm apihelp .SH "npm\-run\-script"
+Run arbitrary package scripts
+.
+npm apihelp .SH "npm\-search"
+Search for packages
+.
+npm apihelp .SH "npm\-shrinkwrap"
+programmatically generate package shrinkwrap file
+.
+npm apihelp .SH "npm\-start"
+Start a package
+.
+npm apihelp .SH "npm\-stop"
+Stop a package
+.
+npm apihelp .SH "npm\-submodule"
+Add a package as a git submodule
+.
+npm apihelp .SH "npm\-tag"
+Tag a published version
+.
+npm apihelp .SH "npm\-test"
+Test a package
+.
+npm apihelp .SH "npm\-uninstall"
+uninstall a package programmatically
+.
+npm apihelp .SH "npm\-unpublish"
+Remove a package from the registry
+.
+npm apihelp .SH "npm\-update"
+Update a package
+.
+npm apihelp .SH "npm\-version"
+Bump a package version
+.
+npm apihelp .SH "npm\-view"
+View registry info
+.
+npm apihelp .SH "npm\-whoami"
+Display npm username
+.
+npm help .SH "npm\-folders"
+Folder Structures Used by npm
+.
+npm help .SH "npmrc"
+The npm config files
+.
+npm help .SH "package\.json"
+Specifics of npm\'s package\.json handling
+.
+npm help .SH "npm\-coding\-style"
+npm\'s "funny" coding style
+.
+npm help .SH "npm\-config"
+More than you probably want to know about npm configuration
+.
+npm help .SH "npm\-developers"
+Developer Guide
+.
+npm help .SH "npm\-disputes"
+Handling Module Name Disputes
+.
+npm help .SH "npm\-faq"
+Frequently Asked Questions
+.
+npm help .SH "npm\-index"
+Index of all npm documentation
+.
+npm help .SH "npm\-registry"
+The JavaScript Package Registry
+.
+npm help .SH "npm\-scripts"
+How npm handles the "scripts" field
+.
+npm help .SH "removing\-npm"
+Cleaning the Slate
+.
+npm help .SH "semver"
+The semantic versioner for npm
diff --git a/deps/npm/man/man7/npm-registry.7 b/deps/npm/man/man7/npm-registry.7
new file mode 100644
index 000000000..19a4bff02
--- /dev/null
+++ b/deps/npm/man/man7/npm-registry.7
@@ -0,0 +1,114 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REGISTRY" "7" "July 2013" "" ""
+.
+.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\.iriscouch\.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\.iriscouch\.com/_users\fR
+database\.
+.
+.P
+npm help npm help The registry URL is supplied by the \fBregistry\fR config parameter\. See \fBnpm\-config\fR, \fBnpmrcnpm help \fR, and \fBnpm\-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&#39;t want my package published in the official registry\. It&#39;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
+npm help See \fBpackage\.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?"
+Yes, head over to \fIhttps://npmjs\.org/\fR
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help npmrc
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help disputes
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man7/npm-scripts.7 b/deps/npm/man/man7/npm-scripts.7
new file mode 100644
index 000000000..d88c63ec5
--- /dev/null
+++ b/deps/npm/man/man7/npm-scripts.7
@@ -0,0 +1,354 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SCRIPTS" "7" "July 2013" "" ""
+.
+.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
+prepublish:
+Run BEFORE the package is published\. (Also run on local \fBnpm
+install\fR without any arguments\.)
+.
+.IP "\(bu" 4
+publish, postpublish:
+Run AFTER the package is published\.
+.
+.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
+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 "NOTE: INSTALL SCRIPTS ARE AN ANTIPATTERN"
+\fBtl;dr\fR Don\'t use \fBinstall\fR\|\. Use a \fB\|\.gyp\fR file for compilation, and \fBprepublish\fR for anything else\.
+.
+.P
+You should almost never have to explicitly set a \fBpreinstall\fR or \fBinstall\fR script\. If you are doing this, please consider if there is
+another option\.
+.
+.P
+The only valid use of \fBinstall\fR or \fBpreinstall\fR scripts is for
+compilation which must be done on the target architecture\. In early
+versions of node, this was often done using the \fBnode\-waf\fR scripts, or
+a standalone \fBMakefile\fR, and early versions of npm required that it be
+explicitly set in package\.json\. This was not portable, and harder to
+do properly\.
+.
+.P
+In the current version of node, the standard way to do this is using a \fB\|\.gyp\fR file\. If you have a file with a \fB\|\.gyp\fR extension in the root
+of your package, then npm will run the appropriate \fBnode\-gyp\fR commands
+automatically at install time\. This is the only officially supported
+method for compiling binary addons, and does not require that you add
+anything to your package\.json file\.
+.
+.P
+If you have to do other things before your package is used, in a way
+that is not dependent on the operating system or architecture of the
+target system, then use a \fBprepublish\fR script instead\. This includes
+tasks such as:
+.
+.IP "\(bu" 4
+Compile CoffeeScript source code into JavaScript\.
+.
+.IP "\(bu" 4
+Create minified versions of JavaScript source code\.
+.
+.IP "\(bu" 4
+Fetching remote resources that your package will use\.
+.
+.IP "" 0
+.
+.P
+The advantage of doing these things at \fBprepublish\fR time instead of \fBpreinstall\fR or \fBinstall\fR time is that they can be done once, in a
+single place, and thus greatly reduce complexity and variability\.
+Additionally, this means that:
+.
+.IP "\(bu" 4
+You can depend on \fBcoffee\-script\fR as a \fBdevDependency\fR, and thus
+your users don\'t need to have it installed\.
+.
+.IP "\(bu" 4
+You don\'t need to include the minifiers in your package, reducing
+the size for your users\.
+.
+.IP "\(bu" 4
+You don\'t need to rely on your users having \fBcurl\fR or \fBwget\fR or
+other system tools on the target machines\.
+.
+.IP "" 0
+.
+.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 "path"
+If you depend on modules that define executable scripts, like test
+suites, then those executables will be added to the \fBPATH\fR for
+executing the scripts\. So, if your package\.json has this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "dependencies" : { "bar" : "0\.1\.x" }
+, "scripts": { "start" : "bar \./test" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+then you could run \fBnpm start\fR to execute the \fBbar\fR script, which is
+exported into the \fBnode_modules/\.bin\fR directory on \fBnpm install\fR\|\.
+.
+.SS "package\.json vars"
+The package\.json fields are tacked onto the \fBnpm_package_\fR prefix\. So,
+for instance, if you had \fB{"name":"foo", "version":"1\.2\.5"}\fR in your
+package\.json 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 &quot;config&quot; 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
+npm help Try not to use scripts to do what npm can do for you\. Read through \fBpackage\.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 package\.json
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man7/removing-npm.7 b/deps/npm/man/man7/removing-npm.7
new file mode 100644
index 000000000..d741b60f5
--- /dev/null
+++ b/deps/npm/man/man7/removing-npm.7
@@ -0,0 +1,107 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REMOVAL" "1" "July 2013" "" ""
+.
+.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/man7/semver.7 b/deps/npm/man/man7/semver.7
new file mode 100644
index 000000000..3be3da95d
--- /dev/null
+++ b/deps/npm/man/man7/semver.7
@@ -0,0 +1,172 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "SEMVER" "7" "July 2013" "" ""
+.
+.SH "NAME"
+\fBsemver\fR \-\- The semantic versioner for npm
+.
+.SH "Usage"
+.
+.nf
+$ npm install semver
+semver\.valid(\'1\.2\.3\') // \'1\.2\.3\'
+semver\.valid(\'a\.b\.c\') // null
+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
+.
+.P
+As a command\-line utility:
+.
+.IP "" 4
+.
+.nf
+$ semver \-h
+Usage: semver <version> [<version> [\.\.\.]] [\-r <range> | \-i <inc> | \-d <dec>]
+Test if version(s) satisfy the supplied range(s), and sort them\.
+Multiple versions or ranges may be supplied, unless increment
+or decrement options are specified\. In that case, only a single
+version may be used, and it is incremented by the specified level
+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 described by the v2\.0\.0 specification found at \fIhttp://semver\.org/\fR\|\.
+.
+.P
+A leading \fB"="\fR or \fB"v"\fR character is stripped off and ignored\.
+.
+.SH "Ranges"
+The following range styles are supported:
+.
+.IP "\(bu" 4
+\fB1\.2\.3\fR A specific version\. When nothing else will do\. Note that
+build metadata is still ignored, so \fB1\.2\.3+build2012\fR will satisfy
+this range\.
+.
+.IP "\(bu" 4
+\fB>1\.2\.3\fR Greater than a specific version\.
+.
+.IP "\(bu" 4
+\fB<1\.2\.3\fR Less than a specific version\. If there is no prerelease
+tag on the version range, then no prerelease version will be allowed
+either, even though these are technically "less than"\.
+.
+.IP "\(bu" 4
+\fB>=1\.2\.3\fR Greater than or equal to\. Note that prerelease versions
+are NOT equal to their "normal" equivalents, so \fB1\.2\.3\-beta\fR will
+not satisfy this range, but \fB2\.3\.0\-beta\fR will\.
+.
+.IP "\(bu" 4
+\fB<=1\.2\.3\fR Less than or equal to\. In this case, prerelease versions
+ARE allowed, so \fB1\.2\.3\-beta\fR would satisfy\.
+.
+.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\-0 <1\.3\.0\-0\fR "Reasonably close to 1\.2\.3"\. When
+using tilde operators, prerelease versions are supported as well,
+but a prerelease of the next significant digit will NOT be
+satisfactory, so \fB1\.3\.0\-beta\fR will not satisfy \fB~1\.2\.3\fR\|\.
+.
+.IP "\(bu" 4
+\fB~1\.2\fR := \fB>=1\.2\.0\-0 <1\.3\.0\-0\fR "Any version starting with 1\.2"
+.
+.IP "\(bu" 4
+\fB1\.2\.x\fR := \fB>=1\.2\.0\-0 <1\.3\.0\-0\fR "Any version starting with 1\.2"
+.
+.IP "\(bu" 4
+\fB~1\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version starting with 1"
+.
+.IP "\(bu" 4
+\fB1\.x\fR := \fB>=1\.0\.0\-0 <2\.0\.0\-0\fR "Any version starting with 1"
+.
+.IP "" 0
+.
+.P
+Ranges can be joined with either a space (which implies "and") or a \fB||\fR (which implies "or")\.
+.
+.SH "Functions"
+All methods and classes take a final \fBloose\fR boolean argument that, if
+true, will be more forgiving about not\-quite\-valid semver strings\.
+The resulting output will always be 100% strict, of course\.
+.
+.P
+Strict\-mode Comparators and Ranges will be strict about the SemVer
+strings that they parse\.
+.
+.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 prerelease), 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
+
diff --git a/deps/npm/node_modules/fstream/package.json b/deps/npm/node_modules/fstream/package.json
index ba8e6221f..109e89507 100644
--- a/deps/npm/node_modules/fstream/package.json
+++ b/deps/npm/node_modules/fstream/package.json
@@ -6,7 +6,7 @@
},
"name": "fstream",
"description": "Advanced file system stream things",
- "version": "0.1.22",
+ "version": "0.1.23",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/fstream.git"
@@ -18,7 +18,7 @@
"dependencies": {
"rimraf": "2",
"mkdirp": "0.3",
- "graceful-fs": "~1.2.0",
+ "graceful-fs": "~2.0.0",
"inherits": "~1.0.0"
},
"devDependencies": {
@@ -30,6 +30,9 @@
"license": "BSD",
"readme": "Like FS streams, but with stat on them, and supporting directories and\nsymbolic links, as well as normal files. Also, you can use this to set\nthe stats on a file, even if you don't change its contents, or to create\na symlink, etc.\n\nSo, for example, you can \"write\" a directory, and it'll call `mkdir`. You\ncan specify a uid and gid, and it'll call `chown`. You can specify a\n`mtime` and `atime`, and it'll call `utimes`. You can call it a symlink\nand provide a `linkpath` and it'll call `symlink`.\n\nNote that it won't automatically resolve symbolic links. So, if you\ncall `fstream.Reader('/some/symlink')` then you'll get an object\nthat stats and then ends immediately (since it has no data). To follow\nsymbolic links, do this: `fstream.Reader({path:'/some/symlink', follow:\ntrue })`.\n\nThere are various checks to make sure that the bytes emitted are the\nsame as the intended size, if the size is set.\n\n## Examples\n\n```javascript\nfstream\n .Writer({ path: \"path/to/file\"\n , mode: 0755\n , size: 6\n })\n .write(\"hello\\n\")\n .end()\n```\n\nThis will create the directories if they're missing, and then write\n`hello\\n` into the file, chmod it to 0755, and assert that 6 bytes have\nbeen written when it's done.\n\n```javascript\nfstream\n .Writer({ path: \"path/to/file\"\n , mode: 0755\n , size: 6\n , flags: \"a\"\n })\n .write(\"hello\\n\")\n .end()\n```\n\nYou can pass flags in, if you want to append to a file.\n\n```javascript\nfstream\n .Writer({ path: \"path/to/symlink\"\n , linkpath: \"./file\"\n , SymbolicLink: true\n , mode: \"0755\" // octal strings supported\n })\n .end()\n```\n\nIf isSymbolicLink is a function, it'll be called, and if it returns\ntrue, then it'll treat it as a symlink. If it's not a function, then\nany truish value will make a symlink, or you can set `type:\n'SymbolicLink'`, which does the same thing.\n\nNote that the linkpath is relative to the symbolic link location, not\nthe parent dir or cwd.\n\n```javascript\nfstream\n .Reader(\"path/to/dir\")\n .pipe(fstream.Writer(\"path/to/other/dir\"))\n```\n\nThis will do like `cp -Rp path/to/dir path/to/other/dir`. If the other\ndir exists and isn't a directory, then it'll emit an error. It'll also\nset the uid, gid, mode, etc. to be identical. In this way, it's more\nlike `rsync -a` than simply a copy.\n",
"readmeFilename": "README.md",
- "_id": "fstream@0.1.22",
+ "bugs": {
+ "url": "https://github.com/isaacs/fstream/issues"
+ },
+ "_id": "fstream@0.1.23",
"_from": "fstream@latest"
}
diff --git a/deps/npm/node_modules/glob/node_modules/inherits/LICENSE b/deps/npm/node_modules/glob/node_modules/inherits/LICENSE
new file mode 100644
index 000000000..5a8e33254
--- /dev/null
+++ b/deps/npm/node_modules/glob/node_modules/inherits/LICENSE
@@ -0,0 +1,14 @@
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
+
diff --git a/deps/npm/node_modules/glob/node_modules/inherits/README.md b/deps/npm/node_modules/glob/node_modules/inherits/README.md
new file mode 100644
index 000000000..b1c566585
--- /dev/null
+++ b/deps/npm/node_modules/glob/node_modules/inherits/README.md
@@ -0,0 +1,42 @@
+Browser-friendly inheritance fully compatible with standard node.js
+[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
+
+This package exports standard `inherits` from node.js `util` module in
+node environment, but also provides alternative browser-friendly
+implementation through [browser
+field](https://gist.github.com/shtylman/4339901). Alternative
+implementation is a literal copy of standard one located in standalone
+module to avoid requiring of `util`. It also has a shim for old
+browsers with no `Object.create` support.
+
+While keeping you sure you are using standard `inherits`
+implementation in node.js environment, it allows bundlers such as
+[browserify](https://github.com/substack/node-browserify) to not
+include full `util` package to your client code if all you need is
+just `inherits` function. It worth, because browser shim for `util`
+package is large and `inherits` is often the single function you need
+from it.
+
+It's recommended to use this package instead of
+`require('util').inherits` for any code that has chances to be used
+not only in node.js but in browser too.
+
+## usage
+
+```js
+var inherits = require('inherits');
+// then use exactly as the standard one
+```
+
+## note on version ~1.0
+
+Version ~1.0 had completely different motivation and is not compatible
+neither with 2.0 nor with standard node.js `inherits`.
+
+If you are using version ~1.0 and planning to switch to ~2.0, be
+careful:
+
+* new version uses `super_` instead of `super` for referencing
+ superclass
+* new version overwrites current prototype while old one preserves any
+ existing fields on it
diff --git a/deps/npm/node_modules/glob/node_modules/inherits/inherits.js b/deps/npm/node_modules/glob/node_modules/inherits/inherits.js
new file mode 100644
index 000000000..29f5e24f5
--- /dev/null
+++ b/deps/npm/node_modules/glob/node_modules/inherits/inherits.js
@@ -0,0 +1 @@
+module.exports = require('util').inherits
diff --git a/deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js b/deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js
new file mode 100644
index 000000000..c1e78a75e
--- /dev/null
+++ b/deps/npm/node_modules/glob/node_modules/inherits/inherits_browser.js
@@ -0,0 +1,23 @@
+if (typeof Object.create === 'function') {
+ // implementation from standard node.js 'util' module
+ module.exports = function inherits(ctor, superCtor) {
+ ctor.super_ = superCtor
+ ctor.prototype = Object.create(superCtor.prototype, {
+ constructor: {
+ value: ctor,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ };
+} else {
+ // old school shim for old browsers
+ module.exports = function inherits(ctor, superCtor) {
+ ctor.super_ = superCtor
+ var TempCtor = function () {}
+ TempCtor.prototype = superCtor.prototype
+ ctor.prototype = new TempCtor()
+ ctor.prototype.constructor = ctor
+ }
+}
diff --git a/deps/npm/node_modules/glob/node_modules/inherits/package.json b/deps/npm/node_modules/glob/node_modules/inherits/package.json
new file mode 100644
index 000000000..deec27456
--- /dev/null
+++ b/deps/npm/node_modules/glob/node_modules/inherits/package.json
@@ -0,0 +1,39 @@
+{
+ "name": "inherits",
+ "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
+ "version": "2.0.0",
+ "keywords": [
+ "inheritance",
+ "class",
+ "klass",
+ "oop",
+ "object-oriented",
+ "inherits",
+ "browser",
+ "browserify"
+ ],
+ "main": "./inherits.js",
+ "browser": "./inherits_browser.js",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/isaacs/inherits"
+ },
+ "license": {
+ "type": "WTFPL2"
+ },
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "scripts": {
+ "test": "node test"
+ },
+ "readme": "Browser-friendly inheritance fully compatible with standard node.js\n[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).\n\nThis package exports standard `inherits` from node.js `util` module in\nnode environment, but also provides alternative browser-friendly\nimplementation through [browser\nfield](https://gist.github.com/shtylman/4339901). Alternative\nimplementation is a literal copy of standard one located in standalone\nmodule to avoid requiring of `util`. It also has a shim for old\nbrowsers with no `Object.create` support.\n\nWhile keeping you sure you are using standard `inherits`\nimplementation in node.js environment, it allows bundlers such as\n[browserify](https://github.com/substack/node-browserify) to not\ninclude full `util` package to your client code if all you need is\njust `inherits` function. It worth, because browser shim for `util`\npackage is large and `inherits` is often the single function you need\nfrom it.\n\nIt's recommended to use this package instead of\n`require('util').inherits` for any code that has chances to be used\nnot only in node.js but in browser too.\n\n## usage\n\n```js\nvar inherits = require('inherits');\n// then use exactly as the standard one\n```\n\n## note on version ~1.0\n\nVersion ~1.0 had completely different motivation and is not compatible\nneither with 2.0 nor with standard node.js `inherits`.\n\nIf you are using version ~1.0 and planning to switch to ~2.0, be\ncareful:\n\n* new version uses `super_` instead of `super` for referencing\n superclass\n* new version overwrites current prototype while old one preserves any\n existing fields on it\n",
+ "readmeFilename": "README.md",
+ "bugs": {
+ "url": "https://github.com/isaacs/inherits/issues"
+ },
+ "_id": "inherits@2.0.0",
+ "_from": "inherits@2"
+}
diff --git a/deps/npm/node_modules/glob/node_modules/inherits/test.js b/deps/npm/node_modules/glob/node_modules/inherits/test.js
new file mode 100644
index 000000000..fc53012d3
--- /dev/null
+++ b/deps/npm/node_modules/glob/node_modules/inherits/test.js
@@ -0,0 +1,25 @@
+var inherits = require('./inherits.js')
+var assert = require('assert')
+
+function test(c) {
+ assert(c.constructor === Child)
+ assert(c.constructor.super_ === Parent)
+ assert(Object.getPrototypeOf(c) === Child.prototype)
+ assert(Object.getPrototypeOf(Object.getPrototypeOf(c)) === Parent.prototype)
+ assert(c instanceof Child)
+ assert(c instanceof Parent)
+}
+
+function Child() {
+ Parent.call(this)
+ test(this)
+}
+
+function Parent() {}
+
+inherits(Child, Parent)
+
+var c = new Child
+test(c)
+
+console.log('ok')
diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json
index 7c6879a96..fe224bd21 100644
--- a/deps/npm/node_modules/glob/package.json
+++ b/deps/npm/node_modules/glob/package.json
@@ -6,7 +6,7 @@
},
"name": "glob",
"description": "a little globber",
- "version": "3.2.1",
+ "version": "3.2.3",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-glob.git"
@@ -17,8 +17,8 @@
},
"dependencies": {
"minimatch": "~0.2.11",
- "graceful-fs": "~1.2.0",
- "inherits": "1"
+ "graceful-fs": "~2.0.0",
+ "inherits": "2"
},
"devDependencies": {
"tap": "~0.4.0",
@@ -34,10 +34,6 @@
"bugs": {
"url": "https://github.com/isaacs/node-glob/issues"
},
- "_id": "glob@3.2.1",
- "dist": {
- "shasum": "57af70ec73ba2323bfe3f29a067765db64c5d758"
- },
- "_from": "glob@3.2.1",
- "_resolved": "https://registry.npmjs.org/glob/-/glob-3.2.1.tgz"
+ "_id": "glob@3.2.3",
+ "_from": "glob@latest"
}
diff --git a/deps/npm/node_modules/graceful-fs/LICENSE b/deps/npm/node_modules/graceful-fs/LICENSE
index 05a401094..0c44ae716 100644
--- a/deps/npm/node_modules/graceful-fs/LICENSE
+++ b/deps/npm/node_modules/graceful-fs/LICENSE
@@ -1,23 +1,27 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
+Copyright (c) Isaac Z. Schlueter ("Author")
All rights reserved.
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
+The BSD License
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/deps/npm/node_modules/graceful-fs/graceful-fs.js b/deps/npm/node_modules/graceful-fs/graceful-fs.js
index fe9c3f4ca..a46b5b2a1 100644
--- a/deps/npm/node_modules/graceful-fs/graceful-fs.js
+++ b/deps/npm/node_modules/graceful-fs/graceful-fs.js
@@ -1,316 +1,152 @@
-// this keeps a queue of opened file descriptors, and will make
-// fs operations wait until some have closed before trying to open more.
+// Monkey-patching the fs module.
+// It's ugly, but there is simply no other way to do this.
+var fs = module.exports = require('fs')
-var fs_ = require("fs")
+var assert = require('assert')
-var fs = module.exports = {}
+// fix up some busted stuff, mostly on windows and old nodes
+require('./polyfills.js')
-Object.getOwnPropertyNames(fs_).forEach(function(prop) {
- var desc = Object.getOwnPropertyDescriptor(fs_, prop)
- Object.defineProperty(fs, prop, desc)
-})
+// The EMFILE enqueuing stuff
-var queue = []
- , constants = require("constants")
+var util = require('util')
+
+function noop () {}
-exports = module.exports = fs
-fs._curOpen = 0
+var debug = noop
+var util = require('util')
+if (util.debuglog)
+ debug = util.debuglog('gfs')
+else if (/\bgfs\b/i.test(process.env.NODE_DEBUG || ''))
+ debug = function() {
+ var m = util.format.apply(util, arguments)
+ m = 'GFS: ' + m.split(/\n/).join('\nGFS: ')
+ console.error(m)
+ }
+
+if (/\bgfs\b/i.test(process.env.NODE_DEBUG || '')) {
+ process.on('exit', function() {
+ debug('fds', fds)
+ debug(queue)
+ assert.equal(queue.length, 0)
+ })
+}
-fs.MIN_MAX_OPEN = 64
-fs.MAX_OPEN = 1024
var originalOpen = fs.open
- , originalOpenSync = fs.openSync
- , originalClose = fs.close
- , originalCloseSync = fs.closeSync
+fs.open = open
+function open(path, flags, mode, cb) {
+ if (typeof mode === "function") cb = mode, mode = null
+ if (typeof cb !== "function") cb = noop
+ new OpenReq(path, flags, mode, cb)
+}
-// prevent EMFILE errors
-function OpenReq (path, flags, mode, cb) {
+function OpenReq(path, flags, mode, cb) {
this.path = path
this.flags = flags
this.mode = mode
this.cb = cb
+ Req.call(this)
}
-function noop () {}
-
-fs.open = gracefulOpen
-
-function gracefulOpen (path, flags, mode, cb) {
- if (typeof mode === "function") cb = mode, mode = null
- if (typeof cb !== "function") cb = noop
-
- if (fs._curOpen >= fs.MAX_OPEN) {
- queue.push(new OpenReq(path, flags, mode, cb))
- setTimeout(flush)
- return
- }
- open(path, flags, mode, function (er, fd) {
- if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) {
- // that was too many. reduce max, get back in queue.
- // this should only happen once in a great while, and only
- // if the ulimit -n is set lower than 1024.
- fs.MAX_OPEN = fs._curOpen - 1
- return fs.open(path, flags, mode, cb)
- }
- cb(er, fd)
- })
-}
+util.inherits(OpenReq, Req)
-function open (path, flags, mode, cb) {
- cb = cb || noop
- fs._curOpen ++
- originalOpen.call(fs, path, flags, mode, function (er, fd) {
- if (er) onclose()
- cb(er, fd)
- })
+OpenReq.prototype.process = function() {
+ originalOpen.call(fs, this.path, this.flags, this.mode, this.done)
}
-fs.openSync = function (path, flags, mode) {
- var ret
- ret = originalOpenSync.call(fs, path, flags, mode)
- fs._curOpen ++
- return ret
+var fds = {}
+OpenReq.prototype.done = function(er, fd) {
+ debug('open done', er, fd)
+ if (fd)
+ fds['fd' + fd] = this.path
+ Req.prototype.done.call(this, er, fd)
}
-function onclose () {
- fs._curOpen --
- flush()
-}
-function flush () {
- while (fs._curOpen < fs.MAX_OPEN) {
- var req = queue.shift()
- if (!req) return
- open(req.path, req.flags || "r", req.mode || 0777, req.cb)
- }
-}
+var originalReaddir = fs.readdir
+fs.readdir = readdir
-fs.close = function (fd, cb) {
- cb = cb || noop
- originalClose.call(fs, fd, function (er) {
- onclose()
- cb(er)
- })
+function readdir(path, cb) {
+ if (typeof cb !== "function") cb = noop
+ new ReaddirReq(path, cb)
}
-fs.closeSync = function (fd) {
- onclose()
- return originalCloseSync.call(fs, fd)
+function ReaddirReq(path, cb) {
+ this.path = path
+ this.cb = cb
+ Req.call(this)
}
+util.inherits(ReaddirReq, Req)
-// (re-)implement some things that are known busted or missing.
-
-var constants = require("constants")
-
-// lchmod, broken prior to 0.6.2
-// back-port the fix here.
-if (constants.hasOwnProperty('O_SYMLINK') &&
- process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
- fs.lchmod = function (path, mode, callback) {
- callback = callback || noop
- fs.open( path
- , constants.O_WRONLY | constants.O_SYMLINK
- , mode
- , function (err, fd) {
- if (err) {
- callback(err)
- return
- }
- // prefer to return the chmod error, if one occurs,
- // but still try to close, and report closing errors if they occur.
- fs.fchmod(fd, mode, function (err) {
- fs.close(fd, function(err2) {
- callback(err || err2)
- })
- })
- })
- }
-
- fs.lchmodSync = function (path, mode) {
- var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)
-
- // prefer to return the chmod error, if one occurs,
- // but still try to close, and report closing errors if they occur.
- var err, err2
- try {
- var ret = fs.fchmodSync(fd, mode)
- } catch (er) {
- err = er
- }
- try {
- fs.closeSync(fd)
- } catch (er) {
- err2 = er
- }
- if (err || err2) throw (err || err2)
- return ret
- }
+ReaddirReq.prototype.process = function() {
+ originalReaddir.call(fs, this.path, this.done)
}
-
-// lutimes implementation, or no-op
-if (!fs.lutimes) {
- if (constants.hasOwnProperty("O_SYMLINK")) {
- fs.lutimes = function (path, at, mt, cb) {
- fs.open(path, constants.O_SYMLINK, function (er, fd) {
- cb = cb || noop
- if (er) return cb(er)
- fs.futimes(fd, at, mt, function (er) {
- fs.close(fd, function (er2) {
- return cb(er || er2)
- })
- })
- })
- }
-
- fs.lutimesSync = function (path, at, mt) {
- var fd = fs.openSync(path, constants.O_SYMLINK)
- , err
- , err2
- , ret
-
- try {
- var ret = fs.futimesSync(fd, at, mt)
- } catch (er) {
- err = er
- }
- try {
- fs.closeSync(fd)
- } catch (er) {
- err2 = er
- }
- if (err || err2) throw (err || err2)
- return ret
- }
-
- } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) {
- // maybe utimensat will be bound soonish?
- fs.lutimes = function (path, at, mt, cb) {
- fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb)
- }
-
- fs.lutimesSync = function (path, at, mt) {
- return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW)
- }
-
- } else {
- fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) }
- fs.lutimesSync = function () {}
- }
+ReaddirReq.prototype.done = function(er, files) {
+ Req.prototype.done.call(this, er, files)
+ onclose()
}
-// https://github.com/isaacs/node-graceful-fs/issues/4
-// Chown should not fail on einval or eperm if non-root.
-
-fs.chown = chownFix(fs.chown)
-fs.fchown = chownFix(fs.fchown)
-fs.lchown = chownFix(fs.lchown)
-
-fs.chownSync = chownFixSync(fs.chownSync)
-fs.fchownSync = chownFixSync(fs.fchownSync)
-fs.lchownSync = chownFixSync(fs.lchownSync)
-
-function chownFix (orig) {
- if (!orig) return orig
- return function (target, uid, gid, cb) {
- return orig.call(fs, target, uid, gid, function (er, res) {
- if (chownErOk(er)) er = null
- cb(er, res)
- })
- }
-}
+var originalClose = fs.close
+fs.close = close
-function chownFixSync (orig) {
- if (!orig) return orig
- return function (target, uid, gid) {
- try {
- return orig.call(fs, target, uid, gid)
- } catch (er) {
- if (!chownErOk(er)) throw er
- }
- }
+function close (fd, cb) {
+ debug('close', fd)
+ if (typeof cb !== "function") cb = noop
+ delete fds['fd' + fd]
+ originalClose.call(fs, fd, function(er) {
+ onclose()
+ cb(er)
+ })
}
-function chownErOk (er) {
- // if there's no getuid, or if getuid() is something other than 0,
- // and the error is EINVAL or EPERM, then just ignore it.
- // This specific case is a silent failure in cp, install, tar,
- // and most other unix tools that manage permissions.
- // When running as root, or if other types of errors are encountered,
- // then it's strict.
- if (!er || (!process.getuid || process.getuid() !== 0)
- && (er.code === "EINVAL" || er.code === "EPERM")) return true
-}
+var originalCloseSync = fs.closeSync
+fs.closeSync = closeSync
-// if lchmod/lchown do not exist, then make them no-ops
-if (!fs.lchmod) {
- fs.lchmod = function (path, mode, cb) {
- process.nextTick(cb)
- }
- fs.lchmodSync = function () {}
-}
-if (!fs.lchown) {
- fs.lchown = function (path, uid, gid, cb) {
- process.nextTick(cb)
+function closeSync (fd) {
+ try {
+ return originalCloseSync(fd)
+ } finally {
+ onclose()
}
- fs.lchownSync = function () {}
}
+// Req class
+function Req () {
+ // start processing
+ this.done = this.done.bind(this)
+ this.failures = 0
+ this.process()
+}
-// on Windows, A/V software can lock the directory, causing this
-// to fail with an EACCES or EPERM if the directory contains newly
-// created files. Try again on failure, for up to 1 second.
-if (process.platform === "win32") {
- var rename_ = fs.rename
- fs.rename = function rename (from, to, cb) {
- var start = Date.now()
- rename_(from, to, function CB (er) {
- if (er
- && (er.code === "EACCES" || er.code === "EPERM")
- && Date.now() - start < 1000) {
- return rename_(from, to, CB)
- }
- cb(er)
- })
+Req.prototype.done = function (er, result) {
+ // if an error, and the code is EMFILE, then get in the queue
+ if (er && er.code === "EMFILE") {
+ this.failures ++
+ enqueue(this)
+ } else {
+ var cb = this.cb
+ cb(er, result)
}
}
+var queue = []
-// if read() returns EAGAIN, then just try it again.
-var read = fs.read
-fs.read = function (fd, buffer, offset, length, position, callback_) {
- var callback
- if (callback_ && typeof callback_ === 'function') {
- var eagCounter = 0
- callback = function (er, _, __) {
- if (er && er.code === 'EAGAIN' && eagCounter < 10) {
- eagCounter ++
- return read.call(fs, fd, buffer, offset, length, position, callback)
- }
- callback_.apply(this, arguments)
- }
- }
- return read.call(fs, fd, buffer, offset, length, position, callback)
+function enqueue(req) {
+ queue.push(req)
+ debug('enqueue %d %s', queue.length, req.constructor.name, req)
}
-var readSync = fs.readSync
-fs.readSync = function (fd, buffer, offset, length, position) {
- var eagCounter = 0
- while (true) {
- try {
- return readSync.call(fs, fd, buffer, offset, length, position)
- } catch (er) {
- if (er.code === 'EAGAIN' && eagCounter < 10) {
- eagCounter ++
- continue
- }
- throw er
- }
+function onclose() {
+ var req = queue.shift()
+ if (req) {
+ debug('process', req.constructor.name, req)
+ req.process()
}
}
diff --git a/deps/npm/node_modules/graceful-fs/package.json b/deps/npm/node_modules/graceful-fs/package.json
index 03f91c912..4766b4b25 100644
--- a/deps/npm/node_modules/graceful-fs/package.json
+++ b/deps/npm/node_modules/graceful-fs/package.json
@@ -6,7 +6,7 @@
},
"name": "graceful-fs",
"description": "A drop-in replacement for fs, making various improvements.",
- "version": "1.2.1",
+ "version": "2.0.0",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-graceful-fs.git"
@@ -43,6 +43,6 @@
"bugs": {
"url": "https://github.com/isaacs/node-graceful-fs/issues"
},
- "_id": "graceful-fs@1.2.1",
- "_from": "graceful-fs@~1.2.0"
+ "_id": "graceful-fs@2.0.0",
+ "_from": "graceful-fs@2"
}
diff --git a/deps/npm/node_modules/graceful-fs/polyfills.js b/deps/npm/node_modules/graceful-fs/polyfills.js
new file mode 100644
index 000000000..afc83b3f2
--- /dev/null
+++ b/deps/npm/node_modules/graceful-fs/polyfills.js
@@ -0,0 +1,228 @@
+var fs = require('fs')
+var constants = require('constants')
+
+var origCwd = process.cwd
+var cwd = null
+process.cwd = function() {
+ if (!cwd)
+ cwd = origCwd.call(process)
+ return cwd
+}
+var chdir = process.chdir
+process.chdir = function(d) {
+ cwd = null
+ chdir.call(process, d)
+}
+
+// (re-)implement some things that are known busted or missing.
+
+// lchmod, broken prior to 0.6.2
+// back-port the fix here.
+if (constants.hasOwnProperty('O_SYMLINK') &&
+ process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
+ fs.lchmod = function (path, mode, callback) {
+ callback = callback || noop
+ fs.open( path
+ , constants.O_WRONLY | constants.O_SYMLINK
+ , mode
+ , function (err, fd) {
+ if (err) {
+ callback(err)
+ return
+ }
+ // prefer to return the chmod error, if one occurs,
+ // but still try to close, and report closing errors if they occur.
+ fs.fchmod(fd, mode, function (err) {
+ fs.close(fd, function(err2) {
+ callback(err || err2)
+ })
+ })
+ })
+ }
+
+ fs.lchmodSync = function (path, mode) {
+ var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode)
+
+ // prefer to return the chmod error, if one occurs,
+ // but still try to close, and report closing errors if they occur.
+ var err, err2
+ try {
+ var ret = fs.fchmodSync(fd, mode)
+ } catch (er) {
+ err = er
+ }
+ try {
+ fs.closeSync(fd)
+ } catch (er) {
+ err2 = er
+ }
+ if (err || err2) throw (err || err2)
+ return ret
+ }
+}
+
+
+// lutimes implementation, or no-op
+if (!fs.lutimes) {
+ if (constants.hasOwnProperty("O_SYMLINK")) {
+ fs.lutimes = function (path, at, mt, cb) {
+ fs.open(path, constants.O_SYMLINK, function (er, fd) {
+ cb = cb || noop
+ if (er) return cb(er)
+ fs.futimes(fd, at, mt, function (er) {
+ fs.close(fd, function (er2) {
+ return cb(er || er2)
+ })
+ })
+ })
+ }
+
+ fs.lutimesSync = function (path, at, mt) {
+ var fd = fs.openSync(path, constants.O_SYMLINK)
+ , err
+ , err2
+ , ret
+
+ try {
+ var ret = fs.futimesSync(fd, at, mt)
+ } catch (er) {
+ err = er
+ }
+ try {
+ fs.closeSync(fd)
+ } catch (er) {
+ err2 = er
+ }
+ if (err || err2) throw (err || err2)
+ return ret
+ }
+
+ } else if (fs.utimensat && constants.hasOwnProperty("AT_SYMLINK_NOFOLLOW")) {
+ // maybe utimensat will be bound soonish?
+ fs.lutimes = function (path, at, mt, cb) {
+ fs.utimensat(path, at, mt, constants.AT_SYMLINK_NOFOLLOW, cb)
+ }
+
+ fs.lutimesSync = function (path, at, mt) {
+ return fs.utimensatSync(path, at, mt, constants.AT_SYMLINK_NOFOLLOW)
+ }
+
+ } else {
+ fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) }
+ fs.lutimesSync = function () {}
+ }
+}
+
+
+// https://github.com/isaacs/node-graceful-fs/issues/4
+// Chown should not fail on einval or eperm if non-root.
+
+fs.chown = chownFix(fs.chown)
+fs.fchown = chownFix(fs.fchown)
+fs.lchown = chownFix(fs.lchown)
+
+fs.chownSync = chownFixSync(fs.chownSync)
+fs.fchownSync = chownFixSync(fs.fchownSync)
+fs.lchownSync = chownFixSync(fs.lchownSync)
+
+function chownFix (orig) {
+ if (!orig) return orig
+ return function (target, uid, gid, cb) {
+ return orig.call(fs, target, uid, gid, function (er, res) {
+ if (chownErOk(er)) er = null
+ cb(er, res)
+ })
+ }
+}
+
+function chownFixSync (orig) {
+ if (!orig) return orig
+ return function (target, uid, gid) {
+ try {
+ return orig.call(fs, target, uid, gid)
+ } catch (er) {
+ if (!chownErOk(er)) throw er
+ }
+ }
+}
+
+function chownErOk (er) {
+ // if there's no getuid, or if getuid() is something other than 0,
+ // and the error is EINVAL or EPERM, then just ignore it.
+ // This specific case is a silent failure in cp, install, tar,
+ // and most other unix tools that manage permissions.
+ // When running as root, or if other types of errors are encountered,
+ // then it's strict.
+ if (!er || (!process.getuid || process.getuid() !== 0)
+ && (er.code === "EINVAL" || er.code === "EPERM")) return true
+}
+
+
+// if lchmod/lchown do not exist, then make them no-ops
+if (!fs.lchmod) {
+ fs.lchmod = function (path, mode, cb) {
+ process.nextTick(cb)
+ }
+ fs.lchmodSync = function () {}
+}
+if (!fs.lchown) {
+ fs.lchown = function (path, uid, gid, cb) {
+ process.nextTick(cb)
+ }
+ fs.lchownSync = function () {}
+}
+
+
+
+// on Windows, A/V software can lock the directory, causing this
+// to fail with an EACCES or EPERM if the directory contains newly
+// created files. Try again on failure, for up to 1 second.
+if (process.platform === "win32") {
+ var rename_ = fs.rename
+ fs.rename = function rename (from, to, cb) {
+ var start = Date.now()
+ rename_(from, to, function CB (er) {
+ if (er
+ && (er.code === "EACCES" || er.code === "EPERM")
+ && Date.now() - start < 1000) {
+ return rename_(from, to, CB)
+ }
+ cb(er)
+ })
+ }
+}
+
+
+// if read() returns EAGAIN, then just try it again.
+var read = fs.read
+fs.read = function (fd, buffer, offset, length, position, callback_) {
+ var callback
+ if (callback_ && typeof callback_ === 'function') {
+ var eagCounter = 0
+ callback = function (er, _, __) {
+ if (er && er.code === 'EAGAIN' && eagCounter < 10) {
+ eagCounter ++
+ return read.call(fs, fd, buffer, offset, length, position, callback)
+ }
+ callback_.apply(this, arguments)
+ }
+ }
+ return read.call(fs, fd, buffer, offset, length, position, callback)
+}
+
+var readSync = fs.readSync
+fs.readSync = function (fd, buffer, offset, length, position) {
+ var eagCounter = 0
+ while (true) {
+ try {
+ return readSync.call(fs, fd, buffer, offset, length, position)
+ } catch (er) {
+ if (er.code === 'EAGAIN' && eagCounter < 10) {
+ eagCounter ++
+ continue
+ }
+ throw er
+ }
+ }
+}
+
diff --git a/deps/npm/node_modules/graceful-fs/test/open.js b/deps/npm/node_modules/graceful-fs/test/open.js
index 930d53257..104f36b0b 100644
--- a/deps/npm/node_modules/graceful-fs/test/open.js
+++ b/deps/npm/node_modules/graceful-fs/test/open.js
@@ -1,30 +1,25 @@
var test = require('tap').test
var fs = require('../graceful-fs.js')
-test('graceful fs is not fs', function (t) {
- t.notEqual(fs, require('fs'))
+test('graceful fs is monkeypatched fs', function (t) {
+ t.equal(fs, require('fs'))
t.end()
})
test('open an existing file works', function (t) {
- var start = fs._curOpen
var fd = fs.openSync(__filename, 'r')
- t.equal(fs._curOpen, start + 1)
fs.closeSync(fd)
- t.equal(fs._curOpen, start)
fs.open(__filename, 'r', function (er, fd) {
if (er) throw er
- t.equal(fs._curOpen, start + 1)
fs.close(fd, function (er) {
if (er) throw er
- t.equal(fs._curOpen, start)
+ t.pass('works')
t.end()
})
})
})
test('open a non-existing file throws', function (t) {
- var start = fs._curOpen
var er
try {
var fd = fs.openSync('this file does not exist', 'r')
@@ -34,13 +29,11 @@ test('open a non-existing file throws', function (t) {
t.ok(er, 'should throw')
t.notOk(fd, 'should not get an fd')
t.equal(er.code, 'ENOENT')
- t.equal(fs._curOpen, start)
fs.open('neither does this file', 'r', function (er, fd) {
t.ok(er, 'should throw')
t.notOk(fd, 'should not get an fd')
t.equal(er.code, 'ENOENT')
- t.equal(fs._curOpen, start)
t.end()
})
})
diff --git a/deps/npm/node_modules/graceful-fs/test/ulimit.js b/deps/npm/node_modules/graceful-fs/test/ulimit.js
deleted file mode 100644
index 8d0882d0c..000000000
--- a/deps/npm/node_modules/graceful-fs/test/ulimit.js
+++ /dev/null
@@ -1,158 +0,0 @@
-var test = require('tap').test
-
-// simulated ulimit
-// this is like graceful-fs, but in reverse
-var fs_ = require('fs')
-var fs = require('../graceful-fs.js')
-var files = fs.readdirSync(__dirname)
-
-// Ok, no more actual file reading!
-
-var fds = 0
-var nextFd = 60
-var limit = 8
-fs_.open = function (path, flags, mode, cb) {
- process.nextTick(function() {
- ++fds
- if (fds >= limit) {
- --fds
- var er = new Error('EMFILE Curses!')
- er.code = 'EMFILE'
- er.path = path
- return cb(er)
- } else {
- cb(null, nextFd++)
- }
- })
-}
-
-fs_.openSync = function (path, flags, mode) {
- if (fds >= limit) {
- var er = new Error('EMFILE Curses!')
- er.code = 'EMFILE'
- er.path = path
- throw er
- } else {
- ++fds
- return nextFd++
- }
-}
-
-fs_.close = function (fd, cb) {
- process.nextTick(function () {
- --fds
- cb()
- })
-}
-
-fs_.closeSync = function (fd) {
- --fds
-}
-
-fs_.readdir = function (path, cb) {
- process.nextTick(function() {
- if (fds >= limit) {
- var er = new Error('EMFILE Curses!')
- er.code = 'EMFILE'
- er.path = path
- return cb(er)
- } else {
- ++fds
- process.nextTick(function () {
- --fds
- cb(null, [__filename, "some-other-file.js"])
- })
- }
- })
-}
-
-fs_.readdirSync = function (path) {
- if (fds >= limit) {
- var er = new Error('EMFILE Curses!')
- er.code = 'EMFILE'
- er.path = path
- throw er
- } else {
- return [__filename, "some-other-file.js"]
- }
-}
-
-
-test('open emfile autoreduce', function (t) {
- fs.MIN_MAX_OPEN = 4
- t.equal(fs.MAX_OPEN, 1024)
-
- var max = 12
- for (var i = 0; i < max; i++) {
- fs.open(__filename, 'r', next(i))
- }
-
- var phase = 0
-
- var expect =
- [ [ 0, 60, null, 1024, 4, 12, 1 ],
- [ 1, 61, null, 1024, 4, 12, 2 ],
- [ 2, 62, null, 1024, 4, 12, 3 ],
- [ 3, 63, null, 1024, 4, 12, 4 ],
- [ 4, 64, null, 1024, 4, 12, 5 ],
- [ 5, 65, null, 1024, 4, 12, 6 ],
- [ 6, 66, null, 1024, 4, 12, 7 ],
- [ 7, 67, null, 6, 4, 5, 1 ],
- [ 8, 68, null, 6, 4, 5, 2 ],
- [ 9, 69, null, 6, 4, 5, 3 ],
- [ 10, 70, null, 6, 4, 5, 4 ],
- [ 11, 71, null, 6, 4, 5, 5 ] ]
-
- var actual = []
-
- function next (i) { return function (er, fd) {
- if (er)
- throw er
- actual.push([i, fd, er, fs.MAX_OPEN, fs.MIN_MAX_OPEN, fs._curOpen, fds])
-
- if (i === max - 1) {
- t.same(actual, expect)
- t.ok(fs.MAX_OPEN < limit)
- t.end()
- }
-
- fs.close(fd)
- } }
-})
-
-test('readdir emfile autoreduce', function (t) {
- fs.MAX_OPEN = 1024
- var max = 12
- for (var i = 0; i < max; i ++) {
- fs.readdir(__dirname, next(i))
- }
-
- var expect =
- [ [0,[__filename,"some-other-file.js"],null,7,4,7,7],
- [1,[__filename,"some-other-file.js"],null,7,4,7,6],
- [2,[__filename,"some-other-file.js"],null,7,4,7,5],
- [3,[__filename,"some-other-file.js"],null,7,4,7,4],
- [4,[__filename,"some-other-file.js"],null,7,4,7,3],
- [5,[__filename,"some-other-file.js"],null,7,4,6,2],
- [6,[__filename,"some-other-file.js"],null,7,4,5,1],
- [7,[__filename,"some-other-file.js"],null,7,4,4,0],
- [8,[__filename,"some-other-file.js"],null,7,4,3,3],
- [9,[__filename,"some-other-file.js"],null,7,4,2,2],
- [10,[__filename,"some-other-file.js"],null,7,4,1,1],
- [11,[__filename,"some-other-file.js"],null,7,4,0,0] ]
-
- var actual = []
-
- function next (i) { return function (er, files) {
- if (er)
- throw er
- var line = [i, files, er, fs.MAX_OPEN, fs.MIN_MAX_OPEN, fs._curOpen, fds ]
- actual.push(line)
-
- if (i === max - 1) {
- t.ok(fs.MAX_OPEN < limit)
- t.same(actual, expect)
- t.end()
- }
- } }
-})
diff --git a/deps/npm/node_modules/init-package-json/init-package-json.js b/deps/npm/node_modules/init-package-json/init-package-json.js
index dafc4d324..2600e77b0 100644
--- a/deps/npm/node_modules/init-package-json/init-package-json.js
+++ b/deps/npm/node_modules/init-package-json/init-package-json.js
@@ -78,8 +78,18 @@ function init (dir, input, config, cb) {
pkg = unParsePeople(pkg)
// no need for the readme now.
delete pkg.readme
+ delete pkg.readmeFilename
+
// really don't want to have this lying around in the file
delete pkg._id
+
+ // ditto
+ delete pkg.gitHead
+
+ // if the repo is empty, remove it.
+ if (!pkg.repository)
+ delete pkg.repository
+
var d = JSON.stringify(pkg, null, 2) + '\n'
console.log('About to write to %s:\n\n%s\n', package, d)
read({prompt:'Is this ok? ', default: 'yes'}, function (er, ok) {
diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json
index c0301ff02..a97b5053f 100644
--- a/deps/npm/node_modules/init-package-json/package.json
+++ b/deps/npm/node_modules/init-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "init-package-json",
- "version": "0.0.8",
+ "version": "0.0.10",
"main": "init-package-json.js",
"scripts": {
"test": "tap test/*.js"
@@ -19,8 +19,8 @@
"dependencies": {
"promzard": "~0.2.0",
"read": "~1.0.1",
- "read-package-json": "0",
- "semver": "1.x"
+ "read-package-json": "1",
+ "semver": "2.x"
},
"devDependencies": {
"tap": "~0.2.5",
@@ -41,6 +41,6 @@
"bugs": {
"url": "https://github.com/isaacs/init-package-json/issues"
},
- "_id": "init-package-json@0.0.8",
+ "_id": "init-package-json@0.0.10",
"_from": "init-package-json@latest"
}
diff --git a/deps/npm/node_modules/lockfile/README.md b/deps/npm/node_modules/lockfile/README.md
index 18ffd5041..59e149b3f 100644
--- a/deps/npm/node_modules/lockfile/README.md
+++ b/deps/npm/node_modules/lockfile/README.md
@@ -9,10 +9,10 @@ wait patiently for others.
var lockFile = require('lockfile')
// opts is optional, and defaults to {}
-lockFile.lock('some-file.lock', opts, function (er, fd) {
+lockFile.lock('some-file.lock', opts, function (er) {
// if the er happens, then it failed to acquire a lock.
- // if there was not an error, then the fd is opened in
- // wx mode. If you want to write something to it, go ahead.
+ // if there was not an error, then the file was created,
+ // and won't be deleted until we unlock it.
// do my stuff, free of interruptions
// then, some time later, do:
@@ -33,7 +33,7 @@ effort is made to not be a litterbug.
### lockFile.lock(path, [opts], cb)
-Acquire a file lock on the specified path. Returns the FD.
+Acquire a file lock on the specified path
### lockFile.lockSync(path, [opts])
diff --git a/deps/npm/node_modules/lockfile/lockfile.js b/deps/npm/node_modules/lockfile/lockfile.js
index 6752a0362..1eecd5f79 100644
--- a/deps/npm/node_modules/lockfile/lockfile.js
+++ b/deps/npm/node_modules/lockfile/lockfile.js
@@ -1,11 +1,23 @@
var fs = require('fs')
var wx = 'wx'
-if (process.version.match(/^v0.[456]/)) {
+if (process.version.match(/^v0\.[0-6]/)) {
var c = require('constants')
wx = c.O_TRUNC | c.O_CREAT | c.O_WRONLY | c.O_EXCL
}
+var debug
+var util = require('util')
+if (util.debuglog)
+ debug = util.debuglog('LOCKFILE')
+else if (/\blockfile\b/i.test(process.env.NODE_DEBUG))
+ debug = function() {
+ var msg = util.format.apply(util, arguments)
+ console.error('LOCKFILE %d %s', process.pid, msg)
+ }
+else
+ debug = function() {}
+
var locks = {}
function hasOwnProperty (obj, prop) {
@@ -13,40 +25,39 @@ function hasOwnProperty (obj, prop) {
}
process.on('exit', function () {
+ debug('exit listener')
// cleanup
Object.keys(locks).forEach(exports.unlockSync)
})
// XXX https://github.com/joyent/node/issues/3555
// Remove when node 0.8 is deprecated.
-process.on('uncaughtException', function H (er) {
- var l = process.listeners('uncaughtException').filter(function (h) {
- return h !== H
+if (/^v0\.[0-8]/.test(process.version)) {
+ debug('uncaughtException, version = %s', process.version)
+ process.on('uncaughtException', function H (er) {
+ debug('uncaughtException')
+ var l = process.listeners('uncaughtException').filter(function (h) {
+ return h !== H
+ })
+ if (!l.length) {
+ // cleanup
+ try { Object.keys(locks).forEach(exports.unlockSync) } catch (e) {}
+ process.removeListener('uncaughtException', H)
+ throw er
+ }
})
- if (!l.length) {
- // cleanup
- try { Object.keys(locks).forEach(exports.unlockSync) } catch (e) {}
- process.removeListener('uncaughtException', H)
- throw er
- }
-})
+}
exports.unlock = function (path, cb) {
+ debug('unlock', path)
// best-effort. unlocking an already-unlocked lock is a noop
- if (hasOwnProperty(locks, path))
- fs.close(locks[path], unlink)
- else
- unlink()
-
- function unlink () {
- delete locks[path]
- fs.unlink(path, function (unlinkEr) { cb() })
- }
+ delete locks[path]
+ fs.unlink(path, function (unlinkEr) { cb() })
}
exports.unlockSync = function (path) {
+ debug('unlockSync', path)
// best-effort. unlocking an already-unlocked lock is a noop
- try { fs.closeSync(locks[path]) } catch (er) {}
try { fs.unlinkSync(path) } catch (er) {}
delete locks[path]
}
@@ -56,6 +67,7 @@ exports.unlockSync = function (path) {
// if the error is something other than ENOENT, then it's not.
exports.check = function (path, opts, cb) {
if (typeof opts === 'function') cb = opts, opts = {}
+ debug('check', path, opts)
fs.open(path, 'r', function (er, fd) {
if (er) {
if (er.code !== 'ENOENT') return cb(er)
@@ -83,6 +95,7 @@ exports.check = function (path, opts, cb) {
exports.checkSync = function (path, opts) {
opts = opts || {}
+ debug('checkSync', path, opts)
if (opts.wait) {
throw new Error('opts.wait not supported sync for obvious reasons')
}
@@ -95,7 +108,7 @@ exports.checkSync = function (path, opts) {
}
if (!opts.stale) {
- fs.closeSync(fd)
+ try { fs.closeSync(fd) } catch (er) {}
return true
}
@@ -113,14 +126,18 @@ exports.checkSync = function (path, opts) {
+var req = 0
exports.lock = function (path, opts, cb) {
if (typeof opts === 'function') cb = opts, opts = {}
+ opts.req = opts.req || req++
+ debug('lock', path, opts)
if (typeof opts.retries === 'number' && opts.retries > 0) {
cb = (function (orig) { return function (er, fd) {
if (!er) return orig(er, fd)
var newRT = opts.retries - 1
opts_ = Object.create(opts, { retries: { value: newRT }})
+ debug('lock retry', path, newRT)
if (opts.retryWait) setTimeout(function() {
exports.lock(path, opts_, orig)
}, opts.retryWait)
@@ -132,8 +149,11 @@ exports.lock = function (path, opts, cb) {
// if this succeeds, then we're in business.
fs.open(path, wx, function (er, fd) {
if (!er) {
+ debug('locked', path, fd)
locks[path] = fd
- return cb(null, fd)
+ return fs.close(fd, function () {
+ return cb()
+ })
}
// something other than "currently locked"
@@ -146,6 +166,7 @@ exports.lock = function (path, opts, cb) {
if (statEr.code === 'ENOENT') {
// expired already!
var opts_ = Object.create(opts, { stale: { value: false }})
+ debug('lock stale enoent retry', path, opts_)
exports.lock(path, opts_, cb)
return
}
@@ -154,9 +175,11 @@ exports.lock = function (path, opts, cb) {
var age = Date.now() - st.ctime.getTime()
if (age > opts.stale) {
+ debug('lock stale', path, opts_)
exports.unlock(path, function (er) {
if (er) return cb(er)
var opts_ = Object.create(opts, { stale: { value: false }})
+ debug('lock stale retry', path, opts_)
exports.lock(path, opts_, cb)
})
} else notStale(er, path, opts, cb)
@@ -166,6 +189,8 @@ exports.lock = function (path, opts, cb) {
}
function notStale (er, path, opts, cb) {
+ debug('notStale', path, opts)
+
// if we can't wait, then just call it a failure
if (typeof opts.wait !== 'number' || opts.wait <= 0)
return cb(er)
@@ -176,17 +201,20 @@ function notStale (er, path, opts, cb) {
var end = start + opts.wait
function retry () {
+ debug('notStale retry', path, opts)
var now = Date.now()
var newWait = end - now
var newOpts = Object.create(opts, { wait: { value: newWait }})
exports.lock(path, newOpts, cb)
}
- var timer = setTimeout(retry, 10)
+ var timer = setTimeout(retry, 100)
}
exports.lockSync = function (path, opts) {
opts = opts || {}
+ opts.req = opts.req || req++
+ debug('lockSync', path, opts)
if (opts.wait || opts.retryWait) {
throw new Error('opts.wait not supported sync for obvious reasons')
}
@@ -194,7 +222,9 @@ exports.lockSync = function (path, opts) {
try {
var fd = fs.openSync(path, wx)
locks[path] = fd
- return fd
+ try { fs.closeSync(fd) } catch (er) {}
+ debug('locked sync!', path, fd)
+ return
} catch (er) {
if (er.code !== 'EEXIST') return retryThrow(path, opts, er)
@@ -212,12 +242,14 @@ exports.lockSync = function (path, opts) {
}
var age = Date.now() - ct
if (age > opts.stale) {
+ debug('lockSync stale', path, opts, age)
exports.unlockSync(path)
return exports.lockSync(path, opts)
}
}
// failed to lock!
+ debug('failed to lock', path, opts, er)
return retryThrow(path, opts, er)
}
}
@@ -225,6 +257,7 @@ exports.lockSync = function (path, opts) {
function retryThrow (path, opts, er) {
if (typeof opts.retries === 'number' && opts.retries > 0) {
var newRT = opts.retries - 1
+ debug('retryThrow', path, opts, newRT)
var opts_ = Object.create(opts, { retries: { value: newRT }})
return exports.lockSync(path, opts_)
}
diff --git a/deps/npm/node_modules/lockfile/package.json b/deps/npm/node_modules/lockfile/package.json
index 50cb72eec..ea1f5a919 100644
--- a/deps/npm/node_modules/lockfile/package.json
+++ b/deps/npm/node_modules/lockfile/package.json
@@ -1,6 +1,6 @@
{
"name": "lockfile",
- "version": "0.3.2",
+ "version": "0.4.0",
"main": "lockfile.js",
"directories": {
"test": "test"
@@ -31,15 +31,11 @@
},
"license": "BSD",
"description": "A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.",
- "readme": "# lockfile\n\nA very polite lock file utility, which endeavors to not litter, and to\nwait patiently for others.\n\n## Usage\n\n```javascript\nvar lockFile = require('lockfile')\n\n// opts is optional, and defaults to {}\nlockFile.lock('some-file.lock', opts, function (er, fd) {\n // if the er happens, then it failed to acquire a lock.\n // if there was not an error, then the fd is opened in\n // wx mode. If you want to write something to it, go ahead.\n\n // do my stuff, free of interruptions\n // then, some time later, do:\n lockFile.unlock('some-file.lock', function (er) {\n // er means that an error happened, and is probably bad.\n })\n})\n```\n\n## Methods\n\nSync methods return the value/throw the error, others don't. Standard\nnode fs stuff.\n\nAll known locks are removed when the process exits. Of course, it's\npossible for certain types of failures to cause this to fail, but a best\neffort is made to not be a litterbug.\n\n### lockFile.lock(path, [opts], cb)\n\nAcquire a file lock on the specified path. Returns the FD.\n\n### lockFile.lockSync(path, [opts])\n\nAcquire a file lock on the specified path\n\n### lockFile.unlock(path, cb)\n\nClose and unlink the lockfile.\n\n### lockFile.unlockSync(path)\n\nClose and unlink the lockfile.\n\n### lockFile.check(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nReturns boolean.\n\n### lockFile.checkSync(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nCallback is called with `cb(error, isLocked)`.\n\n## Options\n\n### opts.wait\n\nA number of milliseconds to wait for locks to expire before giving up.\nOnly used by lockFile.lock. Relies on fs.watch. If the lock is not\ncleared by the time the wait expires, then it returns with the original\nerror.\n\n### opts.stale\n\nA number of milliseconds before locks are considered to have expired.\n\n### opts.retries\n\nUsed by lock and lockSync. Retry `n` number of times before giving up.\n\n### opts.retryWait\n\nUsed by lock. Wait `n` milliseconds before retrying.\n",
+ "readme": "# lockfile\n\nA very polite lock file utility, which endeavors to not litter, and to\nwait patiently for others.\n\n## Usage\n\n```javascript\nvar lockFile = require('lockfile')\n\n// opts is optional, and defaults to {}\nlockFile.lock('some-file.lock', opts, function (er) {\n // if the er happens, then it failed to acquire a lock.\n // if there was not an error, then the file was created,\n // and won't be deleted until we unlock it.\n\n // do my stuff, free of interruptions\n // then, some time later, do:\n lockFile.unlock('some-file.lock', function (er) {\n // er means that an error happened, and is probably bad.\n })\n})\n```\n\n## Methods\n\nSync methods return the value/throw the error, others don't. Standard\nnode fs stuff.\n\nAll known locks are removed when the process exits. Of course, it's\npossible for certain types of failures to cause this to fail, but a best\neffort is made to not be a litterbug.\n\n### lockFile.lock(path, [opts], cb)\n\nAcquire a file lock on the specified path\n\n### lockFile.lockSync(path, [opts])\n\nAcquire a file lock on the specified path\n\n### lockFile.unlock(path, cb)\n\nClose and unlink the lockfile.\n\n### lockFile.unlockSync(path)\n\nClose and unlink the lockfile.\n\n### lockFile.check(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nReturns boolean.\n\n### lockFile.checkSync(path, [opts], cb)\n\nCheck if the lockfile is locked and not stale.\n\nCallback is called with `cb(error, isLocked)`.\n\n## Options\n\n### opts.wait\n\nA number of milliseconds to wait for locks to expire before giving up.\nOnly used by lockFile.lock. Relies on fs.watch. If the lock is not\ncleared by the time the wait expires, then it returns with the original\nerror.\n\n### opts.stale\n\nA number of milliseconds before locks are considered to have expired.\n\n### opts.retries\n\nUsed by lock and lockSync. Retry `n` number of times before giving up.\n\n### opts.retryWait\n\nUsed by lock. Wait `n` milliseconds before retrying.\n",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/isaacs/lockfile/issues"
},
- "_id": "lockfile@0.3.2",
- "dist": {
- "shasum": "542261743479f9f907be30441f5d6b95e8b95722"
- },
- "_from": "lockfile@0.3.2",
- "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-0.3.2.tgz"
+ "_id": "lockfile@0.4.0",
+ "_from": "lockfile@latest"
}
diff --git a/deps/npm/node_modules/lockfile/test/basic.js b/deps/npm/node_modules/lockfile/test/basic.js
index 41dbcdc32..fb01de3f4 100644
--- a/deps/npm/node_modules/lockfile/test/basic.js
+++ b/deps/npm/node_modules/lockfile/test/basic.js
@@ -158,35 +158,6 @@ test('staleness sync test', function (t) {
}
})
-test('watch test', function (t) {
- var opts = { wait: 100 }
- var fdx
- lockFile.lock('watch-lock', function (er, fd1) {
- if (er) throw er
- setTimeout(unlock, 10)
- function unlock () {
- console.error('unlocking it')
- lockFile.unlockSync('watch-lock')
- // open another file, so the fd gets reused
- // so we can know that it actually re-opened it fresh,
- // rather than just getting the same lock as before.
- fdx = fs.openSync('x', 'w')
- fdy = fs.openSync('x', 'w')
- }
-
- // should have gotten a new fd
- lockFile.lock('watch-lock', opts, function (er, fd2) {
- if (er) throw er
- t.notEqual(fd1, fd2)
- fs.closeSync(fdx)
- fs.closeSync(fdy)
- fs.unlinkSync('x')
- lockFile.unlockSync('watch-lock')
- t.end()
- })
- })
-})
-
test('retries', function (t) {
// next 5 opens will fail.
var opens = 5
@@ -202,10 +173,9 @@ test('retries', function (t) {
process.nextTick(cb.bind(null, er))
}
- lockFile.lock('retry-lock', { retries: opens }, function (er, fd) {
+ lockFile.lock('retry-lock', { retries: opens }, function (er) {
if (er) throw er
t.equal(opens, 0)
- t.ok(fd)
lockFile.unlockSync('retry-lock')
t.end()
})
@@ -227,10 +197,9 @@ test('retryWait', function (t) {
}
var opts = { retries: opens, retryWait: 100 }
- lockFile.lock('retry-lock', opts, function (er, fd) {
+ lockFile.lock('retry-lock', opts, function (er) {
if (er) throw er
t.equal(opens, 0)
- t.ok(fd)
lockFile.unlockSync('retry-lock')
t.end()
})
diff --git a/deps/npm/node_modules/node-gyp/.jshintrc b/deps/npm/node_modules/node-gyp/.jshintrc
index dcbfbcc56..52475ba2e 100644
--- a/deps/npm/node_modules/node-gyp/.jshintrc
+++ b/deps/npm/node_modules/node-gyp/.jshintrc
@@ -1,6 +1,7 @@
{
"asi": true,
"laxcomma": true,
+ "es5": true,
"node": true,
"strict": false
}
diff --git a/deps/npm/node_modules/node-gyp/.npmignore b/deps/npm/node_modules/node-gyp/.npmignore
index 45555c9d6..b0b49bd62 100644
--- a/deps/npm/node_modules/node-gyp/.npmignore
+++ b/deps/npm/node_modules/node-gyp/.npmignore
@@ -1 +1 @@
-legacy/tools/gyp/test/
+gyp/test
diff --git a/deps/npm/node_modules/node-gyp/README.md b/deps/npm/node_modules/node-gyp/README.md
index cfc982052..ffe429c32 100644
--- a/deps/npm/node_modules/node-gyp/README.md
+++ b/deps/npm/node_modules/node-gyp/README.md
@@ -9,7 +9,7 @@ program which is removed for node `v0.8`. If you have a native addon for node th
still has a `wscript` file, then you should definitely add a `binding.gyp` file
to support the latest versions of node.
-Multiple target versions of node are supported (i.e. `0.6`, `0.7`,..., `1.0`,
+Multiple target versions of node are supported (i.e. `0.8`, `0.9`, `0.10`, ..., `1.0`,
etc.), regardless of what version of node is actually installed on your system
(`node-gyp` downloads the necessary development files for the target version).
diff --git a/deps/npm/node_modules/node-gyp/bin/node-gyp.js b/deps/npm/node_modules/node-gyp/bin/node-gyp.js
index 55fa08fd0..4678260fd 100755
--- a/deps/npm/node_modules/node-gyp/bin/node-gyp.js
+++ b/deps/npm/node_modules/node-gyp/bin/node-gyp.js
@@ -124,7 +124,7 @@ function errorMessage () {
function issueMessage () {
errorMessage()
log.error('', [ 'This is a bug in `node-gyp`.'
- , 'Please file an Issue:'
+ , 'Try to update node-gyp and file an Issue if it does not help:'
, ' <https://github.com/TooTallNate/node-gyp/issues>'
].join('\n'))
}
diff --git a/deps/npm/node_modules/node-gyp/gyp/AUTHORS b/deps/npm/node_modules/node-gyp/gyp/AUTHORS
index 6db82b9e4..897776196 100644
--- a/deps/npm/node_modules/node-gyp/gyp/AUTHORS
+++ b/deps/npm/node_modules/node-gyp/gyp/AUTHORS
@@ -2,5 +2,7 @@
# Name or Organization <email address>
Google Inc.
+Bloomberg Finance L.P.
+
Steven Knight <knight@baldmt.com>
Ryan Norton <rnorton10@gmail.com>
diff --git a/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py b/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py
index 0338fb4a9..65235661a 100644
--- a/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py
+++ b/deps/npm/node_modules/node-gyp/gyp/PRESUBMIT.py
@@ -75,13 +75,20 @@ def CheckChangeOnUpload(input_api, output_api):
def CheckChangeOnCommit(input_api, output_api):
report = []
+
+ # Accept any year number from 2009 to the current year.
+ current_year = int(input_api.time.strftime('%Y'))
+ allowed_years = (str(s) for s in reversed(xrange(2009, current_year + 1)))
+ years_re = '(' + '|'.join(allowed_years) + ')'
+
+ # The (c) is deprecated, but tolerate it until it's removed from all files.
license = (
- r'.*? Copyright \(c\) %(year)s Google Inc\. All rights reserved\.\n'
+ r'.*? Copyright (\(c\) )?%(year)s Google Inc\. All rights reserved\.\n'
r'.*? Use of this source code is governed by a BSD-style license that '
r'can be\n'
r'.*? found in the LICENSE file\.\n'
) % {
- 'year': input_api.time.strftime('%Y'),
+ 'year': years_re,
}
report.extend(input_api.canned_checks.PanProjectChecks(
@@ -106,4 +113,4 @@ def CheckChangeOnCommit(input_api, output_api):
def GetPreferredTrySlaves():
- return ['gyp-win32', 'gyp-win64', 'gyp-linux', 'gyp-mac']
+ return ['gyp-win32', 'gyp-win64', 'gyp-linux', 'gyp-mac', 'gyp-android']
diff --git a/deps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py b/deps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py
deleted file mode 100755
index 57fdb655b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/buildbot/buildbot_run.py
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-"""Argument-less script to select what to run on the buildbots."""
-
-
-import os
-import shutil
-import subprocess
-import sys
-
-
-if sys.platform in ['win32', 'cygwin']:
- EXE_SUFFIX = '.exe'
-else:
- EXE_SUFFIX = ''
-
-
-BUILDBOT_DIR = os.path.dirname(os.path.abspath(__file__))
-TRUNK_DIR = os.path.dirname(BUILDBOT_DIR)
-ROOT_DIR = os.path.dirname(TRUNK_DIR)
-OUT_DIR = os.path.join(TRUNK_DIR, 'out')
-
-
-def GypTestFormat(title, format=None, msvs_version=None):
- """Run the gyp tests for a given format, emitting annotator tags.
-
- See annotator docs at:
- https://sites.google.com/a/chromium.org/dev/developers/testing/chromium-build-infrastructure/buildbot-annotations
- Args:
- format: gyp format to test.
- Returns:
- 0 for sucesss, 1 for failure.
- """
- if not format:
- format = title
-
- print '@@@BUILD_STEP ' + title + '@@@'
- sys.stdout.flush()
- env = os.environ.copy()
- # TODO(bradnelson): remove this when this issue is resolved:
- # http://code.google.com/p/chromium/issues/detail?id=108251
- if format == 'ninja':
- env['NOGOLD'] = '1'
- if msvs_version:
- env['GYP_MSVS_VERSION'] = msvs_version
- retcode = subprocess.call(' '.join(
- [sys.executable, 'trunk/gyptest.py',
- '--all',
- '--passed',
- '--format', format,
- '--chdir', 'trunk',
- '--path', '../scons']),
- cwd=ROOT_DIR, env=env, shell=True)
- if retcode:
- # Emit failure tag, and keep going.
- print '@@@STEP_FAILURE@@@'
- return 1
- return 0
-
-
-def GypBuild():
- # Dump out/ directory.
- print '@@@BUILD_STEP cleanup@@@'
- print 'Removing %s...' % OUT_DIR
- shutil.rmtree(OUT_DIR, ignore_errors=True)
- print 'Done.'
-
- retcode = 0
- if sys.platform.startswith('linux'):
- retcode += GypTestFormat('ninja')
- retcode += GypTestFormat('scons')
- retcode += GypTestFormat('make')
- elif sys.platform == 'darwin':
- retcode += GypTestFormat('ninja')
- retcode += GypTestFormat('xcode')
- retcode += GypTestFormat('make')
- elif sys.platform == 'win32':
- retcode += GypTestFormat('ninja')
- retcode += GypTestFormat('msvs-2008', format='msvs', msvs_version='2008')
- if os.environ['BUILDBOT_BUILDERNAME'] == 'gyp-win64':
- retcode += GypTestFormat('msvs-2010', format='msvs', msvs_version='2010')
- else:
- raise Exception('Unknown platform')
- if retcode:
- # TODO(bradnelson): once the annotator supports a postscript (section for
- # after the build proper that could be used for cumulative failures),
- # use that instead of this. This isolates the final return value so
- # that it isn't misattributed to the last stage.
- print '@@@BUILD_STEP failures@@@'
- sys.exit(retcode)
-
-
-if __name__ == '__main__':
- GypBuild()
diff --git a/deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc b/deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc
new file mode 100644
index 000000000..8bca51081
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc
@@ -0,0 +1,12 @@
+// Copyright (c) 2013 Google Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// This file is used to generate an empty .pdb -- with a 4KB pagesize -- that is
+// then used during the final link for modules that have large PDBs. Otherwise,
+// the linker will generate a pdb with a page size of 1KB, which imposes a limit
+// of 1GB on the .pdb. By generating an initial empty .pdb with the compiler
+// (rather than the linker), this limit is avoided. With this in place PDBs may
+// grow to 2GB.
+//
+// This file is referenced by the msvs_large_pdb mechanism in MSVSUtil.py.
diff --git a/deps/npm/node_modules/node-gyp/gyp/gyptest.py b/deps/npm/node_modules/node-gyp/gyp/gyptest.py
index 6c6b00944..efa75a7aa 100755
--- a/deps/npm/node_modules/node-gyp/gyp/gyptest.py
+++ b/deps/npm/node_modules/node-gyp/gyp/gyptest.py
@@ -212,6 +212,7 @@ def main(argv=None):
format_list = {
'freebsd7': ['make'],
'freebsd8': ['make'],
+ 'openbsd5': ['make'],
'cygwin': ['msvs'],
'win32': ['msvs', 'ninja'],
'linux2': ['make', 'ninja'],
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py
new file mode 100644
index 000000000..5afcd1f2a
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py
@@ -0,0 +1,212 @@
+# Copyright (c) 2013 Google Inc. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""Utility functions shared amongst the Windows generators."""
+
+import copy
+import os
+
+
+_TARGET_TYPE_EXT = {
+ 'executable': '.exe',
+ 'shared_library': '.dll'
+}
+
+
+def _GetLargePdbShimCcPath():
+ """Returns the path of the large_pdb_shim.cc file."""
+ this_dir = os.path.abspath(os.path.dirname(__file__))
+ src_dir = os.path.abspath(os.path.join(this_dir, '..', '..'))
+ win_data_dir = os.path.join(src_dir, 'data', 'win')
+ large_pdb_shim_cc = os.path.join(win_data_dir, 'large-pdb-shim.cc')
+ return large_pdb_shim_cc
+
+
+def _DeepCopySomeKeys(in_dict, keys):
+ """Performs a partial deep-copy on |in_dict|, only copying the keys in |keys|.
+
+ Arguments:
+ in_dict: The dictionary to copy.
+ keys: The keys to be copied. If a key is in this list and doesn't exist in
+ |in_dict| this is not an error.
+ Returns:
+ The partially deep-copied dictionary.
+ """
+ d = {}
+ for key in keys:
+ if key not in in_dict:
+ continue
+ d[key] = copy.deepcopy(in_dict[key])
+ return d
+
+
+def _SuffixName(name, suffix):
+ """Add a suffix to the end of a target.
+
+ Arguments:
+ name: name of the target (foo#target)
+ suffix: the suffix to be added
+ Returns:
+ Target name with suffix added (foo_suffix#target)
+ """
+ parts = name.rsplit('#', 1)
+ parts[0] = '%s_%s' % (parts[0], suffix)
+ return '#'.join(parts)
+
+
+def _ShardName(name, number):
+ """Add a shard number to the end of a target.
+
+ Arguments:
+ name: name of the target (foo#target)
+ number: shard number
+ Returns:
+ Target name with shard added (foo_1#target)
+ """
+ return _SuffixName(name, str(number))
+
+
+def ShardTargets(target_list, target_dicts):
+ """Shard some targets apart to work around the linkers limits.
+
+ Arguments:
+ target_list: List of target pairs: 'base/base.gyp:base'.
+ target_dicts: Dict of target properties keyed on target pair.
+ Returns:
+ Tuple of the new sharded versions of the inputs.
+ """
+ # Gather the targets to shard, and how many pieces.
+ targets_to_shard = {}
+ for t in target_dicts:
+ shards = int(target_dicts[t].get('msvs_shard', 0))
+ if shards:
+ targets_to_shard[t] = shards
+ # Shard target_list.
+ new_target_list = []
+ for t in target_list:
+ if t in targets_to_shard:
+ for i in range(targets_to_shard[t]):
+ new_target_list.append(_ShardName(t, i))
+ else:
+ new_target_list.append(t)
+ # Shard target_dict.
+ new_target_dicts = {}
+ for t in target_dicts:
+ if t in targets_to_shard:
+ for i in range(targets_to_shard[t]):
+ name = _ShardName(t, i)
+ new_target_dicts[name] = copy.copy(target_dicts[t])
+ new_target_dicts[name]['target_name'] = _ShardName(
+ new_target_dicts[name]['target_name'], i)
+ sources = new_target_dicts[name].get('sources', [])
+ new_sources = []
+ for pos in range(i, len(sources), targets_to_shard[t]):
+ new_sources.append(sources[pos])
+ new_target_dicts[name]['sources'] = new_sources
+ else:
+ new_target_dicts[t] = target_dicts[t]
+ # Shard dependencies.
+ for t in new_target_dicts:
+ dependencies = copy.copy(new_target_dicts[t].get('dependencies', []))
+ new_dependencies = []
+ for d in dependencies:
+ if d in targets_to_shard:
+ for i in range(targets_to_shard[d]):
+ new_dependencies.append(_ShardName(d, i))
+ else:
+ new_dependencies.append(d)
+ new_target_dicts[t]['dependencies'] = new_dependencies
+
+ return (new_target_list, new_target_dicts)
+
+
+def InsertLargePdbShims(target_list, target_dicts, vars):
+ """Insert a shim target that forces the linker to use 4KB pagesize PDBs.
+
+ This is a workaround for targets with PDBs greater than 1GB in size, the
+ limit for the 1KB pagesize PDBs created by the linker by default.
+
+ Arguments:
+ target_list: List of target pairs: 'base/base.gyp:base'.
+ target_dicts: Dict of target properties keyed on target pair.
+ vars: A dictionary of common GYP variables with generator-specific values.
+ Returns:
+ Tuple of the shimmed version of the inputs.
+ """
+ # Determine which targets need shimming.
+ targets_to_shim = []
+ for t in target_dicts:
+ target_dict = target_dicts[t]
+ # We only want to shim targets that have msvs_large_pdb enabled.
+ if not int(target_dict.get('msvs_large_pdb', 0)):
+ continue
+ # This is intended for executable, shared_library and loadable_module
+ # targets where every configuration is set up to produce a PDB output.
+ # If any of these conditions is not true then the shim logic will fail
+ # below.
+ targets_to_shim.append(t)
+
+ large_pdb_shim_cc = _GetLargePdbShimCcPath()
+
+ for t in targets_to_shim:
+ target_dict = target_dicts[t]
+ target_name = target_dict.get('target_name')
+
+ base_dict = _DeepCopySomeKeys(target_dict,
+ ['configurations', 'default_configuration', 'toolset'])
+
+ # This is the dict for copying the source file (part of the GYP tree)
+ # to the intermediate directory of the project. This is necessary because
+ # we can't always build a relative path to the shim source file (on Windows
+ # GYP and the project may be on different drives), and Ninja hates absolute
+ # paths (it ends up generating the .obj and .obj.d alongside the source
+ # file, polluting GYPs tree).
+ copy_suffix = '_large_pdb_copy'
+ copy_target_name = target_name + '_' + copy_suffix
+ full_copy_target_name = _SuffixName(t, copy_suffix)
+ shim_cc_basename = os.path.basename(large_pdb_shim_cc)
+ shim_cc_dir = vars['SHARED_INTERMEDIATE_DIR'] + '/' + copy_target_name
+ shim_cc_path = shim_cc_dir + '/' + shim_cc_basename
+ copy_dict = copy.deepcopy(base_dict)
+ copy_dict['target_name'] = copy_target_name
+ copy_dict['type'] = 'none'
+ copy_dict['sources'] = [ large_pdb_shim_cc ]
+ copy_dict['copies'] = [{
+ 'destination': shim_cc_dir,
+ 'files': [ large_pdb_shim_cc ]
+ }]
+
+ # This is the dict for the PDB generating shim target. It depends on the
+ # copy target.
+ shim_suffix = '_large_pdb_shim'
+ shim_target_name = target_name + '_' + shim_suffix
+ full_shim_target_name = _SuffixName(t, shim_suffix)
+ shim_dict = copy.deepcopy(base_dict)
+ shim_dict['target_name'] = shim_target_name
+ shim_dict['type'] = 'static_library'
+ shim_dict['sources'] = [ shim_cc_path ]
+ shim_dict['dependencies'] = [ full_copy_target_name ]
+
+ # Set up the shim to output its PDB to the same location as the final linker
+ # target.
+ for config in shim_dict.get('configurations').itervalues():
+ msvs = config.setdefault('msvs_settings')
+
+ linker = msvs.pop('VCLinkerTool') # We want to clear this dict.
+ pdb_path = linker.get('ProgramDatabaseFile')
+
+ compiler = msvs.setdefault('VCCLCompilerTool', {})
+ compiler.setdefault('DebugInformationFormat', '3')
+ compiler.setdefault('ProgramDataBaseFileName', pdb_path)
+
+ # Add the new targets.
+ target_list.append(full_copy_target_name)
+ target_list.append(full_shim_target_name)
+ target_dicts[full_copy_target_name] = copy_dict
+ target_dicts[full_shim_target_name] = shim_dict
+
+ # Update the original target to depend on the shim target.
+ target_dict.setdefault('dependencies', []).append(full_shim_target_name)
+
+ return (target_list, target_dicts) \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
index 97caf6698..2d95cd0c9 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
+# Copyright (c) 2013 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -355,6 +355,13 @@ def SelectVisualStudioVersion(version='auto'):
'2012': ('11.0',),
'2012e': ('11.0',),
}
+ override_path = os.environ.get('GYP_MSVS_OVERRIDE_PATH')
+ if override_path:
+ msvs_version = os.environ.get('GYP_MSVS_VERSION')
+ if not msvs_version or 'e' not in msvs_version:
+ raise ValueError('GYP_MSVS_OVERRIDE_PATH requires GYP_MSVS_VERSION to be '
+ 'set to an "e" version (e.g. 2010e)')
+ return _CreateVersion(msvs_version, override_path, sdk_based=True)
version = str(version)
versions = _DetectVisualStudioVersions(version_map[version], 'e' in version)
if not versions:
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py
index ac300a903..3769c5265 100755
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py
@@ -23,8 +23,8 @@ DEBUG_VARIABLES = 'variables'
DEBUG_INCLUDES = 'includes'
-def DebugOutput(mode, message):
- if 'all' in gyp.debug.keys() or mode in gyp.debug.keys():
+def DebugOutput(mode, message, *args):
+ if 'all' in gyp.debug or mode in gyp.debug:
ctx = ('unknown', 0, 'unknown')
try:
f = traceback.extract_stack(limit=2)
@@ -32,6 +32,8 @@ def DebugOutput(mode, message):
ctx = f[0][:3]
except:
pass
+ if args:
+ message %= args
print '%s:%s:%d:%s %s' % (mode.upper(), os.path.basename(ctx[0]),
ctx[1], ctx[2], message)
@@ -376,21 +378,22 @@ def gyp_main(args):
options.generator_output = g_o
if not options.parallel and options.use_environment:
- options.parallel = bool(os.environ.get('GYP_PARALLEL'))
+ p = os.environ.get('GYP_PARALLEL')
+ options.parallel = bool(p and p != '0')
for mode in options.debug:
gyp.debug[mode] = 1
# Do an extra check to avoid work when we're not debugging.
- if DEBUG_GENERAL in gyp.debug.keys():
+ if DEBUG_GENERAL in gyp.debug:
DebugOutput(DEBUG_GENERAL, 'running with these options:')
for option, value in sorted(options.__dict__.items()):
if option[0] == '_':
continue
if isinstance(value, basestring):
- DebugOutput(DEBUG_GENERAL, " %s: '%s'" % (option, value))
+ DebugOutput(DEBUG_GENERAL, " %s: '%s'", option, value)
else:
- DebugOutput(DEBUG_GENERAL, " %s: %s" % (option, str(value)))
+ DebugOutput(DEBUG_GENERAL, " %s: %s", option, value)
if not build_files:
build_files = FindBuildFiles()
@@ -440,9 +443,9 @@ def gyp_main(args):
if options.defines:
defines += options.defines
cmdline_default_variables = NameValueListToDict(defines)
- if DEBUG_GENERAL in gyp.debug.keys():
+ if DEBUG_GENERAL in gyp.debug:
DebugOutput(DEBUG_GENERAL,
- "cmdline_default_variables: %s" % cmdline_default_variables)
+ "cmdline_default_variables: %s", cmdline_default_variables)
# Set up includes.
includes = []
@@ -468,7 +471,7 @@ def gyp_main(args):
gen_flags += options.generator_flags
generator_flags = NameValueListToDict(gen_flags)
if DEBUG_GENERAL in gyp.debug.keys():
- DebugOutput(DEBUG_GENERAL, "generator_flags: %s" % generator_flags)
+ DebugOutput(DEBUG_GENERAL, "generator_flags: %s", generator_flags)
# TODO: Remove this and the option after we've gotten folks to move to the
# generator flag.
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py
index 4f2ae56e3..e50f51c30 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.py
@@ -127,9 +127,9 @@ def RelativePath(path, relative_to):
# directory, returns a relative path that identifies path relative to
# relative_to.
- # Convert to absolute (and therefore normalized paths).
- path = os.path.abspath(path)
- relative_to = os.path.abspath(relative_to)
+ # Convert to normalized (and therefore absolute paths).
+ path = os.path.realpath(path)
+ relative_to = os.path.realpath(relative_to)
# Split the paths into components.
path_split = path.split(os.path.sep)
@@ -151,6 +151,20 @@ def RelativePath(path, relative_to):
return os.path.join(*relative_split)
+@memoize
+def InvertRelativePath(path, toplevel_dir=None):
+ """Given a path like foo/bar that is relative to toplevel_dir, return
+ the inverse relative path back to the toplevel_dir.
+
+ E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path)))
+ should always produce the empty string, unless the path contains symlinks.
+ """
+ if not path:
+ return path
+ toplevel_dir = '.' if toplevel_dir is None else toplevel_dir
+ return RelativePath(toplevel_dir, os.path.join(toplevel_dir, path))
+
+
def FixIfRelativePath(path, relative_to):
# Like RelativePath but returns |path| unchanged if it is absolute.
if os.path.isabs(path):
@@ -378,6 +392,10 @@ def GetFlavor(params):
return 'solaris'
if sys.platform.startswith('freebsd'):
return 'freebsd'
+ if sys.platform.startswith('openbsd'):
+ return 'openbsd'
+ if sys.platform.startswith('aix'):
+ return 'aix'
return 'linux'
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py
index dac29692b..ad6f9a143 100755
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py
@@ -58,6 +58,7 @@ class TestGetFlavor(unittest.TestCase):
def test_platform_default(self):
self.assertFlavor('freebsd', 'freebsd9' , {})
self.assertFlavor('freebsd', 'freebsd10', {})
+ self.assertFlavor('openbsd', 'openbsd5' , {})
self.assertFlavor('solaris', 'sunos5' , {});
self.assertFlavor('solaris', 'sunos' , {});
self.assertFlavor('linux' , 'linux2' , {});
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py
index f7c31bd0d..a01ead020 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py
@@ -19,6 +19,7 @@ import gyp.common
import gyp.generator.make as make # Reuse global functions from make backend.
import os
import re
+import subprocess
generator_default_variables = {
'OS': 'android',
@@ -38,7 +39,7 @@ generator_default_variables = {
'RULE_INPUT_PATH': '$(RULE_SOURCES)',
'RULE_INPUT_EXT': '$(suffix $<)',
'RULE_INPUT_NAME': '$(notdir $<)',
- 'CONFIGURATION_NAME': 'NOT_USED_ON_ANDROID',
+ 'CONFIGURATION_NAME': '$(GYP_DEFAULT_CONFIGURATION)',
}
# Make supports multiple toolsets
@@ -131,12 +132,13 @@ class AndroidMkWriter(object):
def __init__(self, android_top_dir):
self.android_top_dir = android_top_dir
- def Write(self, qualified_target, base_path, output_filename, spec, configs,
- part_of_all):
+ def Write(self, qualified_target, relative_target, base_path, output_filename,
+ spec, configs, part_of_all):
"""The main entry point: writes a .mk file for a single target.
Arguments:
qualified_target: target we're generating
+ relative_target: qualified target name relative to the root
base_path: path relative to source root we're building in, used to resolve
target-relative paths
output_filename: output .mk file name to write
@@ -150,6 +152,7 @@ class AndroidMkWriter(object):
self.fp.write(header)
self.qualified_target = qualified_target
+ self.relative_target = relative_target
self.path = base_path
self.target = spec['target_name']
self.type = spec['type']
@@ -248,7 +251,7 @@ class AndroidMkWriter(object):
actions)
"""
for action in actions:
- name = make.StringToMakefileVariable('%s_%s' % (self.qualified_target,
+ name = make.StringToMakefileVariable('%s_%s' % (self.relative_target,
action['action_name']))
self.WriteLn('### Rules for action "%s":' % action['action_name'])
inputs = action['inputs']
@@ -295,6 +298,15 @@ class AndroidMkWriter(object):
'$(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir)' %
main_output)
+ # Android's envsetup.sh adds a number of directories to the path including
+ # the built host binary directory. This causes actions/rules invoked by
+ # gyp to sometimes use these instead of system versions, e.g. bison.
+ # The built host binaries may not be suitable, and can cause errors.
+ # So, we remove them from the PATH using the ANDROID_BUILD_PATHS variable
+ # set by envsetup.
+ self.WriteLn('%s: export PATH := $(subst $(ANDROID_BUILD_PATHS),,$(PATH))'
+ % main_output)
+
for input in inputs:
assert ' ' not in input, (
"Spaces in action input filenames not supported (%s)" % input)
@@ -334,7 +346,7 @@ class AndroidMkWriter(object):
if len(rule.get('rule_sources', [])) == 0:
continue
did_write_rule = True
- name = make.StringToMakefileVariable('%s_%s' % (self.qualified_target,
+ name = make.StringToMakefileVariable('%s_%s' % (self.relative_target,
rule['rule_name']))
self.WriteLn('\n### Generated for rule "%s":' % name)
self.WriteLn('# "%s":' % rule)
@@ -388,6 +400,10 @@ class AndroidMkWriter(object):
'$(GYP_ABS_ANDROID_TOP_DIR)/$(gyp_shared_intermediate_dir)'
% main_output)
+ # See explanation in WriteActions.
+ self.WriteLn('%s: export PATH := '
+ '$(subst $(ANDROID_BUILD_PATHS),,$(PATH))' % main_output)
+
main_output_deps = self.LocalPathify(rule_source)
if inputs:
main_output_deps += ' '
@@ -415,7 +431,7 @@ class AndroidMkWriter(object):
"""
self.WriteLn('### Generated for copy rule.')
- variable = make.StringToMakefileVariable(self.qualified_target + '_copies')
+ variable = make.StringToMakefileVariable(self.relative_target + '_copies')
outputs = []
for copy in copies:
for path in copy['files']:
@@ -940,30 +956,16 @@ class AndroidMkWriter(object):
return path
-def WriteAutoRegenerationRule(params, root_makefile, makefile_name,
- build_files):
- """Write the target to regenerate the Makefile."""
+def PerformBuild(data, configurations, params):
+ # The android backend only supports the default configuration.
options = params['options']
- # Sort to avoid non-functional changes to makefile.
- build_files = sorted([os.path.join('$(LOCAL_PATH)', f) for f in build_files])
- build_files_args = [gyp.common.RelativePath(filename, options.toplevel_dir)
- for filename in params['build_files_arg']]
- build_files_args = [os.path.join('$(PRIVATE_LOCAL_PATH)', f)
- for f in build_files_args]
- gyp_binary = gyp.common.FixIfRelativePath(params['gyp_binary'],
- options.toplevel_dir)
- makefile_path = os.path.join('$(LOCAL_PATH)', makefile_name)
- if not gyp_binary.startswith(os.sep):
- gyp_binary = os.path.join('.', gyp_binary)
- root_makefile.write('GYP_FILES := \\\n %s\n\n' %
- '\\\n '.join(map(Sourceify, build_files)))
- root_makefile.write('%s: PRIVATE_LOCAL_PATH := $(LOCAL_PATH)\n' %
- makefile_path)
- root_makefile.write('%s: $(GYP_FILES)\n' % makefile_path)
- root_makefile.write('\techo ACTION Regenerating $@\n\t%s\n\n' %
- gyp.common.EncodePOSIXShellList([gyp_binary, '-fandroid'] +
- gyp.RegenerateFlags(options) +
- build_files_args))
+ makefile = os.path.abspath(os.path.join(options.toplevel_dir,
+ 'GypAndroid.mk'))
+ env = dict(os.environ)
+ env['ONE_SHOT_MAKEFILE'] = makefile
+ arguments = ['make', '-C', os.environ['ANDROID_BUILD_TOP'], 'gyp_all_modules']
+ print 'Building: %s' % arguments
+ subprocess.check_call(arguments, env=env)
def GenerateOutput(target_list, target_dicts, data, params):
@@ -1004,7 +1006,7 @@ def GenerateOutput(target_list, target_dicts, data, params):
default_configuration = 'Default'
srcdir = '.'
- makefile_name = 'GypAndroid.mk' + options.suffix
+ makefile_name = 'GypAndroid' + options.suffix + '.mk'
makefile_path = os.path.join(options.toplevel_dir, makefile_name)
assert not options.generator_output, (
'The Android backend does not support options.generator_output.')
@@ -1030,7 +1032,9 @@ def GenerateOutput(target_list, target_dicts, data, params):
for qualified_target in target_list:
build_file, target, toolset = gyp.common.ParseQualifiedTarget(
qualified_target)
- build_files.add(gyp.common.RelativePath(build_file, options.toplevel_dir))
+ relative_build_file = gyp.common.RelativePath(build_file,
+ options.toplevel_dir)
+ build_files.add(relative_build_file)
included_files = data[build_file]['included_files']
for included_file in included_files:
# The included_files entries are relative to the dir of the build file
@@ -1058,9 +1062,13 @@ def GenerateOutput(target_list, target_dicts, data, params):
not int(spec.get('suppress_wildcard', False)))
if limit_to_target_all and not part_of_all:
continue
+
+ relative_target = gyp.common.QualifiedTarget(relative_build_file, target,
+ toolset)
writer = AndroidMkWriter(android_top_dir)
- android_module = writer.Write(qualified_target, base_path, output_file,
- spec, configs, part_of_all=part_of_all)
+ android_module = writer.Write(qualified_target, relative_target, base_path,
+ output_file, spec, configs,
+ part_of_all=part_of_all)
if android_module in android_modules:
print ('ERROR: Android module names must be unique. The following '
'targets both generate Android module name %s.\n %s\n %s' %
@@ -1077,6 +1085,8 @@ def GenerateOutput(target_list, target_dicts, data, params):
# Some tools need to know the absolute path of the top directory.
root_makefile.write('GYP_ABS_ANDROID_TOP_DIR := $(shell pwd)\n')
+ root_makefile.write('GYP_DEFAULT_CONFIGURATION := %s\n' %
+ default_configuration)
# Write out the sorted list of includes.
root_makefile.write('\n')
@@ -1084,9 +1094,6 @@ def GenerateOutput(target_list, target_dicts, data, params):
root_makefile.write('include $(LOCAL_PATH)/' + include_file + '\n')
root_makefile.write('\n')
- if generator_flags.get('auto_regeneration', True):
- WriteAutoRegenerationRule(params, root_makefile, makefile_name, build_files)
-
root_makefile.write(SHARED_FOOTER)
root_makefile.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py
index 0f90b5ea6..08425da8e 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py
@@ -41,11 +41,11 @@ for unused in ['RULE_INPUT_PATH', 'RULE_INPUT_ROOT', 'RULE_INPUT_NAME',
'CONFIGURATION_NAME']:
generator_default_variables[unused] = ''
-# Include dirs will occasionaly use the SHARED_INTERMEDIATE_DIR variable as
+# Include dirs will occasionally use the SHARED_INTERMEDIATE_DIR variable as
# part of the path when dealing with generated headers. This value will be
# replaced dynamically for each configuration.
generator_default_variables['SHARED_INTERMEDIATE_DIR'] = \
- '$SHARED_INTERMEDIATES_DIR'
+ '$SHARED_INTERMEDIATE_DIR'
def CalculateVariables(default_variables, params):
@@ -65,7 +65,7 @@ def CalculateGeneratorInputInfo(params):
def GetAllIncludeDirectories(target_list, target_dicts,
- shared_intermediates_dir, config_name):
+ shared_intermediate_dirs, config_name):
"""Calculate the set of include directories to be used.
Returns:
@@ -96,17 +96,18 @@ def GetAllIncludeDirectories(target_list, target_dicts,
# Find standard gyp include dirs.
if config.has_key('include_dirs'):
include_dirs = config['include_dirs']
- for include_dir in include_dirs:
- include_dir = include_dir.replace('$SHARED_INTERMEDIATES_DIR',
- shared_intermediates_dir)
- if not os.path.isabs(include_dir):
- base_dir = os.path.dirname(target_name)
+ for shared_intermediate_dir in shared_intermediate_dirs:
+ for include_dir in include_dirs:
+ include_dir = include_dir.replace('$SHARED_INTERMEDIATE_DIR',
+ shared_intermediate_dir)
+ if not os.path.isabs(include_dir):
+ base_dir = os.path.dirname(target_name)
- include_dir = base_dir + '/' + include_dir
- include_dir = os.path.abspath(include_dir)
+ include_dir = base_dir + '/' + include_dir
+ include_dir = os.path.abspath(include_dir)
- if not include_dir in gyp_includes_set:
- gyp_includes_set.add(include_dir)
+ if not include_dir in gyp_includes_set:
+ gyp_includes_set.add(include_dir)
# Generate a list that has all the include dirs.
@@ -234,7 +235,10 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
config_name)
toplevel_build = os.path.join(options.toplevel_dir, build_dir)
- shared_intermediate_dir = os.path.join(toplevel_build, 'obj', 'gen')
+ # Ninja uses out/Debug/gen while make uses out/Debug/obj/gen as the
+ # SHARED_INTERMEDIATE_DIR. Include both possible locations.
+ shared_intermediate_dirs = [os.path.join(toplevel_build, 'obj', 'gen'),
+ os.path.join(toplevel_build, 'gen')]
if not os.path.exists(toplevel_build):
os.makedirs(toplevel_build)
@@ -246,7 +250,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
eclipse_langs = ['C++ Source File', 'C Source File', 'Assembly Source File',
'GNU C++', 'GNU C', 'Assembly']
include_dirs = GetAllIncludeDirectories(target_list, target_dicts,
- shared_intermediate_dir, config_name)
+ shared_intermediate_dirs, config_name)
WriteIncludePaths(out, eclipse_langs, include_dirs)
defines = GetAllDefines(target_list, target_dicts, data, config_name)
WriteMacros(out, eclipse_langs, defines)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py
index 133d8f8c6..1eb923582 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py
@@ -259,7 +259,7 @@ all_deps :=
# export LINK=g++
#
# This will allow make to invoke N linker processes as specified in -jN.
-LINK ?= %(flock)s $(builddir)/linker.lock $(CXX)
+LINK ?= %(flock)s $(builddir)/linker.lock $(CXX.target)
CC.target ?= %(CC.target)s
CFLAGS.target ?= $(CFLAGS)
@@ -395,15 +395,14 @@ command_changed = $(or $(subst $(cmd_$(1)),,$(cmd_$(call replace_spaces,$@))),\\
# $| -- order-only dependencies
prereq_changed = $(filter-out FORCE_DO_CMD,$(filter-out $|,$?))
-# Helper that executes all postbuilds, and deletes the output file when done
-# if any of the postbuilds failed.
+# Helper that executes all postbuilds until one fails.
define do_postbuilds
@E=0;\\
for p in $(POSTBUILDS); do\\
eval $$p;\\
- F=$$?;\\
- if [ $$F -ne 0 ]; then\\
- E=$$F;\\
+ E=$$?;\\
+ if [ $$E -ne 0 ]; then\\
+ break;\\
fi;\\
done;\\
if [ $$E -ne 0 ]; then\\
@@ -619,21 +618,6 @@ def QuoteSpaces(s, quote=r'\ '):
return s.replace(' ', quote)
-def InvertRelativePath(path):
- """Given a relative path like foo/bar, return the inverse relative path:
- the path from the relative path back to the origin dir.
-
- E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path)))
- should always produce the empty string."""
-
- if not path:
- return path
- # Only need to handle relative paths into subdirectories for now.
- assert '..' not in path, path
- depth = len(path.split(os.path.sep))
- return os.path.sep.join(['..'] * depth)
-
-
# Map from qualified target to path to output.
target_outputs = {}
# Map from qualified target to any linkable output. A subset
@@ -1417,7 +1401,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
lambda p: Sourceify(self.Absolutify(p)))
# TARGET_POSTBUILDS_$(BUILDTYPE) is added to postbuilds later on.
- gyp_to_build = InvertRelativePath(self.path)
+ gyp_to_build = gyp.common.InvertRelativePath(self.path)
target_postbuild = self.xcode_settings.GetTargetPostbuilds(
configname,
QuoteSpaces(os.path.normpath(os.path.join(gyp_to_build,
@@ -1541,7 +1525,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
for link_dep in link_deps:
assert ' ' not in link_dep, (
"Spaces in alink input filenames not supported (%s)" % link_dep)
- if (self.flavor not in ('mac', 'win') and not
+ if (self.flavor not in ('mac', 'openbsd', 'win') and not
self.is_standalone_static_library):
self.WriteDoCmd([self.output_binary], link_deps, 'alink_thin',
part_of_all, postbuilds=postbuilds)
@@ -2003,6 +1987,7 @@ def GenerateOutput(target_list, target_dicts, data, params):
'extra_commands': SHARED_HEADER_SUN_COMMANDS,
})
elif flavor == 'freebsd':
+ # Note: OpenBSD has sysutils/flock. lockf seems to be FreeBSD specific.
header_params.update({
'flock': 'lockf',
})
@@ -2020,14 +2005,22 @@ def GenerateOutput(target_list, target_dicts, data, params):
build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0])
make_global_settings_array = data[build_file].get('make_global_settings', [])
+ wrappers = {}
+ wrappers['LINK'] = '%s $(builddir)/linker.lock' % flock_command
+ for key, value in make_global_settings_array:
+ if key.endswith('_wrapper'):
+ wrappers[key[:-len('_wrapper')]] = '$(abspath %s)' % value
make_global_settings = ''
for key, value in make_global_settings_array:
+ if re.match('.*_wrapper', key):
+ continue
if value[0] != '$':
value = '$(abspath %s)' % value
- if key == 'LINK':
- make_global_settings += ('%s ?= %s $(builddir)/linker.lock %s\n' %
- (key, flock_command, value))
- elif key in ('CC', 'CC.host', 'CXX', 'CXX.host'):
+ wrapper = wrappers.get(key)
+ if wrapper:
+ value = '%s %s' % (wrapper, value)
+ del wrappers[key]
+ if key in ('CC', 'CC.host', 'CXX', 'CXX.host'):
make_global_settings += (
'ifneq (,$(filter $(origin %s), undefined default))\n' % key)
# Let gyp-time envvars win over global settings.
@@ -2037,6 +2030,9 @@ def GenerateOutput(target_list, target_dicts, data, params):
make_global_settings += 'endif\n'
else:
make_global_settings += '%s ?= %s\n' % (key, value)
+ # TODO(ukai): define cmd when only wrapper is specified in
+ # make_global_settings.
+
header_params['make_global_settings'] = make_global_settings
ensure_directory_exists(makefile_path)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py
index 0e62b7926..60a561554 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py
@@ -17,6 +17,7 @@ import gyp.MSVSProject as MSVSProject
import gyp.MSVSSettings as MSVSSettings
import gyp.MSVSToolFile as MSVSToolFile
import gyp.MSVSUserFile as MSVSUserFile
+import gyp.MSVSUtil as MSVSUtil
import gyp.MSVSVersion as MSVSVersion
from gyp.common import GypError
@@ -63,6 +64,7 @@ generator_additional_path_sections = [
generator_additional_non_configuration_keys = [
'msvs_cygwin_dirs',
'msvs_cygwin_shell',
+ 'msvs_large_pdb',
'msvs_shard',
]
@@ -204,6 +206,10 @@ def _ConvertSourcesToFilterHierarchy(sources, prefix=None, excluded=None,
def _ToolAppend(tools, tool_name, setting, value, only_if_unset=False):
if not value: return
+ _ToolSetOrAppend(tools, tool_name, setting, value, only_if_unset)
+
+
+def _ToolSetOrAppend(tools, tool_name, setting, value, only_if_unset=False):
# TODO(bradnelson): ugly hack, fix this more generally!!!
if 'Directories' in setting or 'Dependencies' in setting:
if type(value) == str:
@@ -232,7 +238,7 @@ def _ConfigPlatform(config_data):
def _ConfigBaseName(config_name, platform_name):
if config_name.endswith('_' + platform_name):
- return config_name[0:-len(platform_name)-1]
+ return config_name[0:-len(platform_name) - 1]
else:
return config_name
@@ -270,7 +276,7 @@ def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path,
'`cygpath -m "${INPUTPATH}"`')
for i in direct_cmd]
direct_cmd = ['\\"%s\\"' % i.replace('"', '\\\\\\"') for i in direct_cmd]
- #direct_cmd = gyp.common.EncodePOSIXShellList(direct_cmd)
+ # direct_cmd = gyp.common.EncodePOSIXShellList(direct_cmd)
direct_cmd = ' '.join(direct_cmd)
# TODO(quote): regularize quoting path names throughout the module
cmd = ''
@@ -306,7 +312,7 @@ def _BuildCommandLineForRuleRaw(spec, cmd, cygwin_shell, has_input_path,
# If the argument starts with a slash or dash, it's probably a command line
# switch
arguments = [i if (i[:1] in "/-") else _FixPath(i) for i in cmd[1:]]
- arguments = [i.replace('$(InputDir)','%INPUTDIR%') for i in arguments]
+ arguments = [i.replace('$(InputDir)', '%INPUTDIR%') for i in arguments]
arguments = [MSVSSettings.FixVCMacroSlashes(i) for i in arguments]
if quote_cmd:
# Support a mode for using cmd directly.
@@ -720,7 +726,7 @@ def _EscapeCommandLineArgumentForMSBuild(s):
"""Escapes a Windows command-line argument for use by MSBuild."""
def _Replace(match):
- return (len(match.group(1))/2*4)*'\\' + '\\"'
+ return (len(match.group(1)) / 2 * 4) * '\\' + '\\"'
# Escape all quotes so that they are interpreted literally.
s = quote_replacer_regex2.sub(_Replace, s)
@@ -1001,12 +1007,12 @@ def _GetMSVSConfigurationType(spec, build_file):
}[spec['type']]
except KeyError:
if spec.get('type'):
- raise Exception('Target type %s is not a valid target type for '
- 'target %s in %s.' %
- (spec['type'], spec['target_name'], build_file))
+ raise GypError('Target type %s is not a valid target type for '
+ 'target %s in %s.' %
+ (spec['type'], spec['target_name'], build_file))
else:
- raise Exception('Missing type field for target %s in %s.' %
- (spec['target_name'], build_file))
+ raise GypError('Missing type field for target %s in %s.' %
+ (spec['target_name'], build_file))
return config_type
@@ -1041,6 +1047,10 @@ def _AddConfigurationToMSVSProject(p, spec, config_type, config_name, config):
# Add in user specified msvs_settings.
msvs_settings = config.get('msvs_settings', {})
MSVSSettings.ValidateMSVSSettings(msvs_settings)
+
+ # Prevent default library inheritance from the environment.
+ _ToolAppend(tools, 'VCLinkerTool', 'AdditionalDependencies', ['$(NOINHERIT)'])
+
for tool in msvs_settings:
settings = config['msvs_settings'][tool]
for setting in settings:
@@ -1663,7 +1673,7 @@ def _CreateProjectObjects(target_list, target_dicts, options, msvs_version):
for qualified_target in target_list:
spec = target_dicts[qualified_target]
if spec['toolset'] != 'target':
- raise Exception(
+ raise GypError(
'Multiple toolsets not supported in msvs build (target %s)' %
qualified_target)
proj_path, fixpath_prefix = _GetPathOfProject(qualified_target, spec,
@@ -1718,74 +1728,6 @@ def CalculateVariables(default_variables, params):
default_variables['MSVS_OS_BITS'] = 32
-def _ShardName(name, number):
- """Add a shard number to the end of a target.
-
- Arguments:
- name: name of the target (foo#target)
- number: shard number
- Returns:
- Target name with shard added (foo_1#target)
- """
- parts = name.rsplit('#', 1)
- parts[0] = '%s_%d' % (parts[0], number)
- return '#'.join(parts)
-
-
-def _ShardTargets(target_list, target_dicts):
- """Shard some targets apart to work around the linkers limits.
-
- Arguments:
- target_list: List of target pairs: 'base/base.gyp:base'.
- target_dicts: Dict of target properties keyed on target pair.
- Returns:
- Tuple of the new sharded versions of the inputs.
- """
- # Gather the targets to shard, and how many pieces.
- targets_to_shard = {}
- for t in target_dicts:
- shards = int(target_dicts[t].get('msvs_shard', 0))
- if shards:
- targets_to_shard[t] = shards
- # Shard target_list.
- new_target_list = []
- for t in target_list:
- if t in targets_to_shard:
- for i in range(targets_to_shard[t]):
- new_target_list.append(_ShardName(t, i))
- else:
- new_target_list.append(t)
- # Shard target_dict.
- new_target_dicts = {}
- for t in target_dicts:
- if t in targets_to_shard:
- for i in range(targets_to_shard[t]):
- name = _ShardName(t, i)
- new_target_dicts[name] = copy.copy(target_dicts[t])
- new_target_dicts[name]['target_name'] = _ShardName(
- new_target_dicts[name]['target_name'], i)
- sources = new_target_dicts[name].get('sources', [])
- new_sources = []
- for pos in range(i, len(sources), targets_to_shard[t]):
- new_sources.append(sources[pos])
- new_target_dicts[name]['sources'] = new_sources
- else:
- new_target_dicts[t] = target_dicts[t]
- # Shard dependencies.
- for t in new_target_dicts:
- dependencies = copy.copy(new_target_dicts[t].get('dependencies', []))
- new_dependencies = []
- for d in dependencies:
- if d in targets_to_shard:
- for i in range(targets_to_shard[d]):
- new_dependencies.append(_ShardName(d, i))
- else:
- new_dependencies.append(d)
- new_target_dicts[t]['dependencies'] = new_dependencies
-
- return (new_target_list, new_target_dicts)
-
-
def PerformBuild(data, configurations, params):
options = params['options']
msvs_version = params['msvs_version']
@@ -1825,7 +1767,12 @@ def GenerateOutput(target_list, target_dicts, data, params):
generator_flags = params.get('generator_flags', {})
# Optionally shard targets marked with 'msvs_shard': SHARD_COUNT.
- (target_list, target_dicts) = _ShardTargets(target_list, target_dicts)
+ (target_list, target_dicts) = MSVSUtil.ShardTargets(target_list, target_dicts)
+
+ # Optionally use the large PDB workaround for targets marked with
+ # 'msvs_large_pdb': 1.
+ (target_list, target_dicts) = MSVSUtil.InsertLargePdbShims(
+ target_list, target_dicts, generator_default_variables)
# Prepare the set of configurations.
configs = set()
@@ -1872,9 +1819,9 @@ def GenerateOutput(target_list, target_dicts, data, params):
error_message = "Missing input files:\n" + \
'\n'.join(set(missing_sources))
if generator_flags.get('msvs_error_on_missing_sources', False):
- raise Exception(error_message)
+ raise GypError(error_message)
else:
- print >>sys.stdout, "Warning: " + error_message
+ print >> sys.stdout, "Warning: " + error_message
def _GenerateMSBuildFiltersFile(filters_path, source_files,
@@ -2815,8 +2762,10 @@ def _FinalizeMSBuildSettings(spec, configuration):
'AdditionalIncludeDirectories', include_dirs)
_ToolAppend(msbuild_settings, 'ResourceCompile',
'AdditionalIncludeDirectories', resource_include_dirs)
- # Add in libraries.
- _ToolAppend(msbuild_settings, 'Link', 'AdditionalDependencies', libraries)
+ # Add in libraries, note that even for empty libraries, we want this
+ # set, to prevent inheriting default libraries from the enviroment.
+ _ToolSetOrAppend(msbuild_settings, 'Link', 'AdditionalDependencies',
+ libraries)
if out_file:
_ToolAppend(msbuild_settings, msbuild_tool, 'OutputFile', out_file,
only_if_unset=True)
@@ -2850,8 +2799,7 @@ def _GetValueFormattedForMSBuild(tool_name, name, value):
if type(value) == list:
# For some settings, VS2010 does not automatically extends the settings
# TODO(jeanluc) Is this what we want?
- if name in ['AdditionalDependencies',
- 'AdditionalIncludeDirectories',
+ if name in ['AdditionalIncludeDirectories',
'AdditionalLibraryDirectories',
'AdditionalOptions',
'DelayLoadDLLs',
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py
index f15b473ef..50126e741 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
+# Copyright (c) 2013 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -13,7 +13,7 @@ import sys
import gyp
import gyp.common
import gyp.msvs_emulation
-import gyp.MSVSVersion
+import gyp.MSVSUtil as MSVSUtil
import gyp.xcode_emulation
from gyp.common import GetEnvironFallback
@@ -97,21 +97,6 @@ def Define(d, flavor):
return QuoteShellArgument(ninja_syntax.escape('-D' + d), flavor)
-def InvertRelativePath(path):
- """Given a relative path like foo/bar, return the inverse relative path:
- the path from the relative path back to the origin dir.
-
- E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path)))
- should always produce the empty string."""
-
- if not path:
- return path
- # Only need to handle relative paths into subdirectories for now.
- assert '..' not in path, path
- depth = len(path.split(os.path.sep))
- return os.path.sep.join(['..'] * depth)
-
-
class Target:
"""Target represents the paths used within a single gyp target.
@@ -218,12 +203,12 @@ class Target:
class NinjaWriter:
def __init__(self, qualified_target, target_outputs, base_dir, build_dir,
- output_file, flavor, abs_build_dir=None):
+ output_file, flavor, toplevel_dir=None):
"""
base_dir: path from source root to directory containing this gyp file,
by gyp semantics, all input paths are relative to this
build_dir: path from source root to build output
- abs_build_dir: absolute path to the build directory
+ toplevel_dir: path to the toplevel directory
"""
self.qualified_target = qualified_target
@@ -232,7 +217,10 @@ class NinjaWriter:
self.build_dir = build_dir
self.ninja = ninja_syntax.Writer(output_file)
self.flavor = flavor
- self.abs_build_dir = abs_build_dir
+ self.abs_build_dir = None
+ if toplevel_dir is not None:
+ self.abs_build_dir = os.path.abspath(os.path.join(toplevel_dir,
+ build_dir))
self.obj_ext = '.obj' if flavor == 'win' else '.o'
if flavor == 'win':
# See docstring of msvs_emulation.GenerateEnvironmentFiles().
@@ -241,9 +229,11 @@ class NinjaWriter:
self.win_env[arch] = 'environment.' + arch
# Relative path from build output dir to base dir.
- self.build_to_base = os.path.join(InvertRelativePath(build_dir), base_dir)
+ build_to_top = gyp.common.InvertRelativePath(build_dir, toplevel_dir)
+ self.build_to_base = os.path.join(build_to_top, base_dir)
# Relative path from base dir to build dir.
- self.base_to_build = os.path.join(InvertRelativePath(base_dir), build_dir)
+ base_to_top = gyp.common.InvertRelativePath(base_dir, toplevel_dir)
+ self.base_to_build = os.path.join(base_to_top, build_dir)
def ExpandSpecial(self, path, product_dir=None):
"""Expand specials like $!PRODUCT_DIR in |path|.
@@ -378,8 +368,8 @@ class NinjaWriter:
if self.flavor == 'win':
self.msvs_settings = gyp.msvs_emulation.MsvsSettings(spec,
generator_flags)
- target_platform = self.msvs_settings.GetTargetPlatform(config_name)
- self.ninja.variable('arch', self.win_env[target_platform])
+ arch = self.msvs_settings.GetArch(config_name)
+ self.ninja.variable('arch', self.win_env[arch])
# Compute predepends for all rules.
# actions_depends is the dependencies this target depends on before running
@@ -428,14 +418,15 @@ class NinjaWriter:
gyp.msvs_emulation.VerifyMissingSources(
sources, self.abs_build_dir, generator_flags, self.GypPathToNinja)
pch = gyp.msvs_emulation.PrecompiledHeader(
- self.msvs_settings, config_name, self.GypPathToNinja)
+ self.msvs_settings, config_name, self.GypPathToNinja,
+ self.GypPathToUniqueOutput, self.obj_ext)
else:
pch = gyp.xcode_emulation.MacPrefixHeader(
self.xcode_settings, self.GypPathToNinja,
lambda path, lang: self.GypPathToUniqueOutput(path + '-' + lang))
link_deps = self.WriteSources(
config_name, config, sources, compile_depends_stamp, pch,
- case_sensitive_filesystem)
+ case_sensitive_filesystem, spec)
# Some actions/rules output 'sources' that are already object files.
link_deps += [self.GypPathToNinja(f)
for f in sources if f.endswith(self.obj_ext)]
@@ -509,7 +500,7 @@ class NinjaWriter:
outputs += self.WriteRules(spec['rules'], extra_sources, prebuild,
extra_mac_bundle_resources)
if 'copies' in spec:
- outputs += self.WriteCopies(spec['copies'], prebuild)
+ outputs += self.WriteCopies(spec['copies'], prebuild, mac_bundle_depends)
if 'sources' in spec and self.flavor == 'win':
outputs += self.WriteWinIdlFiles(spec, prebuild)
@@ -664,7 +655,7 @@ class NinjaWriter:
return all_outputs
- def WriteCopies(self, copies, prebuild):
+ def WriteCopies(self, copies, prebuild, mac_bundle_depends):
outputs = []
env = self.GetSortedXcodeEnv()
for copy in copies:
@@ -676,6 +667,15 @@ class NinjaWriter:
dst = self.GypPathToNinja(os.path.join(copy['destination'], basename),
env)
outputs += self.ninja.build(dst, 'copy', src, order_only=prebuild)
+ if self.is_mac_bundle:
+ # gyp has mac_bundle_resources to copy things into a bundle's
+ # Resources folder, but there's no built-in way to copy files to other
+ # places in the bundle. Hence, some targets use copies for this. Check
+ # if this file is copied into the current bundle, and if so add it to
+ # the bundle depends so that dependent targets get rebuilt if the copy
+ # input changes.
+ if dst.startswith(self.xcode_settings.GetBundleContentsFolderPath()):
+ mac_bundle_depends.append(dst)
return outputs
@@ -712,7 +712,7 @@ class NinjaWriter:
bundle_depends.append(out)
def WriteSources(self, config_name, config, sources, predepends,
- precompiled_header, case_sensitive_filesystem):
+ precompiled_header, case_sensitive_filesystem, spec):
"""Write build rules to compile all of |sources|."""
if self.toolset == 'host':
self.ninja.variable('ar', '$ar_host')
@@ -734,7 +734,15 @@ class NinjaWriter:
cflags_c = self.msvs_settings.GetCflagsC(config_name)
cflags_cc = self.msvs_settings.GetCflagsCC(config_name)
extra_defines = self.msvs_settings.GetComputedDefines(config_name)
- self.WriteVariableList('pdbname', [self.name + '.pdb'])
+ pdbpath = self.msvs_settings.GetCompilerPdbName(
+ config_name, self.ExpandSpecial)
+ if not pdbpath:
+ obj = 'obj'
+ if self.toolset != 'target':
+ obj += '.' + self.toolset
+ pdbpath = os.path.normpath(os.path.join(obj, self.base_dir,
+ self.name + '.pdb'))
+ self.WriteVariableList('pdbname', [pdbpath])
self.WriteVariableList('pchprefix', [self.name])
else:
cflags = config.get('cflags', [])
@@ -789,7 +797,8 @@ class NinjaWriter:
elif ext == 's' and self.flavor != 'win': # Doesn't generate .o.d files.
command = 'cc_s'
elif (self.flavor == 'win' and ext == 'asm' and
- self.msvs_settings.GetTargetPlatform(config_name) == 'Win32'):
+ self.msvs_settings.GetArch(config_name) == 'x86' and
+ not self.msvs_settings.HasExplicitAsmRules(spec)):
# Asm files only get auto assembled for x86 (not x64).
command = 'asm'
# Add the _asm suffix as msvs is capable of handling .cc and
@@ -814,9 +823,14 @@ class NinjaWriter:
if not case_sensitive_filesystem:
output = output.lower()
implicit = precompiled_header.GetObjDependencies([input], [output])
+ variables = []
+ if self.flavor == 'win':
+ variables, output, implicit = precompiled_header.GetFlagsModifications(
+ input, output, implicit, command, cflags_c, cflags_cc,
+ self.ExpandSpecial)
self.ninja.build(output, command, input,
implicit=[gch for _, _, gch in implicit],
- order_only=predepends)
+ order_only=predepends, variables=variables)
outputs.append(output)
self.WritePchTargets(pch_commands)
@@ -838,8 +852,6 @@ class NinjaWriter:
}[lang]
map = { 'c': 'cc', 'cc': 'cxx', 'm': 'objc', 'mm': 'objcxx', }
- if self.flavor == 'win':
- map.update({'c': 'cc_pch', 'cc': 'cxx_pch'})
cmd = map.get(lang)
self.ninja.build(gch, cmd, input, variables=[(var_name, lang_flag)])
@@ -893,16 +905,12 @@ class NinjaWriter:
extra_bindings.append(('postbuilds',
self.GetPostbuildCommand(spec, output, output)))
+ is_executable = spec['type'] == 'executable'
if self.flavor == 'mac':
ldflags = self.xcode_settings.GetLdflags(config_name,
self.ExpandSpecial(generator_default_variables['PRODUCT_DIR']),
self.GypPathToNinja)
elif self.flavor == 'win':
- libflags = self.msvs_settings.GetLibFlags(config_name,
- self.GypPathToNinja)
- self.WriteVariableList(
- 'libflags', gyp.common.uniquer(map(self.ExpandSpecial, libflags)))
- is_executable = spec['type'] == 'executable'
manifest_name = self.GypPathToUniqueOutput(
self.ComputeOutputFileName(spec))
ldflags, manifest_files = self.msvs_settings.GetLdflags(config_name,
@@ -910,6 +918,9 @@ class NinjaWriter:
self.WriteVariableList('manifests', manifest_files)
else:
ldflags = config.get('ldflags', [])
+ if is_executable and len(solibs):
+ ldflags.append('-Wl,-rpath=\$$ORIGIN/lib/')
+ ldflags.append('-Wl,-rpath-link=lib/')
self.WriteVariableList('ldflags',
gyp.common.uniquer(map(self.ExpandSpecial,
ldflags)))
@@ -965,6 +976,10 @@ class NinjaWriter:
self.ninja.build(self.target.binary, 'alink_thin', link_deps,
order_only=compile_deps, variables=variables)
else:
+ if self.msvs_settings:
+ libflags = self.msvs_settings.GetLibFlags(config_name,
+ self.GypPathToNinja)
+ variables.append(('libflags', libflags))
self.ninja.build(self.target.binary, 'alink', link_deps,
order_only=compile_deps, variables=variables)
else:
@@ -1036,10 +1051,9 @@ class NinjaWriter:
env = self.ComputeExportEnvString(self.GetSortedXcodePostbuildEnv())
# G will be non-null if any postbuild fails. Run all postbuilds in a
# subshell.
- commands = env + ' (F=0; ' + \
- ' '.join([ninja_syntax.escape(command) + ' || F=$$?;'
- for command in postbuilds])
- command_string = (commands + ' exit $$F); G=$$?; '
+ commands = env + ' (' + \
+ ' && '.join([ninja_syntax.escape(command) for command in postbuilds])
+ command_string = (commands + '); G=$$?; '
# Remove the final output if any postbuild failed.
'((exit $$G) || rm -rf %s) ' % output + '&& exit $$G)')
if is_command_start:
@@ -1305,6 +1319,13 @@ def OpenOutput(path, mode='w'):
return open(path, mode)
+def CommandWithWrapper(cmd, wrappers, prog):
+ wrapper = wrappers.get(cmd, '')
+ if wrapper:
+ return wrapper + ' ' + prog
+ return prog
+
+
def GenerateOutputForConfig(target_list, target_dicts, data, params,
config_name):
options = params['options']
@@ -1362,7 +1383,14 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0])
make_global_settings = data[build_file].get('make_global_settings', [])
- build_to_root = InvertRelativePath(build_dir)
+ build_to_root = gyp.common.InvertRelativePath(build_dir,
+ options.toplevel_dir)
+ flock = 'flock'
+ if flavor == 'mac':
+ flock = './gyp-mac-tool flock'
+ wrappers = {}
+ if flavor != 'win':
+ wrappers['LINK'] = flock + ' linker.lock'
for key, value in make_global_settings:
if key == 'CC':
cc = os.path.join(build_to_root, value)
@@ -1378,14 +1406,13 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
cxx_host_global_setting = value
if key == 'LD.host':
ld_host = os.path.join(build_to_root, value)
+ if key.endswith('_wrapper'):
+ wrappers[key[:-len('_wrapper')]] = os.path.join(build_to_root, value)
- flock = 'flock'
- if flavor == 'mac':
- flock = './gyp-mac-tool flock'
cc = GetEnvironFallback(['CC_target', 'CC'], cc)
- master_ninja.variable('cc', cc)
+ master_ninja.variable('cc', CommandWithWrapper('CC', wrappers, cc))
cxx = GetEnvironFallback(['CXX_target', 'CXX'], cxx)
- master_ninja.variable('cxx', cxx)
+ master_ninja.variable('cxx', CommandWithWrapper('CXX', wrappers, cxx))
ld = GetEnvironFallback(['LD_target', 'LD'], ld)
if not cc_host:
@@ -1402,7 +1429,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
master_ninja.variable('mt', 'mt.exe')
master_ninja.variable('use_dep_database', '1')
else:
- master_ninja.variable('ld', flock + ' linker.lock ' + ld)
+ master_ninja.variable('ld', CommandWithWrapper('LINK', wrappers, ld))
master_ninja.variable('ar', GetEnvironFallback(['AR_target', 'AR'], 'ar'))
master_ninja.variable('ar_host', GetEnvironFallback(['AR_host'], 'ar'))
@@ -1416,12 +1443,15 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
cc_host = cc_host_global_setting.replace('$(CC)', cc)
if '$(CXX)' in cxx_host and cxx_host_global_setting:
cxx_host = cxx_host_global_setting.replace('$(CXX)', cxx)
- master_ninja.variable('cc_host', cc_host)
- master_ninja.variable('cxx_host', cxx_host)
+ master_ninja.variable('cc_host',
+ CommandWithWrapper('CC.host', wrappers, cc_host))
+ master_ninja.variable('cxx_host',
+ CommandWithWrapper('CXX.host', wrappers, cxx_host))
if flavor == 'win':
master_ninja.variable('ld_host', ld_host)
else:
- master_ninja.variable('ld_host', flock + ' linker.lock ' + ld_host)
+ master_ninja.variable('ld_host', CommandWithWrapper(
+ 'LINK', wrappers, ld_host))
master_ninja.newline()
@@ -1444,45 +1474,25 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
'$cflags_pch_cc -c $in -o $out'),
depfile='$out.d')
else:
- # Template for compile commands mostly shared between compiling files
- # and generating PCH. In the case of PCH, the "output" is specified by /Fp
- # rather than /Fo (for object files), but we still need to specify an /Fo
- # when compiling PCH.
- cc_template = ('ninja -t msvc -r . -o $out -e $arch '
+ cc_command = ('ninja -t msvc -o $out -e $arch '
+ '-- '
+ '$cc /nologo /showIncludes /FC '
+ '@$out.rsp /c $in /Fo$out /Fd$pdbname ')
+ cxx_command = ('ninja -t msvc -o $out -e $arch '
'-- '
- '$cc /nologo /showIncludes /FC '
- '@$out.rsp '
- '$cflags_pch_c /c $in %(outspec)s /Fd$pdbname ')
- cxx_template = ('ninja -t msvc -r . -o $out -e $arch '
- '-- '
- '$cxx /nologo /showIncludes /FC '
- '@$out.rsp '
- '$cflags_pch_cc /c $in %(outspec)s $pchobj /Fd$pdbname ')
+ '$cxx /nologo /showIncludes /FC '
+ '@$out.rsp /c $in /Fo$out /Fd$pdbname ')
master_ninja.rule(
'cc',
description='CC $out',
- command=cc_template % {'outspec': '/Fo$out'},
- depfile='$out.d',
- rspfile='$out.rsp',
- rspfile_content='$defines $includes $cflags $cflags_c')
- master_ninja.rule(
- 'cc_pch',
- description='CC PCH $out',
- command=cc_template % {'outspec': '/Fp$out /Fo$out.obj'},
+ command=cc_command,
depfile='$out.d',
rspfile='$out.rsp',
rspfile_content='$defines $includes $cflags $cflags_c')
master_ninja.rule(
'cxx',
description='CXX $out',
- command=cxx_template % {'outspec': '/Fo$out'},
- depfile='$out.d',
- rspfile='$out.rsp',
- rspfile_content='$defines $includes $cflags $cflags_cc')
- master_ninja.rule(
- 'cxx_pch',
- description='CXX PCH $out',
- command=cxx_template % {'outspec': '/Fp$out /Fo$out.obj'},
+ command=cxx_command,
depfile='$out.d',
rspfile='$out.rsp',
rspfile_content='$defines $includes $cflags $cflags_cc')
@@ -1549,7 +1559,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
master_ninja.rule(
'link',
description='LINK $out',
- command=('$ld $ldflags -o $out -Wl,-rpath=\$$ORIGIN/lib '
+ command=('$ld $ldflags -o $out '
'-Wl,--start-group $in $solibs -Wl,--end-group $libs'))
elif flavor == 'win':
master_ninja.rule(
@@ -1565,6 +1575,9 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
'$ld /nologo $implibflag /DLL /OUT:$dll '
'/PDB:$dll.pdb @$dll.rsp' % sys.executable)
dllcmd += (' && %s gyp-win-tool manifest-wrapper $arch '
+ 'cmd /c if exist $dll.manifest del $dll.manifest' %
+ sys.executable)
+ dllcmd += (' && %s gyp-win-tool manifest-wrapper $arch '
'$mt -nologo -manifest $manifests -out:$dll.manifest' %
sys.executable)
master_ninja.rule('solink', description=dlldesc, command=dllcmd,
@@ -1583,8 +1596,10 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
command=('%s gyp-win-tool link-wrapper $arch '
'$ld /nologo /OUT:$out /PDB:$out.pdb @$out.rsp && '
'%s gyp-win-tool manifest-wrapper $arch '
+ 'cmd /c if exist $out.manifest del $out.manifest && '
+ '%s gyp-win-tool manifest-wrapper $arch '
'$mt -nologo -manifest $manifests -out:$out.manifest' %
- (sys.executable, sys.executable)),
+ (sys.executable, sys.executable, sys.executable)),
rspfile='$out.rsp',
rspfile_content='$in_newline $libs $ldflags')
else:
@@ -1719,7 +1734,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
abs_build_dir = os.path.abspath(toplevel_build)
writer = NinjaWriter(qualified_target, target_outputs, base_path, build_dir,
OpenOutput(os.path.join(toplevel_build, output_file)),
- flavor, abs_build_dir=abs_build_dir)
+ flavor, toplevel_dir=options.toplevel_dir)
master_ninja.subninja(output_file)
target = writer.WriteSpec(
@@ -1767,6 +1782,11 @@ def CallGenerateOutputForConfig(arglist):
def GenerateOutput(target_list, target_dicts, data, params):
user_config = params.get('generator_flags', {}).get('config', None)
+ if gyp.common.GetFlavor(params) == 'win':
+ target_list, target_dicts = MSVSUtil.ShardTargets(target_list, target_dicts)
+ target_list, target_dicts = MSVSUtil.InsertLargePdbShims(
+ target_list, target_dicts, generator_default_variables)
+
if user_config:
GenerateOutputForConfig(target_list, target_dicts, data, params,
user_config)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py
index 7b21bae8a..ca3b01eea 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py
@@ -1110,20 +1110,29 @@ exit 1
AddHeaderToTarget(header, pbxp, xct, True)
# Add "copies".
+ pbxcp_dict = {}
for copy_group in spec.get('copies', []):
- pbxcp = gyp.xcodeproj_file.PBXCopyFilesBuildPhase({
- 'name': 'Copy to ' + copy_group['destination']
- },
- parent=xct)
dest = copy_group['destination']
if dest[0] not in ('/', '$'):
# Relative paths are relative to $(SRCROOT).
dest = '$(SRCROOT)/' + dest
- pbxcp.SetDestination(dest)
- # TODO(mark): The usual comment about this knowing too much about
- # gyp.xcodeproj_file internals applies.
- xct._properties['buildPhases'].insert(prebuild_index, pbxcp)
+ # Coalesce multiple "copies" sections in the same target with the same
+ # "destination" property into the same PBXCopyFilesBuildPhase, otherwise
+ # they'll wind up with ID collisions.
+ pbxcp = pbxcp_dict.get(dest, None)
+ if pbxcp is None:
+ pbxcp = gyp.xcodeproj_file.PBXCopyFilesBuildPhase({
+ 'name': 'Copy to ' + copy_group['destination']
+ },
+ parent=xct)
+ pbxcp.SetDestination(dest)
+
+ # TODO(mark): The usual comment about this knowing too much about
+ # gyp.xcodeproj_file internals applies.
+ xct._properties['buildPhases'].insert(prebuild_index, pbxcp)
+
+ pbxcp_dict[dest] = pbxcp
for file in copy_group['files']:
pbxcp.AddFile(file)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
index 65236671f..eca0eb93a 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
@@ -46,21 +46,16 @@ base_path_sections = [
]
path_sections = []
+is_path_section_charset = set('=+?!')
+is_path_section_match_re = re.compile('_(dir|file|path)s?$')
def IsPathSection(section):
# If section ends in one of these characters, it's applied to a section
# without the trailing characters. '/' is notably absent from this list,
# because there's no way for a regular expression to be treated as a path.
- while section[-1:] in ('=', '+', '?', '!'):
- section = section[0:-1]
-
- if section in path_sections or \
- section.endswith('_dir') or section.endswith('_dirs') or \
- section.endswith('_file') or section.endswith('_files') or \
- section.endswith('_path') or section.endswith('_paths'):
- return True
- return False
-
+ while section[-1:] in is_path_section_charset:
+ section = section[:-1]
+ return section in path_sections or is_path_section_match_re.search(section)
# base_non_configuraiton_keys is a list of key names that belong in the target
# itself and should not be propagated into its configurations. It is merged
@@ -269,7 +264,7 @@ def LoadBuildFileIncludesIntoDict(subdict, subdict_path, data, aux_data,
aux_data[subdict_path]['included'] = []
aux_data[subdict_path]['included'].append(include)
- gyp.DebugOutput(gyp.DEBUG_INCLUDES, "Loading Included File: '%s'" % include)
+ gyp.DebugOutput(gyp.DEBUG_INCLUDES, "Loading Included File: '%s'", include)
MergeDicts(subdict,
LoadOneBuildFile(include, data, aux_data, variables, None,
@@ -359,7 +354,7 @@ def LoadTargetBuildFile(build_file_path, data, aux_data, variables, includes,
data['target_build_files'].add(build_file_path)
gyp.DebugOutput(gyp.DEBUG_INCLUDES,
- "Loading Target Build File '%s'" % build_file_path)
+ "Loading Target Build File '%s'", build_file_path)
build_file_data = LoadOneBuildFile(build_file_path, data, aux_data, variables,
includes, True, check)
@@ -494,7 +489,7 @@ def CallLoadTargetBuildFile(global_flags,
aux_data_out,
dependencies)
except Exception, e:
- print "Exception: ", e
+ print >>sys.stderr, 'Exception: ', e
return None
@@ -569,6 +564,12 @@ def LoadTargetBuildFileParallel(build_file_path, data, aux_data,
parallel_state.condition.acquire()
while parallel_state.dependencies or parallel_state.pending:
if parallel_state.error:
+ print >>sys.stderr, (
+ '\n'
+ 'Note: an error occurred while running gyp using multiprocessing.\n'
+ 'For more verbose output, set GYP_PARALLEL=0 in your environment.\n'
+ 'If the error only occurs when GYP_PARALLEL=1, '
+ 'please report a bug!')
break
if not parallel_state.dependencies:
parallel_state.condition.wait()
@@ -608,32 +609,27 @@ def LoadTargetBuildFileParallel(build_file_path, data, aux_data,
# the input is something like "<(foo <(bar)) blah", then it would
# return (1, 13), indicating the entire string except for the leading
# "<" and trailing " blah".
-def FindEnclosingBracketGroup(input):
- brackets = { '}': '{',
- ']': '[',
- ')': '(', }
+LBRACKETS= set('{[(')
+BRACKETS = {'}': '{', ']': '[', ')': '('}
+def FindEnclosingBracketGroup(input_str):
stack = []
- count = 0
start = -1
- for char in input:
- if char in brackets.values():
+ for index, char in enumerate(input_str):
+ if char in LBRACKETS:
stack.append(char)
if start == -1:
- start = count
- if char in brackets.keys():
- try:
- last_bracket = stack.pop()
- except IndexError:
+ start = index
+ elif char in BRACKETS:
+ if not stack:
return (-1, -1)
- if last_bracket != brackets[char]:
+ if stack.pop() != BRACKETS[char]:
return (-1, -1)
- if len(stack) == 0:
- return (start, count + 1)
- count = count + 1
+ if not stack:
+ return (start, index + 1)
return (-1, -1)
-canonical_int_re = re.compile('^(0|-?[1-9][0-9]*)$')
+canonical_int_re = re.compile('(0|-?[1-9][0-9]*)$')
def IsStrCanonicalInt(string):
@@ -641,10 +637,7 @@ def IsStrCanonicalInt(string):
The canonical form is such that str(int(string)) == string.
"""
- if not isinstance(string, str) or not canonical_int_re.match(string):
- return False
-
- return True
+ return isinstance(string, str) and canonical_int_re.match(string)
# This matches things like "<(asdf)", "<!(cmd)", "<!@(cmd)", "<|(list)",
@@ -713,7 +706,7 @@ def ExpandVariables(input, phase, variables, build_file):
# Get the entire list of matches as a list of MatchObject instances.
# (using findall here would return strings instead of MatchObjects).
- matches = [match for match in variable_re.finditer(input_str)]
+ matches = list(variable_re.finditer(input_str))
if not matches:
return input_str
@@ -725,8 +718,7 @@ def ExpandVariables(input, phase, variables, build_file):
matches.reverse()
for match_group in matches:
match = match_group.groupdict()
- gyp.DebugOutput(gyp.DEBUG_VARIABLES,
- "Matches: %s" % repr(match))
+ gyp.DebugOutput(gyp.DEBUG_VARIABLES, "Matches: %r", match)
# match['replace'] is the substring to look for, match['type']
# is the character code for the replacement type (< > <! >! <| >| <@
# >@ <!@ >!@), match['is_array'] contains a '[' for command
@@ -839,8 +831,8 @@ def ExpandVariables(input, phase, variables, build_file):
cached_value = cached_command_results.get(cache_key, None)
if cached_value is None:
gyp.DebugOutput(gyp.DEBUG_VARIABLES,
- "Executing command '%s' in directory '%s'" %
- (contents,build_file_dir))
+ "Executing command '%s' in directory '%s'",
+ contents, build_file_dir)
replacement = ''
@@ -852,12 +844,17 @@ def ExpandVariables(input, phase, variables, build_file):
# <!(python modulename param eters). Do this in |build_file_dir|.
oldwd = os.getcwd() # Python doesn't like os.open('.'): no fchdir.
os.chdir(build_file_dir)
-
- parsed_contents = shlex.split(contents)
- py_module = __import__(parsed_contents[0])
- replacement = str(py_module.DoMain(parsed_contents[1:])).rstrip()
-
- os.chdir(oldwd)
+ try:
+
+ parsed_contents = shlex.split(contents)
+ try:
+ py_module = __import__(parsed_contents[0])
+ except ImportError as e:
+ raise GypError("Error importing pymod_do_main"
+ "module (%s): %s" % (parsed_contents[0], e))
+ replacement = str(py_module.DoMain(parsed_contents[1:])).rstrip()
+ finally:
+ os.chdir(oldwd)
assert replacement != None
elif command_string:
raise GypError("Unknown command string '%s' in '%s'." %
@@ -884,8 +881,8 @@ def ExpandVariables(input, phase, variables, build_file):
cached_command_results[cache_key] = replacement
else:
gyp.DebugOutput(gyp.DEBUG_VARIABLES,
- "Had cache value for command '%s' in directory '%s'" %
- (contents,build_file_dir))
+ "Had cache value for command '%s' in directory '%s'",
+ contents,build_file_dir)
replacement = cached_value
else:
@@ -960,8 +957,7 @@ def ExpandVariables(input, phase, variables, build_file):
# Look for more matches now that we've replaced some, to deal with
# expanding local variables (variables defined in the same
# variables block as this one).
- gyp.DebugOutput(gyp.DEBUG_VARIABLES,
- "Found output %s, recursing." % repr(output))
+ gyp.DebugOutput(gyp.DEBUG_VARIABLES, "Found output %r, recursing.", output)
if isinstance(output, list):
if output and isinstance(output[0], list):
# Leave output alone if it's a list of lists.
@@ -1062,7 +1058,7 @@ def ProcessConditionsInDict(the_dict, phase, variables, build_file):
except NameError, e:
gyp.common.ExceptionAppend(e, 'while evaluating condition \'%s\' in %s' %
(cond_expr_expanded, build_file))
- raise
+ raise GypError(e)
if merge_dict != None:
# Expand variables and nested conditinals in the merge_dict before
@@ -1407,6 +1403,25 @@ def RemoveDuplicateDependencies(targets):
target_dict[dependency_key] = Unify(dependencies)
+def Filter(l, item):
+ """Removes item from l."""
+ res = {}
+ return [res.setdefault(e, e) for e in l if e != item]
+
+
+def RemoveSelfDependencies(targets):
+ """Remove self dependencies from targets that have the prune_self_dependency
+ variable set."""
+ for target_name, target_dict in targets.iteritems():
+ for dependency_key in dependency_sections:
+ dependencies = target_dict.get(dependency_key, [])
+ if dependencies:
+ for t in dependencies:
+ if t == target_name:
+ if targets[t].get('variables', {}).get('prune_self_dependency', 0):
+ target_dict[dependency_key] = Filter(dependencies, target_name)
+
+
class DependencyGraphNode(object):
"""
@@ -1845,12 +1860,10 @@ def MakePathRelative(to_file, fro_file, item):
return ret
def MergeLists(to, fro, to_file, fro_file, is_paths=False, append=True):
- def is_hashable(x):
- try:
- hash(x)
- except TypeError:
- return False
- return True
+ # Python documentation recommends objects which do not support hash
+ # set this value to None. Python library objects follow this rule.
+ is_hashable = lambda val: val.__hash__
+
# If x is hashable, returns whether x is in s. Else returns whether x is in l.
def is_in_set_or_list(x, s, l):
if is_hashable(x):
@@ -1861,8 +1874,7 @@ def MergeLists(to, fro, to_file, fro_file, is_paths=False, append=True):
# Make membership testing of hashables in |to| (in particular, strings)
# faster.
- hashable_to_set = set([x for x in to if is_hashable(x)])
-
+ hashable_to_set = set(x for x in to if is_hashable(x))
for item in fro:
singleton = False
if isinstance(item, str) or isinstance(item, int):
@@ -2056,7 +2068,7 @@ def SetUpConfigurations(target, target_dict):
if not 'configurations' in target_dict:
target_dict['configurations'] = {'Default': {}}
if not 'default_configuration' in target_dict:
- concrete = [i for i in target_dict['configurations'].keys()
+ concrete = [i for i in target_dict['configurations'].iterkeys()
if not target_dict['configurations'][i].get('abstract')]
target_dict['default_configuration'] = sorted(concrete)[0]
@@ -2315,8 +2327,8 @@ def ValidateTargetType(target, target_dict):
def ValidateSourcesInTarget(target, target_dict, build_file):
- # TODO: Check if MSVC allows this for non-static_library targets.
- if target_dict.get('type', None) != 'static_library':
+ # TODO: Check if MSVC allows this for loadable_module targets.
+ if target_dict.get('type', None) not in ('static_library', 'shared_library'):
return
sources = target_dict.get('sources', [])
basenames = {}
@@ -2548,7 +2560,7 @@ def Load(build_files, variables, includes, depth, generator_input_info, check,
build_file = os.path.normpath(build_file)
try:
if parallel:
- print >>sys.stderr, 'Using parallel processing (experimental).'
+ print >>sys.stderr, 'Using parallel processing.'
LoadTargetBuildFileParallel(build_file, data, aux_data,
variables, includes, depth, check)
else:
@@ -2564,6 +2576,10 @@ def Load(build_files, variables, includes, depth, generator_input_info, check,
# Fully qualify all dependency links.
QualifyDependencies(targets)
+ # Remove self-dependencies from targets that have 'prune_self_dependencies'
+ # set to 1.
+ RemoveSelfDependencies(targets)
+
# Expand dependencies specified as build_file:*.
ExpandWildcardDependencies(targets, data)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py
index 69267694d..c06e3bebb 100755
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py
@@ -80,6 +80,19 @@ class MacTool(object):
def _CopyStringsFile(self, source, dest):
"""Copies a .strings file using iconv to reconvert the input into UTF-16."""
input_code = self._DetectInputEncoding(source) or "UTF-8"
+
+ # Xcode's CpyCopyStringsFile / builtin-copyStrings seems to call
+ # CFPropertyListCreateFromXMLData() behind the scenes; at least it prints
+ # CFPropertyListCreateFromXMLData(): Old-style plist parser: missing
+ # semicolon in dictionary.
+ # on invalid files. Do the same kind of validation.
+ import CoreFoundation
+ s = open(source).read()
+ d = CoreFoundation.CFDataCreate(None, s, len(s))
+ _, error = CoreFoundation.CFPropertyListCreateFromXMLData(None, d, 0, None)
+ if error:
+ return
+
fp = open(dest, 'w')
args = ['/usr/bin/iconv', '--from-code', input_code, '--to-code',
'UTF-16', source]
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py
index 41a3bc72c..bc2afca3e 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py
@@ -152,6 +152,7 @@ class MsvsSettings(object):
('msvs_disabled_warnings', list),
('msvs_precompiled_header', str),
('msvs_precompiled_source', str),
+ ('msvs_configuration_platform', str),
('msvs_target_platform', str),
]
configs = spec['configurations']
@@ -165,11 +166,8 @@ class MsvsSettings(object):
def GetVSMacroEnv(self, base_to_build=None, config=None):
"""Get a dict of variables mapping internal VS macro names to their gyp
equivalents."""
- target_platform = self.GetTargetPlatform(config)
- target_platform = {'x86': 'Win32'}.get(target_platform, target_platform)
+ target_platform = 'Win32' if self.GetArch(config) == 'x86' else 'x64'
replacements = {
- '$(VSInstallDir)': self.vs_version.Path(),
- '$(VCInstallDir)': os.path.join(self.vs_version.Path(), 'VC') + '\\',
'$(OutDir)\\': base_to_build + '\\' if base_to_build else '',
'$(IntDir)': '$!INTERMEDIATE_DIR',
'$(InputPath)': '${source}',
@@ -178,6 +176,12 @@ class MsvsSettings(object):
'$(PlatformName)': target_platform,
'$(ProjectDir)\\': '',
}
+ # '$(VSInstallDir)' and '$(VCInstallDir)' are available when and only when
+ # Visual Studio is actually installed.
+ if self.vs_version.Path():
+ replacements['$(VSInstallDir)'] = self.vs_version.Path()
+ replacements['$(VCInstallDir)'] = os.path.join(self.vs_version.Path(),
+ 'VC') + '\\'
# Chromium uses DXSDK_DIR in include/lib paths, but it may or may not be
# set. This happens when the SDK is sync'd via src-internal, rather than
# by typical end-user installation of the SDK. If it's not set, we don't
@@ -215,29 +219,40 @@ class MsvsSettings(object):
return self.parent._GetAndMunge(self.field, self.base_path + [name],
default=default, prefix=prefix, append=self.append, map=map)
- def GetTargetPlatform(self, config):
- target_platform = self.msvs_target_platform.get(config, '')
- if not target_platform:
- target_platform = 'Win32'
- return {'Win32': 'x86'}.get(target_platform, target_platform)
-
- def _RealConfig(self, config):
- target_platform = self.GetTargetPlatform(config)
- if target_platform == 'x64' and not config.endswith('_x64'):
+ def GetArch(self, config):
+ """Get architecture based on msvs_configuration_platform and
+ msvs_target_platform. Returns either 'x86' or 'x64'."""
+ configuration_platform = self.msvs_configuration_platform.get(config, '')
+ platform = self.msvs_target_platform.get(config, '')
+ if not platform: # If no specific override, use the configuration's.
+ platform = configuration_platform
+ # Map from platform to architecture.
+ return {'Win32': 'x86', 'x64': 'x64'}.get(platform, 'x86')
+
+ def _TargetConfig(self, config):
+ """Returns the target-specific configuration."""
+ # There's two levels of architecture/platform specification in VS. The
+ # first level is globally for the configuration (this is what we consider
+ # "the" config at the gyp level, which will be something like 'Debug' or
+ # 'Release_x64'), and a second target-specific configuration, which is an
+ # override for the global one. |config| is remapped here to take into
+ # account the local target-specific overrides to the global configuration.
+ arch = self.GetArch(config)
+ if arch == 'x64' and not config.endswith('_x64'):
config += '_x64'
+ if arch == 'x86' and config.endswith('_x64'):
+ config = config.rsplit('_', 1)[0]
return config
def _Setting(self, path, config,
default=None, prefix='', append=None, map=None):
"""_GetAndMunge for msvs_settings."""
- config = self._RealConfig(config)
return self._GetAndMunge(
self.msvs_settings[config], path, default, prefix, append, map)
def _ConfigAttrib(self, path, config,
default=None, prefix='', append=None, map=None):
"""_GetAndMunge for msvs_configuration_attributes."""
- config = self._RealConfig(config)
return self._GetAndMunge(
self.msvs_configuration_attributes[config],
path, default, prefix, append, map)
@@ -245,7 +260,7 @@ class MsvsSettings(object):
def AdjustIncludeDirs(self, include_dirs, config):
"""Updates include_dirs to expand VS specific paths, and adds the system
include dirs used for platform SDK and similar."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
includes = include_dirs + self.msvs_system_include_dirs[config]
includes.extend(self._Setting(
('VCCLCompilerTool', 'AdditionalIncludeDirectories'), config, default=[]))
@@ -254,7 +269,7 @@ class MsvsSettings(object):
def GetComputedDefines(self, config):
"""Returns the set of defines that are injected to the defines list based
on other VS settings."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
defines = []
if self._ConfigAttrib(['CharacterSet'], config) == '1':
defines.extend(('_UNICODE', 'UNICODE'))
@@ -264,10 +279,20 @@ class MsvsSettings(object):
('VCCLCompilerTool', 'PreprocessorDefinitions'), config, default=[]))
return defines
+ def GetCompilerPdbName(self, config, expand_special):
+ """Get the pdb file name that should be used for compiler invocations, or
+ None if there's no explicit name specified."""
+ config = self._TargetConfig(config)
+ pdbname = self._Setting(
+ ('VCCLCompilerTool', 'ProgramDataBaseFileName'), config)
+ if pdbname:
+ pdbname = expand_special(self.ConvertVSMacros(pdbname))
+ return pdbname
+
def GetOutputName(self, config, expand_special):
"""Gets the explicitly overridden output name for a target or returns None
if it's not overridden."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
type = self.spec['type']
root = 'VCLibrarianTool' if type == 'static_library' else 'VCLinkerTool'
# TODO(scottmg): Handle OutputDirectory without OutputFile.
@@ -280,7 +305,7 @@ class MsvsSettings(object):
def GetPDBName(self, config, expand_special):
"""Gets the explicitly overridden pdb name for a target or returns None
if it's not overridden."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
output_file = self._Setting(('VCLinkerTool', 'ProgramDatabaseFile'), config)
if output_file:
output_file = expand_special(self.ConvertVSMacros(
@@ -289,7 +314,7 @@ class MsvsSettings(object):
def GetCflags(self, config):
"""Returns the flags that need to be added to .c and .cc compilations."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
cflags = []
cflags.extend(['/wd' + w for w in self.msvs_disabled_warnings[config]])
cl = self._GetWrapper(self, self.msvs_settings[config],
@@ -298,6 +323,7 @@ class MsvsSettings(object):
map={'0': 'd', '1': '1', '2': '2', '3': 'x'}, prefix='/O')
cl('InlineFunctionExpansion', prefix='/Ob')
cl('OmitFramePointers', map={'false': '-', 'true': ''}, prefix='/Oy')
+ cl('EnableIntrinsicFunctions', map={'false': '-', 'true': ''}, prefix='/Oi')
cl('FavorSizeOrSpeed', map={'1': 't', '2': 's'}, prefix='/O')
cl('WholeProgramOptimization', map={'true': '/GL'})
cl('WarningLevel', prefix='/W')
@@ -312,8 +338,13 @@ class MsvsSettings(object):
cl('RuntimeLibrary',
map={'0': 'T', '1': 'Td', '2': 'D', '3': 'Dd'}, prefix='/M')
cl('ExceptionHandling', map={'1': 'sc','2': 'a'}, prefix='/EH')
+ cl('DefaultCharIsUnsigned', map={'true': '/J'})
+ cl('TreatWChar_tAsBuiltInType',
+ map={'false': '-', 'true': ''}, prefix='/Zc:wchar_t')
cl('EnablePREfast', map={'true': '/analyze'})
cl('AdditionalOptions', prefix='')
+ cflags.extend(['/FI' + f for f in self._Setting(
+ ('VCCLCompilerTool', 'ForcedIncludeFiles'), config, default=[])])
# ninja handles parallelism by itself, don't have the compiler do it too.
cflags = filter(lambda x: not x.startswith('/MP'), cflags)
return cflags
@@ -321,13 +352,13 @@ class MsvsSettings(object):
def GetPrecompiledHeader(self, config, gyp_to_build_path):
"""Returns an object that handles the generation of precompiled header
build steps."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
return _PchHelper(self, config, gyp_to_build_path)
def _GetPchFlags(self, config, extension):
"""Get the flags to be added to the cflags for precompiled header support.
"""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
# The PCH is only built once by a particular source file. Usage of PCH must
# only be for the same language (i.e. C vs. C++), so only include the pch
# flags when the language matches.
@@ -340,18 +371,18 @@ class MsvsSettings(object):
def GetCflagsC(self, config):
"""Returns the flags that need to be added to .c compilations."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
return self._GetPchFlags(config, '.c')
def GetCflagsCC(self, config):
"""Returns the flags that need to be added to .cc compilations."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
return ['/TP'] + self._GetPchFlags(config, '.cc')
def _GetAdditionalLibraryDirectories(self, root, config, gyp_to_build_path):
"""Get and normalize the list of paths in AdditionalLibraryDirectories
setting."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
libpaths = self._Setting((root, 'AdditionalLibraryDirectories'),
config, default=[])
libpaths = [os.path.normpath(
@@ -361,12 +392,13 @@ class MsvsSettings(object):
def GetLibFlags(self, config, gyp_to_build_path):
"""Returns the flags that need to be added to lib commands."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
libflags = []
lib = self._GetWrapper(self, self.msvs_settings[config],
'VCLibrarianTool', append=libflags)
libflags.extend(self._GetAdditionalLibraryDirectories(
'VCLibrarianTool', config, gyp_to_build_path))
+ lib('LinkTimeCodeGeneration', map={'true': '/LTCG'})
lib('AdditionalOptions')
return libflags
@@ -385,7 +417,7 @@ class MsvsSettings(object):
manifest_base_name, is_executable):
"""Returns the flags that need to be added to link commands, and the
manifest files."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
ldflags = []
ld = self._GetWrapper(self, self.msvs_settings[config],
'VCLinkerTool', append=ldflags)
@@ -403,6 +435,7 @@ class MsvsSettings(object):
ldflags.append('/PDB:' + pdb)
ld('AdditionalOptions', prefix='')
ld('SubSystem', map={'1': 'CONSOLE', '2': 'WINDOWS'}, prefix='/SUBSYSTEM:')
+ ld('TerminalServerAware', map={'1': ':NO', '2': ''}, prefix='/TSAWARE')
ld('LinkIncremental', map={'1': ':NO', '2': ''}, prefix='/INCREMENTAL')
ld('FixedBaseAddress', map={'1': ':NO', '2': ''}, prefix='/FIXED')
ld('RandomizedBaseAddress',
@@ -415,13 +448,11 @@ class MsvsSettings(object):
ld('IgnoreDefaultLibraryNames', prefix='/NODEFAULTLIB:')
ld('ResourceOnlyDLL', map={'true': '/NOENTRY'})
ld('EntryPointSymbol', prefix='/ENTRY:')
- ld('Profile', map={ 'true': '/PROFILE'})
+ ld('Profile', map={'true': '/PROFILE'})
+ ld('LargeAddressAware',
+ map={'1': ':NO', '2': ''}, prefix='/LARGEADDRESSAWARE')
# TODO(scottmg): This should sort of be somewhere else (not really a flag).
ld('AdditionalDependencies', prefix='')
- # TODO(scottmg): These too.
- ldflags.extend(('kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib',
- 'comdlg32.lib', 'advapi32.lib', 'shell32.lib', 'ole32.lib',
- 'oleaut32.lib', 'uuid.lib', 'odbc32.lib', 'DelayImp.lib'))
# If the base address is not specifically controlled, DYNAMICBASE should
# be on by default.
@@ -481,14 +512,14 @@ class MsvsSettings(object):
def IsUseLibraryDependencyInputs(self, config):
"""Returns whether the target should be linked via Use Library Dependency
Inputs (using component .objs of a given .lib)."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
uldi = self._Setting(('VCLinkerTool', 'UseLibraryDependencyInputs'), config)
return uldi == 'true'
def GetRcflags(self, config, gyp_to_ninja_path):
"""Returns the flags that need to be added to invocations of the resource
compiler."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
rcflags = []
rc = self._GetWrapper(self, self.msvs_settings[config],
'VCResourceCompilerTool', append=rcflags)
@@ -525,18 +556,27 @@ class MsvsSettings(object):
return int(rule.get('msvs_cygwin_shell',
self.spec.get('msvs_cygwin_shell', 1))) != 0
- def HasExplicitIdlRules(self, spec):
- """Determine if there's an explicit rule for idl files. When there isn't we
- need to generate implicit rules to build MIDL .idl files."""
+ def _HasExplicitRuleForExtension(self, spec, extension):
+ """Determine if there's an explicit rule for a particular extension."""
for rule in spec.get('rules', []):
- if rule['extension'] == 'idl' and int(rule.get('msvs_external_rule', 0)):
+ if rule['extension'] == extension:
return True
return False
+ def HasExplicitIdlRules(self, spec):
+ """Determine if there's an explicit rule for idl files. When there isn't we
+ need to generate implicit rules to build MIDL .idl files."""
+ return self._HasExplicitRuleForExtension(spec, 'idl')
+
+ def HasExplicitAsmRules(self, spec):
+ """Determine if there's an explicit rule for asm files. When there isn't we
+ need to generate implicit rules to assemble .asm files."""
+ return self._HasExplicitRuleForExtension(spec, 'asm')
+
def GetIdlBuildData(self, source, config):
"""Determine the implicit outputs for an idl file. Returns output
directory, outputs, and variables and flags that are required."""
- config = self._RealConfig(config)
+ config = self._TargetConfig(config)
midl_get = self._GetWrapper(self, self.msvs_settings[config], 'VCMIDLTool')
def midl(name, default=None):
return self.ConvertVSMacros(midl_get(name, default=default),
@@ -556,7 +596,8 @@ class MsvsSettings(object):
('iid', iid),
('proxy', proxy)]
# TODO(scottmg): Are there configuration settings to set these flags?
- flags = ['/char', 'signed', '/env', 'win32', '/Oicf']
+ target_platform = 'win32' if self.GetArch(config) == 'x86' else 'x64'
+ flags = ['/char', 'signed', '/env', target_platform, '/Oicf']
return outdir, output, variables, flags
@@ -566,29 +607,25 @@ def _LanguageMatchesForPch(source_ext, pch_source_ext):
return ((source_ext in c_exts and pch_source_ext in c_exts) or
(source_ext in cc_exts and pch_source_ext in cc_exts))
+
class PrecompiledHeader(object):
"""Helper to generate dependencies and build rules to handle generation of
precompiled headers. Interface matches the GCH handler in xcode_emulation.py.
"""
- def __init__(self, settings, config, gyp_to_build_path):
+ def __init__(
+ self, settings, config, gyp_to_build_path, gyp_to_unique_output, obj_ext):
self.settings = settings
self.config = config
- self.gyp_to_build_path = gyp_to_build_path
+ pch_source = self.settings.msvs_precompiled_source[self.config]
+ self.pch_source = gyp_to_build_path(pch_source)
+ filename, _ = os.path.splitext(pch_source)
+ self.output_obj = gyp_to_unique_output(filename + obj_ext).lower()
def _PchHeader(self):
"""Get the header that will appear in an #include line for all source
files."""
return os.path.split(self.settings.msvs_precompiled_header[self.config])[1]
- def _PchSource(self):
- """Get the source file that is built once to compile the pch data."""
- return self.gyp_to_build_path(
- self.settings.msvs_precompiled_source[self.config])
-
- def _PchOutput(self):
- """Get the name of the output of the compiled pch data."""
- return '${pchprefix}.' + self._PchHeader() + '.pch'
-
def GetObjDependencies(self, sources, objs):
"""Given a list of sources files and the corresponding object files,
returns a list of the pch files that should be depended upon. The
@@ -596,24 +633,30 @@ class PrecompiledHeader(object):
with make.py on Mac, and xcode_emulation.py."""
if not self._PchHeader():
return []
- source = self._PchSource()
- assert source
- pch_ext = os.path.splitext(self._PchSource())[1]
+ pch_ext = os.path.splitext(self.pch_source)[1]
for source in sources:
if _LanguageMatchesForPch(os.path.splitext(source)[1], pch_ext):
- return [(None, None, self._PchOutput())]
+ return [(None, None, self.output_obj)]
return []
def GetPchBuildCommands(self):
- """Returns [(path_to_pch, language_flag, language, header)].
- |path_to_gch| and |header| are relative to the build directory."""
- header = self._PchHeader()
- source = self._PchSource()
- if not source or not header:
- return []
- ext = os.path.splitext(source)[1]
- lang = 'c' if ext == '.c' else 'cc'
- return [(self._PchOutput(), '/Yc' + header, lang, source)]
+ """Not used on Windows as there are no additional build steps required
+ (instead, existing steps are modified in GetFlagsModifications below)."""
+ return []
+
+ def GetFlagsModifications(self, input, output, implicit, command,
+ cflags_c, cflags_cc, expand_special):
+ """Get the modified cflags and implicit dependencies that should be used
+ for the pch compilation step."""
+ if input == self.pch_source:
+ pch_output = ['/Yc' + self._PchHeader()]
+ if command == 'cxx':
+ return ([('cflags_cc', map(expand_special, cflags_cc + pch_output))],
+ self.output_obj, [])
+ elif command == 'cc':
+ return ([('cflags_c', map(expand_special, cflags_c + pch_output))],
+ self.output_obj, [])
+ return [], output, implicit
vs_version = None
@@ -691,7 +734,13 @@ def GenerateEnvironmentFiles(toplevel_build_dir, generator_flags, open_out):
of compiler tools (cl, link, lib, rc, midl, etc.) via win_tool.py which
sets up the environment, and then we do not prefix the compiler with
an absolute path, instead preferring something like "cl.exe" in the rule
- which will then run whichever the environment setup has put in the path."""
+ which will then run whichever the environment setup has put in the path.
+ When the following procedure to generate environment files does not
+ meet your requirement (e.g. for custom toolchains), you can pass
+ "-G ninja_use_custom_environment_files" to the gyp to suppress file
+ generation and use custom environment files prepared by yourself."""
+ if generator_flags.get('ninja_use_custom_environment_files', 0):
+ return
vs = GetVSVersion(generator_flags)
for arch in ('x86', 'x64'):
args = vs.SetupScript(arch)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
index ef5b46046..806f92b57 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
@@ -11,13 +11,16 @@ import gyp.common
import os.path
import re
import shlex
+import subprocess
+import sys
+from gyp.common import GypError
class XcodeSettings(object):
"""A class that understands the gyp 'xcode_settings' object."""
- # Computed lazily by _GetSdkBaseDir(). Shared by all XcodeSettings, so cached
+ # Populated lazily by _SdkPath(). Shared by all XcodeSettings, so cached
# at class-level for efficiency.
- _sdk_base_dir = None
+ _sdk_path_cache = {}
def __init__(self, spec):
self.spec = spec
@@ -219,34 +222,34 @@ class XcodeSettings(object):
else:
return self._GetStandaloneBinaryPath()
- def _GetSdkBaseDir(self):
- """Returns the root of the 'Developer' directory. On Xcode 4.2 and prior,
- this is usually just /Developer. Xcode 4.3 moved that folder into the Xcode
- bundle."""
- if not XcodeSettings._sdk_base_dir:
- import subprocess
- job = subprocess.Popen(['xcode-select', '-print-path'],
- stdout=subprocess.PIPE,
- stderr=subprocess.STDOUT)
- out, err = job.communicate()
- if job.returncode != 0:
- print out
- raise Exception('Error %d running xcode-select' % job.returncode)
- # The Developer folder moved in Xcode 4.3.
- xcode43_sdk_path = os.path.join(
- out.rstrip(), 'Platforms/MacOSX.platform/Developer/SDKs')
- if os.path.isdir(xcode43_sdk_path):
- XcodeSettings._sdk_base_dir = xcode43_sdk_path
- else:
- XcodeSettings._sdk_base_dir = os.path.join(out.rstrip(), 'SDKs')
- return XcodeSettings._sdk_base_dir
+ def _GetSdkVersionInfoItem(self, sdk, infoitem):
+ job = subprocess.Popen(['xcodebuild', '-version', '-sdk', sdk, infoitem],
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT)
+ out = job.communicate()[0]
+ if job.returncode != 0:
+ sys.stderr.write(out + '\n')
+ raise GypError('Error %d running xcodebuild' % job.returncode)
+ return out.rstrip('\n')
def _SdkPath(self):
- sdk_root = self.GetPerTargetSetting('SDKROOT', default='macosx10.5')
- if sdk_root.startswith('macosx'):
- return os.path.join(self._GetSdkBaseDir(),
- 'MacOSX' + sdk_root[len('macosx'):] + '.sdk')
- return sdk_root
+ sdk_root = self.GetPerTargetSetting('SDKROOT', default='macosx')
+ if sdk_root not in XcodeSettings._sdk_path_cache:
+ XcodeSettings._sdk_path_cache[sdk_root] = self._GetSdkVersionInfoItem(
+ sdk_root, 'Path')
+ return XcodeSettings._sdk_path_cache[sdk_root]
+
+ def _AppendPlatformVersionMinFlags(self, lst):
+ self._Appendf(lst, 'MACOSX_DEPLOYMENT_TARGET', '-mmacosx-version-min=%s')
+ if 'IPHONEOS_DEPLOYMENT_TARGET' in self._Settings():
+ # TODO: Implement this better?
+ sdk_path_basename = os.path.basename(self._SdkPath())
+ if sdk_path_basename.lower().startswith('iphonesimulator'):
+ self._Appendf(lst, 'IPHONEOS_DEPLOYMENT_TARGET',
+ '-mios-simulator-version-min=%s')
+ else:
+ self._Appendf(lst, 'IPHONEOS_DEPLOYMENT_TARGET',
+ '-miphoneos-version-min=%s')
def GetCflags(self, configname):
"""Returns flags that need to be added to .c, .cc, .m, and .mm
@@ -261,6 +264,9 @@ class XcodeSettings(object):
if 'SDKROOT' in self._Settings():
cflags.append('-isysroot %s' % sdk_root)
+ if self._Test('CLANG_WARN_CONSTANT_CONVERSION', 'YES', default='NO'):
+ cflags.append('-Wconstant-conversion')
+
if self._Test('GCC_CHAR_IS_UNSIGNED_CHAR', 'YES', default='NO'):
cflags.append('-funsigned-char')
@@ -301,7 +307,7 @@ class XcodeSettings(object):
if self._Test('GCC_WARN_ABOUT_MISSING_NEWLINE', 'YES', default='NO'):
cflags.append('-Wnewline-eof')
- self._Appendf(cflags, 'MACOSX_DEPLOYMENT_TARGET', '-mmacosx-version-min=%s')
+ self._AppendPlatformVersionMinFlags(cflags)
# TODO:
if self._Test('COPY_PHASE_STRIP', 'YES', default='NO'):
@@ -354,6 +360,16 @@ class XcodeSettings(object):
"""Returns flags that need to be added to .cc, and .mm compilations."""
self.configname = configname
cflags_cc = []
+
+ clang_cxx_language_standard = self._Settings().get(
+ 'CLANG_CXX_LANGUAGE_STANDARD')
+ # Note: Don't make c++0x to c++11 so that c++0x can be used with older
+ # clangs that don't understand c++11 yet (like Xcode 4.2's).
+ if clang_cxx_language_standard:
+ cflags_cc.append('-std=%s' % clang_cxx_language_standard)
+
+ self._Appendf(cflags_cc, 'CLANG_CXX_LIBRARY', '-stdlib=%s')
+
if self._Test('GCC_ENABLE_CPP_RTTI', 'NO', default='YES'):
cflags_cc.append('-fno-rtti')
if self._Test('GCC_ENABLE_CPP_EXCEPTIONS', 'NO', default='YES'):
@@ -362,6 +378,7 @@ class XcodeSettings(object):
cflags_cc.append('-fvisibility-inlines-hidden')
if self._Test('GCC_THREADSAFE_STATICS', 'NO', default='YES'):
cflags_cc.append('-fno-threadsafe-statics')
+ # Note: This flag is a no-op for clang, it only has an effect for gcc.
if self._Test('GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO', 'NO', default='YES'):
cflags_cc.append('-Wno-invalid-offsetof')
@@ -524,8 +541,9 @@ class XcodeSettings(object):
ldflags, 'DYLIB_COMPATIBILITY_VERSION', '-compatibility_version %s')
self._Appendf(
ldflags, 'DYLIB_CURRENT_VERSION', '-current_version %s')
- self._Appendf(
- ldflags, 'MACOSX_DEPLOYMENT_TARGET', '-mmacosx-version-min=%s')
+
+ self._AppendPlatformVersionMinFlags(ldflags)
+
if 'SDKROOT' in self._Settings():
ldflags.append('-isysroot ' + self._SdkPath())
@@ -1042,7 +1060,7 @@ def _TopologicallySortedEnvVarKeys(env):
order.reverse()
return order
except gyp.common.CycleError, e:
- raise Exception(
+ raise GypError(
'Xcode environment variables are cyclically dependent: ' + str(e.nodes))
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py
index ec4cb96bc..47712a7f6 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py
@@ -1503,6 +1503,7 @@ class PBXFileReference(XCFileLikeElement, XCContainerPortal, XCRemoteObject):
'r': 'sourcecode.rez',
'rez': 'sourcecode.rez',
's': 'sourcecode.asm',
+ 'storyboard': 'file.storyboard',
'strings': 'text.plist.strings',
'ttf': 'file',
'xcconfig': 'text.xcconfig',
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/gyptest-bare.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/gyptest-bare.py
deleted file mode 100755
index b0c10938d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/gyptest-bare.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies actions which are not depended on by other targets get executed.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('bare.gyp', chdir='src')
-test.relocate('src', 'relocate/src')
-test.build('bare.gyp', chdir='relocate/src')
-
-file_content = 'Hello from bare.py\n'
-
-test.built_file_must_match('out.txt', file_content, chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.gyp
deleted file mode 100644
index 3d28f099d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'bare',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action1',
- 'inputs': [
- 'bare.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/out.txt',
- ],
- 'action': ['python', 'bare.py', '<(PRODUCT_DIR)/out.txt'],
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.py
deleted file mode 100755
index 12307500f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-bare/src/bare.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1], 'wb')
-f.write('Hello from bare.py\n')
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/gyptest-all.py
deleted file mode 100755
index 2a083de9b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/gyptest-all.py
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies two actions can be attached to the same input files.
-"""
-
-import sys
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('actions.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# Test of fine-grained dependencies for generators that can build individual
-# files on demand.
-# In particular:
-# - TargetA depends on TargetB.
-# - TargetA and TargetB are 'none' type with actions attached.
-# - TargetA has multiple actions.
-# - An output from one of the actions in TargetA (not the first listed),
-# is requested as the build target.
-# Ensure that TargetB gets built.
-#
-# This sub-test can only be done with generators/build tools that can
-# be asked to build individual files rather than whole targets (make, ninja).
-if test.format in ['make', 'ninja']:
- # Select location of target based on generator.
- if test.format == 'make':
- target = 'multi2.txt'
- elif test.format == 'ninja':
- if sys.platform in ['win32', 'cygwin']:
- target = '..\\..\\multi2.txt'
- else:
- target = '../../multi2.txt'
- else:
- assert False
- test.build('actions.gyp', chdir='relocate/src', target=target)
- test.must_contain('relocate/src/multi2.txt', 'hello there')
- test.must_contain('relocate/src/multi_dep.txt', 'hello there')
-
-
-# Test that two actions can be attached to the same inputs.
-test.build('actions.gyp', test.ALL, chdir='relocate/src')
-test.must_contain('relocate/src/output1.txt', 'hello there')
-test.must_contain('relocate/src/output2.txt', 'hello there')
-test.must_contain('relocate/src/output3.txt', 'hello there')
-test.must_contain('relocate/src/output4.txt', 'hello there')
-
-# Test that process_outputs_as_sources works in conjuction with merged
-# actions.
-test.run_built_executable(
- 'multiple_action_source_filter',
- chdir='relocate/src',
- stdout=(
- '{\n'
- 'bar\n'
- 'car\n'
- 'dar\n'
- 'ear\n'
- '}\n'
- ),
-)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/actions.gyp
deleted file mode 100644
index c70a58f70..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/actions.gyp
+++ /dev/null
@@ -1,226 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- # Have a long string so that actions will exceed xp 512 character
- # command limit on xp.
- 'long_string':
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- 'abcdefghijklmnopqrstuvwxyz0123456789'
- },
- 'targets': [
- {
- 'target_name': 'multiple_action_target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action1',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'output1.txt',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action2',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'output2.txt',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action3',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'output3.txt',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action4',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'output4.txt',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'multiple_action_source_filter',
- 'type': 'executable',
- 'sources': [
- 'main.c',
- # TODO(bradnelson): add foo.c here once this issue is fixed:
- # http://code.google.com/p/gyp/issues/detail?id=175
- ],
- 'actions': [
- {
- 'action_name': 'action1',
- 'inputs': [
- 'foo.c',
- 'filter.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/output1.c',
- ],
- 'process_outputs_as_sources': 1,
- 'action': [
- 'python', 'filter.py', 'foo', 'bar', 'foo.c', '<@(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action2',
- 'inputs': [
- 'foo.c',
- 'filter.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/output2.c',
- ],
- 'process_outputs_as_sources': 1,
- 'action': [
- 'python', 'filter.py', 'foo', 'car', 'foo.c', '<@(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action3',
- 'inputs': [
- 'foo.c',
- 'filter.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/output3.c',
- ],
- 'process_outputs_as_sources': 1,
- 'action': [
- 'python', 'filter.py', 'foo', 'dar', 'foo.c', '<@(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action4',
- 'inputs': [
- 'foo.c',
- 'filter.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/output4.c',
- ],
- 'process_outputs_as_sources': 1,
- 'action': [
- 'python', 'filter.py', 'foo', 'ear', 'foo.c', '<@(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'multiple_dependent_target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action1',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'multi1.txt',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'action2',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'multi2.txt',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- 'dependencies': [
- 'multiple_required_target',
- ],
- },
- {
- 'target_name': 'multiple_required_target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'multi_dep',
- 'inputs': [
- 'copy.py',
- 'input.txt',
- ],
- 'outputs': [
- 'multi_dep.txt',
- ],
- 'process_outputs_as_sources': 1,
- 'action': [
- 'python', '<@(_inputs)', '<(_outputs)', '<(long_string)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/copy.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/copy.py
deleted file mode 100755
index 077467938..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/copy.py
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import shutil
-import sys
-
-shutil.copyfile(sys.argv[1], sys.argv[2])
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/filter.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/filter.py
deleted file mode 100755
index f61a5fa59..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/filter.py
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-import sys
-
-data = open(sys.argv[3], 'r').read()
-fh = open(sys.argv[4], 'w')
-fh.write(data.replace(sys.argv[1], sys.argv[2]))
-fh.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/foo.c b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/foo.c
deleted file mode 100644
index 23c4ef7f2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/foo.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-void foo(void) {
- printf("foo\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/input.txt b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/input.txt
deleted file mode 100644
index c7c7da3c6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/input.txt
+++ /dev/null
@@ -1 +0,0 @@
-hello there
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/main.c b/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/main.c
deleted file mode 100644
index 0a420b903..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-multiple/src/main.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-void bar(void);
-void car(void);
-void dar(void);
-void ear(void);
-
-int main() {
- printf("{\n");
- bar();
- car();
- dar();
- ear();
- printf("}\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/gyptest-none.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-none/gyptest-none.py
deleted file mode 100755
index d013a4ac1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/gyptest-none.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies actions can be in 'none' type targets with source files.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-# TODO(bradnelson): fix scons.
-if test.format == 'scons':
- test.skip_test()
-
-test.run_gyp('none_with_source_files.gyp', chdir='src')
-test.relocate('src', 'relocate/src')
-test.build('none_with_source_files.gyp', chdir='relocate/src')
-
-file_content = 'foo.cc\n'
-
-test.built_file_must_match('fake.out', file_content, chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/fake_cross.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/fake_cross.py
deleted file mode 100644
index 2913f66a6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/fake_cross.py
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-import sys
-
-fh = open(sys.argv[-1], 'wb')
-for filename in sys.argv[1:-1]:
- fh.write(open(filename).read())
-fh.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/foo.cc b/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/foo.cc
deleted file mode 100644
index c6c61745b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/foo.cc
+++ /dev/null
@@ -1 +0,0 @@
-foo.cc
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/none_with_source_files.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/none_with_source_files.gyp
deleted file mode 100644
index e2aaebc10..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-none/src/none_with_source_files.gyp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Test that 'none' type targets can have .cc files in them.
-
-{
- 'targets': [
- {
- 'target_name': 'none_with_sources',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'foo.cc',
- ],
- 'actions': [
- {
- 'action_name': 'fake_cross',
- 'inputs': [
- 'fake_cross.py',
- '<@(_sources)',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/fake.out',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<@(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/gyptest-action.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/gyptest-action.py
deleted file mode 100755
index 09cfef189..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/gyptest-action.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test actions that output to PRODUCT_DIR.
-"""
-
-import TestGyp
-
-# TODO fix this for xcode: http://code.google.com/p/gyp/issues/detail?id=88
-test = TestGyp.TestGyp(formats=['!xcode'])
-
-test.run_gyp('none.gyp', chdir='src')
-
-test.build('none.gyp', test.ALL, chdir='src')
-
-file_content = 'Hello from make-file.py\n'
-subdir_file_content = 'Hello from make-subdir-file.py\n'
-
-test.built_file_must_match('file.out', file_content, chdir='src')
-test.built_file_must_match('subdir_file.out', subdir_file_content, chdir='src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/make-file.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/make-file.py
deleted file mode 100755
index 74e55811d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/make-file.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = 'Hello from make-file.py\n'
-
-open(sys.argv[1], 'wb').write(contents)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/none.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/none.gyp
deleted file mode 100644
index 23f8d25a5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/none.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'file',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'actions': [
- {
- 'action_name': 'make-file',
- 'inputs': [
- 'make-file.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/file.out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- }
- ],
- 'dependencies': [
- 'subdir/subdir.gyp:subdir_file',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/make-subdir-file.py b/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/make-subdir-file.py
deleted file mode 100755
index 80ce19ae0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/make-subdir-file.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = 'Hello from make-subdir-file.py\n'
-
-open(sys.argv[1], 'wb').write(contents)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/subdir.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/subdir.gyp
deleted file mode 100644
index 0315d4eb8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions-subdir/src/subdir/subdir.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'subdir_file',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'actions': [
- {
- 'action_name': 'make-subdir-file',
- 'inputs': [
- 'make-subdir-file.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/subdir_file.out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- }
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-all.py
deleted file mode 100755
index 705fec4b5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-all.py
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple actions when using an explicit build target of 'all'.
-"""
-
-import glob
-import os
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_all')
-
-test.run_gyp('actions.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# Some gyp files use an action that mentions an output but never
-# writes it as a means to making the action run on every build. That
-# doesn't mesh well with ninja's semantics. TODO(evan): figure out
-# how to work always-run actions in to ninja.
-# Android also can't do this as it doesn't have order-only dependencies.
-if test.format in ['ninja', 'android']:
- test.build('actions.gyp', test.ALL, chdir='relocate/src')
-else:
- # Test that an "always run" action increases a counter on multiple
- # invocations, and that a dependent action updates in step.
- test.build('actions.gyp', test.ALL, chdir='relocate/src')
- test.must_match('relocate/src/subdir1/actions-out/action-counter.txt', '1')
- test.must_match('relocate/src/subdir1/actions-out/action-counter_2.txt', '1')
- test.build('actions.gyp', test.ALL, chdir='relocate/src')
- test.must_match('relocate/src/subdir1/actions-out/action-counter.txt', '2')
- test.must_match('relocate/src/subdir1/actions-out/action-counter_2.txt', '2')
-
- # The "always run" action only counts to 2, but the dependent target
- # will count forever if it's allowed to run. This verifies that the
- # dependent target only runs when the "always run" action generates
- # new output, not just because the "always run" ran.
- test.build('actions.gyp', test.ALL, chdir='relocate/src')
- test.must_match('relocate/src/subdir1/actions-out/action-counter.txt', '2')
- test.must_match('relocate/src/subdir1/actions-out/action-counter_2.txt', '2')
-
-expect = """\
-Hello from program.c
-Hello from make-prog1.py
-Hello from make-prog2.py
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir1'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program', chdir=chdir, stdout=expect)
-
-
-test.must_match('relocate/src/subdir2/file.out', "Hello from make-file.py\n")
-
-
-expect = "Hello from generate_main.py\n"
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir3'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('null_input', chdir=chdir, stdout=expect)
-
-
-# Clean out files which may have been created if test.ALL was run.
-def clean_dep_files():
- for file in (glob.glob('relocate/src/dep_*.txt') +
- glob.glob('relocate/src/deps_all_done_*.txt')):
- if os.path.exists(file):
- os.remove(file)
-
-# Confirm our clean.
-clean_dep_files()
-test.must_not_exist('relocate/src/dep_1.txt')
-test.must_not_exist('relocate/src/deps_all_done_first_123.txt')
-
-# Make sure all deps finish before an action is run on a 'None' target.
-# If using the Make builder, add -j to make things more difficult.
-arguments = []
-if test.format == 'make':
- arguments = ['-j']
-test.build('actions.gyp', 'action_with_dependencies_123', chdir='relocate/src',
- arguments=arguments)
-test.must_exist('relocate/src/deps_all_done_first_123.txt')
-
-# Try again with a target that has deps in reverse. Output files from
-# previous tests deleted. Confirm this execution did NOT run the ALL
-# target which would mess up our dep tests.
-clean_dep_files()
-test.build('actions.gyp', 'action_with_dependencies_321', chdir='relocate/src',
- arguments=arguments)
-test.must_exist('relocate/src/deps_all_done_first_321.txt')
-test.must_not_exist('relocate/src/deps_all_done_first_123.txt')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-default.py
deleted file mode 100755
index f5b4e3510..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-default.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple actions when using the default build target.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_default')
-
-test.run_gyp('actions.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# Some gyp files use an action that mentions an output but never
-# writes it as a means to making the action run on every build. That
-# doesn't mesh well with ninja's semantics. TODO(evan): figure out
-# how to work always-run actions in to ninja.
-# Android also can't do this as it doesn't have order-only dependencies.
-if test.format in ['ninja', 'android']:
- test.build('actions.gyp', test.ALL, chdir='relocate/src')
-else:
- # Test that an "always run" action increases a counter on multiple
- # invocations, and that a dependent action updates in step.
- test.build('actions.gyp', chdir='relocate/src')
- test.must_match('relocate/src/subdir1/actions-out/action-counter.txt', '1')
- test.must_match('relocate/src/subdir1/actions-out/action-counter_2.txt', '1')
- test.build('actions.gyp', chdir='relocate/src')
- test.must_match('relocate/src/subdir1/actions-out/action-counter.txt', '2')
- test.must_match('relocate/src/subdir1/actions-out/action-counter_2.txt', '2')
-
- # The "always run" action only counts to 2, but the dependent target
- # will count forever if it's allowed to run. This verifies that the
- # dependent target only runs when the "always run" action generates
- # new output, not just because the "always run" ran.
- test.build('actions.gyp', test.ALL, chdir='relocate/src')
- test.must_match('relocate/src/subdir1/actions-out/action-counter.txt', '2')
- test.must_match('relocate/src/subdir1/actions-out/action-counter_2.txt', '2')
-
-expect = """\
-Hello from program.c
-Hello from make-prog1.py
-Hello from make-prog2.py
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir1'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program', chdir=chdir, stdout=expect)
-
-
-test.must_match('relocate/src/subdir2/file.out', "Hello from make-file.py\n")
-
-
-expect = "Hello from generate_main.py\n"
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir3'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('null_input', chdir=chdir, stdout=expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-errors.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-errors.py
deleted file mode 100755
index e1ef883e1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/gyptest-errors.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies behavior for different action configuration errors:
-exit status of 1, and the expected error message must be in stderr.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_errors')
-
-
-test.run_gyp('action_missing_name.gyp', chdir='src', status=1, stderr=None)
-expect = [
- "Anonymous action in target broken_actions2. An action must have an 'action_name' field.",
-]
-test.must_contain_all_lines(test.stderr(), expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/action_missing_name.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/action_missing_name.gyp
deleted file mode 100644
index 00424c35a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/action_missing_name.gyp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'broken_actions2',
- 'type': 'none',
- 'actions': [
- {
- 'inputs': [
- 'no_name.input',
- ],
- 'action': [
- 'python',
- '-c',
- 'print \'missing name\'',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/actions.gyp
deleted file mode 100644
index 5d2db1955..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/actions.gyp
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'pull_in_all_actions',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/executable.gyp:*',
- 'subdir2/none.gyp:*',
- 'subdir3/null_input.gyp:*',
- ],
- },
- {
- 'target_name': 'depend_on_always_run_action',
- 'type': 'none',
- 'dependencies': [ 'subdir1/executable.gyp:counter' ],
- 'actions': [
- {
- 'action_name': 'use_always_run_output',
- 'inputs': [
- 'subdir1/actions-out/action-counter.txt',
- 'subdir1/counter.py',
- ],
- 'outputs': [
- 'subdir1/actions-out/action-counter_2.txt',
- ],
- 'action': [
- 'python', 'subdir1/counter.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
-
- # Three deps which don't finish immediately.
- # Each one has a small delay then creates a file.
- # Delays are 1.0, 1.1, and 2.0 seconds.
- {
- 'target_name': 'dep_1',
- 'type': 'none',
- 'actions': [{
- 'inputs': [ 'actions.gyp' ],
- 'outputs': [ 'dep_1.txt' ],
- 'action_name': 'dep_1',
- 'action': [ 'python', '-c',
- 'import time; time.sleep(1); open(\'dep_1.txt\', \'w\')' ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }],
- },
- {
- 'target_name': 'dep_2',
- 'type': 'none',
- 'actions': [{
- 'inputs': [ 'actions.gyp' ],
- 'outputs': [ 'dep_2.txt' ],
- 'action_name': 'dep_2',
- 'action': [ 'python', '-c',
- 'import time; time.sleep(1.1); open(\'dep_2.txt\', \'w\')' ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }],
- },
- {
- 'target_name': 'dep_3',
- 'type': 'none',
- 'actions': [{
- 'inputs': [ 'actions.gyp' ],
- 'outputs': [ 'dep_3.txt' ],
- 'action_name': 'dep_3',
- 'action': [ 'python', '-c',
- 'import time; time.sleep(2.0); open(\'dep_3.txt\', \'w\')' ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }],
- },
-
- # An action which assumes the deps have completed.
- # Does NOT list the output files of it's deps as inputs.
- # On success create the file deps_all_done_first.txt.
- {
- 'target_name': 'action_with_dependencies_123',
- 'type': 'none',
- 'dependencies': [ 'dep_1', 'dep_2', 'dep_3' ],
- 'actions': [{
- 'inputs': [ 'actions.gyp' ],
- 'outputs': [ 'deps_all_done_first_123.txt' ],
- 'action_name': 'action_with_dependencies_123',
- 'action': [ 'python', 'confirm-dep-files.py', '<(_outputs)' ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }],
- },
- # Same as above but with deps in reverse.
- {
- 'target_name': 'action_with_dependencies_321',
- 'type': 'none',
- 'dependencies': [ 'dep_3', 'dep_2', 'dep_1' ],
- 'actions': [{
- 'inputs': [ 'actions.gyp' ],
- 'outputs': [ 'deps_all_done_first_321.txt' ],
- 'action_name': 'action_with_dependencies_321',
- 'action': [ 'python', 'confirm-dep-files.py', '<(_outputs)' ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }],
- },
-
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/confirm-dep-files.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/confirm-dep-files.py
deleted file mode 100755
index 3b8463057..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/confirm-dep-files.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Confirms presence of files generated by our targets we depend on.
-If they exist, create a new file.
-
-Note target's input files are explicitly NOT defined in the gyp file
-so they can't easily be passed to this script as args.
-"""
-
-import os
-import sys
-
-outfile = sys.argv[1] # Example value we expect: deps_all_done_first_123.txt
-if (os.path.exists("dep_1.txt") and
- os.path.exists("dep_2.txt") and
- os.path.exists("dep_3.txt")):
- open(outfile, "w")
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/counter.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/counter.py
deleted file mode 100755
index 3612d7d2b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/counter.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-import time
-
-output = sys.argv[1]
-persistoutput = "%s.persist" % sys.argv[1]
-
-count = 0
-try:
- count = open(persistoutput, 'r').read()
-except:
- pass
-count = int(count) + 1
-
-if len(sys.argv) > 2:
- max_count = int(sys.argv[2])
- if count > max_count:
- count = max_count
-
-oldcount = 0
-try:
- oldcount = open(output, 'r').read()
-except:
- pass
-
-# Save the count in a file that is undeclared, and thus hidden, to gyp. We need
-# to do this because, prior to running commands, scons deletes any declared
-# outputs, so we would lose our count if we just wrote to the given output file.
-# (The other option is to use Precious() in the scons generator, but that seems
-# too heavy-handed just to support this somewhat unrealistic test case, and
-# might lead to unintended side-effects).
-open(persistoutput, 'w').write('%d' % (count))
-
-# Only write the given output file if the count has changed.
-if int(oldcount) != count:
- open(output, 'w').write('%d' % (count))
- # Sleep so the next run changes the file time sufficiently to make the build
- # detect the file as changed.
- time.sleep(1)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/executable.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/executable.gyp
deleted file mode 100644
index 6a1ce4f91..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/executable.gyp
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'program.c',
- ],
- 'actions': [
- {
- 'action_name': 'make-prog1',
- 'inputs': [
- 'make-prog1.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/prog1.c',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- {
- 'action_name': 'make-prog2',
- 'inputs': [
- 'make-prog2.py',
- ],
- 'outputs': [
- 'actions-out/prog2.c',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'counter',
- 'type': 'none',
- 'actions': [
- {
- # This action should always run, regardless of whether or not it's
- # inputs or the command-line change. We do this by creating a dummy
- # first output, which is always missing, thus causing the build to
- # always try to recreate it. Actual output files should be listed
- # after the dummy one, and dependent targets should list the real
- # output(s) in their inputs
- # (see '../actions.gyp:depend_on_always_run_action').
- 'action_name': 'action_counter',
- 'inputs': [
- 'counter.py',
- ],
- 'outputs': [
- 'actions-out/action-counter.txt.always',
- 'actions-out/action-counter.txt',
- ],
- 'action': [
- 'python', '<(_inputs)', 'actions-out/action-counter.txt', '2',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog1.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog1.py
deleted file mode 100755
index 7ea1d8a2d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog1.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = r"""
-#include <stdio.h>
-
-void prog1(void)
-{
- printf("Hello from make-prog1.py\n");
-}
-"""
-
-open(sys.argv[1], 'w').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog2.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog2.py
deleted file mode 100755
index 0bfe4973c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/make-prog2.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = r"""
-#include <stdio.h>
-
-void prog2(void)
-{
- printf("Hello from make-prog2.py\n");
-}
-"""
-
-open(sys.argv[1], 'w').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/program.c b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/program.c
deleted file mode 100644
index d5f661d90..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir1/program.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-extern void prog1(void);
-extern void prog2(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from program.c\n");
- prog1();
- prog2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/make-file.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/make-file.py
deleted file mode 100755
index fff065314..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/make-file.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = "Hello from make-file.py\n"
-
-open(sys.argv[1], 'wb').write(contents)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/none.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/none.gyp
deleted file mode 100644
index 2caa97d55..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir2/none.gyp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'file',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'actions': [
- {
- 'action_name': 'make-file',
- 'inputs': [
- 'make-file.py',
- ],
- 'outputs': [
- 'file.out',
- # TODO: enhance testing infrastructure to test this
- # without having to hard-code the intermediate dir paths.
- #'<(INTERMEDIATE_DIR)/file.out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/generate_main.py b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/generate_main.py
deleted file mode 100755
index b90b3aa6d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/generate_main.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = """
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from generate_main.py\\n");
- return 0;
-}
-"""
-
-open(sys.argv[1], 'w').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/null_input.gyp b/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/null_input.gyp
deleted file mode 100644
index 9b0bea5fd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/actions/src/subdir3/null_input.gyp
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'null_input',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'actions': [
- {
- 'action_name': 'generate_main',
- 'process_outputs_as_sources': 1,
- 'inputs': [],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/main.c',
- ],
- 'action': [
- # TODO: we can't just use <(_outputs) here?!
- 'python', 'generate_main.py', '<(INTERMEDIATE_DIR)/main.c',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/gyptest-additional.py b/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/gyptest-additional.py
deleted file mode 100755
index 4225b9a1a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/gyptest-additional.py
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple actions when using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('all.gyp', chdir='src')
-test.relocate('src', 'relocate/src')
-
-# Build all.
-test.build('all.gyp', chdir='relocate/src')
-
-if test.format=='xcode':
- chdir = 'relocate/src/dir1'
-else:
- chdir = 'relocate/src'
-
-# Output is as expected.
-file_content = 'Hello from emit.py\n'
-test.built_file_must_match('out2.txt', file_content, chdir=chdir)
-
-test.built_file_must_not_exist('out.txt', chdir='relocate/src')
-test.built_file_must_not_exist('foolib1',
- type=test.SHARED_LIB,
- chdir=chdir)
-
-# TODO(mmoss) Make consistent with scons, with 'dir1' before 'out/Default'?
-if test.format in ('make', 'ninja', 'android'):
- chdir='relocate/src'
-else:
- chdir='relocate/src/dir1'
-
-# Build the action explicitly.
-test.build('actions.gyp', 'action1_target', chdir=chdir)
-
-# Check that things got run.
-file_content = 'Hello from emit.py\n'
-test.built_file_must_exist('out.txt', chdir=chdir)
-
-# Build the shared library explicitly.
-test.build('actions.gyp', 'foolib1', chdir=chdir)
-
-test.built_file_must_exist('foolib1',
- type=test.SHARED_LIB,
- chdir=chdir,
- subdir='dir1')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/all.gyp
deleted file mode 100644
index 21c83080a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/all.gyp
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'all_targets',
- 'type': 'none',
- 'dependencies': ['dir1/actions.gyp:*'],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/actions.gyp
deleted file mode 100644
index 5089c8091..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/actions.gyp
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'action1_target',
- 'type': 'none',
- 'suppress_wildcard': 1,
- 'actions': [
- {
- 'action_name': 'action1',
- 'inputs': [
- 'emit.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/out.txt',
- ],
- 'action': ['python', 'emit.py', '<(PRODUCT_DIR)/out.txt'],
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'action2_target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action2',
- 'inputs': [
- 'emit.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/out2.txt',
- ],
- 'action': ['python', 'emit.py', '<(PRODUCT_DIR)/out2.txt'],
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'foolib1',
- 'type': 'shared_library',
- 'suppress_wildcard': 1,
- 'sources': ['lib1.c'],
- },
- ],
- 'conditions': [
- ['OS=="linux"', {
- 'target_defaults': {
- 'cflags': ['-fPIC'],
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/emit.py b/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/emit.py
deleted file mode 100755
index fd3138738..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/emit.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1], 'wb')
-f.write('Hello from emit.py\n')
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/lib1.c b/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/lib1.c
deleted file mode 100644
index df4cb10f7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/additional-targets/src/dir1/lib1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-int func1(void) {
- return 42;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/assembly/gyptest-assembly.py b/deps/npm/node_modules/node-gyp/gyp/test/assembly/gyptest-assembly.py
deleted file mode 100755
index 8a8431054..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/assembly/gyptest-assembly.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-A basic test of compiling assembler files.
-"""
-
-import sys
-import TestGyp
-
-if sys.platform != 'win32':
- # TODO(bradnelson): get this working for windows.
- test = TestGyp.TestGyp(formats=['!msvs'])
-
- test.run_gyp('assembly.gyp', chdir='src')
-
- test.relocate('src', 'relocate/src')
-
- test.build('assembly.gyp', test.ALL, chdir='relocate/src')
-
- expect = """\
-Hello from program.c
-Got 42.
-"""
- test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/as.bat b/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/as.bat
deleted file mode 100644
index 0a47382cb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/as.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-@echo off
-:: Mock windows assembler.
-cl /c %1 /Fo"%2"
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/assembly.gyp b/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/assembly.gyp
deleted file mode 100644
index af7333100..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/assembly.gyp
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'conditions': [
- ['OS=="win"', {
- 'defines': ['PLATFORM_WIN'],
- }],
- ['OS=="mac"', {
- 'defines': ['PLATFORM_MAC'],
- }],
- ['OS=="linux"', {
- 'defines': ['PLATFORM_LINUX'],
- }],
- ['OS=="android"', {
- 'defines': ['PLATFORM_ANDROID'],
- }],
- ],
- },
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'dependencies': ['lib1'],
- 'sources': [
- 'program.c',
- ],
- },
- {
- 'target_name': 'lib1',
- 'type': 'static_library',
- 'sources': [
- 'lib1.S',
- ],
- },
- ],
- 'conditions': [
- ['OS=="win"', {
- 'target_defaults': {
- 'rules': [
- {
- 'rule_name': 'assembler',
- 'msvs_cygwin_shell': 0,
- 'extension': 'S',
- 'inputs': [
- 'as.bat',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).obj',
- ],
- 'action':
- ['as.bat', 'lib1.c', '<(_outputs)'],
- 'message': 'Building assembly file <(RULE_INPUT_PATH)',
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- },],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.S b/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.S
deleted file mode 100644
index 7de9f19cf..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.S
+++ /dev/null
@@ -1,15 +0,0 @@
-#if PLATFORM_WINDOWS || PLATFORM_MAC
-# define IDENTIFIER(n) _##n
-#else /* Linux */
-# define IDENTIFIER(n) n
-#endif
-
-.globl IDENTIFIER(lib1_function)
-IDENTIFIER(lib1_function):
-#if !defined(PLATFORM_ANDROID)
- movl $42, %eax
- ret
-#else /* Android (assuming ARM) */
- mov r0, #42
- bx lr
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.c b/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.c
deleted file mode 100644
index be21ecd5f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/lib1.c
+++ /dev/null
@@ -1,3 +0,0 @@
-int lib1_function(void) {
- return 42;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/program.c b/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/program.c
deleted file mode 100644
index ecce3b0bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/assembly/src/program.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-extern int lib1_function(void);
-
-int main(int argc, char *argv[])
-{
- fprintf(stdout, "Hello from program.c\n");
- fflush(stdout);
- fprintf(stdout, "Got %d.\n", lib1_function());
- fflush(stdout);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/build-option/gyptest-build.py b/deps/npm/node_modules/node-gyp/gyp/test/build-option/gyptest-build.py
deleted file mode 100755
index 602c43565..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/build-option/gyptest-build.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simplest-possible build of a "Hello, world!" program
-using the default build target.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_default')
-
-test.run_gyp('hello.gyp', '--build=Default')
-
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-test.up_to_date('hello.gyp', test.DEFAULT)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.c
deleted file mode 100644
index 78a67b546..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello, world!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.gyp
deleted file mode 100644
index 1974d51cc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/build-option/hello.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-all.py
deleted file mode 100755
index 711f8772e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-all.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify the settings that cause a set of programs to be created in
-a specific build directory, and that no intermediate built files
-get created outside of that build directory hierarchy even when
-referred to with deeply-nested ../../.. paths.
-"""
-
-import TestGyp
-
-# TODO(mmoss): Make only supports (theoretically) a single, global build
-# directory (through GYP_GENERATOR_FLAGS 'output_dir'), rather than
-# gyp-file-specific settings (e.g. the stuff in builddir.gypi) that the other
-# generators support, so this doesn't work yet for make.
-# TODO(mmoss) Make also has the issue that the top-level Makefile is written to
-# the "--depth" location, which is one level above 'src', but then this test
-# moves 'src' somewhere else, leaving the Makefile behind, so make can't find
-# its sources. I'm not sure if make is wrong for writing outside the current
-# directory, or if the test is wrong for assuming everything generated is under
-# the current directory.
-# Android does not support setting the build directory.
-test = TestGyp.TestGyp(formats=['!make', '!ninja', '!android'])
-
-test.run_gyp('prog1.gyp', '--depth=..', chdir='src')
-if test.format == 'msvs':
- if test.uses_msbuild:
- test.must_contain('src/prog1.vcxproj',
- '<OutDir>..\\builddir\\Default\\</OutDir>')
- else:
- test.must_contain('src/prog1.vcproj',
- 'OutputDirectory="..\\builddir\\Default\\"')
-
-test.relocate('src', 'relocate/src')
-
-test.subdir('relocate/builddir')
-
-# Make sure that all the built ../../etc. files only get put under builddir,
-# by making all of relocate read-only and then making only builddir writable.
-test.writable('relocate', False)
-test.writable('relocate/builddir', True)
-
-# Suppress the test infrastructure's setting SYMROOT on the command line.
-test.build('prog1.gyp', test.ALL, SYMROOT=None, chdir='relocate/src')
-
-expect1 = """\
-Hello from prog1.c
-Hello from func1.c
-"""
-
-expect2 = """\
-Hello from subdir2/prog2.c
-Hello from func2.c
-"""
-
-expect3 = """\
-Hello from subdir2/subdir3/prog3.c
-Hello from func3.c
-"""
-
-expect4 = """\
-Hello from subdir2/subdir3/subdir4/prog4.c
-Hello from func4.c
-"""
-
-expect5 = """\
-Hello from subdir2/subdir3/subdir4/subdir5/prog5.c
-Hello from func5.c
-"""
-
-def run_builddir(prog, expect):
- dir = 'relocate/builddir/Default/'
- test.run(program=test.workpath(dir + prog), stdout=expect)
-
-run_builddir('prog1', expect1)
-run_builddir('prog2', expect2)
-run_builddir('prog3', expect3)
-run_builddir('prog4', expect4)
-run_builddir('prog5', expect5)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-default.py
deleted file mode 100755
index d29cd4360..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/gyptest-default.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify the settings that cause a set of programs to be created in
-a specific build directory, and that no intermediate built files
-get created outside of that build directory hierarchy even when
-referred to with deeply-nested ../../.. paths.
-"""
-
-import TestGyp
-
-# TODO(mmoss): Make only supports (theoretically) a single, global build
-# directory (through GYP_GENERATOR_FLAGS 'output_dir'), rather than
-# gyp-file-specific settings (e.g. the stuff in builddir.gypi) that the other
-# generators support, so this doesn't work yet for make.
-# TODO(mmoss) Make also has the issue that the top-level Makefile is written to
-# the "--depth" location, which is one level above 'src', but then this test
-# moves 'src' somewhere else, leaving the Makefile behind, so make can't find
-# its sources. I'm not sure if make is wrong for writing outside the current
-# directory, or if the test is wrong for assuming everything generated is under
-# the current directory.
-# Android does not support setting the build directory.
-test = TestGyp.TestGyp(formats=['!make', '!ninja', '!android'])
-
-test.run_gyp('prog1.gyp', '--depth=..', chdir='src')
-if test.format == 'msvs':
- if test.uses_msbuild:
- test.must_contain('src/prog1.vcxproj',
- '<OutDir>..\\builddir\\Default\\</OutDir>')
- else:
- test.must_contain('src/prog1.vcproj',
- 'OutputDirectory="..\\builddir\\Default\\"')
-
-test.relocate('src', 'relocate/src')
-
-test.subdir('relocate/builddir')
-
-# Make sure that all the built ../../etc. files only get put under builddir,
-# by making all of relocate read-only and then making only builddir writable.
-test.writable('relocate', False)
-test.writable('relocate/builddir', True)
-
-# Suppress the test infrastructure's setting SYMROOT on the command line.
-test.build('prog1.gyp', SYMROOT=None, chdir='relocate/src')
-
-expect1 = """\
-Hello from prog1.c
-Hello from func1.c
-"""
-
-expect2 = """\
-Hello from subdir2/prog2.c
-Hello from func2.c
-"""
-
-expect3 = """\
-Hello from subdir2/subdir3/prog3.c
-Hello from func3.c
-"""
-
-expect4 = """\
-Hello from subdir2/subdir3/subdir4/prog4.c
-Hello from func4.c
-"""
-
-expect5 = """\
-Hello from subdir2/subdir3/subdir4/subdir5/prog5.c
-Hello from func5.c
-"""
-
-def run_builddir(prog, expect):
- dir = 'relocate/builddir/Default/'
- test.run(program=test.workpath(dir + prog), stdout=expect)
-
-run_builddir('prog1', expect1)
-run_builddir('prog2', expect2)
-run_builddir('prog3', expect3)
-run_builddir('prog4', expect4)
-run_builddir('prog5', expect5)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/builddir.gypi b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/builddir.gypi
deleted file mode 100644
index 544c1e68e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/builddir.gypi
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'configurations': {
- 'Default': {
- 'msvs_configuration_attributes': {
- 'OutputDirectory': '<(DEPTH)\\builddir/Default',
- },
- },
- },
- },
- 'scons_settings': {
- 'sconsbuild_dir': '<(DEPTH)/builddir',
- },
- 'xcode_settings': {
- 'SYMROOT': '<(DEPTH)/builddir',
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func1.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func1.c
deleted file mode 100644
index b8e6a0695..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func1.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void func1(void)
-{
- printf("Hello from func1.c\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func2.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func2.c
deleted file mode 100644
index 14aabac47..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func2.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void func2(void)
-{
- printf("Hello from func2.c\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func3.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func3.c
deleted file mode 100644
index 3b4edeae6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func3.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void func3(void)
-{
- printf("Hello from func3.c\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func4.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func4.c
deleted file mode 100644
index 732891b79..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func4.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void func4(void)
-{
- printf("Hello from func4.c\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func5.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func5.c
deleted file mode 100644
index 18fdfabbb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/func5.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void func5(void)
-{
- printf("Hello from func5.c\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.c
deleted file mode 100644
index 674ca747b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void func1(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog1.c\n");
- func1();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.gyp
deleted file mode 100644
index 5b96f035e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/prog1.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- 'builddir.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'pull_in_all',
- 'type': 'none',
- 'dependencies': [
- 'prog1',
- 'subdir2/prog2.gyp:prog2',
- 'subdir2/subdir3/prog3.gyp:prog3',
- 'subdir2/subdir3/subdir4/prog4.gyp:prog4',
- 'subdir2/subdir3/subdir4/subdir5/prog5.gyp:prog5',
- ],
- },
- {
- 'target_name': 'prog1',
- 'type': 'executable',
- 'sources': [
- 'prog1.c',
- 'func1.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.c
deleted file mode 100644
index bbdf4f060..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void func2(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from subdir2/prog2.c\n");
- func2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.gyp
deleted file mode 100644
index 96299b646..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/prog2.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../builddir.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog2',
- 'type': 'executable',
- 'sources': [
- 'prog2.c',
- '../func2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.c
deleted file mode 100644
index 10c530b23..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void func3(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from subdir2/subdir3/prog3.c\n");
- func3();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.gyp b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.gyp
deleted file mode 100644
index d7df43c7b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/prog3.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../../builddir.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog3',
- 'type': 'executable',
- 'sources': [
- 'prog3.c',
- '../../func3.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.c
deleted file mode 100644
index dcba9a9d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void func4(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from subdir2/subdir3/subdir4/prog4.c\n");
- func4();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.gyp b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.gyp
deleted file mode 100644
index 862a8a18c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/prog4.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../../../builddir.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog4',
- 'type': 'executable',
- 'sources': [
- 'prog4.c',
- '../../../func4.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.c b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.c
deleted file mode 100644
index 69132e576..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void func5(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from subdir2/subdir3/subdir4/subdir5/prog5.c\n");
- func5();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.gyp b/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.gyp
deleted file mode 100644
index fe1c9cbf5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/builddir/src/subdir2/subdir3/subdir4/subdir5/prog5.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../../../../builddir.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog5',
- 'type': 'executable',
- 'sources': [
- 'prog5.c',
- '../../../../func5.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.c b/deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.c
deleted file mode 100644
index c1e245207..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (c) 2010 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#ifdef __OPTIMIZE__
- printf("Using an optimization flag\n");
-#else
- printf("Using no optimization flag\n");
-#endif
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.gyp b/deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.gyp
deleted file mode 100644
index 9003fb167..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/cflags/cflags.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'cflags',
- 'type': 'executable',
- 'opt': '-Os',
- 'sources': [
- 'cflags.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/cflags/gyptest-cflags.py b/deps/npm/node_modules/node-gyp/gyp/test/cflags/gyptest-cflags.py
deleted file mode 100755
index a4cee4bf0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/cflags/gyptest-cflags.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable with C++ define specified by a gyp define, and
-the use of the environment during regeneration when the gyp file changes.
-"""
-
-import os
-import TestGyp
-
-env_stack = []
-
-
-def PushEnv():
- env_copy = os.environ.copy()
- env_stack.append(env_copy)
-
-def PopEnv():
- os.eniron=env_stack.pop()
-
-# Regenerating build files when a gyp file changes is currently only supported
-# by the make and Android generators.
-test = TestGyp.TestGyp(formats=['make', 'android'])
-
-try:
- PushEnv()
- os.environ['CFLAGS'] = '-O0'
- test.run_gyp('cflags.gyp')
-finally:
- # We clear the environ after calling gyp. When the auto-regeneration happens,
- # the same define should be reused anyway. Reset to empty string first in
- # case the platform doesn't support unsetenv.
- PopEnv()
-
-test.build('cflags.gyp')
-
-expect = """\
-Using no optimization flag
-"""
-test.run_built_executable('cflags', stdout=expect)
-
-test.sleep()
-
-try:
- PushEnv()
- os.environ['CFLAGS'] = '-O2'
- test.run_gyp('cflags.gyp')
-finally:
- # We clear the environ after calling gyp. When the auto-regeneration happens,
- # the same define should be reused anyway. Reset to empty string first in
- # case the platform doesn't support unsetenv.
- PopEnv()
-
-test.build('cflags.gyp')
-
-expect = """\
-Using an optimization flag
-"""
-test.run_built_executable('cflags', stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compilable/gyptest-headers.py b/deps/npm/node_modules/node-gyp/gyp/test/compilable/gyptest-headers.py
deleted file mode 100755
index 91760216f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compilable/gyptest-headers.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that .hpp files are ignored when included in the source list on all
-platforms.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('headers.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('headers.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from program.c
-Hello from lib1.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/headers.gyp b/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/headers.gyp
deleted file mode 100644
index b6c2a8857..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/headers.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'dependencies': [
- 'lib1'
- ],
- 'sources': [
- 'program.cpp',
- ],
- },
- {
- 'target_name': 'lib1',
- 'type': 'static_library',
- 'sources': [
- 'lib1.hpp',
- 'lib1.cpp',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.cpp b/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.cpp
deleted file mode 100644
index 51bc31a40..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include "lib1.hpp"
-
-void lib1_function(void) {
- fprintf(stdout, "Hello from lib1.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.hpp b/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.hpp
deleted file mode 100644
index 72e63e8ac..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/lib1.hpp
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _lib1_hpp
-#define _lib1_hpp
-
-extern void lib1_function(void);
-
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/program.cpp b/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/program.cpp
deleted file mode 100644
index 81420bad4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compilable/src/program.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-#include "lib1.hpp"
-
-int main(int argc, char *argv[]) {
- fprintf(stdout, "Hello from program.c\n");
- fflush(stdout);
- lib1_function();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-global-settings.gyp.in b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-global-settings.gyp.in
deleted file mode 100644
index ca13a53e8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-global-settings.gyp.in
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- # PYTHON and PWD are replaced by the test code before this
- # gyp file runs
- 'make_global_settings': [
- ['CC', r'$PYTHON $PWD/my_cc.py FOO'],
- ['CXX', r'$PYTHON $PWD/my_cxx.py FOO'],
- ['CC.host', r'$PYTHON $PWD/my_cc.py BAR'],
- ['CXX.host', r'$PYTHON $PWD/my_cxx.py BAR'],
-
- ['LD', r'$PYTHON $PWD/my_ld.py FOO_LINK'],
- ['LD.host', r'$PYTHON $PWD/my_ld.py BAR_LINK'],
- ['LINK', r'$PYTHON $PWD/my_ld.py FOO_LINK'],
- ['LINK.host', r'$PYTHON $PWD/my_ld.py BAR_LINK'],
- ],
-
- # The above global settings should mean that
- # that these targets are built using the fake
- # toolchain above.
- 'targets': [
- {
- 'toolset': '$TOOLSET',
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'test.c',
- 'cxxtest.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-host.gyp b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-host.gyp
deleted file mode 100644
index 05b0368d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler-host.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'toolset': 'host',
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'test.c',
- 'cxxtest.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler.gyp b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler.gyp
deleted file mode 100644
index c2f3002f2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/compiler.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'test.c',
- 'cxxtest.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/cxxtest.cc b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/cxxtest.cc
deleted file mode 100644
index 517a35361..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/cxxtest.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Deliberate C syntax error as this file should never be passed to
-// the actual compiler
-#error Should not be passed to a real compiler
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-env.py b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-env.py
deleted file mode 100755
index 896695dbd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-env.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-"""
-Verifies that the user can override the compiler and linker using CC/CXX/LD
-environment variables.
-"""
-
-import TestGyp
-import os
-import copy
-import sys
-
-here = os.path.dirname(os.path.abspath(__file__))
-
-if sys.platform == 'win32':
- # cross compiling not support by ninja on windows
- # and make not supported on windows at all.
- sys.exit(0)
-
-test = TestGyp.TestGyp(formats=['ninja', 'make'])
-
-def CheckCompiler(test, gypfile, check_for):
- test.run_gyp(gypfile)
- test.build(gypfile)
-
- # We can't test to presence of my_ld.py in the output since
- # ninja will use CXX_target as the linker regardless
- test.must_contain_all_lines(test.stdout(), check_for)
-
-oldenv = os.environ.copy()
-try:
- # Check that CC, CXX and LD set target compiler
- os.environ['CC'] = 'python %s/my_cc.py FOO' % here
- os.environ['CXX'] = 'python %s/my_cxx.py FOO' % here
- os.environ['LD'] = 'python %s/my_ld.py FOO_LINK' % here
- CheckCompiler(test, 'compiler.gyp',
- ['my_cc.py', 'my_cxx.py', 'FOO', 'FOO_LINK'])
-finally:
- os.environ.clear()
- os.environ.update(oldenv)
-
-try:
- # Check that CC_host sets host compilee
- os.environ['CC_host'] = 'python %s/my_cc.py HOST' % here
- os.environ['CXX_host'] = 'python %s/my_cxx.py HOST' % here
- os.environ['LD_host'] = 'python %s/my_ld.py HOST_LINK' % here
- CheckCompiler(test, 'compiler-host.gyp',
- ['my_cc.py', 'my_cxx.py', 'HOST', 'HOST_LINK'])
-finally:
- os.environ.clear()
- os.environ.update(oldenv)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-global-settings.py b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-global-settings.py
deleted file mode 100755
index 23ebe3661..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/gyptest-compiler-global-settings.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-"""
-Verifies that make_global_settings can be used to override the
-compiler settings.
-"""
-
-import TestGyp
-import os
-import copy
-import sys
-from string import Template
-
-
-if sys.platform == 'win32':
- # cross compiling not support by ninja on windows
- # and make not supported on windows at all.
- sys.exit(0)
-
-test = TestGyp.TestGyp(formats=['ninja', 'make'])
-
-gypfile = 'compiler-global-settings.gyp'
-
-replacements = { 'PYTHON': '/usr/bin/python', 'PWD': os.getcwd()}
-
-# Process the .in gyp file to produce the final gyp file
-# since we need to include absolute paths in the make_global_settings
-# section.
-replacements['TOOLSET'] = 'target'
-s = Template(open(gypfile + '.in').read())
-output = open(gypfile, 'w')
-output.write(s.substitute(replacements))
-output.close()
-
-test.run_gyp(gypfile)
-test.build(gypfile)
-test.must_contain_all_lines(test.stdout(), ['my_cc.py', 'my_cxx.py', 'FOO'])
-
-# Same again but with the host toolset.
-replacements['TOOLSET'] = 'host'
-s = Template(open(gypfile + '.in').read())
-output = open(gypfile, 'w')
-output.write(s.substitute(replacements))
-output.close()
-
-test.run_gyp(gypfile)
-test.build(gypfile)
-test.must_contain_all_lines(test.stdout(), ['my_cc.py', 'my_cxx.py', 'BAR'])
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cc.py b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cc.py
deleted file mode 100755
index e2f0bdd51..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cc.py
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import sys
-print sys.argv
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cxx.py b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cxx.py
deleted file mode 100755
index e2f0bdd51..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_cxx.py
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import sys
-print sys.argv
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_ld.py b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_ld.py
deleted file mode 100755
index e2f0bdd51..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/my_ld.py
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import sys
-print sys.argv
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/test.c b/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/test.c
deleted file mode 100644
index 517a35361..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/compiler-override/test.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Deliberate C syntax error as this file should never be passed to
-// the actual compiler
-#error Should not be passed to a real compiler
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.c b/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.c
deleted file mode 100644
index 6c1f90016..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#ifdef FOO
- printf("Foo configuration\n");
-#endif
-#ifdef DEBUG
- printf("Debug configuration\n");
-#endif
-#ifdef RELEASE
- printf("Release configuration\n");
-#endif
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.gyp
deleted file mode 100644
index 93f1d8d5c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/configurations.gyp
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'executable',
- 'sources': [
- 'configurations.c',
- ],
- 'configurations': {
- 'Debug': {
- 'defines': [
- 'DEBUG',
- ],
- },
- 'Release': {
- 'defines': [
- 'RELEASE',
- ],
- },
- 'Foo': {
- 'defines': [
- 'FOO',
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/gyptest-configurations.py b/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/gyptest-configurations.py
deleted file mode 100755
index 27cd2e87d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/basics/gyptest-configurations.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable in three different configurations.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('configurations.gyp')
-
-test.set_configuration('Release')
-test.build('configurations.gyp')
-test.run_built_executable('configurations', stdout="Release configuration\n")
-
-test.set_configuration('Debug')
-test.build('configurations.gyp')
-test.run_built_executable('configurations', stdout="Debug configuration\n")
-
-test.set_configuration('Foo')
-test.build('configurations.gyp')
-test.run_built_executable('configurations', stdout="Foo configuration\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.c b/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.c
deleted file mode 100644
index 2d5565eeb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#ifdef BASE
- printf("Base configuration\n");
-#endif
-#ifdef COMMON
- printf("Common configuration\n");
-#endif
-#ifdef COMMON2
- printf("Common2 configuration\n");
-#endif
-#ifdef DEBUG
- printf("Debug configuration\n");
-#endif
-#ifdef RELEASE
- printf("Release configuration\n");
-#endif
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.gyp
deleted file mode 100644
index 9441376b4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/configurations.gyp
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'configurations': {
- 'Base': {
- 'abstract': 1,
- 'defines': ['BASE'],
- },
- 'Common': {
- 'abstract': 1,
- 'inherit_from': ['Base'],
- 'defines': ['COMMON'],
- },
- 'Common2': {
- 'abstract': 1,
- 'defines': ['COMMON2'],
- },
- 'Debug': {
- 'inherit_from': ['Common', 'Common2'],
- 'defines': ['DEBUG'],
- },
- 'Release': {
- 'inherit_from': ['Common', 'Common2'],
- 'defines': ['RELEASE'],
- },
- },
- },
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'executable',
- 'sources': [
- 'configurations.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/gyptest-inheritance.py b/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/gyptest-inheritance.py
deleted file mode 100755
index 22c73a375..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/inheritance/gyptest-inheritance.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable in three different configurations.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('configurations.gyp')
-
-test.set_configuration('Release')
-test.build('configurations.gyp')
-test.run_built_executable('configurations',
- stdout=('Base configuration\n'
- 'Common configuration\n'
- 'Common2 configuration\n'
- 'Release configuration\n'))
-
-test.set_configuration('Debug')
-test.build('configurations.gyp')
-test.run_built_executable('configurations',
- stdout=('Base configuration\n'
- 'Common configuration\n'
- 'Common2 configuration\n'
- 'Debug configuration\n'))
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/actions.gyp
deleted file mode 100644
index a6e42089e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/actions.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'actions': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/all_dependent_settings.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/all_dependent_settings.gyp
deleted file mode 100644
index b16a245df..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/all_dependent_settings.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'all_dependent_settings': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/configurations.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/configurations.gyp
deleted file mode 100644
index 2cfc96004..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/configurations.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'configurations': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/dependencies.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/dependencies.gyp
deleted file mode 100644
index 74633f3f1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/dependencies.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'dependencies': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/direct_dependent_settings.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/direct_dependent_settings.gyp
deleted file mode 100644
index 8a0f2e95e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/direct_dependent_settings.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'direct_dependent_settings': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/gyptest-configurations.py b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/gyptest-configurations.py
deleted file mode 100755
index c8b853e7a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/gyptest-configurations.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable in three different configurations.
-"""
-
-import TestGyp
-
-# Keys that do not belong inside a configuration dictionary.
-invalid_configuration_keys = [
- 'actions',
- 'all_dependent_settings',
- 'configurations',
- 'dependencies',
- 'direct_dependent_settings',
- 'libraries',
- 'link_settings',
- 'sources',
- 'standalone_static_library',
- 'target_name',
- 'type',
-]
-
-test = TestGyp.TestGyp()
-
-if test.format == 'scons':
- test.skip_test('TODO: http://code.google.com/p/gyp/issues/detail?id=176\n')
-
-for test_key in invalid_configuration_keys:
- test.run_gyp('%s.gyp' % test_key, status=1, stderr=None)
- expect = ['%s not allowed in the Debug configuration, found in target '
- '%s.gyp:configurations#target' % (test_key, test_key)]
- test.must_contain_all_lines(test.stderr(), expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/libraries.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/libraries.gyp
deleted file mode 100644
index c4014ed40..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/libraries.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'libraries': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/link_settings.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/link_settings.gyp
deleted file mode 100644
index 2f0e1c46f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/link_settings.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'link_settings': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/sources.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/sources.gyp
deleted file mode 100644
index b38cca038..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/sources.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'sources': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/standalone_static_library.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/standalone_static_library.gyp
deleted file mode 100644
index 2edb9febd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/standalone_static_library.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'standalone_static_library': 1,
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/target_name.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/target_name.gyp
deleted file mode 100644
index 83baad95d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/target_name.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'target_name': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/type.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/type.gyp
deleted file mode 100644
index bc55898b8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/invalid/type.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'none',
- 'configurations': {
- 'Debug': {
- 'type': [
- ],
- },
- }
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/configurations.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/configurations.gyp
deleted file mode 100644
index d15429f4e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/configurations.gyp
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'configurations': {
- 'Debug_Win32': {
- 'msvs_configuration_platform': 'Win32',
- },
- 'Debug_x64': {
- 'msvs_configuration_platform': 'x64',
- },
- },
- },
- 'targets': [
- {
- 'target_name': 'left',
- 'type': 'static_library',
- 'sources': [
- 'left.c',
- ],
- 'configurations': {
- 'Debug_Win32': {
- 'msvs_target_platform': 'x64',
- },
- },
- },
- {
- 'target_name': 'right',
- 'type': 'static_library',
- 'sources': [
- 'right.c',
- ],
- },
- {
- 'target_name': 'front_left',
- 'type': 'executable',
- 'dependencies': ['left'],
- 'sources': [
- 'front.c',
- ],
- 'configurations': {
- 'Debug_Win32': {
- 'msvs_target_platform': 'x64',
- },
- },
- },
- {
- 'target_name': 'front_right',
- 'type': 'executable',
- 'dependencies': ['right'],
- 'sources': [
- 'front.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/front.c b/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/front.c
deleted file mode 100644
index 12b1d0aa3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/front.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <stdio.h>
-
-const char *message(void);
-
-int main(int argc, char *argv[]) {
- printf("%s\n", message());
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/gyptest-target_platform.py b/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/gyptest-target_platform.py
deleted file mode 100755
index ae4e9e5a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/gyptest-target_platform.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests the msvs specific msvs_target_platform option.
-"""
-
-import TestGyp
-import TestCommon
-
-
-def RunX64(exe, stdout):
- try:
- test.run_built_executable(exe, stdout=stdout)
- except WindowsError, e:
- # Assume the exe is 64-bit if it can't load on 32-bit systems.
- # Both versions of the error are required because different versions
- # of python seem to return different errors for invalid exe type.
- if e.errno != 193 and '[Error 193]' not in str(e):
- raise
-
-
-test = TestGyp.TestGyp(formats=['msvs'])
-
-test.run_gyp('configurations.gyp')
-
-test.set_configuration('Debug|x64')
-test.build('configurations.gyp', rebuild=True)
-RunX64('front_left', stdout=('left\n'))
-RunX64('front_right', stdout=('right\n'))
-
-test.set_configuration('Debug|Win32')
-test.build('configurations.gyp', rebuild=True)
-RunX64('front_left', stdout=('left\n'))
-test.run_built_executable('front_right', stdout=('right\n'))
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/left.c b/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/left.c
deleted file mode 100644
index 1ce2ea122..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/left.c
+++ /dev/null
@@ -1,3 +0,0 @@
-const char *message(void) {
- return "left";
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/right.c b/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/right.c
deleted file mode 100644
index b1578492f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/target_platform/right.c
+++ /dev/null
@@ -1,3 +0,0 @@
-const char *message(void) {
- return "right";
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.c b/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.c
deleted file mode 100644
index 72c97e31d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
- if (sizeof(void*) == 4) {
- printf("Running Win32\n");
- } else if (sizeof(void*) == 8) {
- printf("Running x64\n");
- } else {
- printf("Unexpected platform\n");
- }
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.gyp b/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.gyp
deleted file mode 100644
index 8b0139f14..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/configurations.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'configurations': {
- 'Debug': {
- 'msvs_configuration_platform': 'Win32',
- },
- 'Debug_x64': {
- 'inherit_from': ['Debug'],
- 'msvs_configuration_platform': 'x64',
- },
- },
- },
- 'targets': [
- {
- 'target_name': 'configurations',
- 'type': 'executable',
- 'sources': [
- 'configurations.c',
- ],
- },
- {
- 'target_name': 'configurations64',
- 'type': 'executable',
- 'sources': [
- 'configurations.c',
- ],
- 'configurations': {
- 'Debug': {
- 'msvs_target_platform': 'x64',
- },
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/gyptest-x86.py b/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/gyptest-x86.py
deleted file mode 100755
index 8675d8f7e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/configurations/x64/gyptest-x86.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable in three different configurations.
-"""
-
-import TestGyp
-
-import sys
-
-formats = ['msvs']
-if sys.platform == 'win32':
- formats += ['ninja']
-test = TestGyp.TestGyp(formats=formats)
-
-test.run_gyp('configurations.gyp')
-test.set_configuration('Debug|Win32')
-test.build('configurations.gyp', test.ALL)
-
-for machine, suffix in [('14C machine (x86)', ''),
- ('8664 machine (x64)', '64')]:
- output = test.run_dumpbin(
- '/headers', test.built_file_path('configurations%s.exe' % suffix))
- if machine not in output:
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-all.py
deleted file mode 100755
index 8542ab7b9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-all.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies file copies using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('copies.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('copies.gyp', test.ALL, chdir='relocate/src')
-
-test.must_match(['relocate', 'src', 'copies-out', 'file1'], 'file1 contents\n')
-
-test.built_file_must_match('copies-out/file2',
- 'file2 contents\n',
- chdir='relocate/src')
-
-test.built_file_must_match('copies-out/directory/file3',
- 'file3 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out/directory/file4',
- 'file4 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out/directory/subdir/file5',
- 'file5 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out/subdir/file6',
- 'file6 contents\n',
- chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-default.py
deleted file mode 100755
index a5d1bf9c3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-default.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies file copies using the build tool default.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('copies.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('copies.gyp', chdir='relocate/src')
-
-test.must_match(['relocate', 'src', 'copies-out', 'file1'], 'file1 contents\n')
-
-test.built_file_must_match('copies-out/file2',
- 'file2 contents\n',
- chdir='relocate/src')
-
-test.built_file_must_match('copies-out/directory/file3',
- 'file3 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out/directory/file4',
- 'file4 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out/directory/subdir/file5',
- 'file5 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out/subdir/file6',
- 'file6 contents\n',
- chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-slash.py b/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-slash.py
deleted file mode 100755
index 81a4f42a3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-slash.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies file copies with a trailing slash in the destination directory.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-test.run_gyp('copies-slash.gyp', chdir='src')
-test.relocate('src', 'relocate/src')
-test.build('copies-slash.gyp', chdir='relocate/src')
-
-test.built_file_must_match('copies-out-slash/directory/file3',
- 'file3 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out-slash/directory/file4',
- 'file4 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out-slash/directory/subdir/file5',
- 'file5 contents\n',
- chdir='relocate/src')
-
-test.built_file_must_match('copies-out-slash-2/directory/file3',
- 'file3 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out-slash-2/directory/file4',
- 'file4 contents\n',
- chdir='relocate/src')
-test.built_file_must_match('copies-out-slash-2/directory/subdir/file5',
- 'file5 contents\n',
- chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-updir.py b/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-updir.py
deleted file mode 100755
index 1bb9b1d12..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/gyptest-updir.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies file copies where the destination is one level above an expansion that
-yields a make variable.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-test.run_gyp('copies-updir.gyp', chdir='src')
-test.relocate('src', 'relocate/src')
-test.build('copies-updir.gyp', 'copies_up', chdir='relocate/src')
-
-test.built_file_must_match('../copies-out-updir/file1',
- 'file1 contents\n',
- chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-slash.gyp b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-slash.gyp
deleted file mode 100644
index 9bf54bd18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-slash.gyp
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # A trailing slash on the destination directory should be ignored.
- {
- 'target_name': 'copies_recursive_trailing_slash',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out-slash/',
- 'files': [
- 'directory/',
- ],
- },
- ],
- },
- # Even if the source directory is below <(PRODUCT_DIR).
- {
- 'target_name': 'copies_recursive_trailing_slash_in_product_dir',
- 'type': 'none',
- 'dependencies': [ ':copies_recursive_trailing_slash' ],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out-slash-2/',
- 'files': [
- '<(PRODUCT_DIR)/copies-out-slash/directory/',
- ],
- },
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-updir.gyp b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-updir.gyp
deleted file mode 100644
index bd3bfdd1d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies-updir.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'copies_up',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/../copies-out-updir',
- 'files': [
- 'file1',
- ],
- },
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies.gyp b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies.gyp
deleted file mode 100644
index ce2e0cabc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/copies.gyp
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'copies1',
- 'type': 'none',
- 'copies': [
- {
- 'destination': 'copies-out',
- 'files': [
- 'file1',
- ],
- },
- ],
- },
- {
- 'target_name': 'copies2',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out',
- 'files': [
- 'file2',
- ],
- },
- ],
- },
- # Copy a directory tree.
- {
- 'target_name': 'copies_recursive',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out',
- 'files': [
- 'directory/',
- ],
- },
- ],
- },
- # Copy a directory from deeper in the tree (this should not reproduce the
- # entire directory path in the destination, only the final directory).
- {
- 'target_name': 'copies_recursive_depth',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out',
- 'files': [
- 'parentdir/subdir/',
- ],
- },
- ],
- },
- # Verify that a null 'files' list doesn't gag the generators.
- {
- 'target_name': 'copies_null',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-null',
- 'files': [],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file3 b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file3
deleted file mode 100644
index 43f16f352..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file3
+++ /dev/null
@@ -1 +0,0 @@
-file3 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file4 b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file4
deleted file mode 100644
index 5f7270a08..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/file4
+++ /dev/null
@@ -1 +0,0 @@
-file4 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/subdir/file5 b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/subdir/file5
deleted file mode 100644
index 41f47186b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/directory/subdir/file5
+++ /dev/null
@@ -1 +0,0 @@
-file5 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/file1 b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/file1
deleted file mode 100644
index 84d55c575..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/file1
+++ /dev/null
@@ -1 +0,0 @@
-file1 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/file2 b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/file2
deleted file mode 100644
index af1b8ae35..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/file2
+++ /dev/null
@@ -1 +0,0 @@
-file2 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/parentdir/subdir/file6 b/deps/npm/node_modules/node-gyp/gyp/test/copies/src/parentdir/subdir/file6
deleted file mode 100644
index f5d575734..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/copies/src/parentdir/subdir/file6
+++ /dev/null
@@ -1 +0,0 @@
-file6 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/gyptest-custom-generator.py b/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/gyptest-custom-generator.py
deleted file mode 100755
index 85fd0724a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/gyptest-custom-generator.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Test that custom generators can be passed to --format
-"""
-
-import TestGyp
-
-test = TestGyp.TestGypCustom(format='mygenerator.py')
-test.run_gyp('test.gyp')
-
-# mygenerator.py should generate a file called MyBuildFile containing
-# "Testing..." alongside the gyp file.
-test.must_match('MyBuildFile', 'Testing...\n')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/mygenerator.py b/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/mygenerator.py
deleted file mode 100644
index 8eb4c2de1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/mygenerator.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Custom gyp generator that doesn't do much."""
-
-import gyp.common
-
-generator_default_variables = {}
-
-def GenerateOutput(target_list, target_dicts, data, params):
- f = open("MyBuildFile", "wb")
- f.write("Testing...\n")
- f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/test.gyp
deleted file mode 100644
index aa5f864a3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/custom-generator/test.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'exe',
- 'type': 'executable',
- 'sources': [
- 'main.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.cc b/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.cc
deleted file mode 100644
index c1e245207..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (c) 2010 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#ifdef __OPTIMIZE__
- printf("Using an optimization flag\n");
-#else
- printf("Using no optimization flag\n");
-#endif
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.gyp b/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.gyp
deleted file mode 100644
index 24d883aae..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/cxxflags.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'cxxflags',
- 'type': 'executable',
- 'opt': '-Os',
- 'sources': [
- 'cxxflags.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/gyptest-cxxflags.py b/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/gyptest-cxxflags.py
deleted file mode 100755
index 71db8bc40..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/cxxflags/gyptest-cxxflags.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable with C++ define specified by a gyp define, and
-the use of the environment during regeneration when the gyp file changes.
-"""
-
-import os
-import TestGyp
-
-env_stack = []
-
-
-def PushEnv():
- env_copy = os.environ.copy()
- env_stack.append(env_copy)
-
-def PopEnv():
- os.eniron=env_stack.pop()
-
-# Regenerating build files when a gyp file changes is currently only supported
-# by the make and Android generators.
-test = TestGyp.TestGyp(formats=['make', 'android'])
-
-try:
- PushEnv()
- os.environ['CXXFLAGS'] = '-O0'
- test.run_gyp('cxxflags.gyp')
-finally:
- # We clear the environ after calling gyp. When the auto-regeneration happens,
- # the same define should be reused anyway. Reset to empty string first in
- # case the platform doesn't support unsetenv.
- PopEnv()
-
-test.build('cxxflags.gyp')
-
-expect = """\
-Using no optimization flag
-"""
-test.run_built_executable('cxxflags', stdout=expect)
-
-test.sleep()
-
-try:
- PushEnv()
- os.environ['CXXFLAGS'] = '-O2'
- test.run_gyp('cxxflags.gyp')
-finally:
- # We clear the environ after calling gyp. When the auto-regeneration happens,
- # the same define should be reused anyway. Reset to empty string first in
- # case the platform doesn't support unsetenv.
- PopEnv()
-
-test.build('cxxflags.gyp')
-
-expect = """\
-Using an optimization flag
-"""
-test.run_built_executable('cxxflags', stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.c b/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.c
deleted file mode 100644
index 440757222..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2010 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf(TEST_FORMAT, TEST_ARGS);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.gyp b/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.gyp
deleted file mode 100644
index 6f0f3fde4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/defines-escaping.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'defines_escaping',
- 'type': 'executable',
- 'sources': [
- 'defines-escaping.c',
- ],
- 'defines': [
- 'TEST_FORMAT="<(test_format)"',
- 'TEST_ARGS=<(test_args)',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/gyptest-defines-escaping.py b/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/gyptest-defines-escaping.py
deleted file mode 100755
index eb18a3d36..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines-escaping/gyptest-defines-escaping.py
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable with C++ define specified by a gyp define using
-various special characters such as quotes, commas, etc.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-# Tests string literals, percents, and backslash escapes.
-try:
- os.environ['GYP_DEFINES'] = (
- r"""test_format='\n%s\n' """
- r"""test_args='"Simple test of %s with a literal"'""")
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.build('defines-escaping.gyp')
-
-expect = """
-Simple test of %s with a literal
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# Test multiple comma-and-space-separated string literals.
-try:
- os.environ['GYP_DEFINES'] = \
- r"""test_format='\n%s and %s\n' test_args='"foo", "bar"'"""
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines-escaping.c')
-test.build('defines-escaping.gyp')
-
-expect = """
-foo and bar
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# Test string literals containing quotes.
-try:
- os.environ['GYP_DEFINES'] = (
- r"""test_format='\n%s %s %s %s %s\n' """
- r"""test_args='"\"These,\"","""
- r""" "\"words,\"","""
- r""" "\"are,\"","""
- r""" "\"in,\"","""
- r""" "\"quotes.\""'""")
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines-escaping.c')
-test.build('defines-escaping.gyp')
-
-expect = """
-"These," "words," "are," "in," "quotes."
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# Test string literals containing single quotes.
-try:
- os.environ['GYP_DEFINES'] = (
- r"""test_format='\n%s %s %s %s %s\n' """
- r"""test_args="\"'These,'\","""
- r""" \"'words,'\","""
- r""" \"'are,'\","""
- r""" \"'in,'\","""
- r""" \"'quotes.'\"" """)
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines-escaping.c')
-test.build('defines-escaping.gyp')
-
-expect = """
-'These,' 'words,' 'are,' 'in,' 'quotes.'
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# Test string literals containing different numbers of backslashes before quotes
-# (to exercise Windows' quoting behaviour).
-try:
- os.environ['GYP_DEFINES'] = (
- r"""test_format='\n%s\n%s\n%s\n' """
- r"""test_args='"\\\"1 visible slash\\\"","""
- r""" "\\\\\"2 visible slashes\\\\\"","""
- r""" "\\\\\\\"3 visible slashes\\\\\\\""'""")
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines-escaping.c')
-test.build('defines-escaping.gyp')
-
-expect = r"""
-\"1 visible slash\"
-\\"2 visible slashes\\"
-\\\"3 visible slashes\\\"
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# Test that various scary sequences are passed unfettered.
-try:
- os.environ['GYP_DEFINES'] = (
- r"""test_format='\n%s\n' """
- r"""test_args='"$foo, &quot; `foo`;"'""")
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines-escaping.c')
-test.build('defines-escaping.gyp')
-
-expect = """
-$foo, &quot; `foo`;
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# VisualStudio 2010 can't handle passing %PATH%
-if not (test.format == 'msvs' and test.uses_msbuild):
- try:
- os.environ['GYP_DEFINES'] = (
- """test_format='%s' """
- """test_args='"%PATH%"'""")
- test.run_gyp('defines-escaping.gyp')
- finally:
- del os.environ['GYP_DEFINES']
-
- test.sleep()
- test.touch('defines-escaping.c')
- test.build('defines-escaping.gyp')
-
- expect = "%PATH%"
- test.run_built_executable('defines_escaping', stdout=expect)
-
-
-# Test commas and semi-colons preceded by backslashes (to exercise Windows'
-# quoting behaviour).
-try:
- os.environ['GYP_DEFINES'] = (
- r"""test_format='\n%s\n%s\n' """
- r"""test_args='"\\, \\\\;","""
- # Same thing again, but enclosed in visible quotes.
- r""" "\"\\, \\\\;\""'""")
- test.run_gyp('defines-escaping.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines-escaping.c')
-test.build('defines-escaping.gyp')
-
-expect = r"""
-\, \\;
-"\, \\;"
-"""
-test.run_built_executable('defines_escaping', stdout=expect)
-
-# We deliberately do not test having an odd number of quotes in a string
-# literal because that isn't feasible in MSVS.
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/defines-env.gyp b/deps/npm/node_modules/node-gyp/gyp/test/defines/defines-env.gyp
deleted file mode 100644
index 1781546ae..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/defines-env.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'value%': '5',
- },
- 'targets': [
- {
- 'target_name': 'defines',
- 'type': 'executable',
- 'sources': [
- 'defines.c',
- ],
- 'defines': [
- 'VALUE=<(value)',
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/defines.c b/deps/npm/node_modules/node-gyp/gyp/test/defines/defines.c
deleted file mode 100644
index e0ef5212d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/defines.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#ifdef FOO
- printf("FOO is defined\n");
-#endif
- printf("VALUE is %d\n", VALUE);
-
-#ifdef PAREN_VALUE
- printf("2*PAREN_VALUE is %d\n", 2*PAREN_VALUE);
-#endif
-
-#ifdef HASH_VALUE
- printf("HASH_VALUE is %s\n", HASH_VALUE);
-#endif
-
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/defines.gyp b/deps/npm/node_modules/node-gyp/gyp/test/defines/defines.gyp
deleted file mode 100644
index 90a755eb8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/defines.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'defines',
- 'type': 'executable',
- 'sources': [
- 'defines.c',
- ],
- 'defines': [
- 'FOO',
- 'VALUE=1',
- 'PAREN_VALUE=(1+2+3)',
- 'HASH_VALUE="a#1"',
- ],
- },
- ],
- 'conditions': [
- ['OS=="fakeos"', {
- 'targets': [
- {
- 'target_name': 'fakeosprogram',
- 'type': 'executable',
- 'sources': [
- 'defines.c',
- ],
- 'defines': [
- 'FOO',
- 'VALUE=1',
- ],
- },
- ],
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-define-override.py b/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-define-override.py
deleted file mode 100755
index 82e325af2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-define-override.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a default gyp define can be overridden.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-# Command-line define
-test.run_gyp('defines.gyp', '-D', 'OS=fakeos')
-test.build('defines.gyp')
-test.built_file_must_exist('fakeosprogram', type=test.EXECUTABLE)
-# Clean up the exe so subsequent tests don't find an old exe.
-os.remove(test.built_file_path('fakeosprogram', type=test.EXECUTABLE))
-
-# Without "OS" override, fokeosprogram shouldn't be built.
-test.run_gyp('defines.gyp')
-test.build('defines.gyp')
-test.built_file_must_not_exist('fakeosprogram', type=test.EXECUTABLE)
-
-# Environment define
-os.environ['GYP_DEFINES'] = 'OS=fakeos'
-test.run_gyp('defines.gyp')
-test.build('defines.gyp')
-test.built_file_must_exist('fakeosprogram', type=test.EXECUTABLE)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env-regyp.py b/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env-regyp.py
deleted file mode 100755
index 1d1d1cfbd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env-regyp.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable with C++ define specified by a gyp define, and
-the use of the environment during regeneration when the gyp file changes.
-"""
-
-import os
-import TestGyp
-
-# Regenerating build files when a gyp file changes is currently only supported
-# by the make and Android generators.
-test = TestGyp.TestGyp(formats=['make', 'android'])
-
-try:
- os.environ['GYP_DEFINES'] = 'value=50'
- test.run_gyp('defines.gyp')
-finally:
- # We clear the environ after calling gyp. When the auto-regeneration happens,
- # the same define should be reused anyway. Reset to empty string first in
- # case the platform doesn't support unsetenv.
- os.environ['GYP_DEFINES'] = ''
- del os.environ['GYP_DEFINES']
-
-test.build('defines.gyp')
-
-expect = """\
-FOO is defined
-VALUE is 1
-2*PAREN_VALUE is 12
-HASH_VALUE is a#1
-"""
-test.run_built_executable('defines', stdout=expect)
-
-# Sleep so that the changed gyp file will have a newer timestamp than the
-# previously generated build files.
-test.sleep()
-test.write('defines.gyp', test.read('defines-env.gyp'))
-
-test.build('defines.gyp', test.ALL)
-
-expect = """\
-VALUE is 50
-"""
-test.run_built_executable('defines', stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env.py b/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env.py
deleted file mode 100755
index 6b4e7175a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines-env.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable with C++ define specified by a gyp define.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-# With the value only given in environment, it should be used.
-try:
- os.environ['GYP_DEFINES'] = 'value=10'
- test.run_gyp('defines-env.gyp')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.build('defines-env.gyp')
-
-expect = """\
-VALUE is 10
-"""
-test.run_built_executable('defines', stdout=expect)
-
-
-# With the value given in both command line and environment,
-# command line should take precedence.
-try:
- os.environ['GYP_DEFINES'] = 'value=20'
- test.run_gyp('defines-env.gyp', '-Dvalue=25')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines.c')
-test.build('defines-env.gyp')
-
-expect = """\
-VALUE is 25
-"""
-test.run_built_executable('defines', stdout=expect)
-
-
-# With the value only given in environment, it should be ignored if
-# --ignore-environment is specified.
-try:
- os.environ['GYP_DEFINES'] = 'value=30'
- test.run_gyp('defines-env.gyp', '--ignore-environment')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines.c')
-test.build('defines-env.gyp')
-
-expect = """\
-VALUE is 5
-"""
-test.run_built_executable('defines', stdout=expect)
-
-
-# With the value given in both command line and environment, and
-# --ignore-environment also specified, command line should still be used.
-try:
- os.environ['GYP_DEFINES'] = 'value=40'
- test.run_gyp('defines-env.gyp', '--ignore-environment', '-Dvalue=45')
-finally:
- del os.environ['GYP_DEFINES']
-
-test.sleep()
-test.touch('defines.c')
-test.build('defines-env.gyp')
-
-expect = """\
-VALUE is 45
-"""
-test.run_built_executable('defines', stdout=expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines.py b/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines.py
deleted file mode 100755
index 33e50f8c4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/defines/gyptest-defines.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of an executable with C++ defines.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('defines.gyp')
-
-test.build('defines.gyp')
-
-expect = """\
-FOO is defined
-VALUE is 1
-2*PAREN_VALUE is 12
-HASH_VALUE is a#1
-"""
-test.run_built_executable('defines', stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/a.c b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/a.c
deleted file mode 100755
index 3bba111d2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/a.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-extern int funcB();
-
-int funcA() {
- return funcB();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.c b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.c
deleted file mode 100755
index b5e771bcc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.c
+++ /dev/null
@@ -1,3 +0,0 @@
-int funcB() {
- return 2;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.gyp
deleted file mode 100755
index 893dc64d6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'b',
- 'type': 'static_library',
- 'sources': [
- 'b.c',
- ],
- },
- {
- 'target_name': 'b3',
- 'type': 'static_library',
- 'sources': [
- 'b3.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b3.c b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b3.c
deleted file mode 100755
index 287f67ff3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/b/b3.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-int funcB() {
- return 3;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.c b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.c
deleted file mode 100644
index 4949daf3e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.c
+++ /dev/null
@@ -1,4 +0,0 @@
-int funcC() {
- return 3
- // Intentional syntax error. This file should never be compiled, so this
- // shouldn't be a problem.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.gyp
deleted file mode 100644
index eabebea9e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/c.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'c_unused',
- 'type': 'static_library',
- 'sources': [
- 'c.c',
- ],
- },
- {
- 'target_name': 'd',
- 'type': 'static_library',
- 'sources': [
- 'd.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/d.c b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/d.c
deleted file mode 100644
index 05465fc1a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/c/d.c
+++ /dev/null
@@ -1,3 +0,0 @@
-int funcD() {
- return 4;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependency.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependency.gyp
deleted file mode 100644
index c4a2d0013..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependency.gyp
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'double_dependency',
- 'type': 'shared_library',
- 'dependencies': [
- 'double_dependent.gyp:double_dependent',
- ],
- 'conditions': [
- ['1==1', {
- 'dependencies': [
- 'double_dependent.gyp:*',
- ],
- }],
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependent.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependent.gyp
deleted file mode 100644
index 334caff72..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/double_dependent.gyp
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'double_dependent',
- 'type': 'none',
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/extra_targets.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/extra_targets.gyp
deleted file mode 100644
index c1a26de42..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/extra_targets.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'static_library',
- 'sources': [
- 'a.c',
- ],
- # This only depends on the "d" target; other targets in c.gyp
- # should not become part of the build (unlike with 'c/c.gyp:*').
- 'dependencies': ['c/c.gyp:d'],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-double-dependency.py b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-double-dependency.py
deleted file mode 100644
index 7692740c5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-double-dependency.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that pulling in a dependency a second time in a conditional works for
-shared_library targets. Regression test for http://crbug.com/122588
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('double_dependency.gyp')
-
-# If running gyp worked, all is well.
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-extra-targets.py b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-extra-targets.py
deleted file mode 100755
index 3752f7445..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-extra-targets.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that dependencies don't pull unused targets into the build.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('extra_targets.gyp')
-
-# This should fail if it tries to build 'c_unused' since 'c/c.c' has a syntax
-# error and won't compile.
-test.build('extra_targets.gyp', test.ALL)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-lib-only.py b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-lib-only.py
deleted file mode 100755
index 02159f5f1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-lib-only.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that a link time only dependency will get pulled into the set of built
-targets, even if no executable uses it.
-"""
-
-import TestGyp
-
-import sys
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('lib_only.gyp')
-
-test.build('lib_only.gyp', test.ALL)
-
-test.built_file_must_exist('a', type=test.STATIC_LIB)
-
-# TODO(bradnelson/mark):
-# On linux and windows a library target will at least pull its link dependencies
-# into the generated sln/_main.scons, since not doing so confuses users.
-# This is not currently implemented on mac, which has the opposite behavior.
-if sys.platform == 'darwin':
- if test.format == 'xcode':
- test.built_file_must_not_exist('b', type=test.STATIC_LIB)
- else:
- assert test.format in ('make', 'ninja')
- test.built_file_must_exist('b', type=test.STATIC_LIB)
-else:
- # Make puts the resulting library in a directory matching the input gyp file;
- # for the 'b' library, that is in the 'b' subdirectory.
- test.built_file_must_exist('b', type=test.STATIC_LIB, subdir='b')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-none-traversal.py b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-none-traversal.py
deleted file mode 100755
index c09063dad..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/gyptest-none-traversal.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that static library dependencies don't traverse none targets, unless
-explicitly specified.
-"""
-
-import TestGyp
-
-import sys
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('none_traversal.gyp')
-
-test.build('none_traversal.gyp', test.ALL)
-
-test.run_built_executable('needs_chain', stdout="2\n")
-test.run_built_executable('doesnt_need_chain', stdout="3\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/lib_only.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/lib_only.gyp
deleted file mode 100755
index f6c84dea6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/lib_only.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'static_library',
- 'sources': [
- 'a.c',
- ],
- 'dependencies': ['b/b.gyp:b'],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/main.c b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/main.c
deleted file mode 100644
index 185bd482f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/main.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-extern int funcA();
-
-int main() {
- printf("%d\n", funcA());
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/none_traversal.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependencies/none_traversal.gyp
deleted file mode 100755
index 3d8ab30af..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependencies/none_traversal.gyp
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'needs_chain',
- 'type': 'executable',
- 'sources': [
- 'a.c',
- 'main.c',
- ],
- 'dependencies': ['chain'],
- },
- {
- 'target_name': 'chain',
- 'type': 'none',
- 'dependencies': ['b/b.gyp:b'],
- },
- {
- 'target_name': 'doesnt_need_chain',
- 'type': 'executable',
- 'sources': [
- 'main.c',
- ],
- 'dependencies': ['no_chain', 'other_chain'],
- },
- {
- 'target_name': 'no_chain',
- 'type': 'none',
- 'sources': [
- ],
- 'dependencies': ['b/b.gyp:b'],
- 'dependencies_traverse': 0,
- },
- {
- 'target_name': 'other_chain',
- 'type': 'static_library',
- 'sources': [
- 'a.c',
- ],
- 'dependencies': ['b/b.gyp:b3'],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/gyptest-copy.py b/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/gyptest-copy.py
deleted file mode 100755
index 5ba7c73d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/gyptest-copy.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies dependencies do the copy step.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('copies.gyp', chdir='src')
-
-test.build('copies.gyp', 'proj2', chdir='src')
-
-test.run_built_executable('proj1',
- chdir='src',
- stdout="Hello from file1.c\n")
-test.run_built_executable('proj2',
- chdir='src',
- stdout="Hello from file2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/copies.gyp b/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/copies.gyp
deleted file mode 100644
index 4176b1878..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/copies.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'proj1',
- 'type': 'executable',
- 'sources': [
- 'file1.c',
- ],
- },
- {
- 'target_name': 'proj2',
- 'type': 'executable',
- 'sources': [
- 'file2.c',
- ],
- 'dependencies': [
- 'proj1',
- ]
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file1.c b/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file1.c
deleted file mode 100644
index 3caf5d634..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from file1.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file2.c b/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file2.c
deleted file mode 100644
index ed45cc012..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/dependency-copy/src/file2.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from file2.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_basenames.gyp b/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_basenames.gyp
deleted file mode 100644
index b3dceb394..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_basenames.gyp
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'foo',
- 'type': 'static_library',
- 'sources': ['foo.c', 'foo.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_node.gyp b/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_node.gyp
deleted file mode 100644
index d6096096b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_node.gyp
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- { 'target_name' : 'foo', 'type': 'executable' },
- ],
- 'targets': [
- { 'target_name' : 'bar', 'type': 'executable' },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_rule.gyp b/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_rule.gyp
deleted file mode 100644
index dab98e96c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_rule.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'foo',
- 'type': 'executable',
- 'rules': [
- {
- 'rule_name': 'bar',
- 'extension': '',
- },
- {
- 'rule_name': 'bar',
- 'extension': '',
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_targets.gyp b/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_targets.gyp
deleted file mode 100644
index aec470eef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/duplicate_targets.gyp
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'foo'
- },
- {
- 'target_name': 'foo'
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/gyptest-errors.py b/deps/npm/node_modules/node-gyp/gyp/test/errors/gyptest-errors.py
deleted file mode 100755
index 67a1356d1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/gyptest-errors.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test that two targets with the same name generates an error.
-"""
-
-import TestGyp
-import TestCmd
-
-# TODO(sbc): Remove the need for match_re below, and make scons
-# error messages consistent with other generators by removing
-# input.py:generator_wants_absolute_build_file_paths.
-
-test = TestGyp.TestGyp()
-
-stderr = ('gyp: Duplicate target definitions for '
- '.*duplicate_targets.gyp:foo#target\n')
-test.run_gyp('duplicate_targets.gyp', status=1, stderr=stderr,
- match=TestCmd.match_re)
-
-stderr = ('gyp: Unable to find targets in build file .*missing_targets.gyp '
- 'while trying to load missing_targets.gyp\n')
-test.run_gyp('missing_targets.gyp', status=1, stderr=stderr,
- match=TestCmd.match_re)
-
-stderr = ('gyp: rule bar exists in duplicate, target '
- '.*duplicate_rule.gyp:foo#target\n')
-test.run_gyp('duplicate_rule.gyp', status=1, stderr=stderr,
- match=TestCmd.match_re)
-
-stderr = ("gyp: Key 'targets' repeated at level 1 with key path '' while "
- "reading .*duplicate_node.gyp while trying to load "
- "duplicate_node.gyp\n")
-test.run_gyp('duplicate_node.gyp', '--check', status=1, stderr=stderr,
- match=TestCmd.match_re)
-
-stderr = 'gyp: Duplicate basenames in sources section, see list above\n'
-test.run_gyp('duplicate_basenames.gyp', status=1, stderr=stderr)
-
-stderr = ("gyp: Dependency '.*missing_dep.gyp:missing.gyp#target' not found "
- "while trying to load target .*missing_dep.gyp:foo#target\n")
-test.run_gyp('missing_dep.gyp', status=1, stderr=stderr,
- match=TestCmd.match_re)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/missing_dep.gyp b/deps/npm/node_modules/node-gyp/gyp/test/errors/missing_dep.gyp
deleted file mode 100644
index 08746be3d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/missing_dep.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'foo',
- 'type': 'static_library',
- 'dependencies': [
- 'missing.gyp'
- ]
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/errors/missing_targets.gyp b/deps/npm/node_modules/node-gyp/gyp/test/errors/missing_targets.gyp
deleted file mode 100644
index 13d4f924c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/errors/missing_targets.gyp
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/escaping/colon/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/escaping/colon/test.gyp
deleted file mode 100644
index 715f95490..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/escaping/colon/test.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'colon',
- 'type': 'executable',
- 'sources': [
- 'a:b.c',
- ],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/',
- # MSVS2008 gets confused if the same file is in 'sources' and 'copies'
- 'files': [ 'a:b.c-d', ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/escaping/gyptest-colon.py b/deps/npm/node_modules/node-gyp/gyp/test/escaping/gyptest-colon.py
deleted file mode 100644
index 610f00e4e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/escaping/gyptest-colon.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests that filenames that contain colons are handled correctly.
-(This is important for absolute paths on Windows.)
-"""
-
-import os
-import sys
-import TestGyp
-
-# TODO: Make colons in filenames work with make, if required.
-test = TestGyp.TestGyp(formats=['!make'])
-CHDIR = 'colon'
-
-source_name = 'colon/a:b.c'
-copies_name = 'colon/a:b.c-d'
-if sys.platform == 'win32':
- # Windows uses : as drive separator and doesn't allow it in regular filenames.
- # Use abspath() to create a path that contains a colon instead.
- abs_source = os.path.abspath('colon/file.c')
- test.write('colon/test.gyp',
- test.read('colon/test.gyp').replace("'a:b.c'", repr(abs_source)))
- source_name = abs_source
-
- abs_copies = os.path.abspath('colon/file.txt')
- test.write('colon/test.gyp',
- test.read('colon/test.gyp').replace("'a:b.c-d'", repr(abs_copies)))
- copies_name = abs_copies
-
-# Create the file dynamically, Windows is unhappy if a file with a colon in
-# its name is checked in.
-test.write(source_name, 'int main() {}')
-test.write(copies_name, 'foo')
-
-test.run_gyp('test.gyp', chdir=CHDIR)
-test.build('test.gyp', test.ALL, chdir=CHDIR)
-test.built_file_must_exist(os.path.basename(copies_name), chdir=CHDIR)
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/exclusion/exclusion.gyp b/deps/npm/node_modules/node-gyp/gyp/test/exclusion/exclusion.gyp
deleted file mode 100644
index 1232dabae..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/exclusion/exclusion.gyp
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- 'bogus.c',
- 'also/not/real.c',
- 'also/not/real2.c',
- ],
- 'sources!': [
- 'bogus.c',
- 'also/not/real.c',
- 'also/not/real2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/exclusion/gyptest-exclusion.py b/deps/npm/node_modules/node-gyp/gyp/test/exclusion/gyptest-exclusion.py
deleted file mode 100755
index 1fc32bf87..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/exclusion/gyptest-exclusion.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that exclusions (e.g. sources!) are respected. Excluded sources
-that do not exist should not prevent the build from succeeding.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('exclusion.gyp')
-test.build('exclusion.gyp')
-
-# executables
-test.built_file_must_exist('hello' + test._exe, test.EXECUTABLE, bare=True)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/exclusion/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/exclusion/hello.c
deleted file mode 100644
index 30e8d5416..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/exclusion/hello.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (c) 2010 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int func1(void) {
- return 42;
-}
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- printf("%d\n", func1());
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/gyptest-cross.py b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/gyptest-cross.py
deleted file mode 100755
index 6b8df816d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/gyptest-cross.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that actions can be + a source scanner can be used to implement,
-cross-compiles (for Native Client at this point).
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-# TODO(bradnelson): fix scons.
-if test.format == 'scons':
- test.skip_test()
-
-test.run_gyp('cross.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('cross.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-From test1.cc
-From test2.c
-From test3.cc
-From test4.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus1.cc b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus1.cc
deleted file mode 100644
index 1b8d01199..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus1.cc
+++ /dev/null
@@ -1 +0,0 @@
-From bogus1.cc
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus2.c b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus2.c
deleted file mode 100644
index cbf4a123c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/bogus2.c
+++ /dev/null
@@ -1 +0,0 @@
-From bogus2.c
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross.gyp b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross.gyp
deleted file mode 100644
index aeda76b5b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross.gyp
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': ['cross_compile.gypi'],
- 'target_defaults': {
- 'variables': {
- 'nix_lame%': 0,
- },
- 'target_conditions': [
- ['nix_lame==1', {
- 'sources/': [
- ['exclude', 'lame'],
- ],
- }],
- ],
- },
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'dependencies': [
- 'program_inc',
- ],
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- 'sources': [
- 'program.cc',
- ],
- },
- {
- 'target_name': 'program_inc',
- 'type': 'none',
- 'dependencies': ['cross_program'],
- 'actions': [
- {
- 'action_name': 'program_inc',
- 'inputs': ['<(SHARED_INTERMEDIATE_DIR)/cross_program.fake'],
- 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/cross_program.h'],
- 'action': ['python', 'tochar.py', '<@(_inputs)', '<@(_outputs)'],
- },
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'target_name': 'cross_program',
- 'type': 'none',
- 'variables': {
- 'cross': 1,
- 'nix_lame': 1,
- },
- 'dependencies': ['cross_lib'],
- 'sources': [
- 'test1.cc',
- 'test2.c',
- 'very_lame.cc',
- '<(SHARED_INTERMEDIATE_DIR)/cross_lib.fake',
- ],
- },
- {
- 'target_name': 'cross_lib',
- 'type': 'none',
- 'variables': {
- 'cross': 1,
- 'nix_lame': 1,
- },
- 'sources': [
- 'test3.cc',
- 'test4.c',
- 'bogus1.cc',
- 'bogus2.c',
- 'sort_of_lame.cc',
- ],
- 'sources!': [
- 'bogus1.cc',
- 'bogus2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross_compile.gypi b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross_compile.gypi
deleted file mode 100644
index 36e651903..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/cross_compile.gypi
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- 'target_defaults': {
- 'variables': {
- 'cross%': 0,
- },
- 'target_conditions': [
- ['cross==1', {
- 'actions': [
- {
- 'action_name': 'cross compile >(_target_name)',
- 'inputs': ['^@(_sources)'],
- 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/>(_target_name).fake'],
- 'action': [
- 'python', 'fake_cross.py', '>@(_outputs)', '^@(_sources)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- }],
- ],
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/fake_cross.py b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/fake_cross.py
deleted file mode 100644
index 05eacc6a6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/fake_cross.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-fh = open(sys.argv[1], 'w')
-
-filenames = sys.argv[2:]
-
-for filename in filenames:
- subfile = open(filename)
- data = subfile.read()
- subfile.close()
- fh.write(data)
-
-fh.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/program.cc b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/program.cc
deleted file mode 100644
index a50ca367a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/program.cc
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-static char data[] = {
-#include "cross_program.h"
-};
-
-int main(int argc, char *argv[]) {
- fwrite(data, 1, sizeof(data), stdout);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test1.cc b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test1.cc
deleted file mode 100644
index b584c31d1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test1.cc
+++ /dev/null
@@ -1 +0,0 @@
-From test1.cc
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test2.c b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test2.c
deleted file mode 100644
index 367ae19ea..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test2.c
+++ /dev/null
@@ -1 +0,0 @@
-From test2.c
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test3.cc b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test3.cc
deleted file mode 100644
index 9eb64735b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test3.cc
+++ /dev/null
@@ -1 +0,0 @@
-From test3.cc
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test4.c b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test4.c
deleted file mode 100644
index 8ecc33ec1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/test4.c
+++ /dev/null
@@ -1 +0,0 @@
-From test4.c
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/tochar.py b/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/tochar.py
deleted file mode 100644
index c0780d984..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/external-cross-compile/src/tochar.py
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-src = open(sys.argv[1])
-dst = open(sys.argv[2], 'w')
-for ch in src.read():
- dst.write('%d,\n' % ord(ch))
-src.close()
-dst.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/actions.gyp
deleted file mode 100644
index dded59aff..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/actions.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'pull_in_all_actions',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/executable.gyp:*',
- 'subdir2/none.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/build/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/actions-out/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/actions-out/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/actions-out/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/build/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/executable.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/executable.gyp
deleted file mode 100644
index 6bdd60a1f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/executable.gyp
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'program.c',
- ],
- 'actions': [
- {
- 'action_name': 'make-prog1',
- 'inputs': [
- 'make-prog1.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/prog1.c',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- {
- 'action_name': 'make-prog2',
- 'inputs': [
- 'make-prog2.py',
- ],
- 'outputs': [
- 'actions-out/prog2.c',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog1.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog1.py
deleted file mode 100755
index 7ea1d8a2d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog1.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = r"""
-#include <stdio.h>
-
-void prog1(void)
-{
- printf("Hello from make-prog1.py\n");
-}
-"""
-
-open(sys.argv[1], 'w').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog2.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog2.py
deleted file mode 100755
index 0bfe4973c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/make-prog2.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = r"""
-#include <stdio.h>
-
-void prog2(void)
-{
- printf("Hello from make-prog2.py\n");
-}
-"""
-
-open(sys.argv[1], 'w').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/program.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/program.c
deleted file mode 100644
index d5f661d90..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir1/program.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-extern void prog1(void);
-extern void prog2(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from program.c\n");
- prog1();
- prog2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/actions-out/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/actions-out/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/actions-out/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/build/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/make-file.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/make-file.py
deleted file mode 100755
index fff065314..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/make-file.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = "Hello from make-file.py\n"
-
-open(sys.argv[1], 'wb').write(contents)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/none.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/none.gyp
deleted file mode 100644
index f98f52753..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/actions/subdir2/none.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'file',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'actions': [
- {
- 'action_name': 'make-file',
- 'inputs': [
- 'make-file.py',
- ],
- 'outputs': [
- 'actions-out/file.out',
- # TODO: enhance testing infrastructure to test this
- # without having to hard-code the intermediate dir paths.
- #'<(INTERMEDIATE_DIR)/file.out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- }
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/build/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies-out/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies-out/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies-out/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies.gyp
deleted file mode 100644
index 479a3d9b6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/copies.gyp
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'pull_in_subdir',
- 'type': 'none',
- 'dependencies': [
- 'subdir/subdir.gyp:*',
- ],
- },
- {
- 'target_name': 'copies1',
- 'type': 'none',
- 'copies': [
- {
- 'destination': 'copies-out',
- 'files': [
- 'file1',
- ],
- },
- ],
- },
- {
- 'target_name': 'copies2',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out',
- 'files': [
- 'file2',
- ],
- },
- ],
- },
- # Verify that a null 'files' list doesn't gag the generators.
- {
- 'target_name': 'copies_null',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-null',
- 'files': [],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file1 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file1
deleted file mode 100644
index 84d55c575..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file1
+++ /dev/null
@@ -1 +0,0 @@
-file1 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file2 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file2
deleted file mode 100644
index af1b8ae35..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/file2
+++ /dev/null
@@ -1 +0,0 @@
-file2 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/build/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/copies-out/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/copies-out/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/copies-out/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file3 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file3
deleted file mode 100644
index 43f16f352..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file3
+++ /dev/null
@@ -1 +0,0 @@
-file3 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file4 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file4
deleted file mode 100644
index 5f7270a08..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/file4
+++ /dev/null
@@ -1 +0,0 @@
-file4 contents
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/subdir.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/subdir.gyp
deleted file mode 100644
index af031d283..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/copies/subdir/subdir.gyp
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'copies3',
- 'type': 'none',
- 'copies': [
- {
- 'destination': 'copies-out',
- 'files': [
- 'file3',
- ],
- },
- ],
- },
- {
- 'target_name': 'copies4',
- 'type': 'none',
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/copies-out',
- 'files': [
- 'file4',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-actions.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-actions.py
deleted file mode 100755
index fc80ef098..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-actions.py
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies --generator-output= behavior when using actions.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support --generator-output.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-# All the generated files should go under 'gypfiles'. The source directory
-# ('actions') should be untouched.
-test.writable(test.workpath('actions'), False)
-test.run_gyp('actions.gyp',
- '--generator-output=' + test.workpath('gypfiles'),
- chdir='actions')
-
-test.writable(test.workpath('actions'), True)
-
-test.relocate('actions', 'relocate/actions')
-test.relocate('gypfiles', 'relocate/gypfiles')
-
-test.writable(test.workpath('relocate/actions'), False)
-
-# Some of the action outputs use "pure" relative paths (i.e. without prefixes
-# like <(INTERMEDIATE_DIR) or <(PROGRAM_DIR)). Even though we are building under
-# 'gypfiles', such outputs will still be created relative to the original .gyp
-# sources. Projects probably wouldn't normally do this, since it kind of defeats
-# the purpose of '--generator-output', but it is supported behaviour.
-test.writable(test.workpath('relocate/actions/build'), True)
-test.writable(test.workpath('relocate/actions/subdir1/build'), True)
-test.writable(test.workpath('relocate/actions/subdir1/actions-out'), True)
-test.writable(test.workpath('relocate/actions/subdir2/build'), True)
-test.writable(test.workpath('relocate/actions/subdir2/actions-out'), True)
-
-test.build('actions.gyp', test.ALL, chdir='relocate/gypfiles')
-
-expect = """\
-Hello from program.c
-Hello from make-prog1.py
-Hello from make-prog2.py
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/actions/subdir1'
-else:
- chdir = 'relocate/gypfiles'
-test.run_built_executable('program', chdir=chdir, stdout=expect)
-
-test.must_match('relocate/actions/subdir2/actions-out/file.out',
- "Hello from make-file.py\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-copies.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-copies.py
deleted file mode 100755
index baef39336..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-copies.py
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies file copies with --generator-output using an explicit build
-target of 'all'.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support --generator-output.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.writable(test.workpath('copies'), False)
-
-test.run_gyp('copies.gyp',
- '--generator-output=' + test.workpath('gypfiles'),
- chdir='copies')
-
-test.writable(test.workpath('copies'), True)
-
-test.relocate('copies', 'relocate/copies')
-test.relocate('gypfiles', 'relocate/gypfiles')
-
-test.writable(test.workpath('relocate/copies'), False)
-
-test.writable(test.workpath('relocate/copies/build'), True)
-test.writable(test.workpath('relocate/copies/copies-out'), True)
-test.writable(test.workpath('relocate/copies/subdir/build'), True)
-test.writable(test.workpath('relocate/copies/subdir/copies-out'), True)
-
-test.build('copies.gyp', test.ALL, chdir='relocate/gypfiles')
-
-test.must_match(['relocate', 'copies', 'copies-out', 'file1'],
- "file1 contents\n")
-
-if test.format == 'xcode':
- chdir = 'relocate/copies/build'
-elif test.format == 'make':
- chdir = 'relocate/gypfiles/out'
-else:
- chdir = 'relocate/gypfiles'
-test.must_match([chdir, 'Default', 'copies-out', 'file2'], "file2 contents\n")
-
-test.must_match(['relocate', 'copies', 'subdir', 'copies-out', 'file3'],
- "file3 contents\n")
-
-if test.format == 'xcode':
- chdir = 'relocate/copies/subdir/build'
-elif test.format == 'make':
- chdir = 'relocate/gypfiles/out'
-else:
- chdir = 'relocate/gypfiles'
-test.must_match([chdir, 'Default', 'copies-out', 'file4'], "file4 contents\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-mac-bundle.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-mac-bundle.py
deleted file mode 100644
index d8ad91081..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-mac-bundle.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies mac bundles work with --generator-output.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- # Ninja doesn't support --generator-output.
- test = TestGyp.TestGyp(formats=['!ninja'])
-
- MAC_BUNDLE_DIR = 'mac-bundle'
- GYPFILES_DIR = 'gypfiles'
- test.writable(test.workpath(MAC_BUNDLE_DIR), False)
- test.run_gyp('test.gyp',
- '--generator-output=' + test.workpath(GYPFILES_DIR),
- chdir=MAC_BUNDLE_DIR)
- test.writable(test.workpath(MAC_BUNDLE_DIR), True)
-
- test.build('test.gyp', test.ALL, chdir=GYPFILES_DIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-relocate.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-relocate.py
deleted file mode 100755
index 7be19fe02..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-relocate.py
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a project hierarchy created with the --generator-output=
-option can be built even when it's relocated to a different path.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support --generator-output.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.writable(test.workpath('src'), False)
-
-test.run_gyp('prog1.gyp',
- '-Dset_symroot=1',
- '--generator-output=' + test.workpath('gypfiles'),
- chdir='src')
-
-test.writable(test.workpath('src'), True)
-
-test.relocate('src', 'relocate/src')
-test.relocate('gypfiles', 'relocate/gypfiles')
-
-test.writable(test.workpath('relocate/src'), False)
-
-test.writable(test.workpath('relocate/src/build'), True)
-test.writable(test.workpath('relocate/src/subdir2/build'), True)
-test.writable(test.workpath('relocate/src/subdir3/build'), True)
-
-test.build('prog1.gyp', test.ALL, chdir='relocate/gypfiles')
-
-chdir = 'relocate/gypfiles'
-
-expect = """\
-Hello from %s
-Hello from inc.h
-Hello from inc1/include1.h
-Hello from inc2/include2.h
-Hello from inc3/include3.h
-Hello from subdir2/deeper/deeper.h
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src'
-test.run_built_executable('prog1', chdir=chdir, stdout=expect % 'prog1.c')
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir2'
-test.run_built_executable('prog2', chdir=chdir, stdout=expect % 'prog2.c')
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir3'
-test.run_built_executable('prog3', chdir=chdir, stdout=expect % 'prog3.c')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-rules.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-rules.py
deleted file mode 100755
index f0abf749a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-rules.py
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies --generator-output= behavior when using rules.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support --generator-output.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.writable(test.workpath('rules'), False)
-
-test.run_gyp('rules.gyp',
- '--generator-output=' + test.workpath('gypfiles'),
- chdir='rules')
-
-test.writable(test.workpath('rules'), True)
-
-test.relocate('rules', 'relocate/rules')
-test.relocate('gypfiles', 'relocate/gypfiles')
-
-test.writable(test.workpath('relocate/rules'), False)
-
-test.writable(test.workpath('relocate/rules/build'), True)
-test.writable(test.workpath('relocate/rules/subdir1/build'), True)
-test.writable(test.workpath('relocate/rules/subdir2/build'), True)
-test.writable(test.workpath('relocate/rules/subdir2/rules-out'), True)
-
-test.build('rules.gyp', test.ALL, chdir='relocate/gypfiles')
-
-expect = """\
-Hello from program.c
-Hello from function1.in1
-Hello from function2.in1
-Hello from define3.in0
-Hello from define4.in0
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/rules/subdir1'
-else:
- chdir = 'relocate/gypfiles'
-test.run_built_executable('program', chdir=chdir, stdout=expect)
-
-test.must_match('relocate/rules/subdir2/rules-out/file1.out',
- "Hello from file1.in0\n")
-test.must_match('relocate/rules/subdir2/rules-out/file2.out',
- "Hello from file2.in0\n")
-test.must_match('relocate/rules/subdir2/rules-out/file3.out',
- "Hello from file3.in1\n")
-test.must_match('relocate/rules/subdir2/rules-out/file4.out',
- "Hello from file4.in1\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-subdir2-deep.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-subdir2-deep.py
deleted file mode 100755
index 68dc68913..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-subdir2-deep.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a target from a .gyp file a few subdirectories
-deep when the --generator-output= option is used to put the build
-configuration files in a separate directory tree.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support --generator-output.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.writable(test.workpath('src'), False)
-
-test.writable(test.workpath('src/subdir2/deeper/build'), True)
-
-test.run_gyp('deeper.gyp',
- '-Dset_symroot=1',
- '--generator-output=' + test.workpath('gypfiles'),
- chdir='src/subdir2/deeper')
-
-test.build('deeper.gyp', test.ALL, chdir='gypfiles')
-
-chdir = 'gypfiles'
-
-if test.format == 'xcode':
- chdir = 'src/subdir2/deeper'
-test.run_built_executable('deeper',
- chdir=chdir,
- stdout="Hello from deeper.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-top-all.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-top-all.py
deleted file mode 100755
index 00950cc3c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/gyptest-top-all.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a project hierarchy created when the --generator-output=
-option is used to put the build configuration files in a separate
-directory tree.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support --generator-output.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.writable(test.workpath('src'), False)
-
-test.run_gyp('prog1.gyp',
- '-Dset_symroot=1',
- '--generator-output=' + test.workpath('gypfiles'),
- chdir='src')
-
-test.writable(test.workpath('src/build'), True)
-test.writable(test.workpath('src/subdir2/build'), True)
-test.writable(test.workpath('src/subdir3/build'), True)
-
-test.build('prog1.gyp', test.ALL, chdir='gypfiles')
-
-chdir = 'gypfiles'
-
-expect = """\
-Hello from %s
-Hello from inc.h
-Hello from inc1/include1.h
-Hello from inc2/include2.h
-Hello from inc3/include3.h
-Hello from subdir2/deeper/deeper.h
-"""
-
-if test.format == 'xcode':
- chdir = 'src'
-test.run_built_executable('prog1', chdir=chdir, stdout=expect % 'prog1.c')
-
-if test.format == 'xcode':
- chdir = 'src/subdir2'
-test.run_built_executable('prog2', chdir=chdir, stdout=expect % 'prog2.c')
-
-if test.format == 'xcode':
- chdir = 'src/subdir3'
-test.run_built_executable('prog3', chdir=chdir, stdout=expect % 'prog3.c')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/Info.plist
deleted file mode 100644
index 8cb142e9f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.google.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>ause</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>LSMinimumSystemVersion</key>
- <string>${MACOSX_DEPLOYMENT_TARGET}</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/app.order b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/app.order
deleted file mode 100644
index 4eb9e89d3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/app.order
+++ /dev/null
@@ -1 +0,0 @@
-_main
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/header.h b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/header.h
deleted file mode 100644
index 7ed777512..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/header.h
+++ /dev/null
@@ -1 +0,0 @@
-int f();
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/main.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/main.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/main.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/resource.sb b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/resource.sb
deleted file mode 100644
index 731befc45..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/resource.sb
+++ /dev/null
@@ -1 +0,0 @@
-A text file.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/test.gyp
deleted file mode 100644
index 35ac674f6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/mac-bundle/test.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test App Gyp',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- ],
- 'mac_bundle_resources': [
- 'resource.sb',
- ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'ORDER_FILE': 'app.order',
- 'GCC_PREFIX_HEADER': 'header.h',
- 'GCC_PRECOMPILE_PREFIX_HEADER': 'YES',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/build/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/copy-file.py b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/copy-file.py
deleted file mode 100755
index 938c336ad..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/copy-file.py
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-contents = open(sys.argv[1], 'r').read()
-open(sys.argv[2], 'wb').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/rules.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/rules.gyp
deleted file mode 100644
index dded59aff..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/rules.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'pull_in_all_actions',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/executable.gyp:*',
- 'subdir2/none.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/build/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define3.in0 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define3.in0
deleted file mode 100644
index cc29c643f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define3.in0
+++ /dev/null
@@ -1 +0,0 @@
-#define STRING3 "Hello from define3.in0\n"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define4.in0 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define4.in0
deleted file mode 100644
index c9b0467b3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/define4.in0
+++ /dev/null
@@ -1 +0,0 @@
-#define STRING4 "Hello from define4.in0\n"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/executable.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/executable.gyp
deleted file mode 100644
index 2fd89a0d5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/executable.gyp
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'program.c',
- 'function1.in1',
- 'function2.in1',
- 'define3.in0',
- 'define4.in0',
- ],
- 'include_dirs': [
- '<(INTERMEDIATE_DIR)',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file_0',
- 'extension': 'in0',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- # TODO: fix SCons and Make to support generated files not
- # in a variable-named path like <(INTERMEDIATE_DIR)
- #'<(RULE_INPUT_ROOT).c',
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).h',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 0,
- },
- {
- 'rule_name': 'copy_file_1',
- 'extension': 'in1',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- # TODO: fix SCons and Make to support generated files not
- # in a variable-named path like <(INTERMEDIATE_DIR)
- #'<(RULE_INPUT_ROOT).c',
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).c',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function1.in1 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function1.in1
deleted file mode 100644
index 545e7ca16..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function1.in1
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void function1(void)
-{
- printf("Hello from function1.in1\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function2.in1 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function2.in1
deleted file mode 100644
index 6bad43f9c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/function2.in1
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void function2(void)
-{
- printf("Hello from function2.in1\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/program.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/program.c
deleted file mode 100644
index 27fd31ed4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir1/program.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include "define3.h"
-#include "define4.h"
-
-extern void function1(void);
-extern void function2(void);
-extern void function3(void);
-extern void function4(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from program.c\n");
- function1();
- function2();
- printf("%s", STRING3);
- printf("%s", STRING4);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/build/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file1.in0 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file1.in0
deleted file mode 100644
index 7aca64f4c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file1.in0
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file1.in0
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file2.in0 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file2.in0
deleted file mode 100644
index 80a281a2a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file2.in0
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file2.in0
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file3.in1 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file3.in1
deleted file mode 100644
index 60ae2e793..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file3.in1
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file3.in1
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file4.in1 b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file4.in1
deleted file mode 100644
index 5a3c30720..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/file4.in1
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file4.in1
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/none.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/none.gyp
deleted file mode 100644
index 664cbd9cb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/none.gyp
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'files',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'file1.in0',
- 'file2.in0',
- 'file3.in1',
- 'file4.in1',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file_0',
- 'extension': 'in0',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- 'rules-out/<(RULE_INPUT_ROOT).out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 0,
- },
- {
- 'rule_name': 'copy_file_1',
- 'extension': 'in1',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- 'rules-out/<(RULE_INPUT_ROOT).out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/rules-out/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/rules-out/README.txt
deleted file mode 100644
index 1b052c9a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/rules/subdir2/rules-out/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/build/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc.h b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc.h
deleted file mode 100644
index 57aa1a5a7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INC_STRING "inc.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc1/include1.h b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc1/include1.h
deleted file mode 100644
index 1d59065fc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/inc1/include1.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INCLUDE1_STRING "inc1/include1.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.c
deleted file mode 100644
index 656f81d5f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-
-#include "inc.h"
-#include "include1.h"
-#include "include2.h"
-#include "include3.h"
-#include "deeper.h"
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog1.c\n");
- printf("Hello from %s\n", INC_STRING);
- printf("Hello from %s\n", INCLUDE1_STRING);
- printf("Hello from %s\n", INCLUDE2_STRING);
- printf("Hello from %s\n", INCLUDE3_STRING);
- printf("Hello from %s\n", DEEPER_STRING);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.gyp
deleted file mode 100644
index d50e6fb0a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/prog1.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- 'symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog1',
- 'type': 'executable',
- 'dependencies': [
- 'subdir2/prog2.gyp:prog2',
- ],
- 'include_dirs': [
- '.',
- 'inc1',
- 'subdir2/inc2',
- 'subdir3/inc3',
- 'subdir2/deeper',
- ],
- 'sources': [
- 'prog1.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/build/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/build/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.c
deleted file mode 100644
index 56c49d1f7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from deeper.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.gyp
deleted file mode 100644
index 864877087..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../../symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'deeper',
- 'type': 'executable',
- 'sources': [
- 'deeper.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.h b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.h
deleted file mode 100644
index f6484a0fe..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/deeper/deeper.h
+++ /dev/null
@@ -1 +0,0 @@
-#define DEEPER_STRING "subdir2/deeper/deeper.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/inc2/include2.h b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/inc2/include2.h
deleted file mode 100644
index 1ccfa5dea..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/inc2/include2.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INCLUDE2_STRING "inc2/include2.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.c
deleted file mode 100644
index 38d6c84d1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-
-#include "inc.h"
-#include "include1.h"
-#include "include2.h"
-#include "include3.h"
-#include "deeper.h"
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog2.c\n");
- printf("Hello from %s\n", INC_STRING);
- printf("Hello from %s\n", INCLUDE1_STRING);
- printf("Hello from %s\n", INCLUDE2_STRING);
- printf("Hello from %s\n", INCLUDE3_STRING);
- printf("Hello from %s\n", DEEPER_STRING);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.gyp
deleted file mode 100644
index 7176ed8be..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir2/prog2.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog2',
- 'type': 'executable',
- 'include_dirs': [
- '..',
- '../inc1',
- 'inc2',
- '../subdir3/inc3',
- 'deeper',
- ],
- 'dependencies': [
- '../subdir3/prog3.gyp:prog3',
- ],
- 'sources': [
- 'prog2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/build/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/build/README.txt
deleted file mode 100644
index 90ef88619..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/build/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-A place-holder for this Xcode build output directory, so that the
-test script can verify that .xcodeproj files are not created in
-their normal location by making the src/ read-only, and then
-selectively making this build directory writable.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/inc3/include3.h b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/inc3/include3.h
deleted file mode 100644
index bf53bf1f0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/inc3/include3.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INCLUDE3_STRING "inc3/include3.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.c b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.c
deleted file mode 100644
index 7848b45ab..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-
-#include "inc.h"
-#include "include1.h"
-#include "include2.h"
-#include "include3.h"
-#include "deeper.h"
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog3.c\n");
- printf("Hello from %s\n", INC_STRING);
- printf("Hello from %s\n", INCLUDE1_STRING);
- printf("Hello from %s\n", INCLUDE2_STRING);
- printf("Hello from %s\n", INCLUDE3_STRING);
- printf("Hello from %s\n", DEEPER_STRING);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.gyp b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.gyp
deleted file mode 100644
index 46c5e000a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/subdir3/prog3.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog3',
- 'type': 'executable',
- 'include_dirs': [
- '..',
- '../inc1',
- '../subdir2/inc2',
- 'inc3',
- '../subdir2/deeper',
- ],
- 'sources': [
- 'prog3.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/symroot.gypi b/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/symroot.gypi
deleted file mode 100644
index 519916427..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/generator-output/src/symroot.gypi
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'set_symroot%': 0,
- },
- 'conditions': [
- ['set_symroot == 1', {
- 'xcode_settings': {
- 'SYMROOT': '<(DEPTH)/build',
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/defines.gyp b/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/defines.gyp
deleted file mode 100644
index f59bbd20d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/defines.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'test_action',
- 'inputs': [],
- 'outputs': [ 'action.txt' ],
- 'action': [
- 'python',
- 'echo.py',
- '<(key)',
- '<(_outputs)',
- ],
- 'msvs_cygwin_shell': 0,
- }
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/echo.py b/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/echo.py
deleted file mode 100644
index b85add12f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/echo.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[2], 'w+')
-f.write(sys.argv[1])
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-multiple-values.py b/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-multiple-values.py
deleted file mode 100644
index a659ad8af..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-multiple-values.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that when multiple values are supplied for a gyp define, the last one
-is used.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-os.environ['GYP_DEFINES'] = 'key=value1 key=value2 key=value3'
-test.run_gyp('defines.gyp')
-test.build('defines.gyp')
-test.must_contain('action.txt', 'value3')
-
-# The last occurrence of a repeated set should take precedence over other
-# values.
-os.environ['GYP_DEFINES'] = 'key=repeated_value key=value1 key=repeated_value'
-test.run_gyp('defines.gyp')
-if test.format == 'msvs' and not test.uses_msbuild:
- # msvs versions before 2010 don't detect build rule changes not reflected
- # in file system timestamps. Rebuild to see differences.
- test.build('defines.gyp', rebuild=True)
-else:
- test.build('defines.gyp')
-test.must_contain('action.txt', 'repeated_value')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-regyp.py b/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-regyp.py
deleted file mode 100644
index 3c1d4d908..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/gyp-defines/gyptest-regyp.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that when the same value is repeated for a gyp define, duplicates are
-stripped from the regeneration rule.
-"""
-
-import os
-import TestGyp
-
-# Regenerating build files when a gyp file changes is currently only supported
-# by the make and Android generators.
-test = TestGyp.TestGyp(formats=['make', 'android'])
-
-os.environ['GYP_DEFINES'] = 'key=repeated_value key=value1 key=repeated_value'
-test.run_gyp('defines.gyp')
-test.build('defines.gyp')
-
-# The last occurrence of a repeated set should take precedence over other
-# values. See gyptest-multiple-values.py.
-test.must_contain('action.txt', 'repeated_value')
-
-# So the regeneration rule needs to use the correct order.
-test.must_not_contain(
- 'Makefile', '"-Dkey=repeated_value" "-Dkey=value1" "-Dkey=repeated_value"')
-test.must_contain('Makefile', '"-Dkey=value1" "-Dkey=repeated_value"')
-
-# Sleep so that the changed gyp file will have a newer timestamp than the
-# previously generated build files.
-test.sleep()
-os.utime("defines.gyp", None)
-
-test.build('defines.gyp')
-test.must_contain('action.txt', 'repeated_value')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-exported-hard-dependency.py b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-exported-hard-dependency.py
deleted file mode 100755
index ba5152880..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-exported-hard-dependency.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that a hard_dependency that is exported is pulled in as a dependency
-for a target if the target is a static library and if the generator will
-remove dependencies between static libraries.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-if test.format == 'dump_dependency_json':
- test.skip_test('Skipping test; dependency JSON does not adjust ' \
- 'static libraries.\n')
-
-test.run_gyp('hard_dependency.gyp', chdir='src')
-
-chdir = 'relocate/src'
-test.relocate('src', chdir)
-
-test.build('hard_dependency.gyp', 'c', chdir=chdir)
-
-# The 'a' static library should be built, as it has actions with side-effects
-# that are necessary to compile 'c'. Even though 'c' does not directly depend
-# on 'a', because 'a' is a hard_dependency that 'b' exports, 'c' should import
-# it as a hard_dependency and ensure it is built before building 'c'.
-test.built_file_must_exist('a', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_not_exist('b', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_exist('c', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_not_exist('d', type=test.STATIC_LIB, chdir=chdir)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-no-exported-hard-dependency.py b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-no-exported-hard-dependency.py
deleted file mode 100755
index 10774ca2a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/gyptest-no-exported-hard-dependency.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that a hard_dependency that is not exported is not pulled in as a
-dependency for a target if the target does not explicitly specify a dependency
-and none of its dependencies export the hard_dependency.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-if test.format == 'dump_dependency_json':
- test.skip_test('Skipping test; dependency JSON does not adjust ' \
- 'static libaries.\n')
-
-test.run_gyp('hard_dependency.gyp', chdir='src')
-
-chdir = 'relocate/src'
-test.relocate('src', chdir)
-
-test.build('hard_dependency.gyp', 'd', chdir=chdir)
-
-# Because 'c' does not export a hard_dependency, only the target 'd' should
-# be built. This is because the 'd' target does not need the generated headers
-# in order to be compiled.
-test.built_file_must_not_exist('a', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_not_exist('b', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_not_exist('c', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_exist('d', type=test.STATIC_LIB, chdir=chdir)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.c b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.c
deleted file mode 100644
index 0fa0223c9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include "a.h"
-
-int funcA() {
- return 42;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.h b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.h
deleted file mode 100644
index 854a06504..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/a.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#ifndef A_H_
-#define A_H_
-
-#include "generated.h"
-
-int funcA();
-
-#endif // A_H_
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.c b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.c
deleted file mode 100644
index 0baace929..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include "a.h"
-
-int funcB() {
- return funcA();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.h b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.h
deleted file mode 100644
index 22b48cefe..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/b.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#ifndef B_H_
-#define B_H_
-
-#include "a.h"
-
-int funcB();
-
-#endif // B_H_
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.c b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.c
deleted file mode 100644
index 7d0068208..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include "b.h"
-#include "c.h"
-
-int funcC() {
- return funcB();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.h b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.h
deleted file mode 100644
index f4ea7fefa..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/c.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#ifndef C_H_
-#define C_H_
-
-int funcC();
-
-#endif // C_H_
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/d.c b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/d.c
deleted file mode 100644
index d016c3ce7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/d.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include "c.h"
-
-int funcD() {
- return funcC();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/emit.py b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/emit.py
deleted file mode 100755
index 2df74b79a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/emit.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1], 'wb')
-f.write('/* Hello World */\n')
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/hard_dependency.gyp b/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/hard_dependency.gyp
deleted file mode 100644
index 4479c5f04..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hard_dependency/src/hard_dependency.gyp
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'static_library',
- 'sources': [
- 'a.c',
- 'a.h',
- ],
- 'hard_dependency': 1,
- 'actions': [
- {
- 'action_name': 'generate_headers',
- 'inputs': [
- 'emit.py'
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/generated.h'
- ],
- 'action': [
- 'python',
- 'emit.py',
- '<(SHARED_INTERMEDIATE_DIR)/generated.h',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- },
- },
- {
- 'target_name': 'b',
- 'type': 'static_library',
- 'sources': [
- 'b.c',
- 'b.h',
- ],
- 'dependencies': [
- 'a',
- ],
- 'export_dependent_settings': [
- 'a',
- ],
- },
- {
- 'target_name': 'c',
- 'type': 'static_library',
- 'sources': [
- 'c.c',
- 'c.h',
- ],
- 'dependencies': [
- 'b',
- ],
- },
- {
- 'target_name': 'd',
- 'type': 'static_library',
- 'sources': [
- 'd.c',
- ],
- 'dependencies': [
- 'c',
- ],
- }
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-all.py
deleted file mode 100755
index 1739b6886..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-all.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simplest-possible build of a "Hello, world!" program
-using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_all')
-
-test.run_gyp('hello.gyp')
-
-test.build('hello.gyp', test.ALL)
-
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-test.up_to_date('hello.gyp', test.ALL)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-default.py
deleted file mode 100755
index 22377e7ac..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-default.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simplest-possible build of a "Hello, world!" program
-using the default build target.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_default')
-
-test.run_gyp('hello.gyp')
-
-test.build('hello.gyp')
-
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-test.up_to_date('hello.gyp', test.DEFAULT)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-disable-regyp.py b/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-disable-regyp.py
deleted file mode 100755
index 1e4b30667..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-disable-regyp.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that Makefiles don't get rebuilt when a source gyp file changes and
-the disable_regeneration generator flag is set.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('hello.gyp', '-Gauto_regeneration=0')
-
-test.build('hello.gyp', test.ALL)
-
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-# Sleep so that the changed gyp file will have a newer timestamp than the
-# previously generated build files.
-test.sleep()
-test.write('hello.gyp', test.read('hello2.gyp'))
-
-test.build('hello.gyp', test.ALL)
-
-# Should still be the old executable, as regeneration was disabled.
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-regyp.py b/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-regyp.py
deleted file mode 100755
index 2131972f2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-regyp.py
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that Makefiles get rebuilt when a source gyp file changes.
-"""
-
-import TestGyp
-
-# Regenerating build files when a gyp file changes is currently only supported
-# by the make and Android generators.
-test = TestGyp.TestGyp(formats=['make', 'android'])
-
-test.run_gyp('hello.gyp')
-
-test.build('hello.gyp', test.ALL)
-
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-# Sleep so that the changed gyp file will have a newer timestamp than the
-# previously generated build files.
-test.sleep()
-test.write('hello.gyp', test.read('hello2.gyp'))
-
-test.build('hello.gyp', test.ALL)
-
-test.run_built_executable('hello', stdout="Hello, two!\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-target.py b/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-target.py
deleted file mode 100755
index 1abaf7057..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/gyptest-target.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simplest-possible build of a "Hello, world!" program
-using an explicit build target of 'hello'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_target')
-
-test.run_gyp('hello.gyp')
-
-test.build('hello.gyp', 'hello')
-
-test.run_built_executable('hello', stdout="Hello, world!\n")
-
-test.up_to_date('hello.gyp', 'hello')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/hello/hello.c
deleted file mode 100644
index 8dbecc049..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello, world!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/hello/hello.gyp
deleted file mode 100644
index 1974d51cc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.c b/deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.c
deleted file mode 100644
index 19ef3fbd5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello, two!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.gyp
deleted file mode 100644
index 25b08caf3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/hello/hello2.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes-regyp.py b/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes-regyp.py
deleted file mode 100755
index a206125f3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes-regyp.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies inclusion of $HOME/.gyp/include.gypi works properly with relocation
-and with regeneration.
-"""
-
-import os
-import TestGyp
-
-# Regenerating build files when a gyp file changes is currently only supported
-# by the make and Android generators.
-test = TestGyp.TestGyp(formats=['make', 'android'])
-
-os.environ['HOME'] = os.path.abspath('home')
-
-test.run_gyp('all.gyp', chdir='src')
-
-# After relocating, we should still be able to build (build file shouldn't
-# contain relative reference to ~/.gyp/include.gypi)
-test.relocate('src', 'relocate/src')
-
-test.build('all.gyp', test.ALL, chdir='relocate/src')
-
-test.run_built_executable('printfoo',
- chdir='relocate/src',
- stdout='FOO is fromhome\n')
-
-# Building should notice any changes to ~/.gyp/include.gypi and regyp.
-test.sleep()
-
-test.write('home/.gyp/include.gypi', test.read('home2/.gyp/include.gypi'))
-
-test.build('all.gyp', test.ALL, chdir='relocate/src')
-
-test.run_built_executable('printfoo',
- chdir='relocate/src',
- stdout='FOO is fromhome2\n')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes.py b/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes.py
deleted file mode 100755
index 8ad52556b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/gyptest-home-includes.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies inclusion of $HOME/.gyp/include.gypi works.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-os.environ['HOME'] = os.path.abspath('home')
-
-test.run_gyp('all.gyp', chdir='src')
-
-# After relocating, we should still be able to build (build file shouldn't
-# contain relative reference to ~/.gyp/include.gypi)
-test.relocate('src', 'relocate/src')
-
-test.build('all.gyp', test.ALL, chdir='relocate/src')
-
-test.run_built_executable('printfoo',
- chdir='relocate/src',
- stdout='FOO is fromhome\n')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home/.gyp/include.gypi b/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home/.gyp/include.gypi
deleted file mode 100644
index fcfb39bef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home/.gyp/include.gypi
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- 'variables': {
- 'foo': '"fromhome"',
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home2/.gyp/include.gypi b/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home2/.gyp/include.gypi
deleted file mode 100644
index f0d84b31a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/home2/.gyp/include.gypi
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- 'variables': {
- 'foo': '"fromhome2"',
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/all.gyp
deleted file mode 100644
index 14b6aea28..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/all.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'foo%': '"fromdefault"',
- },
- 'targets': [
- {
- 'target_name': 'printfoo',
- 'type': 'executable',
- 'sources': [
- 'printfoo.c',
- ],
- 'defines': [
- 'FOO=<(foo)',
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/printfoo.c b/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/printfoo.c
deleted file mode 100644
index 92d2cbacb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/home_dot_gyp/src/printfoo.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("FOO is %s\n", FOO);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-all.py
deleted file mode 100755
index 94a1338d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-all.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies use of include_dirs when using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-if test.format == 'scons':
- test.skip_test('TODO: http://code.google.com/p/gyp/issues/detail?id=176\n')
-
-test.run_gyp('includes.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('includes.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from includes.c
-Hello from inc.h
-Hello from include1.h
-Hello from subdir/inc2/include2.h
-Hello from shadow2/shadow.h
-"""
-test.run_built_executable('includes', stdout=expect, chdir='relocate/src')
-
-if test.format == 'xcode':
- chdir='relocate/src/subdir'
-else:
- chdir='relocate/src'
-
-expect = """\
-Hello from subdir/subdir_includes.c
-Hello from subdir/inc.h
-Hello from include1.h
-Hello from subdir/inc2/include2.h
-"""
-test.run_built_executable('subdir_includes', stdout=expect, chdir=chdir)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-default.py
deleted file mode 100755
index 42acd1f96..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/gyptest-default.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies use of include_dirs when using the default build target.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-if test.format == 'scons':
- test.skip_test('TODO: http://code.google.com/p/gyp/issues/detail?id=176\n')
-
-test.run_gyp('includes.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('includes.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from includes.c
-Hello from inc.h
-Hello from include1.h
-Hello from subdir/inc2/include2.h
-Hello from shadow2/shadow.h
-"""
-test.run_built_executable('includes', stdout=expect, chdir='relocate/src')
-
-if test.format == 'xcode':
- chdir='relocate/src/subdir'
-else:
- chdir='relocate/src'
-
-expect = """\
-Hello from subdir/subdir_includes.c
-Hello from subdir/inc.h
-Hello from include1.h
-Hello from subdir/inc2/include2.h
-"""
-test.run_built_executable('subdir_includes', stdout=expect, chdir=chdir)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc.h b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc.h
deleted file mode 100644
index 0398d6915..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INC_STRING "inc.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc1/include1.h b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc1/include1.h
deleted file mode 100644
index 43356b5f4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/inc1/include1.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INCLUDE1_STRING "include1.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.c b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.c
deleted file mode 100644
index e2afbd3ed..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdio.h>
-
-#include "inc.h"
-#include "include1.h"
-#include "include2.h"
-#include "shadow.h"
-
-int main(int argc, char *argv[])
-{
- printf("Hello from includes.c\n");
- printf("Hello from %s\n", INC_STRING);
- printf("Hello from %s\n", INCLUDE1_STRING);
- printf("Hello from %s\n", INCLUDE2_STRING);
- /* Test that include_dirs happen first: The gyp file has a -Ishadow1
- cflag and an include_dir of shadow2. Including shadow.h should get
- the shadow.h from the include_dir. */
- printf("Hello from %s\n", SHADOW_STRING);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.gyp b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.gyp
deleted file mode 100644
index 359269020..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/includes.gyp
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'includes',
- 'type': 'executable',
- 'dependencies': [
- 'subdir/subdir_includes.gyp:subdir_includes',
- ],
- 'cflags': [
- '-Ishadow1',
- ],
- 'include_dirs': [
- '.',
- 'inc1',
- 'shadow2',
- 'subdir/inc2',
- ],
- 'sources': [
- 'includes.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow1/shadow.h b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow1/shadow.h
deleted file mode 100644
index 80f6de20b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow1/shadow.h
+++ /dev/null
@@ -1 +0,0 @@
-#define SHADOW_STRING "shadow1/shadow.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow2/shadow.h b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow2/shadow.h
deleted file mode 100644
index fad5ccd08..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/shadow2/shadow.h
+++ /dev/null
@@ -1 +0,0 @@
-#define SHADOW_STRING "shadow2/shadow.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc.h b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc.h
deleted file mode 100644
index 0a68d7b36..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INC_STRING "subdir/inc.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc2/include2.h b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc2/include2.h
deleted file mode 100644
index 721577eff..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/inc2/include2.h
+++ /dev/null
@@ -1 +0,0 @@
-#define INCLUDE2_STRING "subdir/inc2/include2.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.c b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.c
deleted file mode 100644
index 727f68220..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-
-#include "inc.h"
-#include "include1.h"
-#include "include2.h"
-
-int main(int argc, char *argv[])
-{
- printf("Hello from subdir/subdir_includes.c\n");
- printf("Hello from %s\n", INC_STRING);
- printf("Hello from %s\n", INCLUDE1_STRING);
- printf("Hello from %s\n", INCLUDE2_STRING);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.gyp b/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.gyp
deleted file mode 100644
index 257d052c3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/include_dirs/src/subdir/subdir_includes.gyp
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'subdir_includes',
- 'type': 'executable',
- 'include_dirs': [
- '.',
- '../inc1',
- 'inc2',
- ],
- 'sources': [
- 'subdir_includes.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/gyptest-intermediate-dir.py b/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/gyptest-intermediate-dir.py
deleted file mode 100755
index 0e1020ef3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/gyptest-intermediate-dir.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that targets have independent INTERMEDIATE_DIRs.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('test.gyp', chdir='src')
-test.build('test.gyp', 'target1', chdir='src')
-# Check stuff exists.
-intermediate_file1 = test.read('src/outfile.txt')
-test.must_contain(intermediate_file1, 'target1')
-
-shared_intermediate_file1 = test.read('src/shared_outfile.txt')
-test.must_contain(shared_intermediate_file1, 'shared_target1')
-
-test.run_gyp('test2.gyp', chdir='src')
-# Force the shared intermediate to be rebuilt.
-test.sleep()
-test.touch('src/shared_infile.txt')
-test.build('test2.gyp', 'target2', chdir='src')
-# Check INTERMEDIATE_DIR file didn't get overwritten but SHARED_INTERMEDIATE_DIR
-# file did.
-intermediate_file2 = test.read('src/outfile.txt')
-test.must_contain(intermediate_file1, 'target1')
-test.must_contain(intermediate_file2, 'target2')
-
-shared_intermediate_file2 = test.read('src/shared_outfile.txt')
-if shared_intermediate_file1 != shared_intermediate_file2:
- test.fail_test(shared_intermediate_file1 + ' != ' + shared_intermediate_file2)
-
-test.must_contain(shared_intermediate_file1, 'shared_target2')
-test.must_contain(shared_intermediate_file2, 'shared_target2')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/script.py b/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/script.py
deleted file mode 100755
index 7abc7ee14..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/script.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Takes 3 arguments. Writes the 1st argument to the file in the 2nd argument,
-# and writes the absolute path to the file in the 2nd argument to the file in
-# the 3rd argument.
-
-import os
-import shlex
-import sys
-
-if len(sys.argv) == 3 and ' ' in sys.argv[2]:
- sys.argv[2], fourth = shlex.split(sys.argv[2].replace('\\', '\\\\'))
- sys.argv.append(fourth)
-
-#print >>sys.stderr, sys.argv
-
-with open(sys.argv[2], 'w') as f:
- f.write(sys.argv[1])
-
-with open(sys.argv[3], 'w') as f:
- f.write(os.path.abspath(sys.argv[2]))
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/shared_infile.txt b/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/shared_infile.txt
deleted file mode 100644
index e2aba15d0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/shared_infile.txt
+++ /dev/null
@@ -1 +0,0 @@
-dummy input
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test.gyp
deleted file mode 100644
index b61e7e8ea..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test.gyp
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'target1',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'intermediate',
- 'inputs': [],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/intermediate_out.txt',
- 'outfile.txt',
- ],
- 'action': [
- 'python', 'script.py', 'target1', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'shared_intermediate',
- 'inputs': [
- 'shared_infile.txt',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/intermediate_out.txt',
- 'shared_outfile.txt',
- ],
- 'action': [
- 'python', 'script.py', 'shared_target1', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test2.gyp
deleted file mode 100644
index 41f556466..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/intermediate_dir/src/test2.gyp
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'target2',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'intermediate',
- 'inputs': [],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/intermediate_out.txt',
- 'outfile.txt',
- ],
- 'action': [
- 'python', 'script.py', 'target2', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- {
- 'action_name': 'shared_intermediate',
- 'inputs': [
- 'shared_infile.txt',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/intermediate_out.txt',
- 'shared_outfile.txt',
- ],
- 'action': [
- 'python', 'script.py', 'shared_target2', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/lib/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/lib/README.txt
deleted file mode 100644
index b3d724574..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/lib/README.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Supporting modules for GYP testing.
-
- TestCmd.py
- TestCommon.py
-
- Modules for generic testing of command-line utilities,
- specifically including the ability to copy a test configuration
- to temporary directories (with default cleanup on exit) as part
- of running test scripts that invoke commands, compare actual
- against expected output, etc.
-
- Our copies of these come from the SCons project,
- http://www.scons.org/.
-
- TestGyp.py
-
- Modules for GYP-specific tests, of course.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/lib/TestCmd.py b/deps/npm/node_modules/node-gyp/gyp/test/lib/TestCmd.py
deleted file mode 100644
index 71403614b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/lib/TestCmd.py
+++ /dev/null
@@ -1,1597 +0,0 @@
-"""
-TestCmd.py: a testing framework for commands and scripts.
-
-The TestCmd module provides a framework for portable automated testing
-of executable commands and scripts (in any language, not just Python),
-especially commands and scripts that require file system interaction.
-
-In addition to running tests and evaluating conditions, the TestCmd
-module manages and cleans up one or more temporary workspace
-directories, and provides methods for creating files and directories in
-those workspace directories from in-line data, here-documents), allowing
-tests to be completely self-contained.
-
-A TestCmd environment object is created via the usual invocation:
-
- import TestCmd
- test = TestCmd.TestCmd()
-
-There are a bunch of keyword arguments available at instantiation:
-
- test = TestCmd.TestCmd(description = 'string',
- program = 'program_or_script_to_test',
- interpreter = 'script_interpreter',
- workdir = 'prefix',
- subdir = 'subdir',
- verbose = Boolean,
- match = default_match_function,
- diff = default_diff_function,
- combine = Boolean)
-
-There are a bunch of methods that let you do different things:
-
- test.verbose_set(1)
-
- test.description_set('string')
-
- test.program_set('program_or_script_to_test')
-
- test.interpreter_set('script_interpreter')
- test.interpreter_set(['script_interpreter', 'arg'])
-
- test.workdir_set('prefix')
- test.workdir_set('')
-
- test.workpath('file')
- test.workpath('subdir', 'file')
-
- test.subdir('subdir', ...)
-
- test.rmdir('subdir', ...)
-
- test.write('file', "contents\n")
- test.write(['subdir', 'file'], "contents\n")
-
- test.read('file')
- test.read(['subdir', 'file'])
- test.read('file', mode)
- test.read(['subdir', 'file'], mode)
-
- test.writable('dir', 1)
- test.writable('dir', None)
-
- test.preserve(condition, ...)
-
- test.cleanup(condition)
-
- test.command_args(program = 'program_or_script_to_run',
- interpreter = 'script_interpreter',
- arguments = 'arguments to pass to program')
-
- test.run(program = 'program_or_script_to_run',
- interpreter = 'script_interpreter',
- arguments = 'arguments to pass to program',
- chdir = 'directory_to_chdir_to',
- stdin = 'input to feed to the program\n')
- universal_newlines = True)
-
- p = test.start(program = 'program_or_script_to_run',
- interpreter = 'script_interpreter',
- arguments = 'arguments to pass to program',
- universal_newlines = None)
-
- test.finish(self, p)
-
- test.pass_test()
- test.pass_test(condition)
- test.pass_test(condition, function)
-
- test.fail_test()
- test.fail_test(condition)
- test.fail_test(condition, function)
- test.fail_test(condition, function, skip)
-
- test.no_result()
- test.no_result(condition)
- test.no_result(condition, function)
- test.no_result(condition, function, skip)
-
- test.stdout()
- test.stdout(run)
-
- test.stderr()
- test.stderr(run)
-
- test.symlink(target, link)
-
- test.banner(string)
- test.banner(string, width)
-
- test.diff(actual, expected)
-
- test.match(actual, expected)
-
- test.match_exact("actual 1\nactual 2\n", "expected 1\nexpected 2\n")
- test.match_exact(["actual 1\n", "actual 2\n"],
- ["expected 1\n", "expected 2\n"])
-
- test.match_re("actual 1\nactual 2\n", regex_string)
- test.match_re(["actual 1\n", "actual 2\n"], list_of_regexes)
-
- test.match_re_dotall("actual 1\nactual 2\n", regex_string)
- test.match_re_dotall(["actual 1\n", "actual 2\n"], list_of_regexes)
-
- test.tempdir()
- test.tempdir('temporary-directory')
-
- test.sleep()
- test.sleep(seconds)
-
- test.where_is('foo')
- test.where_is('foo', 'PATH1:PATH2')
- test.where_is('foo', 'PATH1;PATH2', '.suffix3;.suffix4')
-
- test.unlink('file')
- test.unlink('subdir', 'file')
-
-The TestCmd module provides pass_test(), fail_test(), and no_result()
-unbound functions that report test results for use with the Aegis change
-management system. These methods terminate the test immediately,
-reporting PASSED, FAILED, or NO RESULT respectively, and exiting with
-status 0 (success), 1 or 2 respectively. This allows for a distinction
-between an actual failed test and a test that could not be properly
-evaluated because of an external condition (such as a full file system
-or incorrect permissions).
-
- import TestCmd
-
- TestCmd.pass_test()
- TestCmd.pass_test(condition)
- TestCmd.pass_test(condition, function)
-
- TestCmd.fail_test()
- TestCmd.fail_test(condition)
- TestCmd.fail_test(condition, function)
- TestCmd.fail_test(condition, function, skip)
-
- TestCmd.no_result()
- TestCmd.no_result(condition)
- TestCmd.no_result(condition, function)
- TestCmd.no_result(condition, function, skip)
-
-The TestCmd module also provides unbound functions that handle matching
-in the same way as the match_*() methods described above.
-
- import TestCmd
-
- test = TestCmd.TestCmd(match = TestCmd.match_exact)
-
- test = TestCmd.TestCmd(match = TestCmd.match_re)
-
- test = TestCmd.TestCmd(match = TestCmd.match_re_dotall)
-
-The TestCmd module provides unbound functions that can be used for the
-"diff" argument to TestCmd.TestCmd instantiation:
-
- import TestCmd
-
- test = TestCmd.TestCmd(match = TestCmd.match_re,
- diff = TestCmd.diff_re)
-
- test = TestCmd.TestCmd(diff = TestCmd.simple_diff)
-
-The "diff" argument can also be used with standard difflib functions:
-
- import difflib
-
- test = TestCmd.TestCmd(diff = difflib.context_diff)
-
- test = TestCmd.TestCmd(diff = difflib.unified_diff)
-
-Lastly, the where_is() method also exists in an unbound function
-version.
-
- import TestCmd
-
- TestCmd.where_is('foo')
- TestCmd.where_is('foo', 'PATH1:PATH2')
- TestCmd.where_is('foo', 'PATH1;PATH2', '.suffix3;.suffix4')
-"""
-
-# Copyright 2000-2010 Steven Knight
-# This module is free software, and you may redistribute it and/or modify
-# it under the same terms as Python itself, so long as this copyright message
-# and disclaimer are retained in their original form.
-#
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-# SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
-# THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-#
-# THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-# PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
-# AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
-# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
-__author__ = "Steven Knight <knight at baldmt dot com>"
-__revision__ = "TestCmd.py 0.37.D001 2010/01/11 16:55:50 knight"
-__version__ = "0.37"
-
-import errno
-import os
-import os.path
-import re
-import shutil
-import stat
-import string
-import sys
-import tempfile
-import time
-import traceback
-import types
-import UserList
-
-__all__ = [
- 'diff_re',
- 'fail_test',
- 'no_result',
- 'pass_test',
- 'match_exact',
- 'match_re',
- 'match_re_dotall',
- 'python_executable',
- 'TestCmd'
-]
-
-try:
- import difflib
-except ImportError:
- __all__.append('simple_diff')
-
-def is_List(e):
- return type(e) is types.ListType \
- or isinstance(e, UserList.UserList)
-
-try:
- from UserString import UserString
-except ImportError:
- class UserString:
- pass
-
-if hasattr(types, 'UnicodeType'):
- def is_String(e):
- return type(e) is types.StringType \
- or type(e) is types.UnicodeType \
- or isinstance(e, UserString)
-else:
- def is_String(e):
- return type(e) is types.StringType or isinstance(e, UserString)
-
-tempfile.template = 'testcmd.'
-if os.name in ('posix', 'nt'):
- tempfile.template = 'testcmd.' + str(os.getpid()) + '.'
-else:
- tempfile.template = 'testcmd.'
-
-re_space = re.compile('\s')
-
-_Cleanup = []
-
-_chain_to_exitfunc = None
-
-def _clean():
- global _Cleanup
- cleanlist = filter(None, _Cleanup)
- del _Cleanup[:]
- cleanlist.reverse()
- for test in cleanlist:
- test.cleanup()
- if _chain_to_exitfunc:
- _chain_to_exitfunc()
-
-try:
- import atexit
-except ImportError:
- # TODO(1.5): atexit requires python 2.0, so chain sys.exitfunc
- try:
- _chain_to_exitfunc = sys.exitfunc
- except AttributeError:
- pass
- sys.exitfunc = _clean
-else:
- atexit.register(_clean)
-
-try:
- zip
-except NameError:
- def zip(*lists):
- result = []
- for i in xrange(min(map(len, lists))):
- result.append(tuple(map(lambda l, i=i: l[i], lists)))
- return result
-
-class Collector:
- def __init__(self, top):
- self.entries = [top]
- def __call__(self, arg, dirname, names):
- pathjoin = lambda n, d=dirname: os.path.join(d, n)
- self.entries.extend(map(pathjoin, names))
-
-def _caller(tblist, skip):
- string = ""
- arr = []
- for file, line, name, text in tblist:
- if file[-10:] == "TestCmd.py":
- break
- arr = [(file, line, name, text)] + arr
- atfrom = "at"
- for file, line, name, text in arr[skip:]:
- if name in ("?", "<module>"):
- name = ""
- else:
- name = " (" + name + ")"
- string = string + ("%s line %d of %s%s\n" % (atfrom, line, file, name))
- atfrom = "\tfrom"
- return string
-
-def fail_test(self = None, condition = 1, function = None, skip = 0):
- """Cause the test to fail.
-
- By default, the fail_test() method reports that the test FAILED
- and exits with a status of 1. If a condition argument is supplied,
- the test fails only if the condition is true.
- """
- if not condition:
- return
- if not function is None:
- function()
- of = ""
- desc = ""
- sep = " "
- if not self is None:
- if self.program:
- of = " of " + self.program
- sep = "\n\t"
- if self.description:
- desc = " [" + self.description + "]"
- sep = "\n\t"
-
- at = _caller(traceback.extract_stack(), skip)
- sys.stderr.write("FAILED test" + of + desc + sep + at)
-
- sys.exit(1)
-
-def no_result(self = None, condition = 1, function = None, skip = 0):
- """Causes a test to exit with no valid result.
-
- By default, the no_result() method reports NO RESULT for the test
- and exits with a status of 2. If a condition argument is supplied,
- the test fails only if the condition is true.
- """
- if not condition:
- return
- if not function is None:
- function()
- of = ""
- desc = ""
- sep = " "
- if not self is None:
- if self.program:
- of = " of " + self.program
- sep = "\n\t"
- if self.description:
- desc = " [" + self.description + "]"
- sep = "\n\t"
-
- if os.environ.get('TESTCMD_DEBUG_SKIPS'):
- at = _caller(traceback.extract_stack(), skip)
- sys.stderr.write("NO RESULT for test" + of + desc + sep + at)
- else:
- sys.stderr.write("NO RESULT\n")
-
- sys.exit(2)
-
-def pass_test(self = None, condition = 1, function = None):
- """Causes a test to pass.
-
- By default, the pass_test() method reports PASSED for the test
- and exits with a status of 0. If a condition argument is supplied,
- the test passes only if the condition is true.
- """
- if not condition:
- return
- if not function is None:
- function()
- sys.stderr.write("PASSED\n")
- sys.exit(0)
-
-def match_exact(lines = None, matches = None):
- """
- """
- if not is_List(lines):
- lines = string.split(lines, "\n")
- if not is_List(matches):
- matches = string.split(matches, "\n")
- if len(lines) != len(matches):
- return
- for i in range(len(lines)):
- if lines[i] != matches[i]:
- return
- return 1
-
-def match_re(lines = None, res = None):
- """
- """
- if not is_List(lines):
- lines = string.split(lines, "\n")
- if not is_List(res):
- res = string.split(res, "\n")
- if len(lines) != len(res):
- return
- for i in range(len(lines)):
- s = "^" + res[i] + "$"
- try:
- expr = re.compile(s)
- except re.error, e:
- msg = "Regular expression error in %s: %s"
- raise re.error, msg % (repr(s), e[0])
- if not expr.search(lines[i]):
- return
- return 1
-
-def match_re_dotall(lines = None, res = None):
- """
- """
- if not type(lines) is type(""):
- lines = string.join(lines, "\n")
- if not type(res) is type(""):
- res = string.join(res, "\n")
- s = "^" + res + "$"
- try:
- expr = re.compile(s, re.DOTALL)
- except re.error, e:
- msg = "Regular expression error in %s: %s"
- raise re.error, msg % (repr(s), e[0])
- if expr.match(lines):
- return 1
-
-try:
- import difflib
-except ImportError:
- pass
-else:
- def simple_diff(a, b, fromfile='', tofile='',
- fromfiledate='', tofiledate='', n=3, lineterm='\n'):
- """
- A function with the same calling signature as difflib.context_diff
- (diff -c) and difflib.unified_diff (diff -u) but which prints
- output like the simple, unadorned 'diff" command.
- """
- sm = difflib.SequenceMatcher(None, a, b)
- def comma(x1, x2):
- return x1+1 == x2 and str(x2) or '%s,%s' % (x1+1, x2)
- result = []
- for op, a1, a2, b1, b2 in sm.get_opcodes():
- if op == 'delete':
- result.append("%sd%d" % (comma(a1, a2), b1))
- result.extend(map(lambda l: '< ' + l, a[a1:a2]))
- elif op == 'insert':
- result.append("%da%s" % (a1, comma(b1, b2)))
- result.extend(map(lambda l: '> ' + l, b[b1:b2]))
- elif op == 'replace':
- result.append("%sc%s" % (comma(a1, a2), comma(b1, b2)))
- result.extend(map(lambda l: '< ' + l, a[a1:a2]))
- result.append('---')
- result.extend(map(lambda l: '> ' + l, b[b1:b2]))
- return result
-
-def diff_re(a, b, fromfile='', tofile='',
- fromfiledate='', tofiledate='', n=3, lineterm='\n'):
- """
- A simple "diff" of two sets of lines when the expected lines
- are regular expressions. This is a really dumb thing that
- just compares each line in turn, so it doesn't look for
- chunks of matching lines and the like--but at least it lets
- you know exactly which line first didn't compare correctl...
- """
- result = []
- diff = len(a) - len(b)
- if diff < 0:
- a = a + ['']*(-diff)
- elif diff > 0:
- b = b + ['']*diff
- i = 0
- for aline, bline in zip(a, b):
- s = "^" + aline + "$"
- try:
- expr = re.compile(s)
- except re.error, e:
- msg = "Regular expression error in %s: %s"
- raise re.error, msg % (repr(s), e[0])
- if not expr.search(bline):
- result.append("%sc%s" % (i+1, i+1))
- result.append('< ' + repr(a[i]))
- result.append('---')
- result.append('> ' + repr(b[i]))
- i = i+1
- return result
-
-if os.name == 'java':
-
- python_executable = os.path.join(sys.prefix, 'jython')
-
-else:
-
- python_executable = sys.executable
-
-if sys.platform == 'win32':
-
- default_sleep_seconds = 2
-
- def where_is(file, path=None, pathext=None):
- if path is None:
- path = os.environ['PATH']
- if is_String(path):
- path = string.split(path, os.pathsep)
- if pathext is None:
- pathext = os.environ['PATHEXT']
- if is_String(pathext):
- pathext = string.split(pathext, os.pathsep)
- for ext in pathext:
- if string.lower(ext) == string.lower(file[-len(ext):]):
- pathext = ['']
- break
- for dir in path:
- f = os.path.join(dir, file)
- for ext in pathext:
- fext = f + ext
- if os.path.isfile(fext):
- return fext
- return None
-
-else:
-
- def where_is(file, path=None, pathext=None):
- if path is None:
- path = os.environ['PATH']
- if is_String(path):
- path = string.split(path, os.pathsep)
- for dir in path:
- f = os.path.join(dir, file)
- if os.path.isfile(f):
- try:
- st = os.stat(f)
- except OSError:
- continue
- if stat.S_IMODE(st[stat.ST_MODE]) & 0111:
- return f
- return None
-
- default_sleep_seconds = 1
-
-
-
-try:
- import subprocess
-except ImportError:
- # The subprocess module doesn't exist in this version of Python,
- # so we're going to cobble up something that looks just enough
- # like its API for our purposes below.
- import new
-
- subprocess = new.module('subprocess')
-
- subprocess.PIPE = 'PIPE'
- subprocess.STDOUT = 'STDOUT'
- subprocess.mswindows = (sys.platform == 'win32')
-
- try:
- import popen2
- popen2.Popen3
- except AttributeError:
- class Popen3:
- universal_newlines = 1
- def __init__(self, command, **kw):
- if sys.platform == 'win32' and command[0] == '"':
- command = '"' + command + '"'
- (stdin, stdout, stderr) = os.popen3(' ' + command)
- self.stdin = stdin
- self.stdout = stdout
- self.stderr = stderr
- def close_output(self):
- self.stdout.close()
- self.resultcode = self.stderr.close()
- def wait(self):
- resultcode = self.resultcode
- if os.WIFEXITED(resultcode):
- return os.WEXITSTATUS(resultcode)
- elif os.WIFSIGNALED(resultcode):
- return os.WTERMSIG(resultcode)
- else:
- return None
-
- else:
- try:
- popen2.Popen4
- except AttributeError:
- # A cribbed Popen4 class, with some retrofitted code from
- # the Python 1.5 Popen3 class methods to do certain things
- # by hand.
- class Popen4(popen2.Popen3):
- childerr = None
-
- def __init__(self, cmd, bufsize=-1):
- p2cread, p2cwrite = os.pipe()
- c2pread, c2pwrite = os.pipe()
- self.pid = os.fork()
- if self.pid == 0:
- # Child
- os.dup2(p2cread, 0)
- os.dup2(c2pwrite, 1)
- os.dup2(c2pwrite, 2)
- for i in range(3, popen2.MAXFD):
- try:
- os.close(i)
- except: pass
- try:
- os.execvp(cmd[0], cmd)
- finally:
- os._exit(1)
- # Shouldn't come here, I guess
- os._exit(1)
- os.close(p2cread)
- self.tochild = os.fdopen(p2cwrite, 'w', bufsize)
- os.close(c2pwrite)
- self.fromchild = os.fdopen(c2pread, 'r', bufsize)
- popen2._active.append(self)
-
- popen2.Popen4 = Popen4
-
- class Popen3(popen2.Popen3, popen2.Popen4):
- universal_newlines = 1
- def __init__(self, command, **kw):
- if kw.get('stderr') == 'STDOUT':
- apply(popen2.Popen4.__init__, (self, command, 1))
- else:
- apply(popen2.Popen3.__init__, (self, command, 1))
- self.stdin = self.tochild
- self.stdout = self.fromchild
- self.stderr = self.childerr
- def wait(self, *args, **kw):
- resultcode = apply(popen2.Popen3.wait, (self,)+args, kw)
- if os.WIFEXITED(resultcode):
- return os.WEXITSTATUS(resultcode)
- elif os.WIFSIGNALED(resultcode):
- return os.WTERMSIG(resultcode)
- else:
- return None
-
- subprocess.Popen = Popen3
-
-
-
-# From Josiah Carlson,
-# ASPN : Python Cookbook : Module to allow Asynchronous subprocess use on Windows and Posix platforms
-# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/440554
-
-PIPE = subprocess.PIPE
-
-if subprocess.mswindows:
- from win32file import ReadFile, WriteFile
- from win32pipe import PeekNamedPipe
- import msvcrt
-else:
- import select
- import fcntl
-
- try: fcntl.F_GETFL
- except AttributeError: fcntl.F_GETFL = 3
-
- try: fcntl.F_SETFL
- except AttributeError: fcntl.F_SETFL = 4
-
-class Popen(subprocess.Popen):
- def recv(self, maxsize=None):
- return self._recv('stdout', maxsize)
-
- def recv_err(self, maxsize=None):
- return self._recv('stderr', maxsize)
-
- def send_recv(self, input='', maxsize=None):
- return self.send(input), self.recv(maxsize), self.recv_err(maxsize)
-
- def get_conn_maxsize(self, which, maxsize):
- if maxsize is None:
- maxsize = 1024
- elif maxsize < 1:
- maxsize = 1
- return getattr(self, which), maxsize
-
- def _close(self, which):
- getattr(self, which).close()
- setattr(self, which, None)
-
- if subprocess.mswindows:
- def send(self, input):
- if not self.stdin:
- return None
-
- try:
- x = msvcrt.get_osfhandle(self.stdin.fileno())
- (errCode, written) = WriteFile(x, input)
- except ValueError:
- return self._close('stdin')
- except (subprocess.pywintypes.error, Exception), why:
- if why[0] in (109, errno.ESHUTDOWN):
- return self._close('stdin')
- raise
-
- return written
-
- def _recv(self, which, maxsize):
- conn, maxsize = self.get_conn_maxsize(which, maxsize)
- if conn is None:
- return None
-
- try:
- x = msvcrt.get_osfhandle(conn.fileno())
- (read, nAvail, nMessage) = PeekNamedPipe(x, 0)
- if maxsize < nAvail:
- nAvail = maxsize
- if nAvail > 0:
- (errCode, read) = ReadFile(x, nAvail, None)
- except ValueError:
- return self._close(which)
- except (subprocess.pywintypes.error, Exception), why:
- if why[0] in (109, errno.ESHUTDOWN):
- return self._close(which)
- raise
-
- #if self.universal_newlines:
- # read = self._translate_newlines(read)
- return read
-
- else:
- def send(self, input):
- if not self.stdin:
- return None
-
- if not select.select([], [self.stdin], [], 0)[1]:
- return 0
-
- try:
- written = os.write(self.stdin.fileno(), input)
- except OSError, why:
- if why[0] == errno.EPIPE: #broken pipe
- return self._close('stdin')
- raise
-
- return written
-
- def _recv(self, which, maxsize):
- conn, maxsize = self.get_conn_maxsize(which, maxsize)
- if conn is None:
- return None
-
- try:
- flags = fcntl.fcntl(conn, fcntl.F_GETFL)
- except TypeError:
- flags = None
- else:
- if not conn.closed:
- fcntl.fcntl(conn, fcntl.F_SETFL, flags| os.O_NONBLOCK)
-
- try:
- if not select.select([conn], [], [], 0)[0]:
- return ''
-
- r = conn.read(maxsize)
- if not r:
- return self._close(which)
-
- #if self.universal_newlines:
- # r = self._translate_newlines(r)
- return r
- finally:
- if not conn.closed and not flags is None:
- fcntl.fcntl(conn, fcntl.F_SETFL, flags)
-
-disconnect_message = "Other end disconnected!"
-
-def recv_some(p, t=.1, e=1, tr=5, stderr=0):
- if tr < 1:
- tr = 1
- x = time.time()+t
- y = []
- r = ''
- pr = p.recv
- if stderr:
- pr = p.recv_err
- while time.time() < x or r:
- r = pr()
- if r is None:
- if e:
- raise Exception(disconnect_message)
- else:
- break
- elif r:
- y.append(r)
- else:
- time.sleep(max((x-time.time())/tr, 0))
- return ''.join(y)
-
-# TODO(3.0: rewrite to use memoryview()
-def send_all(p, data):
- while len(data):
- sent = p.send(data)
- if sent is None:
- raise Exception(disconnect_message)
- data = buffer(data, sent)
-
-
-
-try:
- object
-except NameError:
- class object:
- pass
-
-
-
-class TestCmd(object):
- """Class TestCmd
- """
-
- def __init__(self, description = None,
- program = None,
- interpreter = None,
- workdir = None,
- subdir = None,
- verbose = None,
- match = None,
- diff = None,
- combine = 0,
- universal_newlines = 1):
- self._cwd = os.getcwd()
- self.description_set(description)
- self.program_set(program)
- self.interpreter_set(interpreter)
- if verbose is None:
- try:
- verbose = max( 0, int(os.environ.get('TESTCMD_VERBOSE', 0)) )
- except ValueError:
- verbose = 0
- self.verbose_set(verbose)
- self.combine = combine
- self.universal_newlines = universal_newlines
- if match is not None:
- self.match_function = match
- else:
- self.match_function = match_re
- if diff is not None:
- self.diff_function = diff
- else:
- try:
- difflib
- except NameError:
- pass
- else:
- self.diff_function = simple_diff
- #self.diff_function = difflib.context_diff
- #self.diff_function = difflib.unified_diff
- self._dirlist = []
- self._preserve = {'pass_test': 0, 'fail_test': 0, 'no_result': 0}
- if os.environ.has_key('PRESERVE') and not os.environ['PRESERVE'] is '':
- self._preserve['pass_test'] = os.environ['PRESERVE']
- self._preserve['fail_test'] = os.environ['PRESERVE']
- self._preserve['no_result'] = os.environ['PRESERVE']
- else:
- try:
- self._preserve['pass_test'] = os.environ['PRESERVE_PASS']
- except KeyError:
- pass
- try:
- self._preserve['fail_test'] = os.environ['PRESERVE_FAIL']
- except KeyError:
- pass
- try:
- self._preserve['no_result'] = os.environ['PRESERVE_NO_RESULT']
- except KeyError:
- pass
- self._stdout = []
- self._stderr = []
- self.status = None
- self.condition = 'no_result'
- self.workdir_set(workdir)
- self.subdir(subdir)
-
- def __del__(self):
- self.cleanup()
-
- def __repr__(self):
- return "%x" % id(self)
-
- banner_char = '='
- banner_width = 80
-
- def banner(self, s, width=None):
- if width is None:
- width = self.banner_width
- return s + self.banner_char * (width - len(s))
-
- if os.name == 'posix':
-
- def escape(self, arg):
- "escape shell special characters"
- slash = '\\'
- special = '"$'
-
- arg = string.replace(arg, slash, slash+slash)
- for c in special:
- arg = string.replace(arg, c, slash+c)
-
- if re_space.search(arg):
- arg = '"' + arg + '"'
- return arg
-
- else:
-
- # Windows does not allow special characters in file names
- # anyway, so no need for an escape function, we will just quote
- # the arg.
- def escape(self, arg):
- if re_space.search(arg):
- arg = '"' + arg + '"'
- return arg
-
- def canonicalize(self, path):
- if is_List(path):
- path = apply(os.path.join, tuple(path))
- if not os.path.isabs(path):
- path = os.path.join(self.workdir, path)
- return path
-
- def chmod(self, path, mode):
- """Changes permissions on the specified file or directory
- path name."""
- path = self.canonicalize(path)
- os.chmod(path, mode)
-
- def cleanup(self, condition = None):
- """Removes any temporary working directories for the specified
- TestCmd environment. If the environment variable PRESERVE was
- set when the TestCmd environment was created, temporary working
- directories are not removed. If any of the environment variables
- PRESERVE_PASS, PRESERVE_FAIL, or PRESERVE_NO_RESULT were set
- when the TestCmd environment was created, then temporary working
- directories are not removed if the test passed, failed, or had
- no result, respectively. Temporary working directories are also
- preserved for conditions specified via the preserve method.
-
- Typically, this method is not called directly, but is used when
- the script exits to clean up temporary working directories as
- appropriate for the exit status.
- """
- if not self._dirlist:
- return
- os.chdir(self._cwd)
- self.workdir = None
- if condition is None:
- condition = self.condition
- if self._preserve[condition]:
- for dir in self._dirlist:
- print "Preserved directory", dir
- else:
- list = self._dirlist[:]
- list.reverse()
- for dir in list:
- self.writable(dir, 1)
- shutil.rmtree(dir, ignore_errors = 1)
- self._dirlist = []
-
- try:
- global _Cleanup
- _Cleanup.remove(self)
- except (AttributeError, ValueError):
- pass
-
- def command_args(self, program = None,
- interpreter = None,
- arguments = None):
- if program:
- if type(program) == type('') and not os.path.isabs(program):
- program = os.path.join(self._cwd, program)
- else:
- program = self.program
- if not interpreter:
- interpreter = self.interpreter
- if not type(program) in [type([]), type(())]:
- program = [program]
- cmd = list(program)
- if interpreter:
- if not type(interpreter) in [type([]), type(())]:
- interpreter = [interpreter]
- cmd = list(interpreter) + cmd
- if arguments:
- if type(arguments) == type(''):
- arguments = string.split(arguments)
- cmd.extend(arguments)
- return cmd
-
- def description_set(self, description):
- """Set the description of the functionality being tested.
- """
- self.description = description
-
- try:
- difflib
- except NameError:
- def diff(self, a, b, name, *args, **kw):
- print self.banner('Expected %s' % name)
- print a
- print self.banner('Actual %s' % name)
- print b
- else:
- def diff(self, a, b, name, *args, **kw):
- print self.banner(name)
- args = (a.splitlines(), b.splitlines()) + args
- lines = apply(self.diff_function, args, kw)
- for l in lines:
- print l
-
- def fail_test(self, condition = 1, function = None, skip = 0):
- """Cause the test to fail.
- """
- if not condition:
- return
- self.condition = 'fail_test'
- fail_test(self = self,
- condition = condition,
- function = function,
- skip = skip)
-
- def interpreter_set(self, interpreter):
- """Set the program to be used to interpret the program
- under test as a script.
- """
- self.interpreter = interpreter
-
- def match(self, lines, matches):
- """Compare actual and expected file contents.
- """
- return self.match_function(lines, matches)
-
- def match_exact(self, lines, matches):
- """Compare actual and expected file contents.
- """
- return match_exact(lines, matches)
-
- def match_re(self, lines, res):
- """Compare actual and expected file contents.
- """
- return match_re(lines, res)
-
- def match_re_dotall(self, lines, res):
- """Compare actual and expected file contents.
- """
- return match_re_dotall(lines, res)
-
- def no_result(self, condition = 1, function = None, skip = 0):
- """Report that the test could not be run.
- """
- if not condition:
- return
- self.condition = 'no_result'
- no_result(self = self,
- condition = condition,
- function = function,
- skip = skip)
-
- def pass_test(self, condition = 1, function = None):
- """Cause the test to pass.
- """
- if not condition:
- return
- self.condition = 'pass_test'
- pass_test(self = self, condition = condition, function = function)
-
- def preserve(self, *conditions):
- """Arrange for the temporary working directories for the
- specified TestCmd environment to be preserved for one or more
- conditions. If no conditions are specified, arranges for
- the temporary working directories to be preserved for all
- conditions.
- """
- if conditions is ():
- conditions = ('pass_test', 'fail_test', 'no_result')
- for cond in conditions:
- self._preserve[cond] = 1
-
- def program_set(self, program):
- """Set the executable program or script to be tested.
- """
- if program and not os.path.isabs(program):
- program = os.path.join(self._cwd, program)
- self.program = program
-
- def read(self, file, mode = 'rb'):
- """Reads and returns the contents of the specified file name.
- The file name may be a list, in which case the elements are
- concatenated with the os.path.join() method. The file is
- assumed to be under the temporary working directory unless it
- is an absolute path name. The I/O mode for the file may
- be specified; it must begin with an 'r'. The default is
- 'rb' (binary read).
- """
- file = self.canonicalize(file)
- if mode[0] != 'r':
- raise ValueError, "mode must begin with 'r'"
- with open(file, mode) as f:
- result = f.read()
- return result
-
- def rmdir(self, dir):
- """Removes the specified dir name.
- The dir name may be a list, in which case the elements are
- concatenated with the os.path.join() method. The dir is
- assumed to be under the temporary working directory unless it
- is an absolute path name.
- The dir must be empty.
- """
- dir = self.canonicalize(dir)
- os.rmdir(dir)
-
- def start(self, program = None,
- interpreter = None,
- arguments = None,
- universal_newlines = None,
- **kw):
- """
- Starts a program or script for the test environment.
-
- The specified program will have the original directory
- prepended unless it is enclosed in a [list].
- """
- cmd = self.command_args(program, interpreter, arguments)
- cmd_string = string.join(map(self.escape, cmd), ' ')
- if self.verbose:
- sys.stderr.write(cmd_string + "\n")
- if universal_newlines is None:
- universal_newlines = self.universal_newlines
-
- # On Windows, if we make stdin a pipe when we plan to send
- # no input, and the test program exits before
- # Popen calls msvcrt.open_osfhandle, that call will fail.
- # So don't use a pipe for stdin if we don't need one.
- stdin = kw.get('stdin', None)
- if stdin is not None:
- stdin = subprocess.PIPE
-
- combine = kw.get('combine', self.combine)
- if combine:
- stderr_value = subprocess.STDOUT
- else:
- stderr_value = subprocess.PIPE
-
- return Popen(cmd,
- stdin=stdin,
- stdout=subprocess.PIPE,
- stderr=stderr_value,
- universal_newlines=universal_newlines)
-
- def finish(self, popen, **kw):
- """
- Finishes and waits for the process being run under control of
- the specified popen argument, recording the exit status,
- standard output and error output.
- """
- popen.stdin.close()
- self.status = popen.wait()
- if not self.status:
- self.status = 0
- self._stdout.append(popen.stdout.read())
- if popen.stderr:
- stderr = popen.stderr.read()
- else:
- stderr = ''
- self._stderr.append(stderr)
-
- def run(self, program = None,
- interpreter = None,
- arguments = None,
- chdir = None,
- stdin = None,
- universal_newlines = None):
- """Runs a test of the program or script for the test
- environment. Standard output and error output are saved for
- future retrieval via the stdout() and stderr() methods.
-
- The specified program will have the original directory
- prepended unless it is enclosed in a [list].
- """
- if chdir:
- oldcwd = os.getcwd()
- if not os.path.isabs(chdir):
- chdir = os.path.join(self.workpath(chdir))
- if self.verbose:
- sys.stderr.write("chdir(" + chdir + ")\n")
- os.chdir(chdir)
- p = self.start(program,
- interpreter,
- arguments,
- universal_newlines,
- stdin=stdin)
- if stdin:
- if is_List(stdin):
- for line in stdin:
- p.stdin.write(line)
- else:
- p.stdin.write(stdin)
- p.stdin.close()
-
- out = p.stdout.read()
- if p.stderr is None:
- err = ''
- else:
- err = p.stderr.read()
- try:
- close_output = p.close_output
- except AttributeError:
- p.stdout.close()
- if not p.stderr is None:
- p.stderr.close()
- else:
- close_output()
-
- self._stdout.append(out)
- self._stderr.append(err)
-
- self.status = p.wait()
- if not self.status:
- self.status = 0
-
- if chdir:
- os.chdir(oldcwd)
- if self.verbose >= 2:
- write = sys.stdout.write
- write('============ STATUS: %d\n' % self.status)
- out = self.stdout()
- if out or self.verbose >= 3:
- write('============ BEGIN STDOUT (len=%d):\n' % len(out))
- write(out)
- write('============ END STDOUT\n')
- err = self.stderr()
- if err or self.verbose >= 3:
- write('============ BEGIN STDERR (len=%d)\n' % len(err))
- write(err)
- write('============ END STDERR\n')
-
- def sleep(self, seconds = default_sleep_seconds):
- """Sleeps at least the specified number of seconds. If no
- number is specified, sleeps at least the minimum number of
- seconds necessary to advance file time stamps on the current
- system. Sleeping more seconds is all right.
- """
- time.sleep(seconds)
-
- def stderr(self, run = None):
- """Returns the error output from the specified run number.
- If there is no specified run number, then returns the error
- output of the last run. If the run number is less than zero,
- then returns the error output from that many runs back from the
- current run.
- """
- if not run:
- run = len(self._stderr)
- elif run < 0:
- run = len(self._stderr) + run
- run = run - 1
- return self._stderr[run]
-
- def stdout(self, run = None):
- """Returns the standard output from the specified run number.
- If there is no specified run number, then returns the standard
- output of the last run. If the run number is less than zero,
- then returns the standard output from that many runs back from
- the current run.
- """
- if not run:
- run = len(self._stdout)
- elif run < 0:
- run = len(self._stdout) + run
- run = run - 1
- return self._stdout[run]
-
- def subdir(self, *subdirs):
- """Create new subdirectories under the temporary working
- directory, one for each argument. An argument may be a list,
- in which case the list elements are concatenated using the
- os.path.join() method. Subdirectories multiple levels deep
- must be created using a separate argument for each level:
-
- test.subdir('sub', ['sub', 'dir'], ['sub', 'dir', 'ectory'])
-
- Returns the number of subdirectories actually created.
- """
- count = 0
- for sub in subdirs:
- if sub is None:
- continue
- if is_List(sub):
- sub = apply(os.path.join, tuple(sub))
- new = os.path.join(self.workdir, sub)
- try:
- os.mkdir(new)
- except OSError:
- pass
- else:
- count = count + 1
- return count
-
- def symlink(self, target, link):
- """Creates a symlink to the specified target.
- The link name may be a list, in which case the elements are
- concatenated with the os.path.join() method. The link is
- assumed to be under the temporary working directory unless it
- is an absolute path name. The target is *not* assumed to be
- under the temporary working directory.
- """
- link = self.canonicalize(link)
- os.symlink(target, link)
-
- def tempdir(self, path=None):
- """Creates a temporary directory.
- A unique directory name is generated if no path name is specified.
- The directory is created, and will be removed when the TestCmd
- object is destroyed.
- """
- if path is None:
- try:
- path = tempfile.mktemp(prefix=tempfile.template)
- except TypeError:
- path = tempfile.mktemp()
- os.mkdir(path)
-
- # Symlinks in the path will report things
- # differently from os.getcwd(), so chdir there
- # and back to fetch the canonical path.
- cwd = os.getcwd()
- try:
- os.chdir(path)
- path = os.getcwd()
- finally:
- os.chdir(cwd)
-
- # Uppercase the drive letter since the case of drive
- # letters is pretty much random on win32:
- drive,rest = os.path.splitdrive(path)
- if drive:
- path = string.upper(drive) + rest
-
- #
- self._dirlist.append(path)
- global _Cleanup
- try:
- _Cleanup.index(self)
- except ValueError:
- _Cleanup.append(self)
-
- return path
-
- def touch(self, path, mtime=None):
- """Updates the modification time on the specified file or
- directory path name. The default is to update to the
- current time if no explicit modification time is specified.
- """
- path = self.canonicalize(path)
- atime = os.path.getatime(path)
- if mtime is None:
- mtime = time.time()
- os.utime(path, (atime, mtime))
-
- def unlink(self, file):
- """Unlinks the specified file name.
- The file name may be a list, in which case the elements are
- concatenated with the os.path.join() method. The file is
- assumed to be under the temporary working directory unless it
- is an absolute path name.
- """
- file = self.canonicalize(file)
- os.unlink(file)
-
- def verbose_set(self, verbose):
- """Set the verbose level.
- """
- self.verbose = verbose
-
- def where_is(self, file, path=None, pathext=None):
- """Find an executable file.
- """
- if is_List(file):
- file = apply(os.path.join, tuple(file))
- if not os.path.isabs(file):
- file = where_is(file, path, pathext)
- return file
-
- def workdir_set(self, path):
- """Creates a temporary working directory with the specified
- path name. If the path is a null string (''), a unique
- directory name is created.
- """
- if (path != None):
- if path == '':
- path = None
- path = self.tempdir(path)
- self.workdir = path
-
- def workpath(self, *args):
- """Returns the absolute path name to a subdirectory or file
- within the current temporary working directory. Concatenates
- the temporary working directory name with the specified
- arguments using the os.path.join() method.
- """
- return apply(os.path.join, (self.workdir,) + tuple(args))
-
- def readable(self, top, read=1):
- """Make the specified directory tree readable (read == 1)
- or not (read == None).
-
- This method has no effect on Windows systems, which use a
- completely different mechanism to control file readability.
- """
-
- if sys.platform == 'win32':
- return
-
- if read:
- def do_chmod(fname):
- try: st = os.stat(fname)
- except OSError: pass
- else: os.chmod(fname, stat.S_IMODE(st[stat.ST_MODE]|stat.S_IREAD))
- else:
- def do_chmod(fname):
- try: st = os.stat(fname)
- except OSError: pass
- else: os.chmod(fname, stat.S_IMODE(st[stat.ST_MODE]&~stat.S_IREAD))
-
- if os.path.isfile(top):
- # If it's a file, that's easy, just chmod it.
- do_chmod(top)
- elif read:
- # It's a directory and we're trying to turn on read
- # permission, so it's also pretty easy, just chmod the
- # directory and then chmod every entry on our walk down the
- # tree. Because os.path.walk() is top-down, we'll enable
- # read permission on any directories that have it disabled
- # before os.path.walk() tries to list their contents.
- do_chmod(top)
-
- def chmod_entries(arg, dirname, names, do_chmod=do_chmod):
- for n in names:
- do_chmod(os.path.join(dirname, n))
-
- os.path.walk(top, chmod_entries, None)
- else:
- # It's a directory and we're trying to turn off read
- # permission, which means we have to chmod the directoreis
- # in the tree bottom-up, lest disabling read permission from
- # the top down get in the way of being able to get at lower
- # parts of the tree. But os.path.walk() visits things top
- # down, so we just use an object to collect a list of all
- # of the entries in the tree, reverse the list, and then
- # chmod the reversed (bottom-up) list.
- col = Collector(top)
- os.path.walk(top, col, None)
- col.entries.reverse()
- for d in col.entries: do_chmod(d)
-
- def writable(self, top, write=1):
- """Make the specified directory tree writable (write == 1)
- or not (write == None).
- """
-
- if sys.platform == 'win32':
-
- if write:
- def do_chmod(fname):
- try: os.chmod(fname, stat.S_IWRITE)
- except OSError: pass
- else:
- def do_chmod(fname):
- try: os.chmod(fname, stat.S_IREAD)
- except OSError: pass
-
- else:
-
- if write:
- def do_chmod(fname):
- try: st = os.stat(fname)
- except OSError: pass
- else: os.chmod(fname, stat.S_IMODE(st[stat.ST_MODE]|0200))
- else:
- def do_chmod(fname):
- try: st = os.stat(fname)
- except OSError: pass
- else: os.chmod(fname, stat.S_IMODE(st[stat.ST_MODE]&~0200))
-
- if os.path.isfile(top):
- do_chmod(top)
- else:
- col = Collector(top)
- os.path.walk(top, col, None)
- for d in col.entries: do_chmod(d)
-
- def executable(self, top, execute=1):
- """Make the specified directory tree executable (execute == 1)
- or not (execute == None).
-
- This method has no effect on Windows systems, which use a
- completely different mechanism to control file executability.
- """
-
- if sys.platform == 'win32':
- return
-
- if execute:
- def do_chmod(fname):
- try: st = os.stat(fname)
- except OSError: pass
- else: os.chmod(fname, stat.S_IMODE(st[stat.ST_MODE]|stat.S_IEXEC))
- else:
- def do_chmod(fname):
- try: st = os.stat(fname)
- except OSError: pass
- else: os.chmod(fname, stat.S_IMODE(st[stat.ST_MODE]&~stat.S_IEXEC))
-
- if os.path.isfile(top):
- # If it's a file, that's easy, just chmod it.
- do_chmod(top)
- elif execute:
- # It's a directory and we're trying to turn on execute
- # permission, so it's also pretty easy, just chmod the
- # directory and then chmod every entry on our walk down the
- # tree. Because os.path.walk() is top-down, we'll enable
- # execute permission on any directories that have it disabled
- # before os.path.walk() tries to list their contents.
- do_chmod(top)
-
- def chmod_entries(arg, dirname, names, do_chmod=do_chmod):
- for n in names:
- do_chmod(os.path.join(dirname, n))
-
- os.path.walk(top, chmod_entries, None)
- else:
- # It's a directory and we're trying to turn off execute
- # permission, which means we have to chmod the directories
- # in the tree bottom-up, lest disabling execute permission from
- # the top down get in the way of being able to get at lower
- # parts of the tree. But os.path.walk() visits things top
- # down, so we just use an object to collect a list of all
- # of the entries in the tree, reverse the list, and then
- # chmod the reversed (bottom-up) list.
- col = Collector(top)
- os.path.walk(top, col, None)
- col.entries.reverse()
- for d in col.entries: do_chmod(d)
-
- def write(self, file, content, mode = 'wb'):
- """Writes the specified content text (second argument) to the
- specified file name (first argument). The file name may be
- a list, in which case the elements are concatenated with the
- os.path.join() method. The file is created under the temporary
- working directory. Any subdirectories in the path must already
- exist. The I/O mode for the file may be specified; it must
- begin with a 'w'. The default is 'wb' (binary write).
- """
- file = self.canonicalize(file)
- if mode[0] != 'w':
- raise ValueError, "mode must begin with 'w'"
- with open(file, mode) as f:
- f.write(content)
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/lib/TestCommon.py b/deps/npm/node_modules/node-gyp/gyp/test/lib/TestCommon.py
deleted file mode 100644
index c54530c98..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/lib/TestCommon.py
+++ /dev/null
@@ -1,570 +0,0 @@
-"""
-TestCommon.py: a testing framework for commands and scripts
- with commonly useful error handling
-
-The TestCommon module provides a simple, high-level interface for writing
-tests of executable commands and scripts, especially commands and scripts
-that interact with the file system. All methods throw exceptions and
-exit on failure, with useful error messages. This makes a number of
-explicit checks unnecessary, making the test scripts themselves simpler
-to write and easier to read.
-
-The TestCommon class is a subclass of the TestCmd class. In essence,
-TestCommon is a wrapper that handles common TestCmd error conditions in
-useful ways. You can use TestCommon directly, or subclass it for your
-program and add additional (or override) methods to tailor it to your
-program's specific needs. Alternatively, the TestCommon class serves
-as a useful example of how to define your own TestCmd subclass.
-
-As a subclass of TestCmd, TestCommon provides access to all of the
-variables and methods from the TestCmd module. Consequently, you can
-use any variable or method documented in the TestCmd module without
-having to explicitly import TestCmd.
-
-A TestCommon environment object is created via the usual invocation:
-
- import TestCommon
- test = TestCommon.TestCommon()
-
-You can use all of the TestCmd keyword arguments when instantiating a
-TestCommon object; see the TestCmd documentation for details.
-
-Here is an overview of the methods and keyword arguments that are
-provided by the TestCommon class:
-
- test.must_be_writable('file1', ['file2', ...])
-
- test.must_contain('file', 'required text\n')
-
- test.must_contain_all_lines(output, lines, ['title', find])
-
- test.must_contain_any_line(output, lines, ['title', find])
-
- test.must_exist('file1', ['file2', ...])
-
- test.must_match('file', "expected contents\n")
-
- test.must_not_be_writable('file1', ['file2', ...])
-
- test.must_not_contain('file', 'banned text\n')
-
- test.must_not_contain_any_line(output, lines, ['title', find])
-
- test.must_not_exist('file1', ['file2', ...])
-
- test.run(options = "options to be prepended to arguments",
- stdout = "expected standard output from the program",
- stderr = "expected error output from the program",
- status = expected_status,
- match = match_function)
-
-The TestCommon module also provides the following variables
-
- TestCommon.python_executable
- TestCommon.exe_suffix
- TestCommon.obj_suffix
- TestCommon.shobj_prefix
- TestCommon.shobj_suffix
- TestCommon.lib_prefix
- TestCommon.lib_suffix
- TestCommon.dll_prefix
- TestCommon.dll_suffix
-
-"""
-
-# Copyright 2000-2010 Steven Knight
-# This module is free software, and you may redistribute it and/or modify
-# it under the same terms as Python itself, so long as this copyright message
-# and disclaimer are retained in their original form.
-#
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-# SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
-# THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-# DAMAGE.
-#
-# THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-# PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS,
-# AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
-# SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
-__author__ = "Steven Knight <knight at baldmt dot com>"
-__revision__ = "TestCommon.py 0.37.D001 2010/01/11 16:55:50 knight"
-__version__ = "0.37"
-
-import copy
-import os
-import os.path
-import stat
-import string
-import sys
-import types
-import UserList
-
-from TestCmd import *
-from TestCmd import __all__
-
-__all__.extend([ 'TestCommon',
- 'exe_suffix',
- 'obj_suffix',
- 'shobj_prefix',
- 'shobj_suffix',
- 'lib_prefix',
- 'lib_suffix',
- 'dll_prefix',
- 'dll_suffix',
- ])
-
-# Variables that describe the prefixes and suffixes on this system.
-if sys.platform == 'win32':
- exe_suffix = '.exe'
- obj_suffix = '.obj'
- shobj_suffix = '.obj'
- shobj_prefix = ''
- lib_prefix = ''
- lib_suffix = '.lib'
- dll_prefix = ''
- dll_suffix = '.dll'
-elif sys.platform == 'cygwin':
- exe_suffix = '.exe'
- obj_suffix = '.o'
- shobj_suffix = '.os'
- shobj_prefix = ''
- lib_prefix = 'lib'
- lib_suffix = '.a'
- dll_prefix = ''
- dll_suffix = '.dll'
-elif string.find(sys.platform, 'irix') != -1:
- exe_suffix = ''
- obj_suffix = '.o'
- shobj_suffix = '.o'
- shobj_prefix = ''
- lib_prefix = 'lib'
- lib_suffix = '.a'
- dll_prefix = 'lib'
- dll_suffix = '.so'
-elif string.find(sys.platform, 'darwin') != -1:
- exe_suffix = ''
- obj_suffix = '.o'
- shobj_suffix = '.os'
- shobj_prefix = ''
- lib_prefix = 'lib'
- lib_suffix = '.a'
- dll_prefix = 'lib'
- dll_suffix = '.dylib'
-elif string.find(sys.platform, 'sunos') != -1:
- exe_suffix = ''
- obj_suffix = '.o'
- shobj_suffix = '.os'
- shobj_prefix = 'so_'
- lib_prefix = 'lib'
- lib_suffix = '.a'
- dll_prefix = 'lib'
- dll_suffix = '.dylib'
-else:
- exe_suffix = ''
- obj_suffix = '.o'
- shobj_suffix = '.os'
- shobj_prefix = ''
- lib_prefix = 'lib'
- lib_suffix = '.a'
- dll_prefix = 'lib'
- dll_suffix = '.so'
-
-def is_List(e):
- return type(e) is types.ListType \
- or isinstance(e, UserList.UserList)
-
-def is_writable(f):
- mode = os.stat(f)[stat.ST_MODE]
- return mode & stat.S_IWUSR
-
-def separate_files(flist):
- existing = []
- missing = []
- for f in flist:
- if os.path.exists(f):
- existing.append(f)
- else:
- missing.append(f)
- return existing, missing
-
-def _failed(self, status = 0):
- if self.status is None or status is None:
- return None
- try:
- return _status(self) not in status
- except TypeError:
- # status wasn't an iterable
- return _status(self) != status
-
-def _status(self):
- return self.status
-
-class TestCommon(TestCmd):
-
- # Additional methods from the Perl Test::Cmd::Common module
- # that we may wish to add in the future:
- #
- # $test->subdir('subdir', ...);
- #
- # $test->copy('src_file', 'dst_file');
-
- def __init__(self, **kw):
- """Initialize a new TestCommon instance. This involves just
- calling the base class initialization, and then changing directory
- to the workdir.
- """
- apply(TestCmd.__init__, [self], kw)
- os.chdir(self.workdir)
-
- def must_be_writable(self, *files):
- """Ensures that the specified file(s) exist and are writable.
- An individual file can be specified as a list of directory names,
- in which case the pathname will be constructed by concatenating
- them. Exits FAILED if any of the files does not exist or is
- not writable.
- """
- files = map(lambda x: is_List(x) and apply(os.path.join, x) or x, files)
- existing, missing = separate_files(files)
- unwritable = filter(lambda x, iw=is_writable: not iw(x), existing)
- if missing:
- print "Missing files: `%s'" % string.join(missing, "', `")
- if unwritable:
- print "Unwritable files: `%s'" % string.join(unwritable, "', `")
- self.fail_test(missing + unwritable)
-
- def must_contain(self, file, required, mode = 'rb'):
- """Ensures that the specified file contains the required text.
- """
- file_contents = self.read(file, mode)
- contains = (string.find(file_contents, required) != -1)
- if not contains:
- print "File `%s' does not contain required string." % file
- print self.banner('Required string ')
- print required
- print self.banner('%s contents ' % file)
- print file_contents
- self.fail_test(not contains)
-
- def must_contain_all_lines(self, output, lines, title=None, find=None):
- """Ensures that the specified output string (first argument)
- contains all of the specified lines (second argument).
-
- An optional third argument can be used to describe the type
- of output being searched, and only shows up in failure output.
-
- An optional fourth argument can be used to supply a different
- function, of the form "find(line, output), to use when searching
- for lines in the output.
- """
- if find is None:
- find = lambda o, l: string.find(o, l) != -1
- missing = []
- for line in lines:
- if not find(output, line):
- missing.append(line)
-
- if missing:
- if title is None:
- title = 'output'
- sys.stdout.write("Missing expected lines from %s:\n" % title)
- for line in missing:
- sys.stdout.write(' ' + repr(line) + '\n')
- sys.stdout.write(self.banner(title + ' '))
- sys.stdout.write(output)
- self.fail_test()
-
- def must_contain_any_line(self, output, lines, title=None, find=None):
- """Ensures that the specified output string (first argument)
- contains at least one of the specified lines (second argument).
-
- An optional third argument can be used to describe the type
- of output being searched, and only shows up in failure output.
-
- An optional fourth argument can be used to supply a different
- function, of the form "find(line, output), to use when searching
- for lines in the output.
- """
- if find is None:
- find = lambda o, l: string.find(o, l) != -1
- for line in lines:
- if find(output, line):
- return
-
- if title is None:
- title = 'output'
- sys.stdout.write("Missing any expected line from %s:\n" % title)
- for line in lines:
- sys.stdout.write(' ' + repr(line) + '\n')
- sys.stdout.write(self.banner(title + ' '))
- sys.stdout.write(output)
- self.fail_test()
-
- def must_contain_lines(self, lines, output, title=None):
- # Deprecated; retain for backwards compatibility.
- return self.must_contain_all_lines(output, lines, title)
-
- def must_exist(self, *files):
- """Ensures that the specified file(s) must exist. An individual
- file be specified as a list of directory names, in which case the
- pathname will be constructed by concatenating them. Exits FAILED
- if any of the files does not exist.
- """
- files = map(lambda x: is_List(x) and apply(os.path.join, x) or x, files)
- missing = filter(lambda x: not os.path.exists(x), files)
- if missing:
- print "Missing files: `%s'" % string.join(missing, "', `")
- self.fail_test(missing)
-
- def must_match(self, file, expect, mode = 'rb'):
- """Matches the contents of the specified file (first argument)
- against the expected contents (second argument). The expected
- contents are a list of lines or a string which will be split
- on newlines.
- """
- file_contents = self.read(file, mode)
- try:
- self.fail_test(not self.match(file_contents, expect))
- except KeyboardInterrupt:
- raise
- except:
- print "Unexpected contents of `%s'" % file
- self.diff(expect, file_contents, 'contents ')
- raise
-
- def must_not_contain(self, file, banned, mode = 'rb'):
- """Ensures that the specified file doesn't contain the banned text.
- """
- file_contents = self.read(file, mode)
- contains = (string.find(file_contents, banned) != -1)
- if contains:
- print "File `%s' contains banned string." % file
- print self.banner('Banned string ')
- print banned
- print self.banner('%s contents ' % file)
- print file_contents
- self.fail_test(contains)
-
- def must_not_contain_any_line(self, output, lines, title=None, find=None):
- """Ensures that the specified output string (first argument)
- does not contain any of the specified lines (second argument).
-
- An optional third argument can be used to describe the type
- of output being searched, and only shows up in failure output.
-
- An optional fourth argument can be used to supply a different
- function, of the form "find(line, output), to use when searching
- for lines in the output.
- """
- if find is None:
- find = lambda o, l: string.find(o, l) != -1
- unexpected = []
- for line in lines:
- if find(output, line):
- unexpected.append(line)
-
- if unexpected:
- if title is None:
- title = 'output'
- sys.stdout.write("Unexpected lines in %s:\n" % title)
- for line in unexpected:
- sys.stdout.write(' ' + repr(line) + '\n')
- sys.stdout.write(self.banner(title + ' '))
- sys.stdout.write(output)
- self.fail_test()
-
- def must_not_contain_lines(self, lines, output, title=None):
- return self.must_not_contain_any_line(output, lines, title)
-
- def must_not_exist(self, *files):
- """Ensures that the specified file(s) must not exist.
- An individual file be specified as a list of directory names, in
- which case the pathname will be constructed by concatenating them.
- Exits FAILED if any of the files exists.
- """
- files = map(lambda x: is_List(x) and apply(os.path.join, x) or x, files)
- existing = filter(os.path.exists, files)
- if existing:
- print "Unexpected files exist: `%s'" % string.join(existing, "', `")
- self.fail_test(existing)
-
- def must_not_be_writable(self, *files):
- """Ensures that the specified file(s) exist and are not writable.
- An individual file can be specified as a list of directory names,
- in which case the pathname will be constructed by concatenating
- them. Exits FAILED if any of the files does not exist or is
- writable.
- """
- files = map(lambda x: is_List(x) and apply(os.path.join, x) or x, files)
- existing, missing = separate_files(files)
- writable = filter(is_writable, existing)
- if missing:
- print "Missing files: `%s'" % string.join(missing, "', `")
- if writable:
- print "Writable files: `%s'" % string.join(writable, "', `")
- self.fail_test(missing + writable)
-
- def _complete(self, actual_stdout, expected_stdout,
- actual_stderr, expected_stderr, status, match):
- """
- Post-processes running a subcommand, checking for failure
- status and displaying output appropriately.
- """
- if _failed(self, status):
- expect = ''
- if status != 0:
- expect = " (expected %s)" % str(status)
- print "%s returned %s%s" % (self.program, str(_status(self)), expect)
- print self.banner('STDOUT ')
- print actual_stdout
- print self.banner('STDERR ')
- print actual_stderr
- self.fail_test()
- if not expected_stdout is None and not match(actual_stdout, expected_stdout):
- self.diff(expected_stdout, actual_stdout, 'STDOUT ')
- if actual_stderr:
- print self.banner('STDERR ')
- print actual_stderr
- self.fail_test()
- if not expected_stderr is None and not match(actual_stderr, expected_stderr):
- print self.banner('STDOUT ')
- print actual_stdout
- self.diff(expected_stderr, actual_stderr, 'STDERR ')
- self.fail_test()
-
- def start(self, program = None,
- interpreter = None,
- arguments = None,
- universal_newlines = None,
- **kw):
- """
- Starts a program or script for the test environment.
-
- This handles the "options" keyword argument and exceptions.
- """
- options = kw.pop('options', None)
- if options:
- if arguments is None:
- arguments = options
- else:
- arguments = options + " " + arguments
-
- try:
- return apply(TestCmd.start,
- (self, program, interpreter, arguments, universal_newlines),
- kw)
- except KeyboardInterrupt:
- raise
- except Exception, e:
- print self.banner('STDOUT ')
- try:
- print self.stdout()
- except IndexError:
- pass
- print self.banner('STDERR ')
- try:
- print self.stderr()
- except IndexError:
- pass
- cmd_args = self.command_args(program, interpreter, arguments)
- sys.stderr.write('Exception trying to execute: %s\n' % cmd_args)
- raise e
-
- def finish(self, popen, stdout = None, stderr = '', status = 0, **kw):
- """
- Finishes and waits for the process being run under control of
- the specified popen argument. Additional arguments are similar
- to those of the run() method:
-
- stdout The expected standard output from
- the command. A value of None means
- don't test standard output.
-
- stderr The expected error output from
- the command. A value of None means
- don't test error output.
-
- status The expected exit status from the
- command. A value of None means don't
- test exit status.
- """
- apply(TestCmd.finish, (self, popen,), kw)
- match = kw.get('match', self.match)
- self._complete(self.stdout(), stdout,
- self.stderr(), stderr, status, match)
-
- def run(self, options = None, arguments = None,
- stdout = None, stderr = '', status = 0, **kw):
- """Runs the program under test, checking that the test succeeded.
-
- The arguments are the same as the base TestCmd.run() method,
- with the addition of:
-
- options Extra options that get appended to the beginning
- of the arguments.
-
- stdout The expected standard output from
- the command. A value of None means
- don't test standard output.
-
- stderr The expected error output from
- the command. A value of None means
- don't test error output.
-
- status The expected exit status from the
- command. A value of None means don't
- test exit status.
-
- By default, this expects a successful exit (status = 0), does
- not test standard output (stdout = None), and expects that error
- output is empty (stderr = "").
- """
- if options:
- if arguments is None:
- arguments = options
- else:
- arguments = options + " " + arguments
- kw['arguments'] = arguments
- match = kw.pop('match', self.match)
- apply(TestCmd.run, [self], kw)
- self._complete(self.stdout(), stdout,
- self.stderr(), stderr, status, match)
-
- def skip_test(self, message="Skipping test.\n"):
- """Skips a test.
-
- Proper test-skipping behavior is dependent on the external
- TESTCOMMON_PASS_SKIPS environment variable. If set, we treat
- the skip as a PASS (exit 0), and otherwise treat it as NO RESULT.
- In either case, we print the specified message as an indication
- that the substance of the test was skipped.
-
- (This was originally added to support development under Aegis.
- Technically, skipping a test is a NO RESULT, but Aegis would
- treat that as a test failure and prevent the change from going to
- the next step. Since we ddn't want to force anyone using Aegis
- to have to install absolutely every tool used by the tests, we
- would actually report to Aegis that a skipped test has PASSED
- so that the workflow isn't held up.)
- """
- if message:
- sys.stdout.write(message)
- sys.stdout.flush()
- pass_skips = os.environ.get('TESTCOMMON_PASS_SKIPS')
- if pass_skips in [None, 0, '0']:
- # skip=1 means skip this function when showing where this
- # result came from. They only care about the line where the
- # script called test.skip_test(), not the line number where
- # we call test.no_result().
- self.no_result(skip=1)
- else:
- # We're under the development directory for this change,
- # so this is an Aegis invocation; pass the test (exit 0).
- self.pass_test()
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:nil
-# End:
-# vim: set expandtab tabstop=4 shiftwidth=4:
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/lib/TestGyp.py b/deps/npm/node_modules/node-gyp/gyp/test/lib/TestGyp.py
deleted file mode 100644
index b0002f5c3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/lib/TestGyp.py
+++ /dev/null
@@ -1,1050 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-TestGyp.py: a testing framework for GYP integration tests.
-"""
-
-import os
-import re
-import shutil
-import stat
-import subprocess
-import sys
-import tempfile
-
-import TestCommon
-from TestCommon import __all__
-
-__all__.extend([
- 'TestGyp',
-])
-
-def remove_debug_line_numbers(contents):
- """Function to remove the line numbers from the debug output
- of gyp and thus remove the exremem fragility of the stdout
- comparison tests.
- """
- lines = contents.splitlines()
- # split each line on ":"
- lines = [l.split(":", 3) for l in lines]
- # join each line back together while ignoring the
- # 3rd column which is the line number
- lines = [len(l) > 3 and ":".join(l[3:]) or l for l in lines]
- return "\n".join(lines)
-
-def match_modulo_line_numbers(contents_a, contents_b):
- """File contents matcher that ignores line numbers."""
- contents_a = remove_debug_line_numbers(contents_a)
- contents_b = remove_debug_line_numbers(contents_b)
- return TestCommon.match_exact(contents_a, contents_b)
-
-class TestGypBase(TestCommon.TestCommon):
- """
- Class for controlling end-to-end tests of gyp generators.
-
- Instantiating this class will create a temporary directory and
- arrange for its destruction (via the TestCmd superclass) and
- copy all of the non-gyptest files in the directory hierarchy of the
- executing script.
-
- The default behavior is to test the 'gyp' or 'gyp.bat' file in the
- current directory. An alternative may be specified explicitly on
- instantiation, or by setting the TESTGYP_GYP environment variable.
-
- This class should be subclassed for each supported gyp generator
- (format). Various abstract methods below define calling signatures
- used by the test scripts to invoke builds on the generated build
- configuration and to run executables generated by those builds.
- """
-
- build_tool = None
- build_tool_list = []
-
- _exe = TestCommon.exe_suffix
- _obj = TestCommon.obj_suffix
- shobj_ = TestCommon.shobj_prefix
- _shobj = TestCommon.shobj_suffix
- lib_ = TestCommon.lib_prefix
- _lib = TestCommon.lib_suffix
- dll_ = TestCommon.dll_prefix
- _dll = TestCommon.dll_suffix
-
- # Constants to represent different targets.
- ALL = '__all__'
- DEFAULT = '__default__'
-
- # Constants for different target types.
- EXECUTABLE = '__executable__'
- STATIC_LIB = '__static_lib__'
- SHARED_LIB = '__shared_lib__'
-
- def __init__(self, gyp=None, *args, **kw):
- self.origin_cwd = os.path.abspath(os.path.dirname(sys.argv[0]))
- self.extra_args = sys.argv[1:]
-
- if not gyp:
- gyp = os.environ.get('TESTGYP_GYP')
- if not gyp:
- if sys.platform == 'win32':
- gyp = 'gyp.bat'
- else:
- gyp = 'gyp'
- self.gyp = os.path.abspath(gyp)
-
- self.initialize_build_tool()
-
- kw.setdefault('match', TestCommon.match_exact)
-
- # Put test output in out/testworkarea by default.
- # Use temporary names so there are no collisions.
- workdir = os.path.join('out', kw.get('workdir', 'testworkarea'))
- # Create work area if it doesn't already exist.
- if not os.path.isdir(workdir):
- os.makedirs(workdir)
-
- kw['workdir'] = tempfile.mktemp(prefix='testgyp.', dir=workdir)
-
- formats = kw.pop('formats', [])
-
- super(TestGypBase, self).__init__(*args, **kw)
-
- excluded_formats = set([f for f in formats if f[0] == '!'])
- included_formats = set(formats) - excluded_formats
- if ('!'+self.format in excluded_formats or
- included_formats and self.format not in included_formats):
- msg = 'Invalid test for %r format; skipping test.\n'
- self.skip_test(msg % self.format)
-
- self.copy_test_configuration(self.origin_cwd, self.workdir)
- self.set_configuration(None)
-
- # Set $HOME so that gyp doesn't read the user's actual
- # ~/.gyp/include.gypi file, which may contain variables
- # and other settings that would change the output.
- os.environ['HOME'] = self.workpath()
- # Clear $GYP_DEFINES for the same reason.
- if 'GYP_DEFINES' in os.environ:
- del os.environ['GYP_DEFINES']
-
- def built_file_must_exist(self, name, type=None, **kw):
- """
- Fails the test if the specified built file name does not exist.
- """
- return self.must_exist(self.built_file_path(name, type, **kw))
-
- def built_file_must_not_exist(self, name, type=None, **kw):
- """
- Fails the test if the specified built file name exists.
- """
- return self.must_not_exist(self.built_file_path(name, type, **kw))
-
- def built_file_must_match(self, name, contents, **kw):
- """
- Fails the test if the contents of the specified built file name
- do not match the specified contents.
- """
- return self.must_match(self.built_file_path(name, **kw), contents)
-
- def built_file_must_not_match(self, name, contents, **kw):
- """
- Fails the test if the contents of the specified built file name
- match the specified contents.
- """
- return self.must_not_match(self.built_file_path(name, **kw), contents)
-
- def copy_test_configuration(self, source_dir, dest_dir):
- """
- Copies the test configuration from the specified source_dir
- (the directory in which the test script lives) to the
- specified dest_dir (a temporary working directory).
-
- This ignores all files and directories that begin with
- the string 'gyptest', and all '.svn' subdirectories.
- """
- for root, dirs, files in os.walk(source_dir):
- if '.svn' in dirs:
- dirs.remove('.svn')
- dirs = [ d for d in dirs if not d.startswith('gyptest') ]
- files = [ f for f in files if not f.startswith('gyptest') ]
- for dirname in dirs:
- source = os.path.join(root, dirname)
- destination = source.replace(source_dir, dest_dir)
- os.mkdir(destination)
- if sys.platform != 'win32':
- shutil.copystat(source, destination)
- for filename in files:
- source = os.path.join(root, filename)
- destination = source.replace(source_dir, dest_dir)
- shutil.copy2(source, destination)
-
- def initialize_build_tool(self):
- """
- Initializes the .build_tool attribute.
-
- Searches the .build_tool_list for an executable name on the user's
- $PATH. The first tool on the list is used as-is if nothing is found
- on the current $PATH.
- """
- for build_tool in self.build_tool_list:
- if not build_tool:
- continue
- if os.path.isabs(build_tool):
- self.build_tool = build_tool
- return
- build_tool = self.where_is(build_tool)
- if build_tool:
- self.build_tool = build_tool
- return
-
- if self.build_tool_list:
- self.build_tool = self.build_tool_list[0]
-
- def relocate(self, source, destination):
- """
- Renames (relocates) the specified source (usually a directory)
- to the specified destination, creating the destination directory
- first if necessary.
-
- Note: Don't use this as a generic "rename" operation. In the
- future, "relocating" parts of a GYP tree may affect the state of
- the test to modify the behavior of later method calls.
- """
- destination_dir = os.path.dirname(destination)
- if not os.path.exists(destination_dir):
- self.subdir(destination_dir)
- os.rename(source, destination)
-
- def report_not_up_to_date(self):
- """
- Reports that a build is not up-to-date.
-
- This provides common reporting for formats that have complicated
- conditions for checking whether a build is up-to-date. Formats
- that expect exact output from the command (make, scons) can
- just set stdout= when they call the run_build() method.
- """
- print "Build is not up-to-date:"
- print self.banner('STDOUT ')
- print self.stdout()
- stderr = self.stderr()
- if stderr:
- print self.banner('STDERR ')
- print stderr
-
- def run_gyp(self, gyp_file, *args, **kw):
- """
- Runs gyp against the specified gyp_file with the specified args.
- """
-
- # When running gyp, and comparing its output we use a comparitor
- # that ignores the line numbers that gyp logs in its debug output.
- if kw.pop('ignore_line_numbers', False):
- kw.setdefault('match', match_modulo_line_numbers)
-
- # TODO: --depth=. works around Chromium-specific tree climbing.
- depth = kw.pop('depth', '.')
- run_args = ['--depth='+depth, '--format='+self.format, gyp_file]
- run_args.extend(self.extra_args)
- run_args.extend(args)
- return self.run(program=self.gyp, arguments=run_args, **kw)
-
- def run(self, *args, **kw):
- """
- Executes a program by calling the superclass .run() method.
-
- This exists to provide a common place to filter out keyword
- arguments implemented in this layer, without having to update
- the tool-specific subclasses or clutter the tests themselves
- with platform-specific code.
- """
- if kw.has_key('SYMROOT'):
- del kw['SYMROOT']
- super(TestGypBase, self).run(*args, **kw)
-
- def set_configuration(self, configuration):
- """
- Sets the configuration, to be used for invoking the build
- tool and testing potential built output.
- """
- self.configuration = configuration
-
- def configuration_dirname(self):
- if self.configuration:
- return self.configuration.split('|')[0]
- else:
- return 'Default'
-
- def configuration_buildname(self):
- if self.configuration:
- return self.configuration
- else:
- return 'Default'
-
- #
- # Abstract methods to be defined by format-specific subclasses.
- #
-
- def build(self, gyp_file, target=None, **kw):
- """
- Runs a build of the specified target against the configuration
- generated from the specified gyp_file.
-
- A 'target' argument of None or the special value TestGyp.DEFAULT
- specifies the default argument for the underlying build tool.
- A 'target' argument of TestGyp.ALL specifies the 'all' target
- (if any) of the underlying build tool.
- """
- raise NotImplementedError
-
- def built_file_path(self, name, type=None, **kw):
- """
- Returns a path to the specified file name, of the specified type.
- """
- raise NotImplementedError
-
- def built_file_basename(self, name, type=None, **kw):
- """
- Returns the base name of the specified file name, of the specified type.
-
- A bare=True keyword argument specifies that prefixes and suffixes shouldn't
- be applied.
- """
- if not kw.get('bare'):
- if type == self.EXECUTABLE:
- name = name + self._exe
- elif type == self.STATIC_LIB:
- name = self.lib_ + name + self._lib
- elif type == self.SHARED_LIB:
- name = self.dll_ + name + self._dll
- return name
-
- def run_built_executable(self, name, *args, **kw):
- """
- Runs an executable program built from a gyp-generated configuration.
-
- The specified name should be independent of any particular generator.
- Subclasses should find the output executable in the appropriate
- output build directory, tack on any necessary executable suffix, etc.
- """
- raise NotImplementedError
-
- def up_to_date(self, gyp_file, target=None, **kw):
- """
- Verifies that a build of the specified target is up to date.
-
- The subclass should implement this by calling build()
- (or a reasonable equivalent), checking whatever conditions
- will tell it the build was an "up to date" null build, and
- failing if it isn't.
- """
- raise NotImplementedError
-
-
-class TestGypGypd(TestGypBase):
- """
- Subclass for testing the GYP 'gypd' generator (spit out the
- internal data structure as pretty-printed Python).
- """
- format = 'gypd'
-
-
-class TestGypCustom(TestGypBase):
- """
- Subclass for testing the GYP with custom generator
- """
-
- def __init__(self, gyp=None, *args, **kw):
- self.format = kw.pop("format")
- super(TestGypCustom, self).__init__(*args, **kw)
-
-
-class TestGypAndroid(TestGypBase):
- """
- Subclass for testing the GYP Android makefile generator. Note that
- build/envsetup.sh and lunch must have been run before running tests.
-
- TODO: This is currently an incomplete implementation. We do not support
- run_built_executable(), so we pass only tests which do not use this. As a
- result, support for host targets is not properly tested.
- """
- format = 'android'
-
- # Note that we can't use mmm as the build tool because ...
- # - it builds all targets, whereas we need to pass a target
- # - it is a function, whereas the test runner assumes the build tool is a file
- # Instead we use make and duplicate the logic from mmm.
- build_tool_list = ['make']
-
- # We use our custom target 'gyp_all_modules', as opposed to the 'all_modules'
- # target used by mmm, to build only those targets which are part of the gyp
- # target 'all'.
- ALL = 'gyp_all_modules'
-
- def __init__(self, gyp=None, *args, **kw):
- # Android requires build and test output to be outside its source tree.
- # We use the following working directory for the test's source, but the
- # test's build output still goes to $ANDROID_PRODUCT_OUT.
- # Note that some tests explicitly set format='gypd' to invoke the gypd
- # backend. This writes to the source tree, but there's no way around this.
- kw['workdir'] = os.path.join('/tmp', 'gyptest',
- kw.get('workdir', 'testworkarea'))
- # We need to remove all gyp outputs from out/. Ths is because some tests
- # don't have rules to regenerate output, so they will simply re-use stale
- # output if present. Since the test working directory gets regenerated for
- # each test run, this can confuse things.
- # We don't have a list of build outputs because we don't know which
- # dependent targets were built. Instead we delete all gyp-generated output.
- # This may be excessive, but should be safe.
- out_dir = os.environ['ANDROID_PRODUCT_OUT']
- obj_dir = os.path.join(out_dir, 'obj')
- shutil.rmtree(os.path.join(obj_dir, 'GYP'), ignore_errors = True)
- for x in ['EXECUTABLES', 'STATIC_LIBRARIES', 'SHARED_LIBRARIES']:
- for d in os.listdir(os.path.join(obj_dir, x)):
- if d.endswith('_gyp_intermediates'):
- shutil.rmtree(os.path.join(obj_dir, x, d), ignore_errors = True)
- for x in [os.path.join('obj', 'lib'), os.path.join('system', 'lib')]:
- for d in os.listdir(os.path.join(out_dir, x)):
- if d.endswith('_gyp.so'):
- os.remove(os.path.join(out_dir, x, d))
-
- super(TestGypAndroid, self).__init__(*args, **kw)
-
- def target_name(self, target):
- if target == self.ALL:
- return self.ALL
- # The default target is 'droid'. However, we want to use our special target
- # to build only the gyp target 'all'.
- if target in (None, self.DEFAULT):
- return self.ALL
- return target
-
- def build(self, gyp_file, target=None, **kw):
- """
- Runs a build using the Android makefiles generated from the specified
- gyp_file. This logic is taken from Android's mmm.
- """
- arguments = kw.get('arguments', [])[:]
- arguments.append(self.target_name(target))
- arguments.append('-C')
- arguments.append(os.environ['ANDROID_BUILD_TOP'])
- kw['arguments'] = arguments
- chdir = kw.get('chdir', '')
- makefile = os.path.join(self.workdir, chdir, 'GypAndroid.mk')
- os.environ['ONE_SHOT_MAKEFILE'] = makefile
- result = self.run(program=self.build_tool, **kw)
- del os.environ['ONE_SHOT_MAKEFILE']
- return result
-
- def android_module(self, group, name, subdir):
- if subdir:
- name = '%s_%s' % (subdir, name)
- if group == 'SHARED_LIBRARIES':
- name = 'lib_%s' % name
- return '%s_gyp' % name
-
- def intermediates_dir(self, group, module_name):
- return os.path.join(os.environ['ANDROID_PRODUCT_OUT'], 'obj', group,
- '%s_intermediates' % module_name)
-
- def built_file_path(self, name, type=None, **kw):
- """
- Returns a path to the specified file name, of the specified type,
- as built by Android. Note that we don't support the configuration
- parameter.
- """
- # Built files are in $ANDROID_PRODUCT_OUT. This requires copying logic from
- # the Android build system.
- if type == None:
- return os.path.join(os.environ['ANDROID_PRODUCT_OUT'], 'obj', 'GYP',
- 'shared_intermediates', name)
- subdir = kw.get('subdir')
- if type == self.EXECUTABLE:
- # We don't install executables
- group = 'EXECUTABLES'
- module_name = self.android_module(group, name, subdir)
- return os.path.join(self.intermediates_dir(group, module_name), name)
- if type == self.STATIC_LIB:
- group = 'STATIC_LIBRARIES'
- module_name = self.android_module(group, name, subdir)
- return os.path.join(self.intermediates_dir(group, module_name),
- '%s.a' % module_name)
- if type == self.SHARED_LIB:
- group = 'SHARED_LIBRARIES'
- module_name = self.android_module(group, name, subdir)
- return os.path.join(self.intermediates_dir(group, module_name), 'LINKED',
- '%s.so' % module_name)
- assert False, 'Unhandled type'
-
- def run_built_executable(self, name, *args, **kw):
- """
- Runs an executable program built from a gyp-generated configuration.
-
- This is not correctly implemented for Android. For now, we simply check
- that the executable file exists.
- """
- # Running executables requires a device. Even if we build for target x86,
- # the binary is not built with the correct toolchain options to actually
- # run on the host.
-
- # Copied from TestCommon.run()
- match = kw.pop('match', self.match)
- status = None
- if os.path.exists(self.built_file_path(name)):
- status = 1
- self._complete(None, None, None, None, status, self.match)
-
- def match_single_line(self, lines = None, expected_line = None):
- """
- Checks that specified line appears in the text.
- """
- for line in lines.split('\n'):
- if line == expected_line:
- return 1
- return
-
- def up_to_date(self, gyp_file, target=None, **kw):
- """
- Verifies that a build of the specified target is up to date.
- """
- kw['stdout'] = ("make: Nothing to be done for `%s'." %
- self.target_name(target))
-
- # We need to supply a custom matcher, since we don't want to depend on the
- # exact stdout string.
- kw['match'] = self.match_single_line
- return self.build(gyp_file, target, **kw)
-
-class TestGypMake(TestGypBase):
- """
- Subclass for testing the GYP Make generator.
- """
- format = 'make'
- build_tool_list = ['make']
- ALL = 'all'
- def build(self, gyp_file, target=None, **kw):
- """
- Runs a Make build using the Makefiles generated from the specified
- gyp_file.
- """
- arguments = kw.get('arguments', [])[:]
- if self.configuration:
- arguments.append('BUILDTYPE=' + self.configuration)
- if target not in (None, self.DEFAULT):
- arguments.append(target)
- # Sub-directory builds provide per-gyp Makefiles (i.e.
- # Makefile.gyp_filename), so use that if there is no Makefile.
- chdir = kw.get('chdir', '')
- if not os.path.exists(os.path.join(chdir, 'Makefile')):
- print "NO Makefile in " + os.path.join(chdir, 'Makefile')
- arguments.insert(0, '-f')
- arguments.insert(1, os.path.splitext(gyp_file)[0] + '.Makefile')
- kw['arguments'] = arguments
- return self.run(program=self.build_tool, **kw)
- def up_to_date(self, gyp_file, target=None, **kw):
- """
- Verifies that a build of the specified Make target is up to date.
- """
- if target in (None, self.DEFAULT):
- message_target = 'all'
- else:
- message_target = target
- kw['stdout'] = "make: Nothing to be done for `%s'.\n" % message_target
- return self.build(gyp_file, target, **kw)
- def run_built_executable(self, name, *args, **kw):
- """
- Runs an executable built by Make.
- """
- configuration = self.configuration_dirname()
- libdir = os.path.join('out', configuration, 'lib')
- # TODO(piman): when everything is cross-compile safe, remove lib.target
- if sys.platform == 'darwin':
- # Mac puts target shared libraries right in the product directory.
- configuration = self.configuration_dirname()
- os.environ['DYLD_LIBRARY_PATH'] = (
- libdir + '.host:' + os.path.join('out', configuration))
- else:
- os.environ['LD_LIBRARY_PATH'] = libdir + '.host:' + libdir + '.target'
- # Enclosing the name in a list avoids prepending the original dir.
- program = [self.built_file_path(name, type=self.EXECUTABLE, **kw)]
- return self.run(program=program, *args, **kw)
- def built_file_path(self, name, type=None, **kw):
- """
- Returns a path to the specified file name, of the specified type,
- as built by Make.
-
- Built files are in the subdirectory 'out/{configuration}'.
- The default is 'out/Default'.
-
- A chdir= keyword argument specifies the source directory
- relative to which the output subdirectory can be found.
-
- "type" values of STATIC_LIB or SHARED_LIB append the necessary
- prefixes and suffixes to a platform-independent library base name.
-
- A subdir= keyword argument specifies a library subdirectory within
- the default 'obj.target'.
- """
- result = []
- chdir = kw.get('chdir')
- if chdir:
- result.append(chdir)
- configuration = self.configuration_dirname()
- result.extend(['out', configuration])
- if type == self.STATIC_LIB and sys.platform != 'darwin':
- result.append('obj.target')
- elif type == self.SHARED_LIB and sys.platform != 'darwin':
- result.append('lib.target')
- subdir = kw.get('subdir')
- if subdir and type != self.SHARED_LIB:
- result.append(subdir)
- result.append(self.built_file_basename(name, type, **kw))
- return self.workpath(*result)
-
-
-def ConvertToCygpath(path):
- """Convert to cygwin path if we are using cygwin."""
- if sys.platform == 'cygwin':
- p = subprocess.Popen(['cygpath', path], stdout=subprocess.PIPE)
- path = p.communicate()[0].strip()
- return path
-
-
-def FindVisualStudioInstallation():
- """Returns appropriate values for .build_tool and .uses_msbuild fields
- of TestGypBase for Visual Studio.
-
- We use the value specified by GYP_MSVS_VERSION. If not specified, we
- search %PATH% and %PATHEXT% for a devenv.{exe,bat,...} executable.
- Failing that, we search for likely deployment paths.
- """
- possible_roots = ['%s:\\Program Files%s' % (chr(drive), suffix)
- for drive in range(ord('C'), ord('Z') + 1)
- for suffix in ['', ' (x86)']]
- possible_paths = {
- '2012': r'Microsoft Visual Studio 11.0\Common7\IDE\devenv.com',
- '2010': r'Microsoft Visual Studio 10.0\Common7\IDE\devenv.com',
- '2008': r'Microsoft Visual Studio 9.0\Common7\IDE\devenv.com',
- '2005': r'Microsoft Visual Studio 8\Common7\IDE\devenv.com'}
-
- possible_roots = [ConvertToCygpath(r) for r in possible_roots]
-
- msvs_version = 'auto'
- for flag in (f for f in sys.argv if f.startswith('msvs_version=')):
- msvs_version = flag.split('=')[-1]
- msvs_version = os.environ.get('GYP_MSVS_VERSION', msvs_version)
-
- build_tool = None
- if msvs_version in possible_paths:
- # Check that the path to the specified GYP_MSVS_VERSION exists.
- path = possible_paths[msvs_version]
- for r in possible_roots:
- bt = os.path.join(r, path)
- if os.path.exists(bt):
- build_tool = bt
- uses_msbuild = msvs_version >= '2010'
- return build_tool, uses_msbuild
- else:
- print ('Warning: Environment variable GYP_MSVS_VERSION specifies "%s" '
- 'but corresponding "%s" was not found.' % (msvs_version, path))
- if build_tool:
- # We found 'devenv' on the path, use that and try to guess the version.
- for version, path in possible_paths.iteritems():
- if build_tool.find(path) >= 0:
- uses_msbuild = version >= '2010'
- return build_tool, uses_msbuild
- else:
- # If not, assume not MSBuild.
- uses_msbuild = False
- return build_tool, uses_msbuild
- # Neither GYP_MSVS_VERSION nor the path help us out. Iterate through
- # the choices looking for a match.
- for version in sorted(possible_paths, reverse=True):
- path = possible_paths[version]
- for r in possible_roots:
- bt = os.path.join(r, path)
- if os.path.exists(bt):
- build_tool = bt
- uses_msbuild = msvs_version >= '2010'
- return build_tool, uses_msbuild
- print 'Error: could not find devenv'
- sys.exit(1)
-
-class TestGypOnMSToolchain(TestGypBase):
- """
- Common subclass for testing generators that target the Microsoft Visual
- Studio toolchain (cl, link, dumpbin, etc.)
- """
- @staticmethod
- def _ComputeVsvarsPath(devenv_path):
- devenv_dir = os.path.split(devenv_path)[0]
- vsvars_path = os.path.join(devenv_path, '../../Tools/vsvars32.bat')
- return vsvars_path
-
- def initialize_build_tool(self):
- super(TestGypOnMSToolchain, self).initialize_build_tool()
- if sys.platform in ('win32', 'cygwin'):
- self.devenv_path, self.uses_msbuild = FindVisualStudioInstallation()
- self.vsvars_path = TestGypOnMSToolchain._ComputeVsvarsPath(
- self.devenv_path)
-
- def run_dumpbin(self, *dumpbin_args):
- """Run the dumpbin tool with the specified arguments, and capturing and
- returning stdout."""
- assert sys.platform in ('win32', 'cygwin')
- cmd = os.environ.get('COMSPEC', 'cmd.exe')
- arguments = [cmd, '/c', self.vsvars_path, '&&', 'dumpbin']
- arguments.extend(dumpbin_args)
- proc = subprocess.Popen(arguments, stdout=subprocess.PIPE)
- output = proc.communicate()[0]
- assert not proc.returncode
- return output
-
-class TestGypNinja(TestGypOnMSToolchain):
- """
- Subclass for testing the GYP Ninja generator.
- """
- format = 'ninja'
- build_tool_list = ['ninja']
- ALL = 'all'
- DEFAULT = 'all'
-
- def run_gyp(self, gyp_file, *args, **kw):
- TestGypBase.run_gyp(self, gyp_file, *args, **kw)
-
- def build(self, gyp_file, target=None, **kw):
- arguments = kw.get('arguments', [])[:]
-
- # Add a -C output/path to the command line.
- arguments.append('-C')
- arguments.append(os.path.join('out', self.configuration_dirname()))
-
- if target is None:
- target = 'all'
- arguments.append(target)
-
- kw['arguments'] = arguments
- return self.run(program=self.build_tool, **kw)
-
- def run_built_executable(self, name, *args, **kw):
- # Enclosing the name in a list avoids prepending the original dir.
- program = [self.built_file_path(name, type=self.EXECUTABLE, **kw)]
- if sys.platform == 'darwin':
- configuration = self.configuration_dirname()
- os.environ['DYLD_LIBRARY_PATH'] = os.path.join('out', configuration)
- return self.run(program=program, *args, **kw)
-
- def built_file_path(self, name, type=None, **kw):
- result = []
- chdir = kw.get('chdir')
- if chdir:
- result.append(chdir)
- result.append('out')
- result.append(self.configuration_dirname())
- if type == self.STATIC_LIB:
- if sys.platform != 'darwin':
- result.append('obj')
- elif type == self.SHARED_LIB:
- if sys.platform != 'darwin' and sys.platform != 'win32':
- result.append('lib')
- subdir = kw.get('subdir')
- if subdir and type != self.SHARED_LIB:
- result.append(subdir)
- result.append(self.built_file_basename(name, type, **kw))
- return self.workpath(*result)
-
- def up_to_date(self, gyp_file, target=None, **kw):
- result = self.build(gyp_file, target, **kw)
- if not result:
- stdout = self.stdout()
- if 'ninja: no work to do' not in stdout:
- self.report_not_up_to_date()
- self.fail_test()
- return result
-
-
-class TestGypMSVS(TestGypOnMSToolchain):
- """
- Subclass for testing the GYP Visual Studio generator.
- """
- format = 'msvs'
-
- u = r'=== Build: 0 succeeded, 0 failed, (\d+) up-to-date, 0 skipped ==='
- up_to_date_re = re.compile(u, re.M)
-
- # Initial None element will indicate to our .initialize_build_tool()
- # method below that 'devenv' was not found on %PATH%.
- #
- # Note: we must use devenv.com to be able to capture build output.
- # Directly executing devenv.exe only sends output to BuildLog.htm.
- build_tool_list = [None, 'devenv.com']
-
- def initialize_build_tool(self):
- super(TestGypMSVS, self).initialize_build_tool()
- self.build_tool = self.devenv_path
-
- def build(self, gyp_file, target=None, rebuild=False, **kw):
- """
- Runs a Visual Studio build using the configuration generated
- from the specified gyp_file.
- """
- configuration = self.configuration_buildname()
- if rebuild:
- build = '/Rebuild'
- else:
- build = '/Build'
- arguments = kw.get('arguments', [])[:]
- arguments.extend([gyp_file.replace('.gyp', '.sln'),
- build, configuration])
- # Note: the Visual Studio generator doesn't add an explicit 'all'
- # target, so we just treat it the same as the default.
- if target not in (None, self.ALL, self.DEFAULT):
- arguments.extend(['/Project', target])
- if self.configuration:
- arguments.extend(['/ProjectConfig', self.configuration])
- kw['arguments'] = arguments
- return self.run(program=self.build_tool, **kw)
- def up_to_date(self, gyp_file, target=None, **kw):
- """
- Verifies that a build of the specified Visual Studio target is up to date.
-
- Beware that VS2010 will behave strangely if you build under
- C:\USERS\yourname\AppData\Local. It will cause needless work. The ouptut
- will be "1 succeeded and 0 up to date". MSBuild tracing reveals that:
- "Project 'C:\Users\...\AppData\Local\...vcxproj' not up to date because
- 'C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 10.0\VC\BIN\1033\CLUI.DLL'
- was modified at 02/21/2011 17:03:30, which is newer than '' which was
- modified at 01/01/0001 00:00:00.
-
- The workaround is to specify a workdir when instantiating the test, e.g.
- test = TestGyp.TestGyp(workdir='workarea')
- """
- result = self.build(gyp_file, target, **kw)
- if not result:
- stdout = self.stdout()
-
- m = self.up_to_date_re.search(stdout)
- up_to_date = m and int(m.group(1)) > 0
- if not up_to_date:
- self.report_not_up_to_date()
- self.fail_test()
- return result
- def run_built_executable(self, name, *args, **kw):
- """
- Runs an executable built by Visual Studio.
- """
- configuration = self.configuration_dirname()
- # Enclosing the name in a list avoids prepending the original dir.
- program = [self.built_file_path(name, type=self.EXECUTABLE, **kw)]
- return self.run(program=program, *args, **kw)
- def built_file_path(self, name, type=None, **kw):
- """
- Returns a path to the specified file name, of the specified type,
- as built by Visual Studio.
-
- Built files are in a subdirectory that matches the configuration
- name. The default is 'Default'.
-
- A chdir= keyword argument specifies the source directory
- relative to which the output subdirectory can be found.
-
- "type" values of STATIC_LIB or SHARED_LIB append the necessary
- prefixes and suffixes to a platform-independent library base name.
- """
- result = []
- chdir = kw.get('chdir')
- if chdir:
- result.append(chdir)
- result.append(self.configuration_dirname())
- if type == self.STATIC_LIB:
- result.append('lib')
- result.append(self.built_file_basename(name, type, **kw))
- return self.workpath(*result)
-
-
-class TestGypSCons(TestGypBase):
- """
- Subclass for testing the GYP SCons generator.
- """
- format = 'scons'
- build_tool_list = ['scons', 'scons.py']
- ALL = 'all'
- def build(self, gyp_file, target=None, **kw):
- """
- Runs a scons build using the SCons configuration generated from the
- specified gyp_file.
- """
- arguments = kw.get('arguments', [])[:]
- dirname = os.path.dirname(gyp_file)
- if dirname:
- arguments.extend(['-C', dirname])
- if self.configuration:
- arguments.append('--mode=' + self.configuration)
- if target not in (None, self.DEFAULT):
- arguments.append(target)
- kw['arguments'] = arguments
- return self.run(program=self.build_tool, **kw)
- def up_to_date(self, gyp_file, target=None, **kw):
- """
- Verifies that a build of the specified SCons target is up to date.
- """
- if target in (None, self.DEFAULT):
- up_to_date_targets = 'all'
- else:
- up_to_date_targets = target
- up_to_date_lines = []
- for arg in up_to_date_targets.split():
- up_to_date_lines.append("scons: `%s' is up to date.\n" % arg)
- kw['stdout'] = ''.join(up_to_date_lines)
- arguments = kw.get('arguments', [])[:]
- arguments.append('-Q')
- kw['arguments'] = arguments
- return self.build(gyp_file, target, **kw)
- def run_built_executable(self, name, *args, **kw):
- """
- Runs an executable built by scons.
- """
- configuration = self.configuration_dirname()
- os.environ['LD_LIBRARY_PATH'] = os.path.join(configuration, 'lib')
- # Enclosing the name in a list avoids prepending the original dir.
- program = [self.built_file_path(name, type=self.EXECUTABLE, **kw)]
- return self.run(program=program, *args, **kw)
- def built_file_path(self, name, type=None, **kw):
- """
- Returns a path to the specified file name, of the specified type,
- as built by Scons.
-
- Built files are in a subdirectory that matches the configuration
- name. The default is 'Default'.
-
- A chdir= keyword argument specifies the source directory
- relative to which the output subdirectory can be found.
-
- "type" values of STATIC_LIB or SHARED_LIB append the necessary
- prefixes and suffixes to a platform-independent library base name.
- """
- result = []
- chdir = kw.get('chdir')
- if chdir:
- result.append(chdir)
- result.append(self.configuration_dirname())
- if type in (self.STATIC_LIB, self.SHARED_LIB):
- result.append('lib')
- result.append(self.built_file_basename(name, type, **kw))
- return self.workpath(*result)
-
-
-class TestGypXcode(TestGypBase):
- """
- Subclass for testing the GYP Xcode generator.
- """
- format = 'xcode'
- build_tool_list = ['xcodebuild']
-
- phase_script_execution = ("\n"
- "PhaseScriptExecution /\\S+/Script-[0-9A-F]+\\.sh\n"
- " cd /\\S+\n"
- " /bin/sh -c /\\S+/Script-[0-9A-F]+\\.sh\n"
- "(make: Nothing to be done for `all'\\.\n)?")
-
- strip_up_to_date_expressions = [
- # Various actions or rules can run even when the overall build target
- # is up to date. Strip those phases' GYP-generated output.
- re.compile(phase_script_execution, re.S),
-
- # The message from distcc_pump can trail the "BUILD SUCCEEDED"
- # message, so strip that, too.
- re.compile('__________Shutting down distcc-pump include server\n', re.S),
- ]
-
- up_to_date_endings = (
- 'Checking Dependencies...\n** BUILD SUCCEEDED **\n', # Xcode 3.0/3.1
- 'Check dependencies\n** BUILD SUCCEEDED **\n\n', # Xcode 3.2
- )
-
- def build(self, gyp_file, target=None, **kw):
- """
- Runs an xcodebuild using the .xcodeproj generated from the specified
- gyp_file.
- """
- # Be sure we're working with a copy of 'arguments' since we modify it.
- # The caller may not be expecting it to be modified.
- arguments = kw.get('arguments', [])[:]
- arguments.extend(['-project', gyp_file.replace('.gyp', '.xcodeproj')])
- if target == self.ALL:
- arguments.append('-alltargets',)
- elif target not in (None, self.DEFAULT):
- arguments.extend(['-target', target])
- if self.configuration:
- arguments.extend(['-configuration', self.configuration])
- symroot = kw.get('SYMROOT', '$SRCROOT/build')
- if symroot:
- arguments.append('SYMROOT='+symroot)
- kw['arguments'] = arguments
- return self.run(program=self.build_tool, **kw)
- def up_to_date(self, gyp_file, target=None, **kw):
- """
- Verifies that a build of the specified Xcode target is up to date.
- """
- result = self.build(gyp_file, target, **kw)
- if not result:
- output = self.stdout()
- for expression in self.strip_up_to_date_expressions:
- output = expression.sub('', output)
- if not output.endswith(self.up_to_date_endings):
- self.report_not_up_to_date()
- self.fail_test()
- return result
- def run_built_executable(self, name, *args, **kw):
- """
- Runs an executable built by xcodebuild.
- """
- configuration = self.configuration_dirname()
- os.environ['DYLD_LIBRARY_PATH'] = os.path.join('build', configuration)
- # Enclosing the name in a list avoids prepending the original dir.
- program = [self.built_file_path(name, type=self.EXECUTABLE, **kw)]
- return self.run(program=program, *args, **kw)
- def built_file_path(self, name, type=None, **kw):
- """
- Returns a path to the specified file name, of the specified type,
- as built by Xcode.
-
- Built files are in the subdirectory 'build/{configuration}'.
- The default is 'build/Default'.
-
- A chdir= keyword argument specifies the source directory
- relative to which the output subdirectory can be found.
-
- "type" values of STATIC_LIB or SHARED_LIB append the necessary
- prefixes and suffixes to a platform-independent library base name.
- """
- result = []
- chdir = kw.get('chdir')
- if chdir:
- result.append(chdir)
- configuration = self.configuration_dirname()
- result.extend(['build', configuration])
- result.append(self.built_file_basename(name, type, **kw))
- return self.workpath(*result)
-
-
-format_class_list = [
- TestGypGypd,
- TestGypAndroid,
- TestGypMake,
- TestGypMSVS,
- TestGypNinja,
- TestGypSCons,
- TestGypXcode,
-]
-
-def TestGyp(*args, **kw):
- """
- Returns an appropriate TestGyp* instance for a specified GYP format.
- """
- format = kw.pop('format', os.environ.get('TESTGYP_FORMAT'))
- for format_class in format_class_list:
- if format == format_class.format:
- return format_class(*args, **kw)
- raise Exception, "unknown format %r" % format
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared-obj-install-path.py b/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared-obj-install-path.py
deleted file mode 100755
index 04f32e501..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared-obj-install-path.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that .so files that are order only dependencies are specified by
-their install location rather than by their alias.
-"""
-
-# Python 2.5 needs this for the with statement.
-from __future__ import with_statement
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['make'])
-
-test.run_gyp('shared_dependency.gyp',
- chdir='src')
-test.relocate('src', 'relocate/src')
-
-test.build('shared_dependency.gyp', test.ALL, chdir='relocate/src')
-
-if test.format=='android':
- makefile_path = 'relocate/src/GypAndroid.mk'
-else:
- makefile_path = 'relocate/src/Makefile'
-
-with open(makefile_path) as makefile:
- make_contents = makefile.read()
-
-# If we remove the code to generate lib1, Make should still be able
-# to build lib2 since lib1.so already exists.
-make_contents = make_contents.replace('include lib1.target.mk', '')
-with open(makefile_path, 'w') as makefile:
- makefile.write(make_contents)
-
-test.build('shared_dependency.gyp', test.ALL, chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared.py b/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared.py
deleted file mode 100755
index a1d2985d9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-shared.py
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple build of a "Hello, world!" program with shared libraries,
-including verifying that libraries are rebuilt correctly when functions
-move between libraries.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('library.gyp',
- '-Dlibrary=shared_library',
- '-Dmoveable_function=lib1',
- chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('library.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from program.c
-Hello from lib1.c
-Hello from lib2.c
-Hello from lib1_moveable.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.run_gyp('library.gyp',
- '-Dlibrary=shared_library',
- '-Dmoveable_function=lib2',
- chdir='relocate/src')
-
-# Update program.c to force a rebuild.
-test.sleep()
-contents = test.read('relocate/src/program.c')
-contents = contents.replace('Hello', 'Hello again')
-test.write('relocate/src/program.c', contents)
-
-test.build('library.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello again from program.c
-Hello from lib1.c
-Hello from lib2.c
-Hello from lib2_moveable.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.run_gyp('library.gyp',
- '-Dlibrary=shared_library',
- '-Dmoveable_function=lib1',
- chdir='relocate/src')
-
-# Update program.c to force a rebuild.
-test.sleep()
-contents = test.read('relocate/src/program.c')
-contents = contents.replace('again', 'again again')
-test.write('relocate/src/program.c', contents)
-
-# TODO(sgk): we have to force a rebuild of lib2 so that it weeds out
-# the "moved" module. This should be done in gyp by adding a dependency
-# on the generated .vcproj file itself.
-test.touch('relocate/src/lib2.c')
-
-test.build('library.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello again again from program.c
-Hello from lib1.c
-Hello from lib2.c
-Hello from lib1_moveable.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-static.py b/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-static.py
deleted file mode 100755
index 4bc71c496..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/gyptest-static.py
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple build of a "Hello, world!" program with static libraries,
-including verifying that libraries are rebuilt correctly when functions
-move between libraries.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('library.gyp',
- '-Dlibrary=static_library',
- '-Dmoveable_function=lib1',
- chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('library.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from program.c
-Hello from lib1.c
-Hello from lib2.c
-Hello from lib1_moveable.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.run_gyp('library.gyp',
- '-Dlibrary=static_library',
- '-Dmoveable_function=lib2',
- chdir='relocate/src')
-
-# Update program.c to force a rebuild.
-test.sleep()
-contents = test.read('relocate/src/program.c')
-contents = contents.replace('Hello', 'Hello again')
-test.write('relocate/src/program.c', contents)
-
-test.build('library.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello again from program.c
-Hello from lib1.c
-Hello from lib2.c
-Hello from lib2_moveable.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.run_gyp('library.gyp',
- '-Dlibrary=static_library',
- '-Dmoveable_function=lib1',
- chdir='relocate/src')
-
-# Update program.c and lib2.c to force a rebuild.
-test.sleep()
-contents = test.read('relocate/src/program.c')
-contents = contents.replace('again', 'again again')
-test.write('relocate/src/program.c', contents)
-
-# TODO(sgk): we have to force a rebuild of lib2 so that it weeds out
-# the "moved" module. This should be done in gyp by adding a dependency
-# on the generated .vcproj file itself.
-test.touch('relocate/src/lib2.c')
-
-test.build('library.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello again again from program.c
-Hello from lib1.c
-Hello from lib2.c
-Hello from lib1_moveable.c
-"""
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1.c b/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1.c
deleted file mode 100644
index 3866b1b84..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void lib1_function(void)
-{
- fprintf(stdout, "Hello from lib1.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1_moveable.c b/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1_moveable.c
deleted file mode 100644
index 5d3cc1d9a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib1_moveable.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void moveable_function(void)
-{
- fprintf(stdout, "Hello from lib1_moveable.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2.c b/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2.c
deleted file mode 100644
index 21dda7265..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void lib2_function(void)
-{
- fprintf(stdout, "Hello from lib2.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2_moveable.c b/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2_moveable.c
deleted file mode 100644
index f645071d1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/lib2_moveable.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void moveable_function(void)
-{
- fprintf(stdout, "Hello from lib2_moveable.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/library.gyp b/deps/npm/node_modules/node-gyp/gyp/test/library/src/library.gyp
deleted file mode 100644
index bc3551642..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/library.gyp
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'moveable_function%': 0,
- },
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'dependencies': [
- 'lib1',
- 'lib2',
- ],
- 'sources': [
- 'program.c',
- ],
- },
- {
- 'target_name': 'lib1',
- 'type': '<(library)',
- 'sources': [
- 'lib1.c',
- ],
- 'conditions': [
- ['moveable_function=="lib1"', {
- 'sources': [
- 'lib1_moveable.c',
- ],
- }],
- ],
- },
- {
- 'target_name': 'lib2',
- 'type': '<(library)',
- 'sources': [
- 'lib2.c',
- ],
- 'conditions': [
- ['moveable_function=="lib2"', {
- 'sources': [
- 'lib2_moveable.c',
- ],
- }],
- ],
- },
- ],
- 'conditions': [
- ['OS=="linux"', {
- 'target_defaults': {
- # Support 64-bit shared libs (also works fine for 32-bit).
- 'cflags': ['-fPIC'],
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/program.c b/deps/npm/node_modules/node-gyp/gyp/test/library/src/program.c
deleted file mode 100644
index d7712cced..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/program.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <stdio.h>
-
-extern void lib1_function(void);
-extern void lib2_function(void);
-extern void moveable_function(void);
-
-int main(int argc, char *argv[])
-{
- fprintf(stdout, "Hello from program.c\n");
- fflush(stdout);
- lib1_function();
- lib2_function();
- moveable_function();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/library/src/shared_dependency.gyp b/deps/npm/node_modules/node-gyp/gyp/test/library/src/shared_dependency.gyp
deleted file mode 100644
index 7d29f5de5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/library/src/shared_dependency.gyp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'lib1',
- 'type': 'shared_library',
- 'sources': [
- 'lib1.c',
- ],
- },
- {
- 'target_name': 'lib2',
- 'type': 'shared_library',
- 'sources': [
- 'lib2.c',
- ],
- 'dependencies': [
- 'lib1',
- ],
- },
- ],
- 'conditions': [
- ['OS=="linux"', {
- 'target_defaults': {
- # Support 64-bit shared libs (also works fine for 32-bit).
- 'cflags': ['-fPIC'],
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/base.c b/deps/npm/node_modules/node-gyp/gyp/test/link-objects/base.c
deleted file mode 100644
index 2bc29a1b1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/base.c
+++ /dev/null
@@ -1,6 +0,0 @@
-void extra();
-
-int main(int argc, char** argv) {
- extra();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/extra.c b/deps/npm/node_modules/node-gyp/gyp/test/link-objects/extra.c
deleted file mode 100644
index 1d7ee09b1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/extra.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stdio.h>
-
-void extra() {
- printf("PASS\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/link-objects/gyptest-all.py
deleted file mode 100755
index 45bd6e189..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/gyptest-all.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Put an object file on the sources list.
-Expect the result to link ok.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform != 'darwin':
- # Currently only works under the linux make build.
- test = TestGyp.TestGyp(formats=['make'])
-
- test.run_gyp('link-objects.gyp')
-
- test.build('link-objects.gyp', test.ALL)
-
- test.run_built_executable('link-objects', stdout="PASS\n")
-
- test.up_to_date('link-objects.gyp', test.ALL)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/link-objects.gyp b/deps/npm/node_modules/node-gyp/gyp/test/link-objects/link-objects.gyp
deleted file mode 100644
index ab7285553..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/link-objects/link-objects.gyp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'link-objects',
- 'type': 'executable',
- 'actions': [
- {
- 'action_name': 'build extra object',
- 'inputs': ['extra.c'],
- 'outputs': ['extra.o'],
- 'action': ['gcc', '-o', 'extra.o', '-c', 'extra.c'],
- 'process_outputs_as_sources': 1,
- },
- ],
- 'sources': [
- 'base.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.gyp
deleted file mode 100644
index d9d65745c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.gyp
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'action',
- 'type': 'none',
- 'actions': [
- {
- 'inputs': [ ],
- 'outputs': [
- '<(PRODUCT_DIR)/result',
- '<(SHARED_INTERMEDIATE_DIR)/tempfile',
- ],
- 'action_name': 'Test action',
- 'action': ['./action.sh', '<(SHARED_INTERMEDIATE_DIR)/tempfile' ],
- },
- {
- 'inputs': [
- '<(SHARED_INTERMEDIATE_DIR)/tempfile',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/other_result',
- ],
- 'action_name': 'Other test action',
- 'action': ['cp', '<(SHARED_INTERMEDIATE_DIR)/tempfile',
- '<(PRODUCT_DIR)/other_result' ],
- },
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.sh
deleted file mode 100755
index 48d5f6bf8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/action-envvars/action/action.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-echo 'Test output' > "${BUILT_PRODUCTS_DIR}/result"
-echo 'Other output' > "$1"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings
deleted file mode 100644
index 452e7fabf..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Localized versions of Info.plist keys */
-
-NSHumanReadableCopyright = "Copyright ©2011 Google Inc."
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/MainMenu.xib b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/MainMenu.xib
deleted file mode 100644
index 452459678..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/English.lproj/MainMenu.xib
+++ /dev/null
@@ -1,4119 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
- <data>
- <int key="IBDocument.SystemTarget">1060</int>
- <string key="IBDocument.SystemVersion">10A324</string>
- <string key="IBDocument.InterfaceBuilderVersion">719</string>
- <string key="IBDocument.AppKitVersion">1015</string>
- <string key="IBDocument.HIToolboxVersion">418.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">719</string>
- </object>
- <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="371"/>
- <integer value="29"/>
- </object>
- <object class="NSArray" key="IBDocument.PluginDependencies">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.Metadata">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys" id="0">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- </object>
- <object class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSCustomObject" id="1021">
- <string key="NSClassName">NSApplication</string>
- </object>
- <object class="NSCustomObject" id="1014">
- <string key="NSClassName">FirstResponder</string>
- </object>
- <object class="NSCustomObject" id="1050">
- <string key="NSClassName">NSApplication</string>
- </object>
- <object class="NSMenu" id="649796088">
- <string key="NSTitle">AMainMenu</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="694149608">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">TestApp</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <object class="NSCustomResource" key="NSOnImage" id="35465992">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSMenuCheckmark</string>
- </object>
- <object class="NSCustomResource" key="NSMixedImage" id="502551668">
- <string key="NSClassName">NSImage</string>
- <string key="NSResourceName">NSMenuMixedState</string>
- </object>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="110575045">
- <string key="NSTitle">TestApp</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="238522557">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">About TestApp</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="304266470">
- <reference key="NSMenu" ref="110575045"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="609285721">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">Preferences…</string>
- <string key="NSKeyEquiv">,</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="481834944">
- <reference key="NSMenu" ref="110575045"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1046388886">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">Services</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="752062318">
- <string key="NSTitle">Services</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <string key="NSName">_NSServicesMenu</string>
- </object>
- </object>
- <object class="NSMenuItem" id="646227648">
- <reference key="NSMenu" ref="110575045"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="755159360">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">Hide TestApp</string>
- <string key="NSKeyEquiv">h</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="342932134">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">Hide Others</string>
- <string key="NSKeyEquiv">h</string>
- <int key="NSKeyEquivModMask">1572864</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="908899353">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">Show All</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1056857174">
- <reference key="NSMenu" ref="110575045"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="632727374">
- <reference key="NSMenu" ref="110575045"/>
- <string key="NSTitle">Quit TestApp</string>
- <string key="NSKeyEquiv">q</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- <string key="NSName">_NSAppleMenu</string>
- </object>
- </object>
- <object class="NSMenuItem" id="379814623">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">File</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="720053764">
- <string key="NSTitle">File</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="705341025">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">New</string>
- <string key="NSKeyEquiv">n</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="722745758">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Open…</string>
- <string key="NSKeyEquiv">o</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1025936716">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Open Recent</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="1065607017">
- <string key="NSTitle">Open Recent</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="759406840">
- <reference key="NSMenu" ref="1065607017"/>
- <string key="NSTitle">Clear Menu</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- <string key="NSName">_NSRecentDocumentsMenu</string>
- </object>
- </object>
- <object class="NSMenuItem" id="425164168">
- <reference key="NSMenu" ref="720053764"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="776162233">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Close</string>
- <string key="NSKeyEquiv">w</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1023925487">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Save</string>
- <string key="NSKeyEquiv">s</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="117038363">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Save As…</string>
- <string key="NSKeyEquiv">S</string>
- <int key="NSKeyEquivModMask">1179648</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="579971712">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Revert to Saved</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1010469920">
- <reference key="NSMenu" ref="720053764"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="294629803">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Page Setup...</string>
- <string key="NSKeyEquiv">P</string>
- <int key="NSKeyEquivModMask">1179648</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSToolTip"/>
- </object>
- <object class="NSMenuItem" id="49223823">
- <reference key="NSMenu" ref="720053764"/>
- <string key="NSTitle">Print…</string>
- <string key="NSKeyEquiv">p</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="952259628">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">Edit</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="789758025">
- <string key="NSTitle">Edit</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="1058277027">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Undo</string>
- <string key="NSKeyEquiv">z</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="790794224">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Redo</string>
- <string key="NSKeyEquiv">Z</string>
- <int key="NSKeyEquivModMask">1179648</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1040322652">
- <reference key="NSMenu" ref="789758025"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="296257095">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Cut</string>
- <string key="NSKeyEquiv">x</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="860595796">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Copy</string>
- <string key="NSKeyEquiv">c</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="29853731">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Paste</string>
- <string key="NSKeyEquiv">v</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="82994268">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Paste and Match Style</string>
- <string key="NSKeyEquiv">V</string>
- <int key="NSKeyEquivModMask">1572864</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="437104165">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Delete</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="583158037">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Select All</string>
- <string key="NSKeyEquiv">a</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="212016141">
- <reference key="NSMenu" ref="789758025"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="892235320">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Find</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="963351320">
- <string key="NSTitle">Find</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="447796847">
- <reference key="NSMenu" ref="963351320"/>
- <string key="NSTitle">Find…</string>
- <string key="NSKeyEquiv">f</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">1</int>
- </object>
- <object class="NSMenuItem" id="326711663">
- <reference key="NSMenu" ref="963351320"/>
- <string key="NSTitle">Find Next</string>
- <string key="NSKeyEquiv">g</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">2</int>
- </object>
- <object class="NSMenuItem" id="270902937">
- <reference key="NSMenu" ref="963351320"/>
- <string key="NSTitle">Find Previous</string>
- <string key="NSKeyEquiv">G</string>
- <int key="NSKeyEquivModMask">1179648</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">3</int>
- </object>
- <object class="NSMenuItem" id="159080638">
- <reference key="NSMenu" ref="963351320"/>
- <string key="NSTitle">Use Selection for Find</string>
- <string key="NSKeyEquiv">e</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">7</int>
- </object>
- <object class="NSMenuItem" id="88285865">
- <reference key="NSMenu" ref="963351320"/>
- <string key="NSTitle">Jump to Selection</string>
- <string key="NSKeyEquiv">j</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="972420730">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Spelling and Grammar</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="769623530">
- <string key="NSTitle">Spelling and Grammar</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="679648819">
- <reference key="NSMenu" ref="769623530"/>
- <string key="NSTitle">Show Spelling and Grammar</string>
- <string key="NSKeyEquiv">:</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="96193923">
- <reference key="NSMenu" ref="769623530"/>
- <string key="NSTitle">Check Document Now</string>
- <string key="NSKeyEquiv">;</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="859480356">
- <reference key="NSMenu" ref="769623530"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="948374510">
- <reference key="NSMenu" ref="769623530"/>
- <string key="NSTitle">Check Spelling While Typing</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="967646866">
- <reference key="NSMenu" ref="769623530"/>
- <string key="NSTitle">Check Grammar With Spelling</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="795346622">
- <reference key="NSMenu" ref="769623530"/>
- <string key="NSTitle">Correct Spelling Automatically</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="507821607">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Substitutions</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="698887838">
- <string key="NSTitle">Substitutions</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="65139061">
- <reference key="NSMenu" ref="698887838"/>
- <string key="NSTitle">Show Substitutions</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="19036812">
- <reference key="NSMenu" ref="698887838"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="605118523">
- <reference key="NSMenu" ref="698887838"/>
- <string key="NSTitle">Smart Copy/Paste</string>
- <string key="NSKeyEquiv">f</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">1</int>
- </object>
- <object class="NSMenuItem" id="197661976">
- <reference key="NSMenu" ref="698887838"/>
- <string key="NSTitle">Smart Quotes</string>
- <string key="NSKeyEquiv">g</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">2</int>
- </object>
- <object class="NSMenuItem" id="672708820">
- <reference key="NSMenu" ref="698887838"/>
- <string key="NSTitle">Smart Dashes</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="708854459">
- <reference key="NSMenu" ref="698887838"/>
- <string key="NSTitle">Smart Links</string>
- <string key="NSKeyEquiv">G</string>
- <int key="NSKeyEquivModMask">1179648</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">3</int>
- </object>
- <object class="NSMenuItem" id="537092702">
- <reference key="NSMenu" ref="698887838"/>
- <string key="NSTitle">Text Replacement</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="288088188">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Transformations</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="579392910">
- <string key="NSTitle">Transformations</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="1060694897">
- <reference key="NSMenu" ref="579392910"/>
- <string key="NSTitle">Make Upper Case</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="879586729">
- <reference key="NSMenu" ref="579392910"/>
- <string key="NSTitle">Make Lower Case</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="56570060">
- <reference key="NSMenu" ref="579392910"/>
- <string key="NSTitle">Capitalize</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="676164635">
- <reference key="NSMenu" ref="789758025"/>
- <string key="NSTitle">Speech</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="785027613">
- <string key="NSTitle">Speech</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="731782645">
- <reference key="NSMenu" ref="785027613"/>
- <string key="NSTitle">Start Speaking</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="680220178">
- <reference key="NSMenu" ref="785027613"/>
- <string key="NSTitle">Stop Speaking</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="302598603">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">Format</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="941447902">
- <string key="NSTitle">Format</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="792887677">
- <reference key="NSMenu" ref="941447902"/>
- <string key="NSTitle">Font</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="786677654">
- <string key="NSTitle">Font</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="159677712">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Show Fonts</string>
- <string key="NSKeyEquiv">t</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="305399458">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Bold</string>
- <string key="NSKeyEquiv">b</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">2</int>
- </object>
- <object class="NSMenuItem" id="814362025">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Italic</string>
- <string key="NSKeyEquiv">i</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">1</int>
- </object>
- <object class="NSMenuItem" id="330926929">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Underline</string>
- <string key="NSKeyEquiv">u</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="533507878">
- <reference key="NSMenu" ref="786677654"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="158063935">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Bigger</string>
- <string key="NSKeyEquiv">+</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">3</int>
- </object>
- <object class="NSMenuItem" id="885547335">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Smaller</string>
- <string key="NSKeyEquiv">-</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <int key="NSTag">4</int>
- </object>
- <object class="NSMenuItem" id="901062459">
- <reference key="NSMenu" ref="786677654"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="767671776">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Kern</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="175441468">
- <string key="NSTitle">Kern</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="252969304">
- <reference key="NSMenu" ref="175441468"/>
- <string key="NSTitle">Use Default</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="766922938">
- <reference key="NSMenu" ref="175441468"/>
- <string key="NSTitle">Use None</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="677519740">
- <reference key="NSMenu" ref="175441468"/>
- <string key="NSTitle">Tighten</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="238351151">
- <reference key="NSMenu" ref="175441468"/>
- <string key="NSTitle">Loosen</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="691570813">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Ligature</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="1058217995">
- <string key="NSTitle">Ligature</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="706297211">
- <reference key="NSMenu" ref="1058217995"/>
- <string key="NSTitle">Use Default</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="568384683">
- <reference key="NSMenu" ref="1058217995"/>
- <string key="NSTitle">Use None</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="663508465">
- <reference key="NSMenu" ref="1058217995"/>
- <string key="NSTitle">Use All</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="769124883">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Baseline</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="18263474">
- <string key="NSTitle">Baseline</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="257962622">
- <reference key="NSMenu" ref="18263474"/>
- <string key="NSTitle">Use Default</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="644725453">
- <reference key="NSMenu" ref="18263474"/>
- <string key="NSTitle">Superscript</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1037576581">
- <reference key="NSMenu" ref="18263474"/>
- <string key="NSTitle">Subscript</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="941806246">
- <reference key="NSMenu" ref="18263474"/>
- <string key="NSTitle">Raise</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1045724900">
- <reference key="NSMenu" ref="18263474"/>
- <string key="NSTitle">Lower</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="739652853">
- <reference key="NSMenu" ref="786677654"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="1012600125">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Show Colors</string>
- <string key="NSKeyEquiv">C</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="214559597">
- <reference key="NSMenu" ref="786677654"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="596732606">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Copy Style</string>
- <string key="NSKeyEquiv">c</string>
- <int key="NSKeyEquivModMask">1572864</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="393423671">
- <reference key="NSMenu" ref="786677654"/>
- <string key="NSTitle">Paste Style</string>
- <string key="NSKeyEquiv">v</string>
- <int key="NSKeyEquivModMask">1572864</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- <string key="NSName">_NSFontMenu</string>
- </object>
- </object>
- <object class="NSMenuItem" id="215659978">
- <reference key="NSMenu" ref="941447902"/>
- <string key="NSTitle">Text</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="446991534">
- <string key="NSTitle">Text</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="875092757">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Align Left</string>
- <string key="NSKeyEquiv">{</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="630155264">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Center</string>
- <string key="NSKeyEquiv">|</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="945678886">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Justify</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="512868991">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Align Right</string>
- <string key="NSKeyEquiv">}</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="163117631">
- <reference key="NSMenu" ref="446991534"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="31516759">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Writing Direction</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="956096989">
- <string key="NSTitle">Writing Direction</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="257099033">
- <reference key="NSMenu" ref="956096989"/>
- <bool key="NSIsDisabled">YES</bool>
- <string key="NSTitle">Paragraph</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="551969625">
- <reference key="NSMenu" ref="956096989"/>
- <string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="249532473">
- <reference key="NSMenu" ref="956096989"/>
- <string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="607364498">
- <reference key="NSMenu" ref="956096989"/>
- <string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="508151438">
- <reference key="NSMenu" ref="956096989"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="981751889">
- <reference key="NSMenu" ref="956096989"/>
- <bool key="NSIsDisabled">YES</bool>
- <string key="NSTitle">Selection</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="380031999">
- <reference key="NSMenu" ref="956096989"/>
- <string type="base64-UTF8" key="NSTitle">CURlZmF1bHQ</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="825984362">
- <reference key="NSMenu" ref="956096989"/>
- <string type="base64-UTF8" key="NSTitle">CUxlZnQgdG8gUmlnaHQ</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="560145579">
- <reference key="NSMenu" ref="956096989"/>
- <string type="base64-UTF8" key="NSTitle">CVJpZ2h0IHRvIExlZnQ</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="908105787">
- <reference key="NSMenu" ref="446991534"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="644046920">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Show Ruler</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="231811626">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Copy Ruler</string>
- <string key="NSKeyEquiv">c</string>
- <int key="NSKeyEquivModMask">1310720</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="883618387">
- <reference key="NSMenu" ref="446991534"/>
- <string key="NSTitle">Paste Ruler</string>
- <string key="NSKeyEquiv">v</string>
- <int key="NSKeyEquivModMask">1310720</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="586577488">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">View</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="466310130">
- <string key="NSTitle">View</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="102151532">
- <reference key="NSMenu" ref="466310130"/>
- <string key="NSTitle">Show Toolbar</string>
- <string key="NSKeyEquiv">t</string>
- <int key="NSKeyEquivModMask">1572864</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="237841660">
- <reference key="NSMenu" ref="466310130"/>
- <string key="NSTitle">Customize Toolbar…</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- </object>
- </object>
- <object class="NSMenuItem" id="713487014">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">Window</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="835318025">
- <string key="NSTitle">Window</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="1011231497">
- <reference key="NSMenu" ref="835318025"/>
- <string key="NSTitle">Minimize</string>
- <string key="NSKeyEquiv">m</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="575023229">
- <reference key="NSMenu" ref="835318025"/>
- <string key="NSTitle">Zoom</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="299356726">
- <reference key="NSMenu" ref="835318025"/>
- <bool key="NSIsDisabled">YES</bool>
- <bool key="NSIsSeparator">YES</bool>
- <string key="NSTitle"/>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- <object class="NSMenuItem" id="625202149">
- <reference key="NSMenu" ref="835318025"/>
- <string key="NSTitle">Bring All to Front</string>
- <string key="NSKeyEquiv"/>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- <string key="NSName">_NSWindowsMenu</string>
- </object>
- </object>
- <object class="NSMenuItem" id="448692316">
- <reference key="NSMenu" ref="649796088"/>
- <string key="NSTitle">Help</string>
- <string key="NSKeyEquiv"/>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- <string key="NSAction">submenuAction:</string>
- <object class="NSMenu" key="NSSubmenu" id="992780483">
- <string key="NSTitle">Help</string>
- <object class="NSMutableArray" key="NSMenuItems">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSMenuItem" id="105068016">
- <reference key="NSMenu" ref="992780483"/>
- <string key="NSTitle">TestApp Help</string>
- <string key="NSKeyEquiv">?</string>
- <int key="NSKeyEquivModMask">1048576</int>
- <int key="NSMnemonicLoc">2147483647</int>
- <reference key="NSOnImage" ref="35465992"/>
- <reference key="NSMixedImage" ref="502551668"/>
- </object>
- </object>
- <string key="NSName">_NSHelpMenu</string>
- </object>
- </object>
- </object>
- <string key="NSName">_NSMainMenu</string>
- </object>
- <object class="NSWindowTemplate" id="972006081">
- <int key="NSWindowStyleMask">15</int>
- <int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{335, 390}, {480, 360}}</string>
- <int key="NSWTFlags">1954021376</int>
- <string key="NSWindowTitle">TestApp</string>
- <string key="NSWindowClass">NSWindow</string>
- <nil key="NSViewClass"/>
- <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
- <object class="NSView" key="NSWindowView" id="439893737">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <string key="NSFrameSize">{480, 360}</string>
- <reference key="NSSuperview"/>
- </object>
- <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
- <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
- </object>
- <object class="NSCustomObject" id="976324537">
- <string key="NSClassName">TestAppAppDelegate</string>
- </object>
- <object class="NSCustomObject" id="755631768">
- <string key="NSClassName">NSFontManager</string>
- </object>
- </object>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <object class="NSMutableArray" key="connectionRecords">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performMiniaturize:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1011231497"/>
- </object>
- <int key="connectionID">37</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">arrangeInFront:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="625202149"/>
- </object>
- <int key="connectionID">39</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">print:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="49223823"/>
- </object>
- <int key="connectionID">86</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">runPageLayout:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="294629803"/>
- </object>
- <int key="connectionID">87</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">clearRecentDocuments:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="759406840"/>
- </object>
- <int key="connectionID">127</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">orderFrontStandardAboutPanel:</string>
- <reference key="source" ref="1021"/>
- <reference key="destination" ref="238522557"/>
- </object>
- <int key="connectionID">142</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performClose:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="776162233"/>
- </object>
- <int key="connectionID">193</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleContinuousSpellChecking:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="948374510"/>
- </object>
- <int key="connectionID">222</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">undo:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1058277027"/>
- </object>
- <int key="connectionID">223</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">copy:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="860595796"/>
- </object>
- <int key="connectionID">224</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">checkSpelling:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="96193923"/>
- </object>
- <int key="connectionID">225</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">paste:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="29853731"/>
- </object>
- <int key="connectionID">226</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">stopSpeaking:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="680220178"/>
- </object>
- <int key="connectionID">227</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">cut:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="296257095"/>
- </object>
- <int key="connectionID">228</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">showGuessPanel:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="679648819"/>
- </object>
- <int key="connectionID">230</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">redo:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="790794224"/>
- </object>
- <int key="connectionID">231</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">selectAll:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="583158037"/>
- </object>
- <int key="connectionID">232</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">startSpeaking:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="731782645"/>
- </object>
- <int key="connectionID">233</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">delete:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="437104165"/>
- </object>
- <int key="connectionID">235</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performZoom:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="575023229"/>
- </object>
- <int key="connectionID">240</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performFindPanelAction:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="447796847"/>
- </object>
- <int key="connectionID">241</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">centerSelectionInVisibleArea:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="88285865"/>
- </object>
- <int key="connectionID">245</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleGrammarChecking:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="967646866"/>
- </object>
- <int key="connectionID">347</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleSmartInsertDelete:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="605118523"/>
- </object>
- <int key="connectionID">355</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleAutomaticQuoteSubstitution:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="197661976"/>
- </object>
- <int key="connectionID">356</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleAutomaticLinkDetection:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="708854459"/>
- </object>
- <int key="connectionID">357</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">saveDocument:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1023925487"/>
- </object>
- <int key="connectionID">362</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">saveDocumentAs:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="117038363"/>
- </object>
- <int key="connectionID">363</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">revertDocumentToSaved:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="579971712"/>
- </object>
- <int key="connectionID">364</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">runToolbarCustomizationPalette:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="237841660"/>
- </object>
- <int key="connectionID">365</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleToolbarShown:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="102151532"/>
- </object>
- <int key="connectionID">366</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">hide:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="755159360"/>
- </object>
- <int key="connectionID">367</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">hideOtherApplications:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="342932134"/>
- </object>
- <int key="connectionID">368</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">unhideAllApplications:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="908899353"/>
- </object>
- <int key="connectionID">370</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">newDocument:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="705341025"/>
- </object>
- <int key="connectionID">373</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">openDocument:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="722745758"/>
- </object>
- <int key="connectionID">374</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">addFontTrait:</string>
- <reference key="source" ref="755631768"/>
- <reference key="destination" ref="305399458"/>
- </object>
- <int key="connectionID">421</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">addFontTrait:</string>
- <reference key="source" ref="755631768"/>
- <reference key="destination" ref="814362025"/>
- </object>
- <int key="connectionID">422</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">modifyFont:</string>
- <reference key="source" ref="755631768"/>
- <reference key="destination" ref="885547335"/>
- </object>
- <int key="connectionID">423</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">orderFrontFontPanel:</string>
- <reference key="source" ref="755631768"/>
- <reference key="destination" ref="159677712"/>
- </object>
- <int key="connectionID">424</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">modifyFont:</string>
- <reference key="source" ref="755631768"/>
- <reference key="destination" ref="158063935"/>
- </object>
- <int key="connectionID">425</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">raiseBaseline:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="941806246"/>
- </object>
- <int key="connectionID">426</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">lowerBaseline:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1045724900"/>
- </object>
- <int key="connectionID">427</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">copyFont:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="596732606"/>
- </object>
- <int key="connectionID">428</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">subscript:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1037576581"/>
- </object>
- <int key="connectionID">429</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">superscript:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="644725453"/>
- </object>
- <int key="connectionID">430</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">tightenKerning:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="677519740"/>
- </object>
- <int key="connectionID">431</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">underline:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="330926929"/>
- </object>
- <int key="connectionID">432</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">orderFrontColorPanel:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1012600125"/>
- </object>
- <int key="connectionID">433</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">useAllLigatures:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="663508465"/>
- </object>
- <int key="connectionID">434</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">loosenKerning:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="238351151"/>
- </object>
- <int key="connectionID">435</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">pasteFont:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="393423671"/>
- </object>
- <int key="connectionID">436</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">unscript:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="257962622"/>
- </object>
- <int key="connectionID">437</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">useStandardKerning:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="252969304"/>
- </object>
- <int key="connectionID">438</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">useStandardLigatures:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="706297211"/>
- </object>
- <int key="connectionID">439</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">turnOffLigatures:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="568384683"/>
- </object>
- <int key="connectionID">440</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">turnOffKerning:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="766922938"/>
- </object>
- <int key="connectionID">441</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">terminate:</string>
- <reference key="source" ref="1050"/>
- <reference key="destination" ref="632727374"/>
- </object>
- <int key="connectionID">449</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleAutomaticSpellingCorrection:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="795346622"/>
- </object>
- <int key="connectionID">456</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">orderFrontSubstitutionsPanel:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="65139061"/>
- </object>
- <int key="connectionID">458</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleAutomaticDashSubstitution:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="672708820"/>
- </object>
- <int key="connectionID">461</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleAutomaticTextReplacement:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="537092702"/>
- </object>
- <int key="connectionID">463</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">uppercaseWord:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="1060694897"/>
- </object>
- <int key="connectionID">464</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">capitalizeWord:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="56570060"/>
- </object>
- <int key="connectionID">467</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">lowercaseWord:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="879586729"/>
- </object>
- <int key="connectionID">468</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">pasteAsPlainText:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="82994268"/>
- </object>
- <int key="connectionID">486</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performFindPanelAction:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="326711663"/>
- </object>
- <int key="connectionID">487</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performFindPanelAction:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="270902937"/>
- </object>
- <int key="connectionID">488</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">performFindPanelAction:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="159080638"/>
- </object>
- <int key="connectionID">489</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">showHelp:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="105068016"/>
- </object>
- <int key="connectionID">493</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="1021"/>
- <reference key="destination" ref="976324537"/>
- </object>
- <int key="connectionID">495</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">alignCenter:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="630155264"/>
- </object>
- <int key="connectionID">518</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">pasteRuler:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="883618387"/>
- </object>
- <int key="connectionID">519</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">toggleRuler:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="644046920"/>
- </object>
- <int key="connectionID">520</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">alignRight:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="512868991"/>
- </object>
- <int key="connectionID">521</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">copyRuler:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="231811626"/>
- </object>
- <int key="connectionID">522</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">alignJustified:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="945678886"/>
- </object>
- <int key="connectionID">523</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">alignLeft:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="875092757"/>
- </object>
- <int key="connectionID">524</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">makeBaseWritingDirectionNatural:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="551969625"/>
- </object>
- <int key="connectionID">525</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">makeBaseWritingDirectionLeftToRight:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="249532473"/>
- </object>
- <int key="connectionID">526</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">makeBaseWritingDirectionRightToLeft:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="607364498"/>
- </object>
- <int key="connectionID">527</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">makeTextWritingDirectionNatural:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="380031999"/>
- </object>
- <int key="connectionID">528</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">makeTextWritingDirectionLeftToRight:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="825984362"/>
- </object>
- <int key="connectionID">529</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">makeTextWritingDirectionRightToLeft:</string>
- <reference key="source" ref="1014"/>
- <reference key="destination" ref="560145579"/>
- </object>
- <int key="connectionID">530</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">window</string>
- <reference key="source" ref="976324537"/>
- <reference key="destination" ref="972006081"/>
- </object>
- <int key="connectionID">532</int>
- </object>
- </object>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <object class="NSArray" key="orderedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <reference key="object" ref="0"/>
- <reference key="children" ref="1048"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="1021"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">File's Owner</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="1014"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">First Responder</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-3</int>
- <reference key="object" ref="1050"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">Application</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">29</int>
- <reference key="object" ref="649796088"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="713487014"/>
- <reference ref="694149608"/>
- <reference ref="952259628"/>
- <reference ref="379814623"/>
- <reference ref="586577488"/>
- <reference ref="302598603"/>
- <reference ref="448692316"/>
- </object>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">19</int>
- <reference key="object" ref="713487014"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="835318025"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">56</int>
- <reference key="object" ref="694149608"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="110575045"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">217</int>
- <reference key="object" ref="952259628"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="789758025"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">83</int>
- <reference key="object" ref="379814623"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="720053764"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">81</int>
- <reference key="object" ref="720053764"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1023925487"/>
- <reference ref="117038363"/>
- <reference ref="49223823"/>
- <reference ref="722745758"/>
- <reference ref="705341025"/>
- <reference ref="1025936716"/>
- <reference ref="294629803"/>
- <reference ref="776162233"/>
- <reference ref="425164168"/>
- <reference ref="579971712"/>
- <reference ref="1010469920"/>
- </object>
- <reference key="parent" ref="379814623"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">75</int>
- <reference key="object" ref="1023925487"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">80</int>
- <reference key="object" ref="117038363"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">78</int>
- <reference key="object" ref="49223823"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">72</int>
- <reference key="object" ref="722745758"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">82</int>
- <reference key="object" ref="705341025"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">124</int>
- <reference key="object" ref="1025936716"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1065607017"/>
- </object>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">77</int>
- <reference key="object" ref="294629803"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">73</int>
- <reference key="object" ref="776162233"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">79</int>
- <reference key="object" ref="425164168"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">112</int>
- <reference key="object" ref="579971712"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">74</int>
- <reference key="object" ref="1010469920"/>
- <reference key="parent" ref="720053764"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">125</int>
- <reference key="object" ref="1065607017"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="759406840"/>
- </object>
- <reference key="parent" ref="1025936716"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">126</int>
- <reference key="object" ref="759406840"/>
- <reference key="parent" ref="1065607017"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">205</int>
- <reference key="object" ref="789758025"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="437104165"/>
- <reference ref="583158037"/>
- <reference ref="1058277027"/>
- <reference ref="212016141"/>
- <reference ref="296257095"/>
- <reference ref="29853731"/>
- <reference ref="860595796"/>
- <reference ref="1040322652"/>
- <reference ref="790794224"/>
- <reference ref="892235320"/>
- <reference ref="972420730"/>
- <reference ref="676164635"/>
- <reference ref="507821607"/>
- <reference ref="288088188"/>
- <reference ref="82994268"/>
- </object>
- <reference key="parent" ref="952259628"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">202</int>
- <reference key="object" ref="437104165"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">198</int>
- <reference key="object" ref="583158037"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">207</int>
- <reference key="object" ref="1058277027"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">214</int>
- <reference key="object" ref="212016141"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">199</int>
- <reference key="object" ref="296257095"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">203</int>
- <reference key="object" ref="29853731"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">197</int>
- <reference key="object" ref="860595796"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">206</int>
- <reference key="object" ref="1040322652"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">215</int>
- <reference key="object" ref="790794224"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">218</int>
- <reference key="object" ref="892235320"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="963351320"/>
- </object>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">216</int>
- <reference key="object" ref="972420730"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="769623530"/>
- </object>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">200</int>
- <reference key="object" ref="769623530"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="948374510"/>
- <reference ref="96193923"/>
- <reference ref="679648819"/>
- <reference ref="967646866"/>
- <reference ref="859480356"/>
- <reference ref="795346622"/>
- </object>
- <reference key="parent" ref="972420730"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">219</int>
- <reference key="object" ref="948374510"/>
- <reference key="parent" ref="769623530"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">201</int>
- <reference key="object" ref="96193923"/>
- <reference key="parent" ref="769623530"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">204</int>
- <reference key="object" ref="679648819"/>
- <reference key="parent" ref="769623530"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">220</int>
- <reference key="object" ref="963351320"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="270902937"/>
- <reference ref="88285865"/>
- <reference ref="159080638"/>
- <reference ref="326711663"/>
- <reference ref="447796847"/>
- </object>
- <reference key="parent" ref="892235320"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">213</int>
- <reference key="object" ref="270902937"/>
- <reference key="parent" ref="963351320"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">210</int>
- <reference key="object" ref="88285865"/>
- <reference key="parent" ref="963351320"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">221</int>
- <reference key="object" ref="159080638"/>
- <reference key="parent" ref="963351320"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">208</int>
- <reference key="object" ref="326711663"/>
- <reference key="parent" ref="963351320"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">209</int>
- <reference key="object" ref="447796847"/>
- <reference key="parent" ref="963351320"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">57</int>
- <reference key="object" ref="110575045"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="238522557"/>
- <reference ref="755159360"/>
- <reference ref="908899353"/>
- <reference ref="632727374"/>
- <reference ref="646227648"/>
- <reference ref="609285721"/>
- <reference ref="481834944"/>
- <reference ref="304266470"/>
- <reference ref="1046388886"/>
- <reference ref="1056857174"/>
- <reference ref="342932134"/>
- </object>
- <reference key="parent" ref="694149608"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">58</int>
- <reference key="object" ref="238522557"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">134</int>
- <reference key="object" ref="755159360"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">150</int>
- <reference key="object" ref="908899353"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">136</int>
- <reference key="object" ref="632727374"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">144</int>
- <reference key="object" ref="646227648"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">129</int>
- <reference key="object" ref="609285721"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">143</int>
- <reference key="object" ref="481834944"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">236</int>
- <reference key="object" ref="304266470"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">131</int>
- <reference key="object" ref="1046388886"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="752062318"/>
- </object>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">149</int>
- <reference key="object" ref="1056857174"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">145</int>
- <reference key="object" ref="342932134"/>
- <reference key="parent" ref="110575045"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">130</int>
- <reference key="object" ref="752062318"/>
- <reference key="parent" ref="1046388886"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">24</int>
- <reference key="object" ref="835318025"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="299356726"/>
- <reference ref="625202149"/>
- <reference ref="575023229"/>
- <reference ref="1011231497"/>
- </object>
- <reference key="parent" ref="713487014"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">92</int>
- <reference key="object" ref="299356726"/>
- <reference key="parent" ref="835318025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">5</int>
- <reference key="object" ref="625202149"/>
- <reference key="parent" ref="835318025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">239</int>
- <reference key="object" ref="575023229"/>
- <reference key="parent" ref="835318025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">23</int>
- <reference key="object" ref="1011231497"/>
- <reference key="parent" ref="835318025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">295</int>
- <reference key="object" ref="586577488"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="466310130"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">296</int>
- <reference key="object" ref="466310130"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="102151532"/>
- <reference ref="237841660"/>
- </object>
- <reference key="parent" ref="586577488"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">297</int>
- <reference key="object" ref="102151532"/>
- <reference key="parent" ref="466310130"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">298</int>
- <reference key="object" ref="237841660"/>
- <reference key="parent" ref="466310130"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">211</int>
- <reference key="object" ref="676164635"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="785027613"/>
- </object>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">212</int>
- <reference key="object" ref="785027613"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="680220178"/>
- <reference ref="731782645"/>
- </object>
- <reference key="parent" ref="676164635"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">195</int>
- <reference key="object" ref="680220178"/>
- <reference key="parent" ref="785027613"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">196</int>
- <reference key="object" ref="731782645"/>
- <reference key="parent" ref="785027613"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">346</int>
- <reference key="object" ref="967646866"/>
- <reference key="parent" ref="769623530"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">348</int>
- <reference key="object" ref="507821607"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="698887838"/>
- </object>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">349</int>
- <reference key="object" ref="698887838"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="605118523"/>
- <reference ref="197661976"/>
- <reference ref="708854459"/>
- <reference ref="65139061"/>
- <reference ref="19036812"/>
- <reference ref="672708820"/>
- <reference ref="537092702"/>
- </object>
- <reference key="parent" ref="507821607"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">350</int>
- <reference key="object" ref="605118523"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">351</int>
- <reference key="object" ref="197661976"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">354</int>
- <reference key="object" ref="708854459"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">371</int>
- <reference key="object" ref="972006081"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="439893737"/>
- </object>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">372</int>
- <reference key="object" ref="439893737"/>
- <reference key="parent" ref="972006081"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">375</int>
- <reference key="object" ref="302598603"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="941447902"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">376</int>
- <reference key="object" ref="941447902"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="792887677"/>
- <reference ref="215659978"/>
- </object>
- <reference key="parent" ref="302598603"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">377</int>
- <reference key="object" ref="792887677"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="786677654"/>
- </object>
- <reference key="parent" ref="941447902"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">388</int>
- <reference key="object" ref="786677654"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="159677712"/>
- <reference ref="305399458"/>
- <reference ref="814362025"/>
- <reference ref="330926929"/>
- <reference ref="533507878"/>
- <reference ref="158063935"/>
- <reference ref="885547335"/>
- <reference ref="901062459"/>
- <reference ref="767671776"/>
- <reference ref="691570813"/>
- <reference ref="769124883"/>
- <reference ref="739652853"/>
- <reference ref="1012600125"/>
- <reference ref="214559597"/>
- <reference ref="596732606"/>
- <reference ref="393423671"/>
- </object>
- <reference key="parent" ref="792887677"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">389</int>
- <reference key="object" ref="159677712"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">390</int>
- <reference key="object" ref="305399458"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">391</int>
- <reference key="object" ref="814362025"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">392</int>
- <reference key="object" ref="330926929"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">393</int>
- <reference key="object" ref="533507878"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">394</int>
- <reference key="object" ref="158063935"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">395</int>
- <reference key="object" ref="885547335"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">396</int>
- <reference key="object" ref="901062459"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">397</int>
- <reference key="object" ref="767671776"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="175441468"/>
- </object>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">398</int>
- <reference key="object" ref="691570813"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1058217995"/>
- </object>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">399</int>
- <reference key="object" ref="769124883"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="18263474"/>
- </object>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">400</int>
- <reference key="object" ref="739652853"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">401</int>
- <reference key="object" ref="1012600125"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">402</int>
- <reference key="object" ref="214559597"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">403</int>
- <reference key="object" ref="596732606"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">404</int>
- <reference key="object" ref="393423671"/>
- <reference key="parent" ref="786677654"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">405</int>
- <reference key="object" ref="18263474"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="257962622"/>
- <reference ref="644725453"/>
- <reference ref="1037576581"/>
- <reference ref="941806246"/>
- <reference ref="1045724900"/>
- </object>
- <reference key="parent" ref="769124883"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">406</int>
- <reference key="object" ref="257962622"/>
- <reference key="parent" ref="18263474"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">407</int>
- <reference key="object" ref="644725453"/>
- <reference key="parent" ref="18263474"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">408</int>
- <reference key="object" ref="1037576581"/>
- <reference key="parent" ref="18263474"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">409</int>
- <reference key="object" ref="941806246"/>
- <reference key="parent" ref="18263474"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">410</int>
- <reference key="object" ref="1045724900"/>
- <reference key="parent" ref="18263474"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">411</int>
- <reference key="object" ref="1058217995"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="706297211"/>
- <reference ref="568384683"/>
- <reference ref="663508465"/>
- </object>
- <reference key="parent" ref="691570813"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">412</int>
- <reference key="object" ref="706297211"/>
- <reference key="parent" ref="1058217995"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">413</int>
- <reference key="object" ref="568384683"/>
- <reference key="parent" ref="1058217995"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">414</int>
- <reference key="object" ref="663508465"/>
- <reference key="parent" ref="1058217995"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">415</int>
- <reference key="object" ref="175441468"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="252969304"/>
- <reference ref="766922938"/>
- <reference ref="677519740"/>
- <reference ref="238351151"/>
- </object>
- <reference key="parent" ref="767671776"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">416</int>
- <reference key="object" ref="252969304"/>
- <reference key="parent" ref="175441468"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">417</int>
- <reference key="object" ref="766922938"/>
- <reference key="parent" ref="175441468"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">418</int>
- <reference key="object" ref="677519740"/>
- <reference key="parent" ref="175441468"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">419</int>
- <reference key="object" ref="238351151"/>
- <reference key="parent" ref="175441468"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">420</int>
- <reference key="object" ref="755631768"/>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">450</int>
- <reference key="object" ref="288088188"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="579392910"/>
- </object>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">451</int>
- <reference key="object" ref="579392910"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="1060694897"/>
- <reference ref="879586729"/>
- <reference ref="56570060"/>
- </object>
- <reference key="parent" ref="288088188"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">452</int>
- <reference key="object" ref="1060694897"/>
- <reference key="parent" ref="579392910"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">453</int>
- <reference key="object" ref="859480356"/>
- <reference key="parent" ref="769623530"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">454</int>
- <reference key="object" ref="795346622"/>
- <reference key="parent" ref="769623530"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">457</int>
- <reference key="object" ref="65139061"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">459</int>
- <reference key="object" ref="19036812"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">460</int>
- <reference key="object" ref="672708820"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">462</int>
- <reference key="object" ref="537092702"/>
- <reference key="parent" ref="698887838"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">465</int>
- <reference key="object" ref="879586729"/>
- <reference key="parent" ref="579392910"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">466</int>
- <reference key="object" ref="56570060"/>
- <reference key="parent" ref="579392910"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">485</int>
- <reference key="object" ref="82994268"/>
- <reference key="parent" ref="789758025"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">490</int>
- <reference key="object" ref="448692316"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="992780483"/>
- </object>
- <reference key="parent" ref="649796088"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">491</int>
- <reference key="object" ref="992780483"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="105068016"/>
- </object>
- <reference key="parent" ref="448692316"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">492</int>
- <reference key="object" ref="105068016"/>
- <reference key="parent" ref="992780483"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">494</int>
- <reference key="object" ref="976324537"/>
- <reference key="parent" ref="0"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">496</int>
- <reference key="object" ref="215659978"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="446991534"/>
- </object>
- <reference key="parent" ref="941447902"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">497</int>
- <reference key="object" ref="446991534"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="875092757"/>
- <reference ref="630155264"/>
- <reference ref="945678886"/>
- <reference ref="512868991"/>
- <reference ref="163117631"/>
- <reference ref="31516759"/>
- <reference ref="908105787"/>
- <reference ref="644046920"/>
- <reference ref="231811626"/>
- <reference ref="883618387"/>
- </object>
- <reference key="parent" ref="215659978"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">498</int>
- <reference key="object" ref="875092757"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">499</int>
- <reference key="object" ref="630155264"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">500</int>
- <reference key="object" ref="945678886"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">501</int>
- <reference key="object" ref="512868991"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">502</int>
- <reference key="object" ref="163117631"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">503</int>
- <reference key="object" ref="31516759"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="956096989"/>
- </object>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">504</int>
- <reference key="object" ref="908105787"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">505</int>
- <reference key="object" ref="644046920"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">506</int>
- <reference key="object" ref="231811626"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">507</int>
- <reference key="object" ref="883618387"/>
- <reference key="parent" ref="446991534"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">508</int>
- <reference key="object" ref="956096989"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="257099033"/>
- <reference ref="551969625"/>
- <reference ref="249532473"/>
- <reference ref="607364498"/>
- <reference ref="508151438"/>
- <reference ref="981751889"/>
- <reference ref="380031999"/>
- <reference ref="825984362"/>
- <reference ref="560145579"/>
- </object>
- <reference key="parent" ref="31516759"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">509</int>
- <reference key="object" ref="257099033"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">510</int>
- <reference key="object" ref="551969625"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">511</int>
- <reference key="object" ref="249532473"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">512</int>
- <reference key="object" ref="607364498"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">513</int>
- <reference key="object" ref="508151438"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">514</int>
- <reference key="object" ref="981751889"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">515</int>
- <reference key="object" ref="380031999"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">516</int>
- <reference key="object" ref="825984362"/>
- <reference key="parent" ref="956096989"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">517</int>
- <reference key="object" ref="560145579"/>
- <reference key="parent" ref="956096989"/>
- </object>
- </object>
- </object>
- <object class="NSMutableDictionary" key="flattenedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>-3.IBPluginDependency</string>
- <string>112.IBPluginDependency</string>
- <string>112.ImportedFromIB2</string>
- <string>124.IBPluginDependency</string>
- <string>124.ImportedFromIB2</string>
- <string>125.IBPluginDependency</string>
- <string>125.ImportedFromIB2</string>
- <string>125.editorWindowContentRectSynchronizationRect</string>
- <string>126.IBPluginDependency</string>
- <string>126.ImportedFromIB2</string>
- <string>129.IBPluginDependency</string>
- <string>129.ImportedFromIB2</string>
- <string>130.IBPluginDependency</string>
- <string>130.ImportedFromIB2</string>
- <string>130.editorWindowContentRectSynchronizationRect</string>
- <string>131.IBPluginDependency</string>
- <string>131.ImportedFromIB2</string>
- <string>134.IBPluginDependency</string>
- <string>134.ImportedFromIB2</string>
- <string>136.IBPluginDependency</string>
- <string>136.ImportedFromIB2</string>
- <string>143.IBPluginDependency</string>
- <string>143.ImportedFromIB2</string>
- <string>144.IBPluginDependency</string>
- <string>144.ImportedFromIB2</string>
- <string>145.IBPluginDependency</string>
- <string>145.ImportedFromIB2</string>
- <string>149.IBPluginDependency</string>
- <string>149.ImportedFromIB2</string>
- <string>150.IBPluginDependency</string>
- <string>150.ImportedFromIB2</string>
- <string>19.IBPluginDependency</string>
- <string>19.ImportedFromIB2</string>
- <string>195.IBPluginDependency</string>
- <string>195.ImportedFromIB2</string>
- <string>196.IBPluginDependency</string>
- <string>196.ImportedFromIB2</string>
- <string>197.IBPluginDependency</string>
- <string>197.ImportedFromIB2</string>
- <string>198.IBPluginDependency</string>
- <string>198.ImportedFromIB2</string>
- <string>199.IBPluginDependency</string>
- <string>199.ImportedFromIB2</string>
- <string>200.IBEditorWindowLastContentRect</string>
- <string>200.IBPluginDependency</string>
- <string>200.ImportedFromIB2</string>
- <string>200.editorWindowContentRectSynchronizationRect</string>
- <string>201.IBPluginDependency</string>
- <string>201.ImportedFromIB2</string>
- <string>202.IBPluginDependency</string>
- <string>202.ImportedFromIB2</string>
- <string>203.IBPluginDependency</string>
- <string>203.ImportedFromIB2</string>
- <string>204.IBPluginDependency</string>
- <string>204.ImportedFromIB2</string>
- <string>205.IBEditorWindowLastContentRect</string>
- <string>205.IBPluginDependency</string>
- <string>205.ImportedFromIB2</string>
- <string>205.editorWindowContentRectSynchronizationRect</string>
- <string>206.IBPluginDependency</string>
- <string>206.ImportedFromIB2</string>
- <string>207.IBPluginDependency</string>
- <string>207.ImportedFromIB2</string>
- <string>208.IBPluginDependency</string>
- <string>208.ImportedFromIB2</string>
- <string>209.IBPluginDependency</string>
- <string>209.ImportedFromIB2</string>
- <string>210.IBPluginDependency</string>
- <string>210.ImportedFromIB2</string>
- <string>211.IBPluginDependency</string>
- <string>211.ImportedFromIB2</string>
- <string>212.IBPluginDependency</string>
- <string>212.ImportedFromIB2</string>
- <string>212.editorWindowContentRectSynchronizationRect</string>
- <string>213.IBPluginDependency</string>
- <string>213.ImportedFromIB2</string>
- <string>214.IBPluginDependency</string>
- <string>214.ImportedFromIB2</string>
- <string>215.IBPluginDependency</string>
- <string>215.ImportedFromIB2</string>
- <string>216.IBPluginDependency</string>
- <string>216.ImportedFromIB2</string>
- <string>217.IBPluginDependency</string>
- <string>217.ImportedFromIB2</string>
- <string>218.IBPluginDependency</string>
- <string>218.ImportedFromIB2</string>
- <string>219.IBPluginDependency</string>
- <string>219.ImportedFromIB2</string>
- <string>220.IBEditorWindowLastContentRect</string>
- <string>220.IBPluginDependency</string>
- <string>220.ImportedFromIB2</string>
- <string>220.editorWindowContentRectSynchronizationRect</string>
- <string>221.IBPluginDependency</string>
- <string>221.ImportedFromIB2</string>
- <string>23.IBPluginDependency</string>
- <string>23.ImportedFromIB2</string>
- <string>236.IBPluginDependency</string>
- <string>236.ImportedFromIB2</string>
- <string>239.IBPluginDependency</string>
- <string>239.ImportedFromIB2</string>
- <string>24.IBEditorWindowLastContentRect</string>
- <string>24.IBPluginDependency</string>
- <string>24.ImportedFromIB2</string>
- <string>24.editorWindowContentRectSynchronizationRect</string>
- <string>29.IBEditorWindowLastContentRect</string>
- <string>29.IBPluginDependency</string>
- <string>29.ImportedFromIB2</string>
- <string>29.WindowOrigin</string>
- <string>29.editorWindowContentRectSynchronizationRect</string>
- <string>295.IBPluginDependency</string>
- <string>296.IBEditorWindowLastContentRect</string>
- <string>296.IBPluginDependency</string>
- <string>296.editorWindowContentRectSynchronizationRect</string>
- <string>297.IBPluginDependency</string>
- <string>298.IBPluginDependency</string>
- <string>346.IBPluginDependency</string>
- <string>346.ImportedFromIB2</string>
- <string>348.IBPluginDependency</string>
- <string>348.ImportedFromIB2</string>
- <string>349.IBEditorWindowLastContentRect</string>
- <string>349.IBPluginDependency</string>
- <string>349.ImportedFromIB2</string>
- <string>349.editorWindowContentRectSynchronizationRect</string>
- <string>350.IBPluginDependency</string>
- <string>350.ImportedFromIB2</string>
- <string>351.IBPluginDependency</string>
- <string>351.ImportedFromIB2</string>
- <string>354.IBPluginDependency</string>
- <string>354.ImportedFromIB2</string>
- <string>371.IBEditorWindowLastContentRect</string>
- <string>371.IBPluginDependency</string>
- <string>371.IBWindowTemplateEditedContentRect</string>
- <string>371.NSWindowTemplate.visibleAtLaunch</string>
- <string>371.editorWindowContentRectSynchronizationRect</string>
- <string>371.windowTemplate.maxSize</string>
- <string>372.IBPluginDependency</string>
- <string>375.IBPluginDependency</string>
- <string>376.IBEditorWindowLastContentRect</string>
- <string>376.IBPluginDependency</string>
- <string>377.IBPluginDependency</string>
- <string>388.IBEditorWindowLastContentRect</string>
- <string>388.IBPluginDependency</string>
- <string>389.IBPluginDependency</string>
- <string>390.IBPluginDependency</string>
- <string>391.IBPluginDependency</string>
- <string>392.IBPluginDependency</string>
- <string>393.IBPluginDependency</string>
- <string>394.IBPluginDependency</string>
- <string>395.IBPluginDependency</string>
- <string>396.IBPluginDependency</string>
- <string>397.IBPluginDependency</string>
- <string>398.IBPluginDependency</string>
- <string>399.IBPluginDependency</string>
- <string>400.IBPluginDependency</string>
- <string>401.IBPluginDependency</string>
- <string>402.IBPluginDependency</string>
- <string>403.IBPluginDependency</string>
- <string>404.IBPluginDependency</string>
- <string>405.IBPluginDependency</string>
- <string>406.IBPluginDependency</string>
- <string>407.IBPluginDependency</string>
- <string>408.IBPluginDependency</string>
- <string>409.IBPluginDependency</string>
- <string>410.IBPluginDependency</string>
- <string>411.IBPluginDependency</string>
- <string>412.IBPluginDependency</string>
- <string>413.IBPluginDependency</string>
- <string>414.IBPluginDependency</string>
- <string>415.IBPluginDependency</string>
- <string>416.IBPluginDependency</string>
- <string>417.IBPluginDependency</string>
- <string>418.IBPluginDependency</string>
- <string>419.IBPluginDependency</string>
- <string>450.IBPluginDependency</string>
- <string>451.IBEditorWindowLastContentRect</string>
- <string>451.IBPluginDependency</string>
- <string>452.IBPluginDependency</string>
- <string>453.IBPluginDependency</string>
- <string>454.IBPluginDependency</string>
- <string>457.IBPluginDependency</string>
- <string>459.IBPluginDependency</string>
- <string>460.IBPluginDependency</string>
- <string>462.IBPluginDependency</string>
- <string>465.IBPluginDependency</string>
- <string>466.IBPluginDependency</string>
- <string>485.IBPluginDependency</string>
- <string>490.IBPluginDependency</string>
- <string>491.IBEditorWindowLastContentRect</string>
- <string>491.IBPluginDependency</string>
- <string>492.IBPluginDependency</string>
- <string>496.IBPluginDependency</string>
- <string>497.IBEditorWindowLastContentRect</string>
- <string>497.IBPluginDependency</string>
- <string>498.IBPluginDependency</string>
- <string>499.IBPluginDependency</string>
- <string>5.IBPluginDependency</string>
- <string>5.ImportedFromIB2</string>
- <string>500.IBPluginDependency</string>
- <string>501.IBPluginDependency</string>
- <string>502.IBPluginDependency</string>
- <string>503.IBPluginDependency</string>
- <string>504.IBPluginDependency</string>
- <string>505.IBPluginDependency</string>
- <string>506.IBPluginDependency</string>
- <string>507.IBPluginDependency</string>
- <string>508.IBEditorWindowLastContentRect</string>
- <string>508.IBPluginDependency</string>
- <string>509.IBPluginDependency</string>
- <string>510.IBPluginDependency</string>
- <string>511.IBPluginDependency</string>
- <string>512.IBPluginDependency</string>
- <string>513.IBPluginDependency</string>
- <string>514.IBPluginDependency</string>
- <string>515.IBPluginDependency</string>
- <string>516.IBPluginDependency</string>
- <string>517.IBPluginDependency</string>
- <string>56.IBPluginDependency</string>
- <string>56.ImportedFromIB2</string>
- <string>57.IBEditorWindowLastContentRect</string>
- <string>57.IBPluginDependency</string>
- <string>57.ImportedFromIB2</string>
- <string>57.editorWindowContentRectSynchronizationRect</string>
- <string>58.IBPluginDependency</string>
- <string>58.ImportedFromIB2</string>
- <string>72.IBPluginDependency</string>
- <string>72.ImportedFromIB2</string>
- <string>73.IBPluginDependency</string>
- <string>73.ImportedFromIB2</string>
- <string>74.IBPluginDependency</string>
- <string>74.ImportedFromIB2</string>
- <string>75.IBPluginDependency</string>
- <string>75.ImportedFromIB2</string>
- <string>77.IBPluginDependency</string>
- <string>77.ImportedFromIB2</string>
- <string>78.IBPluginDependency</string>
- <string>78.ImportedFromIB2</string>
- <string>79.IBPluginDependency</string>
- <string>79.ImportedFromIB2</string>
- <string>80.IBPluginDependency</string>
- <string>80.ImportedFromIB2</string>
- <string>81.IBEditorWindowLastContentRect</string>
- <string>81.IBPluginDependency</string>
- <string>81.ImportedFromIB2</string>
- <string>81.editorWindowContentRectSynchronizationRect</string>
- <string>82.IBPluginDependency</string>
- <string>82.ImportedFromIB2</string>
- <string>83.IBPluginDependency</string>
- <string>83.ImportedFromIB2</string>
- <string>92.IBPluginDependency</string>
- <string>92.ImportedFromIB2</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{522, 812}, {146, 23}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{436, 809}, {64, 6}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{753, 187}, {275, 113}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{608, 612}, {275, 83}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{547, 180}, {254, 283}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{187, 434}, {243, 243}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{608, 612}, {167, 43}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{753, 217}, {238, 103}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{608, 612}, {241, 103}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{654, 239}, {194, 73}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{525, 802}, {197, 73}}</string>
- <string>{{380, 836}, {512, 20}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{74, 862}</string>
- <string>{{6, 978}, {478, 20}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{604, 269}, {231, 43}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{475, 832}, {234, 43}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{746, 287}, {220, 133}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{608, 612}, {215, 63}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{380, 496}, {480, 360}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{380, 496}, {480, 360}}</string>
- <integer value="1"/>
- <string>{{33, 99}, {480, 360}}</string>
- <string>{3.40282e+38, 3.40282e+38}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{591, 420}, {83, 43}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{523, 2}, {178, 283}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{753, 197}, {170, 63}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{725, 289}, {246, 23}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{674, 260}, {204, 183}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{878, 180}, {164, 173}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{286, 129}, {275, 183}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{23, 794}, {245, 183}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{452, 109}, {196, 203}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>{{145, 474}, {199, 203}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <integer value="1"/>
- </object>
- </object>
- <object class="NSMutableDictionary" key="unlocalizedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference key="dict.sortedKeys" ref="0"/>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- </object>
- <nil key="activeLocalization"/>
- <object class="NSMutableDictionary" key="localizations">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference key="dict.sortedKeys" ref="0"/>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- </object>
- <nil key="sourceID"/>
- <int key="maxID">532</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <object class="NSMutableArray" key="referencedPartialClassDescriptions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">TestAppAppDelegate</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">window</string>
- <string key="NS.object.0">NSWindow</string>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">TestAppAppDelegate.h</string>
- </object>
- </object>
- </object>
- <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <string key="superclassName">NSResponder</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="822405504">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="850738725">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="624831158">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSBrowser</string>
- <string key="superclassName">NSControl</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSControl</string>
- <string key="superclassName">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="310914472">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSDocument</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>printDocument:</string>
- <string>revertDocumentToSaved:</string>
- <string>runPageLayout:</string>
- <string>saveDocument:</string>
- <string>saveDocumentAs:</string>
- <string>saveDocumentTo:</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDocument.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSDocument</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDocumentScripting.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSDocumentController</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>clearRecentDocuments:</string>
- <string>newDocument:</string>
- <string>openDocument:</string>
- <string>saveAllDocuments:</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDocumentController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSFontManager</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="946436764">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSFormatter</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSMatrix</string>
- <string key="superclassName">NSControl</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSMatrix.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSMenu</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1056362899">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSMenuItem</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="472958451">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSMovieView</string>
- <string key="superclassName">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSMovieView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="822405504"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="850738725"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="624831158"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="310914472"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="946436764"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="1056362899"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="809545482">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="260078765">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSResponder</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSResponder</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSTableView</string>
- <string key="superclassName">NSControl</string>
- <reference key="sourceIdentifier" ref="809545482"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSText</string>
- <string key="superclassName">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSText.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSTextView</string>
- <string key="superclassName">NSText</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSTextView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSView</string>
- <reference key="sourceIdentifier" ref="472958451"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSView</string>
- <string key="superclassName">NSResponder</string>
- <reference key="sourceIdentifier" ref="260078765"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <string key="superclassName">NSResponder</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSWindowScripting.h</string>
- </object>
- </object>
- </object>
- </object>
- <int key="IBDocument.localizationMode">0</int>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string>
- <integer value="1060" key="NS.object.0"/>
- </object>
- <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
- <integer value="3000" key="NS.object.0"/>
- </object>
- <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
- <string key="IBDocument.LastKnownRelativeProjectPath">../TestApp.xcodeproj</string>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- </data>
-</archive>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestApp-Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestApp-Info.plist
deleted file mode 100644
index 8cb142e9f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestApp-Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.google.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>ause</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>LSMinimumSystemVersion</key>
- <string>${MACOSX_DEPLOYMENT_TARGET}</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.h b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.h
deleted file mode 100644
index 518645eae..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.h
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import <Cocoa/Cocoa.h>
-
-@interface TestAppAppDelegate : NSObject <NSApplicationDelegate> {
- NSWindow *window;
-}
-
-@property (assign) IBOutlet NSWindow *window;
-
-@end
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.m
deleted file mode 100644
index 9aafa4200..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/TestAppAppDelegate.m
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "TestAppAppDelegate.h"
-
-@implementation TestAppAppDelegate
-
-@synthesize window;
-
-- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
- // Insert code here to initialize your application
-}
-
-@end
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/main.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/main.m
deleted file mode 100644
index df6a12d06..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/TestApp/main.m
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import <Cocoa/Cocoa.h>
-
-int main(int argc, char *argv[])
-{
- return NSApplicationMain(argc, (const char **) argv);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/empty.c
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/empty.c
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/test.gyp
deleted file mode 100644
index f51c7b4b6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/app-bundle/test.gyp
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'dep_framework',
- 'product_name': 'Dependency Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'empty.c', ],
- },
- {
- 'target_name': 'test_app',
- 'product_name': 'Test App Gyp',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'dependencies': [ 'dep_framework', ],
- 'sources': [
- 'TestApp/main.m',
- 'TestApp/TestApp_Prefix.pch',
- 'TestApp/TestAppAppDelegate.h',
- 'TestApp/TestAppAppDelegate.m',
- ],
- 'mac_bundle_resources': [
- 'TestApp/English.lproj/InfoPlist.strings',
- 'TestApp/English.lproj/MainMenu.xib',
- ],
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
- ],
- },
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'TestApp/TestApp-Info.plist',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_file.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_file.cc
deleted file mode 100644
index 94216a74d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_file.cc
+++ /dev/null
@@ -1,4 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-int x = 1;
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_main_file.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_main_file.cc
deleted file mode 100644
index f1fa06f27..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/my_main_file.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-#include <stdio.h>
-extern int x;
-int main() {
- printf("hello, world %d\n", x);
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-archs-x86_64.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-archs-x86_64.gyp
deleted file mode 100644
index d11a89627..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-archs-x86_64.gyp
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'lib',
- 'product_name': 'Test64',
- 'type': 'static_library',
- 'sources': [ 'my_file.cc' ],
- 'xcode_settings': {
- 'ARCHS': [ 'x86_64' ],
- },
- },
- {
- 'target_name': 'exe',
- 'product_name': 'Test64',
- 'type': 'executable',
- 'dependencies': [ 'lib' ],
- 'sources': [ 'my_main_file.cc' ],
- 'xcode_settings': {
- 'ARCHS': [ 'x86_64' ],
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-no-archs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-no-archs.gyp
deleted file mode 100644
index 8f3b6b47c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/archs/test-no-archs.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'lib',
- 'product_name': 'Test',
- 'type': 'static_library',
- 'sources': [ 'my_file.cc' ],
- },
- {
- 'target_name': 'exe',
- 'product_name': 'Test',
- 'type': 'executable',
- 'dependencies': [ 'lib' ],
- 'sources': [ 'my_main_file.cc' ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile.cc
deleted file mode 100644
index 1a54d18ee..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifdef CFLAG
-#error CFLAG should not be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile_withcflags.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile_withcflags.cc
deleted file mode 100644
index de078a064..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/ccfile_withcflags.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CFLAG
-#error CFLAG should be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cfile.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cfile.c
deleted file mode 100644
index 0af9d0af5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cfile.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CFLAG
-#error CFLAG should be set
-#endif
-
-#ifdef CCFLAG
-#error CCFLAG should not be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile.cpp b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile.cpp
deleted file mode 100644
index 1a54d18ee..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifdef CFLAG
-#error CFLAG should not be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile_withcflags.cpp b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile_withcflags.cpp
deleted file mode 100644
index de078a064..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cppfile_withcflags.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CFLAG
-#error CFLAG should be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile.cxx b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile.cxx
deleted file mode 100644
index 1a54d18ee..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile.cxx
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifdef CFLAG
-#error CFLAG should not be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile_withcflags.cxx b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile_withcflags.cxx
deleted file mode 100644
index de078a064..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/cxxfile_withcflags.cxx
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CFLAG
-#error CFLAG should be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mfile.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mfile.m
deleted file mode 100644
index 0af9d0af5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mfile.m
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CFLAG
-#error CFLAG should be set
-#endif
-
-#ifdef CCFLAG
-#error CCFLAG should not be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile.mm b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile.mm
deleted file mode 100644
index 1a54d18ee..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile.mm
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifdef CFLAG
-#error CFLAG should not be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile_withcflags.mm b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile_withcflags.mm
deleted file mode 100644
index de078a064..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/mmfile_withcflags.mm
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef CFLAG
-#error CFLAG should be set
-#endif
-
-#ifndef CCFLAG
-#error CCFLAG should be set
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/test.gyp
deleted file mode 100644
index 6b04b5f2f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/cflags/test.gyp
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'mytarget',
- 'type': 'shared_library',
- 'sources': [
- 'cfile.c',
- 'mfile.m',
- 'ccfile.cc',
- 'cppfile.cpp',
- 'cxxfile.cxx',
- 'mmfile.mm',
- ],
- 'xcode_settings': {
- # Normally, defines would go in 'defines' instead. This is just for
- # testing.
- 'OTHER_CFLAGS': [
- '-DCFLAG',
- ],
- 'OTHER_CPLUSPLUSFLAGS': [
- '-DCCFLAG',
- ],
- 'GCC_C_LANGUAGE_STANDARD': 'c99',
- },
- },
- {
- 'target_name': 'mytarget_reuse_cflags',
- 'type': 'shared_library',
- 'sources': [
- 'cfile.c',
- 'mfile.m',
- 'ccfile_withcflags.cc',
- 'cppfile_withcflags.cpp',
- 'cxxfile_withcflags.cxx',
- 'mmfile_withcflags.mm',
- ],
- 'xcode_settings': {
- 'OTHER_CFLAGS': [
- '-DCFLAG',
- ],
- 'OTHER_CPLUSPLUSFLAGS': [
- '$OTHER_CFLAGS',
- '-DCCFLAG',
- ],
- # This is a C-only flag, to check these don't get added to C++ files.
- 'GCC_C_LANGUAGE_STANDARD': 'c99',
- },
- },
- {
- 'target_name': 'mytarget_inherit_cflags',
- 'type': 'shared_library',
- 'sources': [
- 'cfile.c',
- 'mfile.m',
- 'ccfile_withcflags.cc',
- 'cppfile_withcflags.cpp',
- 'cxxfile_withcflags.cxx',
- 'mmfile_withcflags.mm',
- ],
- 'xcode_settings': {
- 'OTHER_CFLAGS': [
- '-DCFLAG',
- ],
- 'OTHER_CPLUSPLUSFLAGS': [
- '$inherited',
- '-DCCFLAG',
- ],
- 'GCC_C_LANGUAGE_STANDARD': 'c99',
- },
- },
- {
- 'target_name': 'mytarget_inherit_cflags_parens',
- 'type': 'shared_library',
- 'sources': [
- 'cfile.c',
- 'mfile.m',
- 'ccfile_withcflags.cc',
- 'cppfile_withcflags.cpp',
- 'cxxfile_withcflags.cxx',
- 'mmfile_withcflags.mm',
- ],
- 'xcode_settings': {
- 'OTHER_CFLAGS': [
- '-DCFLAG',
- ],
- 'OTHER_CPLUSPLUSFLAGS': [
- '$(inherited)',
- '-DCCFLAG',
- ],
- 'GCC_C_LANGUAGE_STANDARD': 'c99',
- },
- },
- {
- 'target_name': 'mytarget_inherit_cflags_braces',
- 'type': 'shared_library',
- 'sources': [
- 'cfile.c',
- 'mfile.m',
- 'ccfile_withcflags.cc',
- 'cppfile_withcflags.cpp',
- 'cxxfile_withcflags.cxx',
- 'mmfile_withcflags.mm',
- ],
- 'xcode_settings': {
- 'OTHER_CFLAGS': [
- '-DCFLAG',
- ],
- 'OTHER_CPLUSPLUSFLAGS': [
- '${inherited}',
- '-DCCFLAG',
- ],
- 'GCC_C_LANGUAGE_STANDARD': 'c99',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/empty.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/empty.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/test.gyp
deleted file mode 100644
index 4210c5146..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/copy-dylib/test.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'my_dylib',
- 'type': 'shared_library',
- 'sources': [ 'empty.c', ],
- },
- {
- 'target_name': 'test_app',
- 'product_name': 'Test App',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'dependencies': [ 'my_dylib', ],
- 'sources': [
- 'empty.c',
- ],
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/Test App.app/Contents/Resources',
- 'files': [
- '<(PRODUCT_DIR)/libmy_dylib.dylib',
- ],
- },
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/file.c
deleted file mode 100644
index 9cddaf1b0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/file.c
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-void f() {}
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/test.gyp
deleted file mode 100644
index 3faf6b5c7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/debuginfo/test.gyp
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'nonbundle_static_library',
- 'type': 'static_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- {
- 'target_name': 'nonbundle_shared_library',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- {
- 'target_name': 'nonbundle_loadable_module',
- 'type': 'loadable_module',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- {
- 'target_name': 'nonbundle_executable',
- 'type': 'executable',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
-
- {
- 'target_name': 'bundle_shared_library',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- {
- 'target_name': 'bundle_loadable_module',
- 'type': 'loadable_module',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- {
- 'target_name': 'my_app',
- 'product_name': 'My App',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/English.lproj/InfoPlist.strings b/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/English.lproj/InfoPlist.strings
deleted file mode 100644
index b92732c79..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/English.lproj/InfoPlist.strings
+++ /dev/null
@@ -1 +0,0 @@
-/* Localized versions of Info.plist keys */
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/Info.plist
deleted file mode 100644
index 5e05a5190..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/Info.plist
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.yourcompany.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>NSPrincipalClass</key>
- <string></string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/bundle.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/bundle.c
deleted file mode 100644
index d64ff8ca2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/bundle.c
+++ /dev/null
@@ -1 +0,0 @@
-int f() { return 42; }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/executable.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/executable.c
deleted file mode 100644
index 931bce637..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/executable.c
+++ /dev/null
@@ -1,4 +0,0 @@
-int f();
-int main() {
- return f();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/test.gyp
deleted file mode 100644
index e00b10541..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/depend-on-bundle/test.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'my_bundle',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'bundle.c' ],
- 'mac_bundle_resources': [
- 'English.lproj/InfoPlist.strings',
- ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- }
- },
- {
- 'target_name': 'dependent_on_bundle',
- 'type': 'executable',
- 'sources': [ 'executable.c' ],
- 'dependencies': [
- 'my_bundle',
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/calculate.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/calculate.c
deleted file mode 100644
index 7dc9d2d8b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/calculate.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-int CalculatePerformExpression(char* expr,
- int significantDigits,
- int flags,
- char* answer);
-
-int main() {
- char buffer[1024];
- return CalculatePerformExpression("42", 1, 0, buffer);
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/framework-dirs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/framework-dirs.gyp
deleted file mode 100644
index bf1cbde4d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-dirs/framework-dirs.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'calculate',
- 'type': 'executable',
- 'sources': [
- 'calculate.c',
- ],
- 'libraries': [
- '/System/Library/PrivateFrameworks/Calculate.framework',
- ],
- 'mac_framework_dirs': [
- '/System/Library/PrivateFrameworks',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.h b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.h
deleted file mode 100644
index 961fc701b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import <Foundation/Foundation.h>
-
-@interface TestObject : NSObject
-@end
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.m
deleted file mode 100644
index 13d53a37a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/myframework.m
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "myframework.h"
-
-@implementation TestObject
-@end
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/test.gyp
deleted file mode 100644
index 70ed00715..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework-headers/test.gyp
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_framework_headers_framework',
- 'product_name': 'TestFramework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [
- 'myframework.h',
- 'myframework.m',
- ],
- 'mac_framework_headers': [
- 'myframework.h',
- ],
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
- ],
- },
- },{
- 'target_name': 'test_framework_headers_static',
- 'product_name': 'TestLibrary',
- 'type': 'static_library',
- 'xcode_settings': {
- 'PUBLIC_HEADERS_FOLDER_PATH': 'include',
- },
- 'sources': [
- 'myframework.h',
- 'myframework.m',
- ],
- 'mac_framework_headers': [
- 'myframework.h',
- ],
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Foundation.framework',
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/English.lproj/InfoPlist.strings b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/English.lproj/InfoPlist.strings
deleted file mode 100644
index 88f65cf6e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/English.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/Info.plist
deleted file mode 100644
index 5e05a5190..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/Info.plist
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.yourcompany.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>NSPrincipalClass</key>
- <string></string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.h b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.h
deleted file mode 100644
index c2450960c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import <Cocoa/Cocoa.h>
-
-#ifdef __cplusplus
-struct ObjCVectorImp;
-#else
-typedef struct _ObjCVectorImpT ObjCVectorImp;
-#endif
-
-@interface ObjCVector : NSObject {
- @private
- ObjCVectorImp* imp_;
-}
-
-- (id)init;
-
-- (void)addObject:(id)obj;
-- (void)addObject:(id)obj atIndex:(NSUInteger)index;
-
-- (void)removeObject:(id)obj;
-- (void)removeObjectAtIndex:(NSUInteger)index;
-
-- (id)objectAtIndex:(NSUInteger)index;
-
-@end
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.mm b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.mm
deleted file mode 100644
index cbf431f28..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVector.mm
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ObjCVectorInternal.h"
-#import "ObjCVector.h"
-
-#include <vector>
-
-@interface ObjCVector (Private)
-- (std::vector<id>::iterator)makeIterator:(NSUInteger)index;
-@end
-
-@implementation ObjCVector
-
-- (id)init {
- if ((self = [super init])) {
- imp_ = new ObjCVectorImp();
- }
- return self;
-}
-
-- (void)dealloc {
- delete imp_;
- [super dealloc];
-}
-
-- (void)addObject:(id)obj {
- imp_->v.push_back([obj retain]);
-}
-
-- (void)addObject:(id)obj atIndex:(NSUInteger)index {
- imp_->v.insert([self makeIterator:index], [obj retain]);
-}
-
-- (void)removeObject:(id)obj {
- for (std::vector<id>::iterator it = imp_->v.begin();
- it != imp_->v.end();
- ++it) {
- if ([*it isEqual:obj]) {
- [*it autorelease];
- imp_->v.erase(it);
- return;
- }
- }
-}
-
-- (void)removeObjectAtIndex:(NSUInteger)index {
- [imp_->v[index] autorelease];
- imp_->v.erase([self makeIterator:index]);
-}
-
-- (id)objectAtIndex:(NSUInteger)index {
- return imp_->v[index];
-}
-
-- (std::vector<id>::iterator)makeIterator:(NSUInteger)index {
- std::vector<id>::iterator it = imp_->v.begin();
- it += index;
- return it;
-}
-
-@end
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVectorInternal.h b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVectorInternal.h
deleted file mode 100644
index fb6c98258..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/ObjCVectorInternal.h
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <vector>
-
-struct ObjCVectorImp {
- std::vector<id> v;
-};
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/TestFramework_Prefix.pch b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/TestFramework_Prefix.pch
deleted file mode 100644
index 394f41d95..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/TestFramework/TestFramework_Prefix.pch
+++ /dev/null
@@ -1,7 +0,0 @@
-//
-// Prefix header for all source files of the 'TestFramework' target in the 'TestFramework' project.
-//
-
-#ifdef __OBJC__
- #import <Cocoa/Cocoa.h>
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/empty.c
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/empty.c
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/framework.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/framework.gyp
deleted file mode 100644
index 7480e526c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/framework/framework.gyp
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'dep_framework',
- 'product_name': 'Dependency Bundle',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'empty.c', ],
- },
- {
- 'target_name': 'test_framework',
- 'product_name': 'Test Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'dependencies': [ 'dep_framework', ],
- 'sources': [
- 'TestFramework/ObjCVector.h',
- 'TestFramework/ObjCVectorInternal.h',
- 'TestFramework/ObjCVector.mm',
- ],
- 'mac_framework_headers': [
- 'TestFramework/ObjCVector.h',
- ],
- 'mac_bundle_resources': [
- 'TestFramework/English.lproj/InfoPlist.strings',
- ],
- 'link_settings': {
- 'libraries': [
- '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
- ],
- },
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'TestFramework/Info.plist',
- 'GCC_DYNAMIC_NO_PIC': 'NO',
- },
- 'copies': [
- # Test copying to a file that has envvars in its dest path.
- # Needs to be in a mac_bundle target, else CONTENTS_FOLDER_PATH isn't
- # set.
- {
- 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
- 'files': [
- 'empty.c',
- ],
- },
- ],
- },
- {
- 'target_name': 'copy_target',
- 'type': 'none',
- 'dependencies': [ 'test_framework', 'dep_framework', ],
- 'copies': [
- # Test copying directories with spaces in src and dest paths.
- {
- 'destination': '<(PRODUCT_DIR)/Test Framework.framework/foo',
- 'files': [
- '<(PRODUCT_DIR)/Dependency Bundle.framework',
- ],
- },
- ],
- 'actions': [
- {
- 'action_name': 'aektschn',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/touched_file'],
- 'action': ['touch', '${BUILT_PRODUCTS_DIR}/action_file'],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir1/dir1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir1/dir1.gyp
deleted file mode 100644
index 153e34ddd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir1/dir1.gyp
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'dir1_target',
- 'type': 'none',
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/dir2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/dir2.gyp
deleted file mode 100644
index cda46c839..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/dir2.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'dir2_target',
- 'type': 'none',
- 'dependencies': [
- '../dir1/dir1.gyp:dir1_target',
- ],
- 'actions': [
- {
- 'inputs': [ ],
- 'outputs': [ '<(PRODUCT_DIR)/file.txt' ],
- 'action_name': 'Test action',
- 'action': ['cp', 'file.txt', '${BUILT_PRODUCTS_DIR}/file.txt' ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/file.txt b/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/file.txt
deleted file mode 100644
index 58da2d8e9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/global-settings/src/dir2/file.txt
+++ /dev/null
@@ -1 +0,0 @@
-File.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-action-envvars.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-action-envvars.py
deleted file mode 100644
index b4f37c43a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-action-envvars.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that env vars work with actions, with relative directory paths.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'action-envvars'
- test.run_gyp('action/action.gyp', chdir=CHDIR)
- test.build('action/action.gyp', 'action', chdir=CHDIR, SYMROOT='../build')
-
- result_file = test.built_file_path('result', chdir=CHDIR)
- test.must_exist(result_file)
- test.must_contain(result_file, 'Test output')
-
- other_result_file = test.built_file_path('other_result', chdir=CHDIR)
- test.must_exist(other_result_file)
- test.must_contain(other_result_file, 'Other output')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-app.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-app.py
deleted file mode 100755
index a93b156a7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-app.py
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that app bundles are built correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='app-bundle')
-
- test.build('test.gyp', test.ALL, chdir='app-bundle')
-
- # Binary
- test.built_file_must_exist('Test App Gyp.app/Contents/MacOS/Test App Gyp',
- chdir='app-bundle')
-
- # Info.plist
- info_plist = test.built_file_path('Test App Gyp.app/Contents/Info.plist',
- chdir='app-bundle')
- test.must_exist(info_plist)
- test.must_contain(info_plist, 'com.google.Test App Gyp') # Variable expansion
-
- # Resources
- test.built_file_must_exist(
- 'Test App Gyp.app/Contents/Resources/English.lproj/InfoPlist.strings',
- chdir='app-bundle')
- test.built_file_must_exist(
- 'Test App Gyp.app/Contents/Resources/English.lproj/MainMenu.nib',
- chdir='app-bundle')
-
- # Packaging
- test.built_file_must_exist('Test App Gyp.app/Contents/PkgInfo',
- chdir='app-bundle')
- test.built_file_must_match('Test App Gyp.app/Contents/PkgInfo', 'APPLause',
- chdir='app-bundle')
-
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-archs.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-archs.py
deleted file mode 100644
index 781e9ef16..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-archs.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests things related to ARCHS.
-"""
-
-import TestGyp
-
-import subprocess
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- def CheckFileType(file, expected):
- proc = subprocess.Popen(['file', '-b', file], stdout=subprocess.PIPE)
- o = proc.communicate()[0].strip()
- assert not proc.returncode
- if o != expected:
- print 'File: Expected %s, got %s' % (expected, o)
- test.fail_test()
-
- test.run_gyp('test-no-archs.gyp', chdir='archs')
- test.build('test-no-archs.gyp', test.ALL, chdir='archs')
- result_file = test.built_file_path('Test', chdir='archs')
- test.must_exist(result_file)
- CheckFileType(result_file, 'Mach-O executable i386')
-
- test.run_gyp('test-archs-x86_64.gyp', chdir='archs')
- test.build('test-archs-x86_64.gyp', test.ALL, chdir='archs')
- result_file = test.built_file_path('Test64', chdir='archs')
- test.must_exist(result_file)
- CheckFileType(result_file, 'Mach-O 64-bit executable x86_64')
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-cflags.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-cflags.py
deleted file mode 100644
index 388832298..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-cflags.py
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that compile-time flags work.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
- CHDIR = 'cflags'
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copies.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copies.py
deleted file mode 100755
index c88065ead..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copies.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that 'copies' with app bundles are handled correctly.
-"""
-
-import TestGyp
-
-import os
-import sys
-import time
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('framework.gyp', chdir='framework')
-
- test.build('framework.gyp', 'copy_target', chdir='framework')
-
- # Check that the copy succeeded.
- test.built_file_must_exist(
- 'Test Framework.framework/foo/Dependency Bundle.framework',
- chdir='framework')
- test.built_file_must_exist(
- 'Test Framework.framework/foo/Dependency Bundle.framework/Versions/A',
- chdir='framework')
- test.built_file_must_exist(
- 'Test Framework.framework/Versions/A/Libraries/empty.c',
- chdir='framework')
-
-
- # Check that rebuilding the target a few times works.
- dep_bundle = test.built_file_path('Dependency Bundle.framework',
- chdir='framework')
- mtime = os.path.getmtime(dep_bundle)
- atime = os.path.getatime(dep_bundle)
- for i in range(3):
- os.utime(dep_bundle, (atime + i * 1000, mtime + i * 1000))
- test.build('framework.gyp', 'copy_target', chdir='framework')
-
-
- # Check that actions ran.
- test.built_file_must_exist('action_file', chdir='framework')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copy-dylib.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copy-dylib.py
deleted file mode 100644
index 253623d1c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-copy-dylib.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that dylibs can be copied into app bundles.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='copy-dylib')
-
- test.build('test.gyp', 'test_app', chdir='copy-dylib')
-
- test.built_file_must_exist(
- 'Test App.app/Contents/Resources/libmy_dylib.dylib', chdir='copy-dylib')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-debuginfo.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-debuginfo.py
deleted file mode 100755
index a0e9438e2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-debuginfo.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests things related to debug information generation.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='debuginfo')
-
- test.build('test.gyp', test.ALL, chdir='debuginfo')
-
- test.built_file_must_exist('libnonbundle_shared_library.dylib.dSYM',
- chdir='debuginfo')
- test.built_file_must_exist('nonbundle_loadable_module.so.dSYM',
- chdir='debuginfo')
- test.built_file_must_exist('nonbundle_executable.dSYM',
- chdir='debuginfo')
-
- test.built_file_must_exist('bundle_shared_library.framework.dSYM',
- chdir='debuginfo')
- test.built_file_must_exist('bundle_loadable_module.bundle.dSYM',
- chdir='debuginfo')
- test.built_file_must_exist('My App.app.dSYM',
- chdir='debuginfo')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-depend-on-bundle.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-depend-on-bundle.py
deleted file mode 100644
index 5cccb0322..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-depend-on-bundle.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a dependency on a bundle causes the whole bundle to be built.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='depend-on-bundle')
-
- test.build('test.gyp', 'dependent_on_bundle', chdir='depend-on-bundle')
-
- # Binary itself.
- test.built_file_must_exist('dependent_on_bundle', chdir='depend-on-bundle')
-
- # Bundle dependency.
- test.built_file_must_exist(
- 'my_bundle.framework/Versions/A/my_bundle',
- chdir='depend-on-bundle')
- test.built_file_must_exist( # package_framework
- 'my_bundle.framework/my_bundle',
- chdir='depend-on-bundle')
- test.built_file_must_exist( # plist
- 'my_bundle.framework/Versions/A/Resources/Info.plist',
- chdir='depend-on-bundle')
- test.built_file_must_exist(
- 'my_bundle.framework/Versions/A/Resources/English.lproj/' # Resources
- 'InfoPlist.strings',
- chdir='depend-on-bundle')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-dirs.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-dirs.py
deleted file mode 100644
index a1ae54c57..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-dirs.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that it is possible to build an object that depends on a
-PrivateFramework.
-"""
-
-import os
-import sys
-import TestGyp
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'framework-dirs'
- test.run_gyp('framework-dirs.gyp', chdir=CHDIR)
- test.build('framework-dirs.gyp', 'calculate', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-headers.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-headers.py
deleted file mode 100644
index aa13a742c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework-headers.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that mac_framework_headers works properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- # TODO(thakis): Make this work with ninja, make. http://crbug.com/129013
- test = TestGyp.TestGyp(formats=['xcode'])
-
- CHDIR = 'framework-headers'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- # Test that headers are installed for frameworks
- test.build('test.gyp', 'test_framework_headers_framework', chdir=CHDIR)
-
- test.built_file_must_exist(
- 'TestFramework.framework/Versions/A/TestFramework', chdir=CHDIR)
-
- test.built_file_must_exist(
- 'TestFramework.framework/Versions/A/Headers/myframework.h', chdir=CHDIR)
-
- # Test that headers are installed for static libraries.
- test.build('test.gyp', 'test_framework_headers_static', chdir=CHDIR)
-
- test.built_file_must_exist('libTestLibrary.a', chdir=CHDIR)
-
- test.built_file_must_exist('include/myframework.h', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework.py
deleted file mode 100755
index e4342d842..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-framework.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that app bundles are built correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('framework.gyp', chdir='framework')
-
- test.build('framework.gyp', 'test_framework', chdir='framework')
-
- # Binary
- test.built_file_must_exist(
- 'Test Framework.framework/Versions/A/Test Framework',
- chdir='framework')
-
- # Info.plist
- test.built_file_must_exist(
- 'Test Framework.framework/Versions/A/Resources/Info.plist',
- chdir='framework')
-
- # Resources
- test.built_file_must_exist(
- 'Test Framework.framework/Versions/A/Resources/English.lproj/'
- 'InfoPlist.strings',
- chdir='framework')
-
- # Symlinks created by packaging process
- test.built_file_must_exist('Test Framework.framework/Versions/Current',
- chdir='framework')
- test.built_file_must_exist('Test Framework.framework/Resources',
- chdir='framework')
- test.built_file_must_exist('Test Framework.framework/Test Framework',
- chdir='framework')
- # PkgInfo.
- test.built_file_must_not_exist(
- 'Test Framework.framework/Versions/A/Resources/PkgInfo',
- chdir='framework')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-global-settings.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-global-settings.py
deleted file mode 100644
index 648d32cde..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-global-settings.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that the global xcode_settings processing doesn't throw.
-Regression test for http://crbug.com/109163
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
- test.run_gyp('src/dir2/dir2.gyp', chdir='global-settings', depth='src')
- # run_gyp shouldn't throw.
-
- # Check that BUILT_PRODUCTS_DIR was set correctly, too.
- test.build('dir2/dir2.gyp', 'dir2_target', chdir='global-settings/src',
- SYMROOT='../build')
- test.built_file_must_exist('file.txt', chdir='global-settings/src')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-infoplist-process.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-infoplist-process.py
deleted file mode 100755
index 20874a398..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-infoplist-process.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies the Info.plist preprocessor functionality.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'infoplist-process'
- INFO_PLIST_PATH = 'Test.app/Contents/Info.plist'
-
- # First process both keys.
- test.set_configuration('One')
- test.run_gyp('test1.gyp', chdir=CHDIR)
- test.build('test1.gyp', test.ALL, chdir=CHDIR)
- info_plist = test.built_file_path(INFO_PLIST_PATH, chdir=CHDIR)
- test.must_exist(info_plist)
- test.must_contain(info_plist, 'Foo')
- test.must_contain(info_plist, 'Bar')
-
- # Then process a single key.
- test.set_configuration('Two')
- test.run_gyp('test2.gyp', chdir=CHDIR)
- test.build('test2.gyp', chdir=CHDIR)
- info_plist = test.built_file_path(INFO_PLIST_PATH, chdir=CHDIR)
- test.must_exist(info_plist)
- test.must_contain(info_plist, 'com.google.Test') # Normal expansion works.
- test.must_contain(info_plist, 'Foo (Bar)')
- test.must_contain(info_plist, 'PROCESSED_KEY2')
-
- # Then turn off the processor.
- test.set_configuration('Three')
- test.run_gyp('test3.gyp', chdir=CHDIR)
- test.build('test3.gyp', chdir=CHDIR)
- info_plist = test.built_file_path('Test App.app/Contents/Info.plist',
- chdir=CHDIR)
- test.must_exist(info_plist)
- test.must_contain(info_plist, 'com.google.Test') # Normal expansion works.
- test.must_contain(info_plist, 'PROCESSED_KEY1')
- test.must_contain(info_plist, 'PROCESSED_KEY2')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-installname.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-installname.py
deleted file mode 100644
index c300820f6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-installname.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that LD_DYLIB_INSTALL_NAME and DYLIB_INSTALL_NAME_BASE are handled
-correctly.
-"""
-
-import TestGyp
-
-import re
-import subprocess
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'installname'
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
-
- def GetInstallname(p):
- p = test.built_file_path(p, chdir=CHDIR)
- r = re.compile(r'cmd LC_ID_DYLIB.*?name (.*?) \(offset \d+\)', re.DOTALL)
- proc = subprocess.Popen(['otool', '-l', p], stdout=subprocess.PIPE)
- o = proc.communicate()[0]
- assert not proc.returncode
- m = r.search(o)
- assert m
- return m.group(1)
-
- if (GetInstallname('libdefault_installname.dylib') !=
- '/usr/local/lib/libdefault_installname.dylib'):
- test.fail_test()
-
- if (GetInstallname('My Framework.framework/My Framework') !=
- '/Library/Frameworks/My Framework.framework/'
- 'Versions/A/My Framework'):
- test.fail_test()
-
- if (GetInstallname('libexplicit_installname.dylib') !=
- 'Trapped in a dynamiclib factory'):
- test.fail_test()
-
- if (GetInstallname('libexplicit_installname_base.dylib') !=
- '@executable_path/../../../libexplicit_installname_base.dylib'):
- test.fail_test()
-
- if (GetInstallname('My Other Framework.framework/My Other Framework') !=
- '@executable_path/../../../My Other Framework.framework/'
- 'Versions/A/My Other Framework'):
- test.fail_test()
-
- if (GetInstallname('libexplicit_installname_with_base.dylib') !=
- '/usr/local/lib/libexplicit_installname_with_base.dylib'):
- test.fail_test()
-
- if (GetInstallname('libexplicit_installname_with_explicit_base.dylib') !=
- '@executable_path/../libexplicit_installname_with_explicit_base.dylib'):
- test.fail_test()
-
- if (GetInstallname('libboth_base_and_installname.dylib') !=
- 'Still trapped in a dynamiclib factory'):
- test.fail_test()
-
- if (GetInstallname('install_name_with_info_plist.framework/'
- 'install_name_with_info_plist') !=
- '/Library/Frameworks/install_name_with_info_plist.framework/'
- 'Versions/A/install_name_with_info_plist'):
- test.fail_test()
-
- if ('DYLIB_INSTALL_NAME_BASE:standardizepath: command not found' in
- test.stdout()):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags-passed-to-libtool.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags-passed-to-libtool.py
deleted file mode 100644
index ac6075f6c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags-passed-to-libtool.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that OTHER_LDFLAGS is passed to libtool.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'],
- match = lambda a, b: True)
-
- build_error_code = {
- 'xcode': 1,
- 'make': 2,
- 'ninja': 1,
- }[test.format]
-
- CHDIR = 'ldflags-libtool'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- test.build('test.gyp', 'ldflags_passed_to_libtool', chdir=CHDIR,
- status=build_error_code)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags.py
deleted file mode 100644
index 4da40490d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-ldflags.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that filenames passed to various linker flags are converted into
-build-directory relative paths correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'ldflags'
- test.run_gyp('subdirectory/test.gyp', chdir=CHDIR)
-
- test.build('subdirectory/test.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
-
-
-# These flags from `man ld` couldl show up in OTHER_LDFLAGS and need path
-# translation.
-#
-# Done:
-# -exported_symbols_list filename
-# -unexported_symbols_list file
-# -reexported_symbols_list file
-# -sectcreate segname sectname file
-#
-# Will be done on demand:
-# -weak_library path_to_library
-# -reexport_library path_to_library
-# -lazy_library path_to_library
-# -upward_library path_to_library
-# -syslibroot rootdir
-# -framework name[,suffix]
-# -weak_framework name[,suffix]
-# -reexport_framework name[,suffix]
-# -lazy_framework name[,suffix]
-# -upward_framework name[,suffix]
-# -force_load path_to_archive
-# -filelist file[,dirname]
-# -dtrace file
-# -order_file file # should use ORDER_FILE
-# -exported_symbols_order file
-# -bundle_loader executable # should use BUNDLE_LOADER
-# -alias_list filename
-# -seg_addr_table filename
-# -dylib_file install_name:file_name
-# -interposable_list filename
-# -object_path_lto filename
-#
-#
-# obsolete:
-# -sectorder segname sectname orderfile
-# -seg_addr_table_filename path
-#
-#
-# ??:
-# -map map_file_path
-# -sub_library library_name
-# -sub_umbrella framework_name
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-libraries.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-libraries.py
deleted file mode 100755
index 46814d65a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-libraries.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies libraries (in link_settings) are properly found.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('subdir/test.gyp', chdir='libraries')
-
- test.build('subdir/test.gyp', test.ALL, chdir='libraries')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-loadable-module.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-loadable-module.py
deleted file mode 100755
index e5e022c9f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-loadable-module.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests that a loadable_module target is built correctly.
-"""
-
-import TestGyp
-
-import os
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='loadable-module')
- test.build('test.gyp', test.ALL, chdir='loadable-module')
-
- # Binary.
- test.built_file_must_exist(
- 'test_loadable_module.plugin/Contents/MacOS/test_loadable_module',
- chdir='loadable-module')
-
- # Info.plist.
- info_plist = test.built_file_path(
- 'test_loadable_module.plugin/Contents/Info.plist',
- chdir='loadable-module')
- test.must_exist(info_plist)
- test.must_contain(info_plist, """
- <key>CFBundleExecutable</key>
- <string>test_loadable_module</string>
-""")
-
- # PkgInfo.
- test.built_file_must_not_exist(
- 'test_loadable_module.plugin/Contents/PkgInfo',
- chdir='loadable-module')
- test.built_file_must_not_exist(
- 'test_loadable_module.plugin/Contents/Resources',
- chdir='loadable-module')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-missing-cfbundlesignature.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-missing-cfbundlesignature.py
deleted file mode 100644
index ef7a8d1bd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-missing-cfbundlesignature.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that an Info.plist with CFBundleSignature works.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='missing-cfbundlesignature')
- test.build('test.gyp', test.ALL, chdir='missing-cfbundlesignature')
-
- test.built_file_must_match('mytarget.app/Contents/PkgInfo', 'APPL????',
- chdir='missing-cfbundlesignature')
-
- test.built_file_must_match('myothertarget.app/Contents/PkgInfo', 'APPL????',
- chdir='missing-cfbundlesignature')
-
- test.built_file_must_match('thirdtarget.app/Contents/PkgInfo', 'APPL????',
- chdir='missing-cfbundlesignature')
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-non-strs-flattened-to-env.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-non-strs-flattened-to-env.py
deleted file mode 100644
index 504dcd589..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-non-strs-flattened-to-env.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that list xcode_settings are flattened before being exported to the
-environment.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'non-strs-flattened-to-env'
- INFO_PLIST_PATH = 'Test.app/Contents/Info.plist'
-
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
- info_plist = test.built_file_path(INFO_PLIST_PATH, chdir=CHDIR)
- test.must_exist(info_plist)
- test.must_contain(info_plist, '''\
-\t<key>My Variable</key>
-\t<string>some expansion</string>''')
- test.must_contain(info_plist, '''\
-\t<key>CFlags</key>
-\t<string>-fstack-protector-all -fno-strict-aliasing -DS="A Space"</string>''')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-objc-gc.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-objc-gc.py
deleted file mode 100644
index 45df99a75..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-objc-gc.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that objc settings are handled correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- # set |match| to ignore build stderr output.
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'],
- match = lambda a, b: True)
-
- CHDIR = 'objc-gc'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- build_error_code = {
- 'xcode': [1, 65], # Linker error code. 1 on Xcode 3, 65 on Xcode 4
- 'make': 2,
- 'ninja': 1,
- }[test.format]
-
- test.build('test.gyp', 'gc_exe_fails', chdir=CHDIR, status=build_error_code)
- test.build(
- 'test.gyp', 'gc_off_exe_req_lib', chdir=CHDIR, status=build_error_code)
-
- test.build('test.gyp', 'gc_req_exe', chdir=CHDIR)
- test.run_built_executable('gc_req_exe', chdir=CHDIR, stdout="gc on: 1\n")
-
- test.build('test.gyp', 'gc_exe_req_lib', chdir=CHDIR)
- test.run_built_executable('gc_exe_req_lib', chdir=CHDIR, stdout="gc on: 1\n")
-
- test.build('test.gyp', 'gc_exe', chdir=CHDIR)
- test.run_built_executable('gc_exe', chdir=CHDIR, stdout="gc on: 1\n")
-
- test.build('test.gyp', 'gc_off_exe', chdir=CHDIR)
- test.run_built_executable('gc_off_exe', chdir=CHDIR, stdout="gc on: 0\n")
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-copy-bundle.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-copy-bundle.py
deleted file mode 100644
index 0f63ad524..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-copy-bundle.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a postbuild copying a dependend framework into an app bundle is
-rerun if the resources in the framework change.
-"""
-
-import TestGyp
-
-import os.path
-import sys
-
-if sys.platform == 'darwin':
- # TODO(thakis): Make this pass with the make generator, http://crbug.com/95529
- test = TestGyp.TestGyp(formats=['ninja', 'xcode'])
-
- CHDIR = 'postbuild-copy-bundle'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- app_bundle_dir = test.built_file_path('Test app.app', chdir=CHDIR)
- bundled_framework_dir = os.path.join(
- app_bundle_dir, 'Contents', 'My Framework.framework', 'Resources')
- final_plist_path = os.path.join(bundled_framework_dir, 'Info.plist')
- final_resource_path = os.path.join(bundled_framework_dir, 'resource_file.sb')
-
- # Check that the dependency was built and copied into the app bundle:
- test.build('test.gyp', 'test_app', chdir=CHDIR)
- test.must_exist(final_resource_path)
- test.must_match(final_resource_path,
- 'This is included in the framework bundle.\n')
-
- test.must_exist(final_plist_path)
- test.must_contain(final_plist_path, '''\
-\t<key>RandomKey</key>
-\t<string>RandomValue</string>''')
-
- # Touch the dependency's bundle resource, and check that the modification
- # makes it all the way into the app bundle:
- test.sleep()
- test.write('postbuild-copy-bundle/resource_file.sb', 'New text\n')
- test.build('test.gyp', 'test_app', chdir=CHDIR)
-
- test.must_exist(final_resource_path)
- test.must_match(final_resource_path, 'New text\n')
-
- # Check the same for the plist file.
- test.sleep()
- contents = test.read('postbuild-copy-bundle/Framework-Info.plist')
- contents = contents.replace('RandomValue', 'NewRandomValue')
- test.write('postbuild-copy-bundle/Framework-Info.plist', contents)
- test.build('test.gyp', 'test_app', chdir=CHDIR)
-
- test.must_exist(final_plist_path)
- test.must_contain(final_plist_path, '''\
-\t<key>RandomKey</key>
-\t<string>NewRandomValue</string>''')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-defaults.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-defaults.py
deleted file mode 100644
index 0560904c2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-defaults.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a postbuild invoking |defaults| works.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'postbuild-defaults'
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
-
- result_file = test.built_file_path('result', chdir=CHDIR)
- test.must_exist(result_file)
- test.must_contain(result_file, '''\
-Test
-${PRODUCT_NAME}
-''')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-fail.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-fail.py
deleted file mode 100755
index dba0d6f04..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-fail.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a failing postbuild step lets the build fail.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- # set |match| to ignore build stderr output.
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'],
- match = lambda a, b: True)
-
- test.run_gyp('test.gyp', chdir='postbuild-fail')
-
- build_error_code = {
- 'xcode': 1,
- 'make': 2,
- 'ninja': 1,
- }[test.format]
-
-
- # If a postbuild fails, all postbuilds should be re-run on the next build.
- # However, even if the first postbuild fails the other postbuilds are still
- # executed.
-
-
- # Non-bundles
- test.build('test.gyp', 'nonbundle', chdir='postbuild-fail',
- status=build_error_code)
- test.built_file_must_exist('static_touch',
- chdir='postbuild-fail')
- # Check for non-up-to-date-ness by checking if building again produces an
- # error.
- test.build('test.gyp', 'nonbundle', chdir='postbuild-fail',
- status=build_error_code)
-
-
- # Bundles
- test.build('test.gyp', 'bundle', chdir='postbuild-fail',
- status=build_error_code)
- test.built_file_must_exist('dynamic_touch',
- chdir='postbuild-fail')
- # Check for non-up-to-date-ness by checking if building again produces an
- # error.
- test.build('test.gyp', 'bundle', chdir='postbuild-fail',
- status=build_error_code)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-multiple-configurations.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-multiple-configurations.py
deleted file mode 100644
index 84694f36c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-multiple-configurations.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a postbuild work in projects with multiple configurations.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'postbuild-multiple-configurations'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- for configuration in ['Debug', 'Release']:
- test.set_configuration(configuration)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
- test.built_file_must_exist('postbuild-file', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-static-library.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-static-library.gyp
deleted file mode 100644
index 8f9a6ebcb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild-static-library.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a postbuilds on static libraries work, and that sourceless
-libraries don't cause failures at gyp time.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['make', 'xcode'])
-
- CHDIR = 'postbuild-static-library'
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', 'my_lib', chdir=CHDIR)
- # Building my_sourceless_lib doesn't work with make. gyp should probably
- # forbid sourceless static libraries, since they're pretty pointless.
- # But they shouldn't cause gyp time exceptions.
-
- test.built_file_must_exist('postbuild-file', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild.py
deleted file mode 100755
index 684e7b842..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-postbuild.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that postbuild steps work.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='postbuilds')
-
- test.build('test.gyp', test.ALL, chdir='postbuilds')
-
- # See comment in test/subdirectory/gyptest-subdir-default.py
- if test.format == 'xcode':
- chdir = 'postbuilds/subdirectory'
- else:
- chdir = 'postbuilds'
-
- # Created by the postbuild scripts
- test.built_file_must_exist('el.a_touch',
- type=test.STATIC_LIB,
- chdir='postbuilds')
- test.built_file_must_exist('el.a_gyp_touch',
- type=test.STATIC_LIB,
- chdir='postbuilds')
- test.built_file_must_exist('nest_el.a_touch',
- type=test.STATIC_LIB,
- chdir=chdir)
- test.built_file_must_exist(
- 'dyna.framework/Versions/A/dyna_touch',
- chdir='postbuilds')
- test.built_file_must_exist(
- 'dyna.framework/Versions/A/dyna_gyp_touch',
- chdir='postbuilds')
- test.built_file_must_exist(
- 'nest_dyna.framework/Versions/A/nest_dyna_touch',
- chdir=chdir)
- test.built_file_must_exist('dyna_standalone.dylib_gyp_touch',
- type=test.SHARED_LIB,
- chdir='postbuilds')
- test.built_file_must_exist('copied_file.txt', chdir='postbuilds')
- test.built_file_must_exist('copied_file_2.txt', chdir=chdir)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-prefixheader.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-prefixheader.py
deleted file mode 100755
index 768551f9b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-prefixheader.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that GCC_PREFIX_HEADER works.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
- test.run_gyp('test.gyp', chdir='prefixheader')
- test.build('test.gyp', test.ALL, chdir='prefixheader')
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rebuild.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rebuild.py
deleted file mode 100755
index 0f26e9612..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rebuild.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that app bundles are rebuilt correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'rebuild'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- test.build('test.gyp', 'test_app', chdir=CHDIR)
-
- # Touch a source file, rebuild, and check that the app target is up-to-date.
- test.touch('rebuild/main.c')
- test.build('test.gyp', 'test_app', chdir=CHDIR)
-
- test.up_to_date('test.gyp', 'test_app', chdir=CHDIR)
-
- # Xcode runs postbuilds on every build, so targets with postbuilds are
- # never marked as up_to_date.
- if test.format != 'xcode':
- # Same for a framework bundle.
- test.build('test.gyp', 'test_framework_postbuilds', chdir=CHDIR)
- test.up_to_date('test.gyp', 'test_framework_postbuilds', chdir=CHDIR)
-
- # Test that an app bundle with a postbuild that touches the app binary needs
- # to be built only once.
- test.build('test.gyp', 'test_app_postbuilds', chdir=CHDIR)
- test.up_to_date('test.gyp', 'test_app_postbuilds', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rpath.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rpath.py
deleted file mode 100644
index 2440d548e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-rpath.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that LD_DYLIB_INSTALL_NAME and DYLIB_INSTALL_NAME_BASE are handled
-correctly.
-"""
-
-import TestGyp
-
-import re
-import subprocess
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'rpath'
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
-
- def GetRpaths(p):
- p = test.built_file_path(p, chdir=CHDIR)
- r = re.compile(r'cmd LC_RPATH.*?path (.*?) \(offset \d+\)', re.DOTALL)
- proc = subprocess.Popen(['otool', '-l', p], stdout=subprocess.PIPE)
- o = proc.communicate()[0]
- assert not proc.returncode
- return r.findall(o)
-
- if (GetRpaths('libdefault_rpath.dylib') != []):
- test.fail_test()
-
- if (GetRpaths('libexplicit_rpath.dylib') != ['@executable_path/.']):
- test.fail_test()
-
- if (GetRpaths('libexplicit_rpaths_escaped.dylib') !=
- ['First rpath', 'Second rpath']):
- test.fail_test()
-
- if (GetRpaths('My Framework.framework/My Framework') != ['@loader_path/.']):
- test.fail_test()
-
- if (GetRpaths('executable') != ['@executable_path/.']):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sdkroot.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sdkroot.py
deleted file mode 100644
index b4bef3e92..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sdkroot.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that setting SDKROOT works.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='sdkroot')
- test.build('test.gyp', test.ALL, chdir='sdkroot')
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sourceless-module.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sourceless-module.gyp
deleted file mode 100644
index c3ea73a17..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-sourceless-module.gyp
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that bundles that have no 'sources' (pure resource containers) work.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='sourceless-module')
-
- # Just needs to build without errors.
- test.build('test.gyp', 'empty_bundle', chdir='sourceless-module')
- test.built_file_must_not_exist(
- 'empty_bundle.bundle', chdir='sourceless-module')
-
- # Needs to build, and contain a resource.
- test.build('test.gyp', 'resource_bundle', chdir='sourceless-module')
-
- test.built_file_must_exist(
- 'resource_bundle.bundle/Contents/Resources/foo.manifest',
- chdir='sourceless-module')
- test.built_file_must_not_exist(
- 'resource_bundle.bundle/Contents/MacOS/resource_bundle',
- chdir='sourceless-module')
-
- # Needs to build and cause the bundle to be built.
- test.build(
- 'test.gyp', 'dependent_on_resource_bundle', chdir='sourceless-module')
-
- test.built_file_must_exist(
- 'resource_bundle.bundle/Contents/Resources/foo.manifest',
- chdir='sourceless-module')
- test.built_file_must_not_exist(
- 'resource_bundle.bundle/Contents/MacOS/resource_bundle',
- chdir='sourceless-module')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-strip.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-strip.py
deleted file mode 100755
index 3a4683933..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-strip.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that stripping works.
-"""
-
-import TestGyp
-
-import re
-import subprocess
-import sys
-import time
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='strip')
-
- test.build('test.gyp', test.ALL, chdir='strip')
-
- # Lightweight check if stripping was done.
- def OutPath(s):
- return test.built_file_path(s, type=test.SHARED_LIB, chdir='strip')
-
- def CheckNsyms(p, n_expected):
- r = re.compile(r'nsyms\s+(\d+)')
- proc = subprocess.Popen(['otool', '-l', p], stdout=subprocess.PIPE)
- o = proc.communicate()[0]
- assert not proc.returncode
- m = r.search(o)
- n = int(m.group(1))
- if n != n_expected:
- print 'Stripping: Expected %d symbols, got %d' % (n_expected, n)
- test.fail_test()
-
- # The actual numbers here are not interesting, they just need to be the same
- # in both the xcode and the make build.
- CheckNsyms(OutPath('no_postprocess'), 11)
- CheckNsyms(OutPath('no_strip'), 11)
- CheckNsyms(OutPath('strip_all'), 0)
- CheckNsyms(OutPath('strip_nonglobal'), 2)
- CheckNsyms(OutPath('strip_debugging'), 3)
- CheckNsyms(OutPath('strip_all_custom_flags'), 0)
- CheckNsyms(test.built_file_path(
- 'strip_all_bundle.framework/Versions/A/strip_all_bundle', chdir='strip'),
- 0)
- CheckNsyms(OutPath('strip_save'), 3)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-type-envvars.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-type-envvars.py
deleted file mode 100755
index 61596bae2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-type-envvars.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test that MACH_O_TYPE etc are set correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- test.run_gyp('test.gyp', chdir='type_envvars')
-
- test.build('test.gyp', test.ALL, chdir='type_envvars')
-
- # The actual test is done by postbuild scripts during |test.build()|.
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-env-order.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-env-order.py
deleted file mode 100755
index 58b146c1a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-env-order.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that dependent Xcode settings are processed correctly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'xcode-env-order'
- INFO_PLIST_PATH = 'Test.app/Contents/Info.plist'
-
- test.run_gyp('test.gyp', chdir=CHDIR)
- test.build('test.gyp', test.ALL, chdir=CHDIR)
-
- # Env vars in 'copies' filenames.
- test.built_file_must_exist('Test-copy-brace/main.c', chdir=CHDIR)
- test.built_file_must_exist('Test-copy-paren/main.c', chdir=CHDIR)
- test.built_file_must_exist('Test-copy-bare/main.c', chdir=CHDIR)
-
- # Env vars in 'actions' filenames and inline actions
- test.built_file_must_exist('action-copy-brace.txt', chdir=CHDIR)
- test.built_file_must_exist('action-copy-paren.txt', chdir=CHDIR)
- test.built_file_must_exist('action-copy-bare.txt', chdir=CHDIR)
-
- # Env vars in 'rules' filenames and inline actions
- test.built_file_must_exist('rule-copy-brace.txt', chdir=CHDIR)
- test.built_file_must_exist('rule-copy-paren.txt', chdir=CHDIR)
- # TODO: see comment in test.gyp for this file.
- #test.built_file_must_exist('rule-copy-bare.txt', chdir=CHDIR)
-
- # Env vars in Info.plist.
- info_plist = test.built_file_path(INFO_PLIST_PATH, chdir=CHDIR)
- test.must_exist(info_plist)
-
- test.must_contain(info_plist, '''\
-\t<key>BraceProcessedKey1</key>
-\t<string>D:/Source/Project/Test</string>''')
- test.must_contain(info_plist, '''\
-\t<key>BraceProcessedKey2</key>
-\t<string>/Source/Project/Test</string>''')
- test.must_contain(info_plist, '''\
-\t<key>BraceProcessedKey3</key>
-\t<string>com.apple.product-type.application:D:/Source/Project/Test</string>''')
-
- test.must_contain(info_plist, '''\
-\t<key>ParenProcessedKey1</key>
-\t<string>D:/Source/Project/Test</string>''')
- test.must_contain(info_plist, '''\
-\t<key>ParenProcessedKey2</key>
-\t<string>/Source/Project/Test</string>''')
- test.must_contain(info_plist, '''\
-\t<key>ParenProcessedKey3</key>
-\t<string>com.apple.product-type.application:D:/Source/Project/Test</string>''')
-
- test.must_contain(info_plist, '''\
-\t<key>BareProcessedKey1</key>
-\t<string>D:/Source/Project/Test</string>''')
- test.must_contain(info_plist, '''\
-\t<key>BareProcessedKey2</key>
-\t<string>/Source/Project/Test</string>''')
- # NOTE: For bare variables, $PRODUCT_TYPE is not replaced! It _is_ replaced
- # if it's not right at the start of the string (e.g. ':$PRODUCT_TYPE'), so
- # this looks like an Xcode bug. This bug isn't emulated (yet?), so check this
- # only for Xcode.
- if test.format == 'xcode':
- test.must_contain(info_plist, '''\
-\t<key>BareProcessedKey3</key>
-\t<string>$PRODUCT_TYPE:D:/Source/Project/Test</string>''')
-
- test.must_contain(info_plist, '''\
-\t<key>MixedProcessedKey</key>
-\t<string>/Source/Project:Test:mh_execute</string>''')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-gcc.py b/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-gcc.py
deleted file mode 100644
index 5f5de7608..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/gyptest-xcode-gcc.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that xcode-style GCC_... settings are handled properly.
-"""
-
-import TestGyp
-
-import sys
-
-def IgnoreOutput(string, expected_string):
- return True
-
-if sys.platform == 'darwin':
- test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
- CHDIR = 'xcode-gcc'
- test.run_gyp('test.gyp', chdir=CHDIR)
-
- # List of targets that'll pass. It expects targets of the same name with
- # '-fail' appended that'll fail to build.
- targets = [
- 'warn_about_invalid_offsetof_macro',
- 'warn_about_missing_newline',
- ]
-
- for target in targets:
- test.build('test.gyp', target, chdir=CHDIR)
- test.built_file_must_exist(target, chdir=CHDIR)
- fail_target = target + '-fail'
- test.build('test.gyp', fail_target, chdir=CHDIR, status=None,
- stderr=None, match=IgnoreOutput)
- test.built_file_must_not_exist(fail_target, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/Info.plist
deleted file mode 100644
index cb65721f4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/Info.plist
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.google.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>LSMinimumSystemVersion</key>
- <string>${MACOSX_DEPLOYMENT_TARGET}</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
- <key>ProcessedKey1</key>
- <string>PROCESSED_KEY1</string>
- <key>ProcessedKey2</key>
- <string>PROCESSED_KEY2</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/main.c
deleted file mode 100644
index 1bf4b2a11..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/main.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test1.gyp
deleted file mode 100644
index bc625a968..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test1.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- ],
- 'configurations': {
- 'One': {
- },
- },
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'INFOPLIST_PREPROCESS': 'YES',
- 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'PROCESSED_KEY1=Foo PROCESSED_KEY2=Bar',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test2.gyp
deleted file mode 100644
index ecfbc9f64..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test2.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- ],
- 'configurations': {
- 'Two': {
- },
- },
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'INFOPLIST_PREPROCESS': 'YES',
- 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'PROCESSED_KEY1="Foo (Bar)"',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test3.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test3.gyp
deleted file mode 100644
index be8fe75a5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/infoplist-process/test3.gyp
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test App',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- ],
- 'configurations': {
- 'Three': {
- },
- },
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'INFOPLIST_PREPROCESS': 'NO',
- 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'PROCESSED_KEY1=Foo',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/Info.plist
deleted file mode 100644
index 5e05a5190..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/Info.plist
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.yourcompany.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>NSPrincipalClass</key>
- <string></string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/file.c
deleted file mode 100644
index a39fce095..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/file.c
+++ /dev/null
@@ -1 +0,0 @@
-int f() { return 0; }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/main.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/main.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/test.gyp
deleted file mode 100644
index 60c867ff1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/installname/test.gyp
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'default_installname',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- },
- {
- 'target_name': 'default_bundle_installname',
- 'product_name': 'My Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c' ],
- },
- {
- 'target_name': 'explicit_installname',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'LD_DYLIB_INSTALL_NAME': 'Trapped in a dynamiclib factory',
- },
- },
- {
- 'target_name': 'explicit_installname_base',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
-
- },
- },
- {
- 'target_name': 'explicit_installname_base_bundle',
- 'product_name': 'My Other Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
-
- },
- },
- {
- 'target_name': 'both_base_and_installname',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- # LD_DYLIB_INSTALL_NAME wins.
- 'LD_DYLIB_INSTALL_NAME': 'Still trapped in a dynamiclib factory',
- 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../../..',
- },
- },
- {
- 'target_name': 'explicit_installname_with_base',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'LD_DYLIB_INSTALL_NAME': '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)',
- },
- },
- {
- 'target_name': 'explicit_installname_with_explicit_base',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'DYLIB_INSTALL_NAME_BASE': '@executable_path/..',
- 'LD_DYLIB_INSTALL_NAME': '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)',
- },
- },
- {
- 'target_name': 'executable',
- 'type': 'executable',
- 'sources': [ 'main.c' ],
- 'xcode_settings': {
- 'LD_DYLIB_INSTALL_NAME': 'Should be ignored for not shared_lib',
- },
- },
- # Regression test for http://crbug.com/113918
- {
- 'target_name': 'install_name_with_info_plist',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'LD_DYLIB_INSTALL_NAME': '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/file.c
deleted file mode 100644
index 56757a701..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/file.c
+++ /dev/null
@@ -1 +0,0 @@
-void f() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/test.gyp
deleted file mode 100644
index 4e7aa0710..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags-libtool/test.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'ldflags_passed_to_libtool',
- 'type': 'static_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- '-fblorfen-horf-does-not-exist',
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/Info.plist
deleted file mode 100644
index 5f5e9abfb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/Info.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleSignature</key>
- <string>????</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/file.c
deleted file mode 100644
index 90c45543b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/file.c
+++ /dev/null
@@ -1,2 +0,0 @@
-void f() {}
-void g() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/symbol_list.def b/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/symbol_list.def
deleted file mode 100644
index 0ab7543b1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/symbol_list.def
+++ /dev/null
@@ -1 +0,0 @@
-_f
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/test.gyp
deleted file mode 100644
index db00c7465..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/ldflags/subdirectory/test.gyp
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'raw',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- '-exported_symbols_list symbol_list.def',
- '-sectcreate __TEXT __info_plist Info.plist',
- ],
- },
- },
- # TODO(thakis): This form should ideally be supported, too. (But
- # -Wlfoo,bar,baz is cleaner so people should use that anyway.)
- #{
- # 'target_name': 'raw_sep',
- # 'type': 'shared_library',
- # 'sources': [ 'file.c', ],
- # 'xcode_settings': {
- # 'OTHER_LDFLAGS': [
- # '-exported_symbols_list', 'symbol_list.def',
- # '-sectcreate', '__TEXT', '__info_plist', 'Info.plist',
- # ],
- # },
- #},
- {
- 'target_name': 'wl_space',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- # Works because clang passes unknown files on to the linker.
- '-Wl,-exported_symbols_list symbol_list.def',
- ],
- },
- },
- # TODO(thakis): This form should ideally be supported, too. (But
- # -Wlfoo,bar,baz is cleaner so people should use that anyway.)
- #{
- # 'target_name': 'wl_space_sep',
- # 'type': 'shared_library',
- # 'sources': [ 'file.c', ],
- # 'xcode_settings': {
- # 'OTHER_LDFLAGS': [
- # # Works because clang passes unknown files on to the linker.
- # '-Wl,-exported_symbols_list', 'symbol_list.def',
- # ],
- # },
- #},
- {
- 'target_name': 'wl_comma',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'OTHER_LDFLAGS': [
- '-Wl,-exported_symbols_list,symbol_list.def',
- '-Wl,-sectcreate,__TEXT,__info_plist,Info.plist',
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/README.txt b/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/README.txt
deleted file mode 100644
index 4031ded85..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Make things live in a subdirectory, to make sure that DEPTH works correctly.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/hello.cc
deleted file mode 100644
index a43554c8c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/hello.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <iostream>
-
-int main() {
- std::cout << "Hello, world!" << std::endl;
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/mylib.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/mylib.c
deleted file mode 100644
index e771991e8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/mylib.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int my_foo(int x) {
- return x + 1;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/test.gyp
deleted file mode 100644
index 80a026977..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/libraries/subdir/test.gyp
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'libraries-test',
- 'type': 'executable',
- 'sources': [
- 'hello.cc',
- ],
- 'link_settings': {
- 'libraries': [
- 'libcrypto.dylib',
- 'libfl.a',
- ],
- },
- },
- {
- # This creates a static library and puts it in a nonstandard location for
- # libraries-search-path-test.
- 'target_name': 'mylib',
- 'type': 'static_library',
- 'sources': [
- 'mylib.c',
- ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Make a secret location',
- 'action': [
- 'mkdir',
- '-p',
- '${SRCROOT}/../secret_location',
- ],
- },
- {
- 'postbuild_name': 'Copy to secret location, with secret name',
- 'action': [
- 'cp',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- '${SRCROOT}/../secret_location/libmysecretlib.a',
- ],
- },
- ],
- },
- {
- 'target_name': 'libraries-search-path-test',
- 'type': 'executable',
- 'dependencies': [ 'mylib' ],
- 'sources': [
- 'hello.cc',
- ],
- 'xcode_settings': {
- 'LIBRARY_SEARCH_PATHS': [
- '<(DEPTH)/secret_location',
- ],
- },
- 'link_settings': {
- 'libraries': [
- 'libmysecretlib.a',
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/Info.plist
deleted file mode 100644
index f6607aebd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/Info.plist
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIdentifier</key>
- <string>com.google.test_loadable_module</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>BRPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1.0</string>
- <key>CFPlugInDynamicRegisterFunction</key>
- <string></string>
- <key>CFPlugInDynamicRegistration</key>
- <string>NO</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/module.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/module.c
deleted file mode 100644
index 958453834..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/module.c
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int SuperFly() {
- return 42;
-}
-
-const char* SuperFoo() {
- return "Hello World";
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/test.gyp
deleted file mode 100644
index 3c8a5309d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/loadable-module/test.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_loadable_module',
- 'type': 'loadable_module',
- 'mac_bundle': 1,
- 'sources': [ 'module.c' ],
- 'product_extension': 'plugin',
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Info.plist
deleted file mode 100644
index 0c3167488..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Info.plist
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Other-Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Other-Info.plist
deleted file mode 100644
index 47095281c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Other-Info.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>F</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Third-Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Third-Info.plist
deleted file mode 100644
index 5b61fe266..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/Third-Info.plist
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>some really long string</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/file.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/file.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/test.gyp
deleted file mode 100644
index b50cc2791..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/missing-cfbundlesignature/test.gyp
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'mytarget',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- },
- },
- {
- 'target_name': 'myothertarget',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Other-Info.plist',
- },
- },
- {
- 'target_name': 'thirdtarget',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Third-Info.plist',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/Info.plist
deleted file mode 100644
index 11fc4b660..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/Info.plist
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <!-- Not a valid plist file since it's missing so much. That's fine. -->
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>My Variable</key>
- <string>${MY_VAR}</string>
- <key>CFlags</key>
- <string>${OTHER_CFLAGS}</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/main.c
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/main.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/test.gyp
deleted file mode 100644
index 58814b73f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/non-strs-flattened-to-env/test.gyp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'main.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'MY_VAR': 'some expansion',
- 'OTHER_CFLAGS': [
- # Just some (more than one) random flags.
- '-fstack-protector-all',
- '-fno-strict-aliasing',
- '-DS="A Space"', # Would normally be in 'defines'
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/c-file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/c-file.c
deleted file mode 100644
index 2855a00ea..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/c-file.c
+++ /dev/null
@@ -1 +0,0 @@
-void c_fun() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/cc-file.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/cc-file.cc
deleted file mode 100644
index 71e47a012..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/cc-file.cc
+++ /dev/null
@@ -1 +0,0 @@
-void cc_fun() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/main.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/main.m
deleted file mode 100644
index 1a87f8e70..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/main.m
+++ /dev/null
@@ -1,6 +0,0 @@
-#import <Foundation/Foundation.h>
-
-int main() {
- printf("gc on: %d\n", [NSGarbageCollector defaultCollector] != NULL);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc-mm.mm b/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc-mm.mm
deleted file mode 100644
index fc3fee9f3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc-mm.mm
+++ /dev/null
@@ -1 +0,0 @@
-void objcpp_fun() { }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc.m
deleted file mode 100644
index ca77976b1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/needs-gc.m
+++ /dev/null
@@ -1 +0,0 @@
-void objc_fun() { }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/test.gyp
deleted file mode 100644
index 4d827c1b3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/objc-gc/test.gyp
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- # For some reason, static_library targets that are built with gc=required
- # and then linked to executables that don't use gc, the linker doesn't
- # complain. For shared_libraries it does, so use that.
- {
- 'target_name': 'no_gc_lib',
- 'type': 'shared_library',
- 'sources': [
- 'c-file.c',
- 'cc-file.cc',
- 'needs-gc-mm.mm',
- 'needs-gc.m',
- ],
- },
- {
- 'target_name': 'gc_lib',
- 'type': 'shared_library',
- 'sources': [
- 'c-file.c',
- 'cc-file.cc',
- 'needs-gc-mm.mm',
- 'needs-gc.m',
- ],
- 'xcode_settings': {
- 'GCC_ENABLE_OBJC_GC': 'supported',
- },
- },
- {
- 'target_name': 'gc_req_lib',
- 'type': 'shared_library',
- 'sources': [
- 'c-file.c',
- 'cc-file.cc',
- 'needs-gc-mm.mm',
- 'needs-gc.m',
- ],
- 'xcode_settings': {
- 'GCC_ENABLE_OBJC_GC': 'required',
- },
- },
-
- {
- 'target_name': 'gc_exe_fails',
- 'type': 'executable',
- 'sources': [ 'main.m' ],
- 'dependencies': [ 'no_gc_lib' ],
- 'xcode_settings': {
- 'GCC_ENABLE_OBJC_GC': 'required',
- },
- 'libraries': [ 'Foundation.framework' ],
- },
- {
- 'target_name': 'gc_req_exe',
- 'type': 'executable',
- 'sources': [ 'main.m' ],
- 'dependencies': [ 'gc_lib' ],
- 'xcode_settings': {
- 'GCC_ENABLE_OBJC_GC': 'required',
- },
- 'libraries': [ 'Foundation.framework' ],
- },
- {
- 'target_name': 'gc_exe_req_lib',
- 'type': 'executable',
- 'sources': [ 'main.m' ],
- 'dependencies': [ 'gc_req_lib' ],
- 'xcode_settings': {
- 'GCC_ENABLE_OBJC_GC': 'supported',
- },
- 'libraries': [ 'Foundation.framework' ],
- },
- {
- 'target_name': 'gc_exe',
- 'type': 'executable',
- 'sources': [ 'main.m' ],
- 'dependencies': [ 'gc_lib' ],
- 'xcode_settings': {
- 'GCC_ENABLE_OBJC_GC': 'supported',
- },
- 'libraries': [ 'Foundation.framework' ],
- },
- {
- 'target_name': 'gc_off_exe_req_lib',
- 'type': 'executable',
- 'sources': [ 'main.m' ],
- 'dependencies': [ 'gc_req_lib' ],
- 'libraries': [ 'Foundation.framework' ],
- },
- {
- 'target_name': 'gc_off_exe',
- 'type': 'executable',
- 'sources': [ 'main.m' ],
- 'dependencies': [ 'gc_lib' ],
- 'libraries': [ 'Foundation.framework' ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/Framework-Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/Framework-Info.plist
deleted file mode 100644
index ec36829c0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/Framework-Info.plist
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.yourcompany.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>NSPrincipalClass</key>
- <string></string>
- <key>RandomKey</key>
- <string>RandomValue</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/TestApp-Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/TestApp-Info.plist
deleted file mode 100644
index 98fd51520..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/TestApp-Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.google.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>LSMinimumSystemVersion</key>
- <string>${MACOSX_DEPLOYMENT_TARGET}</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/empty.c
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/empty.c
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/main.c
deleted file mode 100644
index 21c196352..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/main.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/postbuild-copy-framework.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/postbuild-copy-framework.sh
deleted file mode 100755
index 930fec661..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/postbuild-copy-framework.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-rsync -acC --delete "$1" "$2"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/resource_file.sb b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/resource_file.sb
deleted file mode 100644
index 42057fa23..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/resource_file.sb
+++ /dev/null
@@ -1 +0,0 @@
-This is included in the framework bundle.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/test.gyp
deleted file mode 100644
index 547737ce5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-copy-bundle/test.gyp
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_bundle',
- 'product_name': 'My Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'empty.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Framework-Info.plist',
- },
- 'mac_bundle_resources': [
- 'resource_file.sb',
- ],
- },
- {
- 'target_name': 'test_app',
- 'product_name': 'Test App',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'dependencies': [
- 'test_bundle',
- ],
- 'sources': [ 'main.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'TestApp-Info.plist',
- },
- 'postbuilds': [
- {
- 'postbuild_name': 'Copy dependent framework into app',
- 'action': [
- './postbuild-copy-framework.sh',
- '${BUILT_PRODUCTS_DIR}/My Framework.framework',
- '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/Info.plist
deleted file mode 100644
index d3f54d76c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/Info.plist
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <!-- Not a valid plist file since it's missing so much. That's fine. -->
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/main.c
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/main.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/postbuild-defaults.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/postbuild-defaults.sh
deleted file mode 100755
index 56af2a832..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/postbuild-defaults.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-# This is the built Info.plist in the output directory.
-PLIST="${BUILT_PRODUCTS_DIR}"/Test.app/Contents/Info # No trailing .plist
-echo $(defaults read "${PLIST}" "CFBundleName") > "${BUILT_PRODUCTS_DIR}/result"
-
-# This is the source Info.plist next to this script file.
-PLIST="${SRCROOT}"/Info # No trailing .plist
-echo $(defaults read "${PLIST}" "CFBundleName") \
- >> "${BUILT_PRODUCTS_DIR}/result"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/test.gyp
deleted file mode 100644
index be0a075ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-defaults/test.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'main.c', ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- },
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild that calls defaults',
- 'action': [
- './postbuild-defaults.sh',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/file.c
deleted file mode 100644
index 91695b10c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/file.c
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// That's right, this is copyrighted.
-void f() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/postbuild-fail.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/postbuild-fail.sh
deleted file mode 100755
index dc1a60d98..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/postbuild-fail.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/bash
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-exit 1
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/test.gyp
deleted file mode 100644
index e63283db0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/test.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'nonbundle',
- 'type': 'static_library',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild Fail',
- 'action': [ './postbuild-fail.sh', ],
- },
- {
- 'postbuild_name': 'Runs after failing postbuild',
- 'action': [ './touch-static.sh', ],
- },
- ],
- },
- {
- 'target_name': 'bundle',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild Fail',
- 'action': [ './postbuild-fail.sh', ],
- },
- {
- 'postbuild_name': 'Runs after failing postbuild',
- 'action': [ './touch-dynamic.sh', ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-dynamic.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-dynamic.sh
deleted file mode 100755
index a388a6410..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-dynamic.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-touch "${BUILT_PRODUCTS_DIR}/dynamic_touch"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-static.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-static.sh
deleted file mode 100755
index 97ecaa686..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-fail/touch-static.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-touch "${BUILT_PRODUCTS_DIR}/static_touch"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/main.c
deleted file mode 100644
index 21c196352..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/main.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/postbuild-touch-file.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/postbuild-touch-file.sh
deleted file mode 100755
index b6170cf7a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/postbuild-touch-file.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-touch "${BUILT_PRODUCTS_DIR}/postbuild-file"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/test.gyp
deleted file mode 100644
index c350b20d6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-multiple-configurations/test.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'target_defaults': {
- 'configurations': {
- 'Debug': {},
- 'Release': {},
- },
- },
- 'targets': [
- {
- 'target_name': 'random_target',
- 'type': 'executable',
- 'sources': [ 'main.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Touch a file.',
- 'action': [
- './postbuild-touch-file.sh',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/empty.c
deleted file mode 100644
index 9554336c0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/empty.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-void f() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/postbuild-touch-file.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/postbuild-touch-file.sh
deleted file mode 100755
index 37de4de4f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/postbuild-touch-file.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-touch "${BUILT_PRODUCTS_DIR}/$1"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/test.gyp
deleted file mode 100644
index 9ef55a0af..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuild-static-library/test.gyp
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'my_lib',
- 'type': 'static_library',
- 'sources': [ 'empty.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild that touches a file',
- 'action': [
- './postbuild-touch-file.sh', 'postbuild-file'
- ],
- },
- ],
- },
-
- {
- 'target_name': 'my_sourceless_lib',
- 'type': 'static_library',
- 'dependencies': [ 'my_lib' ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild that touches a file',
- 'action': [
- './postbuild-touch-file.sh', 'postbuild-file-sourceless'
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/copy.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/copy.sh
deleted file mode 100755
index ecad0381d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/copy.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-cp "$@"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file.c
deleted file mode 100644
index 653e71ff7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-void f() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_g.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_g.c
deleted file mode 100644
index 0f7849d20..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_g.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-void g() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_h.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_h.c
deleted file mode 100644
index 521d1f4d5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/file_h.c
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-void h() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/shared_library_postbuild.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/shared_library_postbuild.sh
deleted file mode 100755
index c623c8bf2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/shared_library_postbuild.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-lib="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"
-nm ${lib} > /dev/null # Just make sure this works.
-
-pattern="${1}"
-
-if [ $pattern != "a|b" ]; then
- echo "Parameter quoting is broken"
- exit 1
-fi
-
-if [ "${2}" != "arg with spaces" ]; then
- echo "Parameter space escaping is broken"
- exit 1
-fi
-
-touch "${lib}"_touch
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/static_library_postbuild.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/static_library_postbuild.sh
deleted file mode 100755
index 2bf09b34e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/script/static_library_postbuild.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-lib="${BUILT_PRODUCTS_DIR}/${FULL_PRODUCT_NAME}"
-nm ${lib} > /dev/null # Just make sure this works.
-
-pattern="${1}"
-
-if [ $pattern != "a|b" ]; then
- echo "Parameter quote escaping is broken"
- exit 1
-fi
-
-if [ "${2}" != "arg with spaces" ]; then
- echo "Parameter space escaping is broken"
- exit 1
-fi
-
-touch "${lib}"_touch.a
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/copied_file.txt b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/copied_file.txt
deleted file mode 100644
index a634f85b6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/copied_file.txt
+++ /dev/null
@@ -1 +0,0 @@
-This file should be copied to the products dir.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/nested_target.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/nested_target.gyp
deleted file mode 100644
index 6d4f2395e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/subdirectory/nested_target.gyp
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'nest_el',
- 'type': 'static_library',
- 'sources': [ '../file_g.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Static library postbuild',
- 'variables': {
- 'some_regex': 'a|b',
- },
- 'action': [
- '../script/static_library_postbuild.sh',
- '<(some_regex)',
- 'arg with spaces',
- ],
- },
- ],
- },
- {
- 'target_name': 'nest_dyna',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ '../file_h.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Dynamic library postbuild',
- 'variables': {
- 'some_regex': 'a|b',
- },
- 'action': [
- '../script/shared_library_postbuild.sh',
- '<(some_regex)',
- 'arg with spaces',
- ],
- },
- {
- 'postbuild_name': 'Test paths relative to gyp file',
- 'action': [
- '../copy.sh',
- './copied_file.txt',
- '${BUILT_PRODUCTS_DIR}/copied_file_2.txt',
- ],
- },
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/test.gyp
deleted file mode 100644
index 1f0eed8df..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/postbuilds/test.gyp
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'el',
- 'type': 'static_library',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Static library postbuild',
- 'variables': {
- 'some_regex': 'a|b',
- },
- 'action': [
- 'script/static_library_postbuild.sh',
- '<(some_regex)',
- 'arg with spaces',
- ],
- },
- {
- 'postbuild_name': 'Test variable in gyp file',
- 'action': [
- 'cp',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}_gyp_touch.a',
- ],
- },
- ],
- },
- {
- 'target_name': 'dyna',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'dependencies': [
- 'subdirectory/nested_target.gyp:nest_dyna',
- 'subdirectory/nested_target.gyp:nest_el',
- ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Dynamic library postbuild',
- 'variables': {
- 'some_regex': 'a|b',
- },
- 'action': [
- 'script/shared_library_postbuild.sh',
- '<(some_regex)',
- 'arg with spaces',
- ],
- },
- {
- 'postbuild_name': 'Test variable in gyp file',
- 'action': [
- 'cp',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}_gyp_touch',
- ],
- },
- {
- 'postbuild_name': 'Test paths relative to gyp file',
- 'action': [
- './copy.sh',
- 'subdirectory/copied_file.txt',
- '${BUILT_PRODUCTS_DIR}',
- ],
- },
- ],
- },
- {
- 'target_name': 'dyna_standalone',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Test variable in gyp file',
- 'action': [
- 'cp',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}_gyp_touch.dylib',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.c
deleted file mode 100644
index d0b39d1f6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.c
+++ /dev/null
@@ -1 +0,0 @@
-MyInt f() { return 0; }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.cc
deleted file mode 100644
index d0b39d1f6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.cc
+++ /dev/null
@@ -1 +0,0 @@
-MyInt f() { return 0; }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.m
deleted file mode 100644
index d0b39d1f6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.m
+++ /dev/null
@@ -1 +0,0 @@
-MyInt f() { return 0; }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.mm b/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.mm
deleted file mode 100644
index d0b39d1f6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/file.mm
+++ /dev/null
@@ -1 +0,0 @@
-MyInt f() { return 0; }
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/header.h b/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/header.h
deleted file mode 100644
index 0716e500c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/header.h
+++ /dev/null
@@ -1 +0,0 @@
-typedef int MyInt;
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/test.gyp
deleted file mode 100644
index 7e6b1af80..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/prefixheader/test.gyp
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'prefix_header_c',
- 'type': 'static_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- },
- },
- {
- 'target_name': 'precompiled_prefix_header_c',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- 'GCC_PRECOMPILE_PREFIX_HEADER': 'YES',
- },
- },
-
- {
- 'target_name': 'prefix_header_cc',
- 'type': 'static_library',
- 'sources': [ 'file.cc', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- },
- },
- {
- 'target_name': 'precompiled_prefix_header_cc',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.cc', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- 'GCC_PRECOMPILE_PREFIX_HEADER': 'YES',
- },
- },
-
- {
- 'target_name': 'prefix_header_m',
- 'type': 'static_library',
- 'sources': [ 'file.m', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- },
- },
- {
- 'target_name': 'precompiled_prefix_header_m',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.m', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- 'GCC_PRECOMPILE_PREFIX_HEADER': 'YES',
- },
- },
-
- {
- 'target_name': 'prefix_header_mm',
- 'type': 'static_library',
- 'sources': [ 'file.mm', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- },
- },
- {
- 'target_name': 'precompiled_prefix_header_mm',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.mm', ],
- 'xcode_settings': {
- 'GCC_PREFIX_HEADER': 'header.h',
- 'GCC_PRECOMPILE_PREFIX_HEADER': 'YES',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/TestApp-Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/TestApp-Info.plist
deleted file mode 100644
index 98fd51520..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/TestApp-Info.plist
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.google.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>LSMinimumSystemVersion</key>
- <string>${MACOSX_DEPLOYMENT_TARGET}</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/delay-touch.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/delay-touch.sh
deleted file mode 100755
index 7caf105b6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/delay-touch.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-set -e
-
-sleep 1 # mtime resolution is 1 sec on unix.
-touch "$1"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/empty.c
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/empty.c
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/main.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/main.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/test.gyp
deleted file mode 100644
index 15b4e4ef2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rebuild/test.gyp
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test App',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'TestApp-Info.plist',
- },
- },
- {
- 'target_name': 'test_app_postbuilds',
- 'product_name': 'Test App 2',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- ],
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'TestApp-Info.plist',
- },
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild that touches the app binary',
- 'action': [
- './delay-touch.sh', '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- ],
- },
- ],
- },
- {
- 'target_name': 'test_framework_postbuilds',
- 'product_name': 'Test Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [
- 'empty.c',
- ],
- 'postbuilds': [
- {
- 'postbuild_name': 'Postbuild that touches the framework binary',
- 'action': [
- './delay-touch.sh', '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/file.c
deleted file mode 100644
index 56757a701..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/file.c
+++ /dev/null
@@ -1 +0,0 @@
-void f() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/main.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/main.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/test.gyp
deleted file mode 100644
index 7255cb7cd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/rpath/test.gyp
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'default_rpath',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- },
- {
- 'target_name': 'explicit_rpath',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'LD_RUNPATH_SEARCH_PATHS': ['@executable_path/.'],
- },
- },
- {
- 'target_name': 'explicit_rpaths_escaped',
- 'type': 'shared_library',
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- # Xcode requires spaces to be escaped, else it ends up adding two
- # independent rpaths.
- 'LD_RUNPATH_SEARCH_PATHS': ['First\\ rpath', 'Second\\ rpath'],
- },
- },
- {
- 'target_name': 'explicit_rpaths_bundle',
- 'product_name': 'My Framework',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c' ],
- 'xcode_settings': {
- 'LD_RUNPATH_SEARCH_PATHS': ['@loader_path/.'],
- },
- },
- {
- 'target_name': 'executable',
- 'type': 'executable',
- 'sources': [ 'main.c' ],
- 'xcode_settings': {
- 'LD_RUNPATH_SEARCH_PATHS': ['@executable_path/.'],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/file.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/file.cc
deleted file mode 100644
index 13ae97104..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/file.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <map>
-using std::map;
-
-int main() {
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test.gyp
deleted file mode 100644
index 3049d8493..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'mytarget',
- 'type': 'executable',
- 'sources': [ 'file.cc', ],
- 'xcode_settings': {
- 'SDKROOT': 'macosx10.6',
- },
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_shorthand.sh', ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test_shorthand.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test_shorthand.sh
deleted file mode 100755
index e8fb38ac1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/sdkroot/test_shorthand.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $SDKROOT = /Developer/SDKs/MacOSX10.6.sdk
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/empty.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/empty.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/empty.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/test.gyp
deleted file mode 100644
index 49dc2af9c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/sourceless-module/test.gyp
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'empty_bundle',
- 'type': 'loadable_module',
- 'mac_bundle': 1,
- },
- {
- 'target_name': 'resource_bundle',
- 'type': 'loadable_module',
- 'mac_bundle': 1,
- 'actions': [
- {
- 'action_name': 'Add Resource',
- 'inputs': [],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/app_manifest/foo.manifest',
- ],
- 'action': [
- 'touch', '<(INTERMEDIATE_DIR)/app_manifest/foo.manifest',
- ],
- 'process_outputs_as_mac_bundle_resources': 1,
- },
- ],
- },
- {
- 'target_name': 'dependent_on_resource_bundle',
- 'type': 'executable',
- 'sources': [ 'empty.c' ],
- 'dependencies': [
- 'resource_bundle',
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/file.c
deleted file mode 100644
index 421f0405f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/file.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-static void the_static_function() {}
-
-void the_function() {
- the_static_function();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/strip.saves b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/strip.saves
deleted file mode 100644
index b60ca6285..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/strip.saves
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright (c) 2011 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file would list symbols that should not be stripped.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_file.c
deleted file mode 100644
index 50daa6c13..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_file.c
+++ /dev/null
@@ -1 +0,0 @@
-void nested_f() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_strip.saves b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_strip.saves
deleted file mode 100644
index d434c0ef4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/nested_strip.saves
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file would list symbols that should not be stripped.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/subdirectory.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/subdirectory.gyp
deleted file mode 100644
index 5d0d19091..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/subdirectory.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'nested_strip_save',
- 'type': 'shared_library',
- 'sources': [ 'nested_file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
- 'CHROMIUM_STRIP_SAVE_FILE': 'nested_strip.saves',
- },
- },
- {
- 'target_name': 'nested_strip_save_postbuild',
- 'type': 'shared_library',
- 'sources': [ 'nested_file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
- 'CHROMIUM_STRIP_SAVE_FILE': 'nested_strip.saves',
- },
- 'postbuilds': [
- {
- 'postbuild_name': 'Action that reads CHROMIUM_STRIP_SAVE_FILE',
- 'action': [
- './test_reading_save_file_from_postbuild.sh',
- ],
- },
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/test_reading_save_file_from_postbuild.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/test_reading_save_file_from_postbuild.sh
deleted file mode 100755
index 976943680..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/subdirectory/test_reading_save_file_from_postbuild.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-set -e
-
-test -f ${CHROMIUM_STRIP_SAVE_FILE}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/test.gyp
deleted file mode 100644
index 2558aa91b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/strip/test.gyp
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# These xcode_settings affect stripping:
-# "Deployment postprocessing involves stripping the binary, and setting
-# its file mode, owner, and group."
-#'DEPLOYMENT_POSTPROCESSING': 'YES',
-
-# "Specifies whether to strip symbol information from the binary.
-# Prerequisite: $DEPLOYMENT_POSTPROCESSING = YES" "Default Value: 'NO'"
-#'STRIP_INSTALLED_PRODUCT': 'YES',
-
-# "Values:
-# * all: Strips the binary completely, removing the symbol table and
-# relocation information
-# * non-global: Strips nonglobal symbols but saves external symbols.
-# * debugging: Strips debugging symbols but saves local and global
-# symbols."
-# (maps to no flag, -x, -S in that order)
-#'STRIP_STYLE': 'non-global',
-
-# "Additional strip flags"
-#'STRIPFLAGS': '-c',
-
-# "YES: Copied binaries are stripped of debugging symbols. This does
-# not cause the binary produced by the linker to be stripped. Use
-# 'STRIP_INSTALLED_PRODUCT (Strip Linked Product)' to have the linker
-# strip the binary."
-#'COPY_PHASE_STRIP': 'NO',
-{
- 'targets': [
- {
- 'target_name': 'no_postprocess',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'NO',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- },
- },
- {
- 'target_name': 'no_strip',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'NO',
- },
- },
- {
- 'target_name': 'strip_all',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIP_STYLE': 'all',
- },
- },
- {
- 'target_name': 'strip_nonglobal',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIP_STYLE': 'non-global',
- },
- },
- {
- 'target_name': 'strip_debugging',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIP_STYLE': 'debugging',
- },
- },
- {
- 'target_name': 'strip_all_custom_flags',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIP_STYLE': 'all',
- 'STRIPFLAGS': '-c',
- },
- },
- {
- 'target_name': 'strip_all_bundle',
- 'type': 'shared_library',
- 'mac_bundle': '1',
- 'sources': [ 'file.c', ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIP_STYLE': 'all',
- },
- },
- {
- 'target_name': 'strip_save',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'dependencies': [
- 'subdirectory/subdirectory.gyp:nested_strip_save',
- 'subdirectory/subdirectory.gyp:nested_strip_save_postbuild',
- ],
- 'xcode_settings': {
- 'DEPLOYMENT_POSTPROCESSING': 'YES',
- 'STRIP_INSTALLED_PRODUCT': 'YES',
- 'STRIPFLAGS': '-s $(CHROMIUM_STRIP_SAVE_FILE)',
- 'CHROMIUM_STRIP_SAVE_FILE': 'strip.saves',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/file.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/file.c
deleted file mode 100644
index 9cddaf1b0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/file.c
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-void f() {}
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test.gyp
deleted file mode 100644
index 465670056..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test.gyp
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'my_app',
- 'product_name': 'My App',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_bundle_executable.sh', ],
- },
- ],
- },
- {
- 'target_name': 'bundle_loadable_module',
- 'type': 'loadable_module',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_bundle_loadable_module.sh', ],
- },
- ],
- },
- {
- 'target_name': 'bundle_shared_library',
- 'type': 'shared_library',
- 'mac_bundle': 1,
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_bundle_shared_library.sh', ],
- },
- ],
- },
- # Types 'static_library' and 'none' can't exist as bundles.
-
- {
- 'target_name': 'nonbundle_executable',
- 'type': 'executable',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_nonbundle_executable.sh', ],
- },
- ],
- },
- {
- 'target_name': 'nonbundle_loadable_module',
- 'type': 'loadable_module',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_nonbundle_loadable_module.sh', ],
- },
- ],
- },
- {
- 'target_name': 'nonbundle_shared_library',
- 'type': 'shared_library',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_nonbundle_shared_library.sh', ],
- },
- ],
- },
- {
- 'target_name': 'nonbundle_static_library',
- 'type': 'static_library',
- 'sources': [ 'file.c', ],
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_nonbundle_static_library.sh', ],
- },
- ],
- },
- {
- 'target_name': 'nonbundle_none',
- 'type': 'none',
- 'postbuilds': [
- {
- 'postbuild_name': 'envtest',
- 'action': [ './test_nonbundle_none.sh', ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_executable.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_executable.sh
deleted file mode 100755
index c66ce28f2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_executable.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $MACH_O_TYPE = mh_execute
-test $PRODUCT_TYPE = com.apple.product-type.application
-test "${PRODUCT_NAME}" = "My App"
-test "${FULL_PRODUCT_NAME}" = "My App.app"
-
-test "${EXECUTABLE_NAME}" = "My App"
-test "${EXECUTABLE_PATH}" = "My App.app/Contents/MacOS/My App"
-test "${WRAPPER_NAME}" = "My App.app"
-
-[[ ! $DYLIB_INSTALL_NAME_BASE && ${DYLIB_INSTALL_NAME_BASE-_} ]]
-[[ ! $LD_DYLIB_INSTALL_NAME && ${LD_DYLIB_INSTALL_NAME-_} ]]
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_loadable_module.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_loadable_module.sh
deleted file mode 100755
index 79c11c0fe..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_loadable_module.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $MACH_O_TYPE = mh_bundle
-test $PRODUCT_TYPE = com.apple.product-type.bundle
-test $PRODUCT_NAME = bundle_loadable_module
-test $FULL_PRODUCT_NAME = bundle_loadable_module.bundle
-
-test $EXECUTABLE_NAME = bundle_loadable_module
-test $EXECUTABLE_PATH = \
- "bundle_loadable_module.bundle/Contents/MacOS/bundle_loadable_module"
-test $WRAPPER_NAME = bundle_loadable_module.bundle
-
-[[ ! $DYLIB_INSTALL_NAME_BASE && ${DYLIB_INSTALL_NAME_BASE-_} ]]
-[[ ! $LD_DYLIB_INSTALL_NAME && ${LD_DYLIB_INSTALL_NAME-_} ]]
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_shared_library.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_shared_library.sh
deleted file mode 100755
index 9980327e8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_bundle_shared_library.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $MACH_O_TYPE = mh_dylib
-test $PRODUCT_TYPE = com.apple.product-type.framework
-test $PRODUCT_NAME = bundle_shared_library
-test $FULL_PRODUCT_NAME = bundle_shared_library.framework
-
-test $EXECUTABLE_NAME = bundle_shared_library
-test $EXECUTABLE_PATH = \
- "bundle_shared_library.framework/Versions/A/bundle_shared_library"
-test $WRAPPER_NAME = bundle_shared_library.framework
-
-test $DYLIB_INSTALL_NAME_BASE = "/Library/Frameworks"
-test $LD_DYLIB_INSTALL_NAME = \
- "/Library/Frameworks/bundle_shared_library.framework/Versions/A/bundle_shared_library"
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_executable.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_executable.sh
deleted file mode 100755
index 5758595d8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_executable.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-# For some reason, Xcode doesn't set MACH_O_TYPE for non-bundle executables.
-# Check for "not set", not just "empty":
-[[ ! $MACH_O_TYPE && ${MACH_O_TYPE-_} ]]
-test $PRODUCT_TYPE = com.apple.product-type.tool
-test $PRODUCT_NAME = nonbundle_executable
-test $FULL_PRODUCT_NAME = nonbundle_executable
-
-test $EXECUTABLE_NAME = nonbundle_executable
-test $EXECUTABLE_PATH = nonbundle_executable
-[[ ! $WRAPPER_NAME && ${WRAPPER_NAME-_} ]]
-
-[[ ! $DYLIB_INSTALL_NAME_BASE && ${DYLIB_INSTALL_NAME_BASE-_} ]]
-[[ ! $LD_DYLIB_INSTALL_NAME && ${LD_DYLIB_INSTALL_NAME-_} ]]
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_loadable_module.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_loadable_module.sh
deleted file mode 100755
index 6a668177f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_loadable_module.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $MACH_O_TYPE = mh_bundle
-test $PRODUCT_TYPE = com.apple.product-type.library.dynamic
-test $PRODUCT_NAME = nonbundle_loadable_module
-test $FULL_PRODUCT_NAME = nonbundle_loadable_module.so
-
-test $EXECUTABLE_NAME = nonbundle_loadable_module.so
-test $EXECUTABLE_PATH = nonbundle_loadable_module.so
-[[ ! $WRAPPER_NAME && ${WRAPPER_NAME-_} ]]
-
-test $DYLIB_INSTALL_NAME_BASE = "/usr/local/lib"
-test $LD_DYLIB_INSTALL_NAME = "/usr/local/lib/nonbundle_loadable_module.so"
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_none.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_none.sh
deleted file mode 100755
index a901b9897..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_none.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-# Check for "not set", not just "empty":
-[[ ! $MACH_O_TYPE && ${MACH_O_TYPE-_} ]]
-[[ ! $PRODUCT_TYPE && ${PRODUCT_TYPE-_} ]]
-test $PRODUCT_NAME = nonbundle_none
-[[ ! $FULL_PRODUCT_NAME && ${FULL_PRODUCT_NAME-_} ]]
-
-[[ ! $EXECUTABLE_NAME && ${EXECUTABLE_NAME-_} ]]
-[[ ! $EXECUTABLE_PATH && ${EXECUTABLE_PATH-_} ]]
-[[ ! $WRAPPER_NAME && ${WRAPPER_NAME-_} ]]
-
-[[ ! $DYLIB_INSTALL_NAME_BASE && ${DYLIB_INSTALL_NAME_BASE-_} ]]
-[[ ! $LD_DYLIB_INSTALL_NAME && ${LD_DYLIB_INSTALL_NAME-_} ]]
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_shared_library.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_shared_library.sh
deleted file mode 100755
index d721047fb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_shared_library.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $MACH_O_TYPE = mh_dylib
-test $PRODUCT_TYPE = com.apple.product-type.library.dynamic
-test $PRODUCT_NAME = nonbundle_shared_library
-test $FULL_PRODUCT_NAME = libnonbundle_shared_library.dylib
-
-test $EXECUTABLE_NAME = libnonbundle_shared_library.dylib
-test $EXECUTABLE_PATH = libnonbundle_shared_library.dylib
-[[ ! $WRAPPER_NAME && ${WRAPPER_NAME-_} ]]
-
-test $DYLIB_INSTALL_NAME_BASE = "/usr/local/lib"
-test $LD_DYLIB_INSTALL_NAME = "/usr/local/lib/libnonbundle_shared_library.dylib"
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_static_library.sh b/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_static_library.sh
deleted file mode 100755
index 39e4c8c6d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/type_envvars/test_nonbundle_static_library.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-set -e
-
-test $MACH_O_TYPE = staticlib
-test $PRODUCT_TYPE = com.apple.product-type.library.static
-test $PRODUCT_NAME = nonbundle_static_library
-test $FULL_PRODUCT_NAME = libnonbundle_static_library.a
-
-test $EXECUTABLE_NAME = libnonbundle_static_library.a
-test $EXECUTABLE_PATH = libnonbundle_static_library.a
-[[ ! $WRAPPER_NAME && ${WRAPPER_NAME-_} ]]
-
-[[ ! $DYLIB_INSTALL_NAME_BASE && ${DYLIB_INSTALL_NAME_BASE-_} ]]
-[[ ! $LD_DYLIB_INSTALL_NAME && ${LD_DYLIB_INSTALL_NAME-_} ]]
-
-# Should be set, but empty.
-[[ ! $SDKROOT && ! ${SDKROOT-_} ]]
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/Info.plist b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/Info.plist
deleted file mode 100644
index e11f21e52..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/Info.plist
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${EXECUTABLE_NAME}</string>
- <key>CFBundleIconFile</key>
- <string></string>
- <key>CFBundleIdentifier</key>
- <string>com.google.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>1.0</string>
- <key>CFBundleSignature</key>
- <string>????</string>
- <key>CFBundleVersion</key>
- <string>1</string>
- <key>LSMinimumSystemVersion</key>
- <string>${MACOSX_DEPLOYMENT_TARGET}</string>
- <key>NSMainNibFile</key>
- <string>MainMenu</string>
- <key>NSPrincipalClass</key>
- <string>NSApplication</string>
-
- <key>BraceProcessedKey1</key>
- <string>${BRACE_DEPENDENT_KEY1}</string>
- <key>BraceProcessedKey2</key>
- <string>${BRACE_DEPENDENT_KEY2}</string>
- <key>BraceProcessedKey3</key>
- <string>${BRACE_DEPENDENT_KEY3}</string>
-
- <key>ParenProcessedKey1</key>
- <string>${PAREN_DEPENDENT_KEY1}</string>
- <key>ParenProcessedKey2</key>
- <string>${PAREN_DEPENDENT_KEY2}</string>
- <key>ParenProcessedKey3</key>
- <string>${PAREN_DEPENDENT_KEY3}</string>
-
- <key>BareProcessedKey1</key>
- <string>${BARE_DEPENDENT_KEY1}</string>
- <key>BareProcessedKey2</key>
- <string>${BARE_DEPENDENT_KEY2}</string>
- <key>BareProcessedKey3</key>
- <string>${BARE_DEPENDENT_KEY3}</string>
-
- <key>MixedProcessedKey</key>
- <string>${MIXED_DEPENDENT_KEY}</string>
-</dict>
-</plist>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext1 b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext1
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext1
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext2 b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext2
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext2
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext3 b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext3
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/file.ext3
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/main.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/main.c
deleted file mode 100644
index 1bf4b2a11..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/main.c
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/test.gyp
deleted file mode 100644
index 8f975f7d6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-env-order/test.gyp
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'test_app',
- 'product_name': 'Test',
- 'type': 'executable',
- 'mac_bundle': 1,
- 'sources': [
- 'main.c',
- 'file.ext1',
- 'file.ext2',
- 'file.ext3',
- ],
- # Env vars in copies.
- 'copies': [
- {
- 'destination': '<(PRODUCT_DIR)/${PRODUCT_NAME}-copy-brace',
- 'files': [ 'main.c', ], # ${SOURCE_ROOT} doesn't work with xcode
- },
- {
- 'destination': '<(PRODUCT_DIR)/$(PRODUCT_NAME)-copy-paren',
- 'files': [ '$(SOURCE_ROOT)/main.c', ],
- },
- {
- 'destination': '<(PRODUCT_DIR)/$PRODUCT_NAME-copy-bare',
- 'files': [ 'main.c', ], # $SOURCE_ROOT doesn't work with xcode
- },
- ],
- # Env vars in actions. The $FOO's are here to test that env vars that
- # aren't defined are handled in some way that doesn't break the build.
- 'actions': [
- {
- 'action_name': 'Action copy braces ${PRODUCT_NAME} ${FOO}',
- 'description': 'Action copy braces ${PRODUCT_NAME} ${FOO}',
- 'inputs': [ '${SOURCE_ROOT}/main.c' ],
- # Referencing ${PRODUCT_NAME} in action outputs doesn't work with
- # the Xcode generator (PRODUCT_NAME expands to "Test Support").
- 'outputs': [ '<(PRODUCT_DIR)/action-copy-brace.txt' ],
- 'action': [ 'cp', '${SOURCE_ROOT}/main.c',
- '<(PRODUCT_DIR)/action-copy-brace.txt' ],
- },
- {
- 'action_name': 'Action copy parens $(PRODUCT_NAME) $(FOO)',
- 'description': 'Action copy parens $(PRODUCT_NAME) $(FOO)',
- 'inputs': [ '$(SOURCE_ROOT)/main.c' ],
- # Referencing $(PRODUCT_NAME) in action outputs doesn't work with
- # the Xcode generator (PRODUCT_NAME expands to "Test Support").
- 'outputs': [ '<(PRODUCT_DIR)/action-copy-paren.txt' ],
- 'action': [ 'cp', '$(SOURCE_ROOT)/main.c',
- '<(PRODUCT_DIR)/action-copy-paren.txt' ],
- },
- {
- 'action_name': 'Action copy bare $PRODUCT_NAME $FOO',
- 'description': 'Action copy bare $PRODUCT_NAME $FOO',
- 'inputs': [ '$SOURCE_ROOT/main.c' ],
- # Referencing $PRODUCT_NAME in action outputs doesn't work with
- # the Xcode generator (PRODUCT_NAME expands to "Test Support").
- 'outputs': [ '<(PRODUCT_DIR)/action-copy-bare.txt' ],
- 'action': [ 'cp', '$SOURCE_ROOT/main.c',
- '<(PRODUCT_DIR)/action-copy-bare.txt' ],
- },
- ],
- # Env vars in xcode_settings.
- 'xcode_settings': {
- 'INFOPLIST_FILE': 'Info.plist',
- 'STRING_KEY': '/Source/Project',
-
- 'BRACE_DEPENDENT_KEY2': '${STRING_KEY}/${PRODUCT_NAME}',
- 'BRACE_DEPENDENT_KEY1': 'D:${BRACE_DEPENDENT_KEY2}',
- 'BRACE_DEPENDENT_KEY3': '${PRODUCT_TYPE}:${BRACE_DEPENDENT_KEY1}',
-
- 'PAREN_DEPENDENT_KEY2': '$(STRING_KEY)/$(PRODUCT_NAME)',
- 'PAREN_DEPENDENT_KEY1': 'D:$(PAREN_DEPENDENT_KEY2)',
- 'PAREN_DEPENDENT_KEY3': '$(PRODUCT_TYPE):$(PAREN_DEPENDENT_KEY1)',
-
- 'BARE_DEPENDENT_KEY2': '$STRING_KEY/$PRODUCT_NAME',
- 'BARE_DEPENDENT_KEY1': 'D:$BARE_DEPENDENT_KEY2',
- 'BARE_DEPENDENT_KEY3': '$PRODUCT_TYPE:$BARE_DEPENDENT_KEY1',
-
- 'MIXED_DEPENDENT_KEY': '${STRING_KEY}:$(PRODUCT_NAME):$MACH_O_TYPE',
- },
- # Env vars in rules. The $FOO's are here to test that env vars that
- # aren't defined are handled in some way that doesn't break the build.
- 'rules': [
- {
- 'rule_name': 'brace_rule',
- 'message': 'Rule braces ${PRODUCT_NAME} ${FOO} <(RULE_INPUT_NAME)',
- 'extension': 'ext1',
- 'inputs': [ '${SOURCE_ROOT}/main.c' ],
- 'outputs': [ '<(PRODUCT_DIR)/rule-copy-brace.txt' ],
- 'action': [ 'cp', '${SOURCE_ROOT}/main.c',
- '<(PRODUCT_DIR)/rule-copy-brace.txt' ],
- },
- {
- 'rule_name': 'paren_rule',
- 'message': 'Rule parens $(PRODUCT_NAME) $(FOO) <(RULE_INPUT_NAME)',
- 'extension': 'ext2',
- 'inputs': [ '$(SOURCE_ROOT)/main.c' ],
- 'outputs': [ '<(PRODUCT_DIR)/rule-copy-paren.txt' ],
- 'action': [ 'cp', '$(SOURCE_ROOT)/main.c',
- '<(PRODUCT_DIR)/rule-copy-paren.txt' ],
- },
- # TODO: Fails in xcode. Looks like a bug in the xcode generator though
- # (which uses makefiles for rules, and thinks $PRODUCT_NAME is
- # $(P)RODUCT_NAME).
- #{
- # 'rule_name': 'bare_rule',
- # 'message': 'Rule copy bare $PRODUCT_NAME $FOO',
- # 'extension': 'ext3',
- # 'inputs': [ '$SOURCE_ROOT/main.c' ],
- # 'outputs': [ '<(PRODUCT_DIR)/rule-copy-bare.txt' ],
- # 'action': [ 'cp', '$SOURCE_ROOT/main.c',
- # '<(PRODUCT_DIR)/rule-copy-bare.txt' ],
- #},
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/test.gyp
deleted file mode 100644
index 1ca8b215d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/test.gyp
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'target_defaults': {
- 'xcode_settings': {
- 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES',
- },
- },
-
- 'variables': {
- # Non-failing tests should check that these trivial files in every language
- # still compile correctly.
- 'valid_sources': [
- 'valid_c.c',
- 'valid_cc.cc',
- 'valid_m.m',
- 'valid_mm.mm',
- ],
- },
-
- # Targets come in pairs: 'foo' and 'foo-fail', with the former building with
- # no warnings and the latter not.
- 'targets': [
- # GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO (default: YES):
- {
- 'target_name': 'warn_about_invalid_offsetof_macro',
- 'type': 'executable',
- 'sources': [
- 'warn_about_invalid_offsetof_macro.cc',
- '<@(valid_sources)',
- ],
- 'xcode_settings': {
- 'GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO': 'NO',
- },
- },
- {
- 'target_name': 'warn_about_invalid_offsetof_macro-fail',
- 'type': 'executable',
- 'sources': [ 'warn_about_invalid_offsetof_macro.cc', ],
- },
- # GCC_WARN_ABOUT_MISSING_NEWLINE (default: NO):
- {
- 'target_name': 'warn_about_missing_newline',
- 'type': 'executable',
- 'sources': [
- 'warn_about_missing_newline.c',
- '<@(valid_sources)',
- ],
- },
- {
- 'target_name': 'warn_about_missing_newline-fail',
- 'type': 'executable',
- 'sources': [ 'warn_about_missing_newline.c', ],
- 'xcode_settings': {
- 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_c.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_c.c
deleted file mode 100644
index 2b10ac3ed..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_c.c
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This file exists to test that valid C files compile correctly.
-
-void FunctionInCFile(void) {
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_cc.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_cc.cc
deleted file mode 100644
index 31cddc3c9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_cc.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This file exists to test that valid C++ files compile correctly.
-
-void FunctionInCCFile() {
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_m.m b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_m.m
deleted file mode 100644
index 95bddb272..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_m.m
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This file exists to test that valid Objective-C files compile correctly.
-
-void FunctionInMFile(void) {
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_mm.mm b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_mm.mm
deleted file mode 100644
index a7db7e3ad..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/valid_mm.mm
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This file exists to test that valid Objective-C++ files compile correctly.
-
-void FunctionInMMFile() {
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_invalid_offsetof_macro.cc b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_invalid_offsetof_macro.cc
deleted file mode 100644
index 4a4612be0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_invalid_offsetof_macro.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#define offsetof(st, m) ((unsigned)((char*)&((st*)0)->m - (char*)0))
-
-struct MyStruct {
- virtual void MyFunc() = 0;
- int my_member;
-};
-
-int main() {
- unsigned x = offsetof(MyStruct, my_member);
- return x ? 0 : 1;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_missing_newline.c b/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_missing_newline.c
deleted file mode 100644
index 6faf0895d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/mac/xcode-gcc/warn_about_missing_newline.c
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Important: Don't terminate this file with a newline.
-int main() {
- return 0;
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/dependencies.gyp b/deps/npm/node_modules/node-gyp/gyp/test/make/dependencies.gyp
deleted file mode 100644
index e2bee24fc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/dependencies.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'main',
- 'type': 'executable',
- 'sources': [
- 'main.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/gyptest-dependencies.py b/deps/npm/node_modules/node-gyp/gyp/test/make/gyptest-dependencies.py
deleted file mode 100755
index d215f7678..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/gyptest-dependencies.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that .d files and all.deps are properly generated.
-"""
-
-import TestGyp
-
-# .d files are only used by the make build.
-test = TestGyp.TestGyp(formats=['make'])
-
-test.run_gyp('dependencies.gyp')
-
-test.build('dependencies.gyp', test.ALL)
-
-deps_file = test.built_file_path(".deps/out/Default/obj.target/main/main.o.d")
-test.must_contain(deps_file, "main.h")
-
-# Build a second time to make sure we generate all.deps.
-test.build('dependencies.gyp', test.ALL)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/gyptest-noload.py b/deps/npm/node_modules/node-gyp/gyp/test/make/gyptest-noload.py
deleted file mode 100755
index 1f5103315..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/gyptest-noload.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests the use of the NO_LOAD flag which makes loading sub .mk files
-optional.
-"""
-
-# Python 2.5 needs this for the with statement.
-from __future__ import with_statement
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['make'])
-
-test.run_gyp('all.gyp', chdir='noload')
-
-test.relocate('noload', 'relocate/noload')
-
-test.build('build/all.gyp', test.ALL, chdir='relocate/noload')
-test.run_built_executable('exe', chdir='relocate/noload',
- stdout='Hello from shared.c.\n')
-
-# Just sanity test that NO_LOAD=lib doesn't break anything.
-test.build('build/all.gyp', test.ALL, chdir='relocate/noload',
- arguments=['NO_LOAD=lib'])
-test.run_built_executable('exe', chdir='relocate/noload',
- stdout='Hello from shared.c.\n')
-test.build('build/all.gyp', test.ALL, chdir='relocate/noload',
- arguments=['NO_LOAD=z'])
-test.run_built_executable('exe', chdir='relocate/noload',
- stdout='Hello from shared.c.\n')
-
-# Make sure we can rebuild without reloading the sub .mk file.
-with open('relocate/noload/main.c', 'a') as src_file:
- src_file.write("\n")
-test.build('build/all.gyp', test.ALL, chdir='relocate/noload',
- arguments=['NO_LOAD=lib'])
-test.run_built_executable('exe', chdir='relocate/noload',
- stdout='Hello from shared.c.\n')
-
-# Change shared.c, but verify that it doesn't get rebuild if we don't load it.
-with open('relocate/noload/lib/shared.c', 'w') as shared_file:
- shared_file.write(
- '#include "shared.h"\n'
- 'const char kSharedStr[] = "modified";\n'
- )
-test.build('build/all.gyp', test.ALL, chdir='relocate/noload',
- arguments=['NO_LOAD=lib'])
-test.run_built_executable('exe', chdir='relocate/noload',
- stdout='Hello from shared.c.\n')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/main.cc b/deps/npm/node_modules/node-gyp/gyp/test/make/main.cc
deleted file mode 100644
index 70ac6e46a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/main.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-#include "main.h"
-
-int main(int argc, char *argv[]) {
- printf("hello world\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/main.h b/deps/npm/node_modules/node-gyp/gyp/test/make/main.h
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/main.h
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/make/noload/all.gyp
deleted file mode 100644
index 1617a9e97..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/all.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'exe',
- 'type': 'executable',
- 'sources': [
- 'main.c',
- ],
- 'dependencies': [
- 'lib/shared.gyp:shared',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.c b/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.c
deleted file mode 100644
index 51776c5ac..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "shared.h"
-
-const char kSharedStr[] = "shared.c";
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.gyp b/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.gyp
deleted file mode 100644
index 8a8841b3a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'shared',
- 'type': 'shared_library',
- 'sources': [
- 'shared.c',
- 'shared.h',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.h b/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.h
deleted file mode 100644
index a21da7538..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/lib/shared.h
+++ /dev/null
@@ -1 +0,0 @@
-extern const char kSharedStr[];
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/main.c b/deps/npm/node_modules/node-gyp/gyp/test/make/noload/main.c
deleted file mode 100644
index 46d3c52c2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/make/noload/main.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdio.h>
-
-#include "lib/shared.h"
-
-int main(int argc, char *argv[])
-{
- printf("Hello from %s.\n", kSharedStr);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file0 b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file0
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file0
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file1 b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file1
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file1
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file2 b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file2
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file2
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file3 b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file3
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file3
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file4 b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file4
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/file4
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions-unsorted.py b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions-unsorted.py
deleted file mode 100644
index 5cb033878..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions-unsorted.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure lots of actions in the same target don't cause exceeding command
-line length.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('many-actions-unsorted.gyp')
-test.build('many-actions-unsorted.gyp', test.ALL)
-for i in range(15):
- test.built_file_must_exist('generated_%d.h' % i)
-
-# Make sure the optimized cygwin setup doesn't cause problems for incremental
-# builds.
-test.touch('file1')
-test.build('many-actions-unsorted.gyp', test.ALL)
-
-test.touch('file0')
-test.build('many-actions-unsorted.gyp', test.ALL)
-
-test.touch('file2')
-test.touch('file3')
-test.touch('file4')
-test.build('many-actions-unsorted.gyp', test.ALL)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions.py b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions.py
deleted file mode 100644
index 9c71641f3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/gyptest-many-actions.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure lots of actions in the same target don't cause exceeding command
-line length.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('many-actions.gyp')
-test.build('many-actions.gyp', test.ALL)
-for i in range(200):
- test.built_file_must_exist('generated_%d.h' % i)
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions-unsorted.gyp b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions-unsorted.gyp
deleted file mode 100644
index eec79fe8d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions-unsorted.gyp
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'msvs_cygwin_dirs': ['../../../../<(DEPTH)/third_party/cygwin'],
- },
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'none',
- 'actions': [
- # Notice that the inputs go 0, 1, ..., 0, 1, .... This is to test
- # a regression in the msvs generator in _AddActions.
- {
- 'action_name': 'do_0',
- 'inputs': ['file0'],
- 'outputs': ['<(PRODUCT_DIR)/generated_0.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_0.h',
- ],
- },
- {
- 'action_name': 'do_1',
- 'inputs': ['file1'],
- 'outputs': ['<(PRODUCT_DIR)/generated_1.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_1.h',
- ],
- },
- {
- 'action_name': 'do_2',
- 'inputs': ['file2'],
- 'outputs': ['<(PRODUCT_DIR)/generated_2.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_2.h',
- ],
- },
- {
- 'action_name': 'do_3',
- 'inputs': ['file3'],
- 'outputs': ['<(PRODUCT_DIR)/generated_3.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_3.h',
- ],
- },
- {
- 'action_name': 'do_4',
- 'inputs': ['file4'],
- 'outputs': ['<(PRODUCT_DIR)/generated_4.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_4.h',
- ],
- },
- {
- 'action_name': 'do_5',
- 'inputs': ['file0'],
- 'outputs': ['<(PRODUCT_DIR)/generated_5.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_5.h',
- ],
- },
- {
- 'action_name': 'do_6',
- 'inputs': ['file1'],
- 'outputs': ['<(PRODUCT_DIR)/generated_6.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_6.h',
- ],
- },
- {
- 'action_name': 'do_7',
- 'inputs': ['file2'],
- 'outputs': ['<(PRODUCT_DIR)/generated_7.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_7.h',
- ],
- },
- {
- 'action_name': 'do_8',
- 'inputs': ['file3'],
- 'outputs': ['<(PRODUCT_DIR)/generated_8.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_8.h',
- ],
- },
- {
- 'action_name': 'do_9',
- 'inputs': ['file4'],
- 'outputs': ['<(PRODUCT_DIR)/generated_9.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_9.h',
- ],
- },
- {
- 'action_name': 'do_10',
- 'inputs': ['file0'],
- 'outputs': ['<(PRODUCT_DIR)/generated_10.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_10.h',
- ],
- },
- {
- 'action_name': 'do_11',
- 'inputs': ['file1'],
- 'outputs': ['<(PRODUCT_DIR)/generated_11.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_11.h',
- ],
- },
- {
- 'action_name': 'do_12',
- 'inputs': ['file2'],
- 'outputs': ['<(PRODUCT_DIR)/generated_12.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_12.h',
- ],
- },
- {
- 'action_name': 'do_13',
- 'inputs': ['file3'],
- 'outputs': ['<(PRODUCT_DIR)/generated_13.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_13.h',
- ],
- },
- {
- 'action_name': 'do_14',
- 'inputs': ['file4'],
- 'outputs': ['<(PRODUCT_DIR)/generated_14.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_14.h',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions.gyp
deleted file mode 100644
index 38545d2d8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/many-actions/many-actions.gyp
+++ /dev/null
@@ -1,1817 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'msvs_cygwin_dirs': ['../../../../<(DEPTH)/third_party/cygwin'],
- },
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'do_0',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_0.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_0.h',
- ],
- },
- {
- 'action_name': 'do_1',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_1.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_1.h',
- ],
- },
- {
- 'action_name': 'do_2',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_2.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_2.h',
- ],
- },
- {
- 'action_name': 'do_3',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_3.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_3.h',
- ],
- },
- {
- 'action_name': 'do_4',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_4.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_4.h',
- ],
- },
- {
- 'action_name': 'do_5',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_5.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_5.h',
- ],
- },
- {
- 'action_name': 'do_6',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_6.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_6.h',
- ],
- },
- {
- 'action_name': 'do_7',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_7.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_7.h',
- ],
- },
- {
- 'action_name': 'do_8',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_8.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_8.h',
- ],
- },
- {
- 'action_name': 'do_9',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_9.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_9.h',
- ],
- },
- {
- 'action_name': 'do_10',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_10.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_10.h',
- ],
- },
- {
- 'action_name': 'do_11',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_11.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_11.h',
- ],
- },
- {
- 'action_name': 'do_12',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_12.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_12.h',
- ],
- },
- {
- 'action_name': 'do_13',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_13.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_13.h',
- ],
- },
- {
- 'action_name': 'do_14',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_14.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_14.h',
- ],
- },
- {
- 'action_name': 'do_15',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_15.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_15.h',
- ],
- },
- {
- 'action_name': 'do_16',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_16.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_16.h',
- ],
- },
- {
- 'action_name': 'do_17',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_17.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_17.h',
- ],
- },
- {
- 'action_name': 'do_18',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_18.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_18.h',
- ],
- },
- {
- 'action_name': 'do_19',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_19.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_19.h',
- ],
- },
- {
- 'action_name': 'do_20',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_20.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_20.h',
- ],
- },
- {
- 'action_name': 'do_21',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_21.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_21.h',
- ],
- },
- {
- 'action_name': 'do_22',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_22.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_22.h',
- ],
- },
- {
- 'action_name': 'do_23',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_23.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_23.h',
- ],
- },
- {
- 'action_name': 'do_24',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_24.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_24.h',
- ],
- },
- {
- 'action_name': 'do_25',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_25.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_25.h',
- ],
- },
- {
- 'action_name': 'do_26',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_26.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_26.h',
- ],
- },
- {
- 'action_name': 'do_27',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_27.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_27.h',
- ],
- },
- {
- 'action_name': 'do_28',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_28.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_28.h',
- ],
- },
- {
- 'action_name': 'do_29',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_29.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_29.h',
- ],
- },
- {
- 'action_name': 'do_30',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_30.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_30.h',
- ],
- },
- {
- 'action_name': 'do_31',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_31.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_31.h',
- ],
- },
- {
- 'action_name': 'do_32',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_32.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_32.h',
- ],
- },
- {
- 'action_name': 'do_33',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_33.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_33.h',
- ],
- },
- {
- 'action_name': 'do_34',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_34.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_34.h',
- ],
- },
- {
- 'action_name': 'do_35',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_35.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_35.h',
- ],
- },
- {
- 'action_name': 'do_36',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_36.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_36.h',
- ],
- },
- {
- 'action_name': 'do_37',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_37.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_37.h',
- ],
- },
- {
- 'action_name': 'do_38',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_38.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_38.h',
- ],
- },
- {
- 'action_name': 'do_39',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_39.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_39.h',
- ],
- },
- {
- 'action_name': 'do_40',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_40.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_40.h',
- ],
- },
- {
- 'action_name': 'do_41',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_41.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_41.h',
- ],
- },
- {
- 'action_name': 'do_42',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_42.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_42.h',
- ],
- },
- {
- 'action_name': 'do_43',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_43.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_43.h',
- ],
- },
- {
- 'action_name': 'do_44',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_44.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_44.h',
- ],
- },
- {
- 'action_name': 'do_45',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_45.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_45.h',
- ],
- },
- {
- 'action_name': 'do_46',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_46.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_46.h',
- ],
- },
- {
- 'action_name': 'do_47',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_47.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_47.h',
- ],
- },
- {
- 'action_name': 'do_48',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_48.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_48.h',
- ],
- },
- {
- 'action_name': 'do_49',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_49.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_49.h',
- ],
- },
- {
- 'action_name': 'do_50',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_50.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_50.h',
- ],
- },
- {
- 'action_name': 'do_51',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_51.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_51.h',
- ],
- },
- {
- 'action_name': 'do_52',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_52.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_52.h',
- ],
- },
- {
- 'action_name': 'do_53',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_53.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_53.h',
- ],
- },
- {
- 'action_name': 'do_54',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_54.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_54.h',
- ],
- },
- {
- 'action_name': 'do_55',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_55.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_55.h',
- ],
- },
- {
- 'action_name': 'do_56',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_56.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_56.h',
- ],
- },
- {
- 'action_name': 'do_57',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_57.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_57.h',
- ],
- },
- {
- 'action_name': 'do_58',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_58.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_58.h',
- ],
- },
- {
- 'action_name': 'do_59',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_59.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_59.h',
- ],
- },
- {
- 'action_name': 'do_60',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_60.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_60.h',
- ],
- },
- {
- 'action_name': 'do_61',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_61.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_61.h',
- ],
- },
- {
- 'action_name': 'do_62',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_62.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_62.h',
- ],
- },
- {
- 'action_name': 'do_63',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_63.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_63.h',
- ],
- },
- {
- 'action_name': 'do_64',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_64.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_64.h',
- ],
- },
- {
- 'action_name': 'do_65',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_65.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_65.h',
- ],
- },
- {
- 'action_name': 'do_66',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_66.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_66.h',
- ],
- },
- {
- 'action_name': 'do_67',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_67.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_67.h',
- ],
- },
- {
- 'action_name': 'do_68',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_68.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_68.h',
- ],
- },
- {
- 'action_name': 'do_69',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_69.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_69.h',
- ],
- },
- {
- 'action_name': 'do_70',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_70.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_70.h',
- ],
- },
- {
- 'action_name': 'do_71',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_71.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_71.h',
- ],
- },
- {
- 'action_name': 'do_72',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_72.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_72.h',
- ],
- },
- {
- 'action_name': 'do_73',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_73.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_73.h',
- ],
- },
- {
- 'action_name': 'do_74',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_74.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_74.h',
- ],
- },
- {
- 'action_name': 'do_75',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_75.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_75.h',
- ],
- },
- {
- 'action_name': 'do_76',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_76.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_76.h',
- ],
- },
- {
- 'action_name': 'do_77',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_77.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_77.h',
- ],
- },
- {
- 'action_name': 'do_78',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_78.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_78.h',
- ],
- },
- {
- 'action_name': 'do_79',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_79.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_79.h',
- ],
- },
- {
- 'action_name': 'do_80',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_80.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_80.h',
- ],
- },
- {
- 'action_name': 'do_81',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_81.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_81.h',
- ],
- },
- {
- 'action_name': 'do_82',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_82.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_82.h',
- ],
- },
- {
- 'action_name': 'do_83',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_83.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_83.h',
- ],
- },
- {
- 'action_name': 'do_84',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_84.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_84.h',
- ],
- },
- {
- 'action_name': 'do_85',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_85.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_85.h',
- ],
- },
- {
- 'action_name': 'do_86',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_86.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_86.h',
- ],
- },
- {
- 'action_name': 'do_87',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_87.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_87.h',
- ],
- },
- {
- 'action_name': 'do_88',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_88.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_88.h',
- ],
- },
- {
- 'action_name': 'do_89',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_89.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_89.h',
- ],
- },
- {
- 'action_name': 'do_90',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_90.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_90.h',
- ],
- },
- {
- 'action_name': 'do_91',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_91.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_91.h',
- ],
- },
- {
- 'action_name': 'do_92',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_92.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_92.h',
- ],
- },
- {
- 'action_name': 'do_93',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_93.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_93.h',
- ],
- },
- {
- 'action_name': 'do_94',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_94.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_94.h',
- ],
- },
- {
- 'action_name': 'do_95',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_95.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_95.h',
- ],
- },
- {
- 'action_name': 'do_96',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_96.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_96.h',
- ],
- },
- {
- 'action_name': 'do_97',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_97.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_97.h',
- ],
- },
- {
- 'action_name': 'do_98',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_98.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_98.h',
- ],
- },
- {
- 'action_name': 'do_99',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_99.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_99.h',
- ],
- },
- {
- 'action_name': 'do_100',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_100.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_100.h',
- ],
- },
- {
- 'action_name': 'do_101',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_101.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_101.h',
- ],
- },
- {
- 'action_name': 'do_102',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_102.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_102.h',
- ],
- },
- {
- 'action_name': 'do_103',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_103.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_103.h',
- ],
- },
- {
- 'action_name': 'do_104',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_104.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_104.h',
- ],
- },
- {
- 'action_name': 'do_105',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_105.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_105.h',
- ],
- },
- {
- 'action_name': 'do_106',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_106.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_106.h',
- ],
- },
- {
- 'action_name': 'do_107',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_107.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_107.h',
- ],
- },
- {
- 'action_name': 'do_108',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_108.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_108.h',
- ],
- },
- {
- 'action_name': 'do_109',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_109.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_109.h',
- ],
- },
- {
- 'action_name': 'do_110',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_110.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_110.h',
- ],
- },
- {
- 'action_name': 'do_111',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_111.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_111.h',
- ],
- },
- {
- 'action_name': 'do_112',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_112.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_112.h',
- ],
- },
- {
- 'action_name': 'do_113',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_113.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_113.h',
- ],
- },
- {
- 'action_name': 'do_114',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_114.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_114.h',
- ],
- },
- {
- 'action_name': 'do_115',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_115.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_115.h',
- ],
- },
- {
- 'action_name': 'do_116',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_116.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_116.h',
- ],
- },
- {
- 'action_name': 'do_117',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_117.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_117.h',
- ],
- },
- {
- 'action_name': 'do_118',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_118.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_118.h',
- ],
- },
- {
- 'action_name': 'do_119',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_119.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_119.h',
- ],
- },
- {
- 'action_name': 'do_120',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_120.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_120.h',
- ],
- },
- {
- 'action_name': 'do_121',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_121.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_121.h',
- ],
- },
- {
- 'action_name': 'do_122',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_122.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_122.h',
- ],
- },
- {
- 'action_name': 'do_123',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_123.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_123.h',
- ],
- },
- {
- 'action_name': 'do_124',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_124.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_124.h',
- ],
- },
- {
- 'action_name': 'do_125',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_125.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_125.h',
- ],
- },
- {
- 'action_name': 'do_126',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_126.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_126.h',
- ],
- },
- {
- 'action_name': 'do_127',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_127.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_127.h',
- ],
- },
- {
- 'action_name': 'do_128',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_128.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_128.h',
- ],
- },
- {
- 'action_name': 'do_129',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_129.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_129.h',
- ],
- },
- {
- 'action_name': 'do_130',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_130.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_130.h',
- ],
- },
- {
- 'action_name': 'do_131',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_131.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_131.h',
- ],
- },
- {
- 'action_name': 'do_132',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_132.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_132.h',
- ],
- },
- {
- 'action_name': 'do_133',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_133.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_133.h',
- ],
- },
- {
- 'action_name': 'do_134',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_134.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_134.h',
- ],
- },
- {
- 'action_name': 'do_135',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_135.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_135.h',
- ],
- },
- {
- 'action_name': 'do_136',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_136.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_136.h',
- ],
- },
- {
- 'action_name': 'do_137',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_137.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_137.h',
- ],
- },
- {
- 'action_name': 'do_138',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_138.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_138.h',
- ],
- },
- {
- 'action_name': 'do_139',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_139.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_139.h',
- ],
- },
- {
- 'action_name': 'do_140',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_140.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_140.h',
- ],
- },
- {
- 'action_name': 'do_141',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_141.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_141.h',
- ],
- },
- {
- 'action_name': 'do_142',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_142.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_142.h',
- ],
- },
- {
- 'action_name': 'do_143',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_143.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_143.h',
- ],
- },
- {
- 'action_name': 'do_144',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_144.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_144.h',
- ],
- },
- {
- 'action_name': 'do_145',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_145.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_145.h',
- ],
- },
- {
- 'action_name': 'do_146',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_146.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_146.h',
- ],
- },
- {
- 'action_name': 'do_147',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_147.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_147.h',
- ],
- },
- {
- 'action_name': 'do_148',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_148.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_148.h',
- ],
- },
- {
- 'action_name': 'do_149',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_149.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_149.h',
- ],
- },
- {
- 'action_name': 'do_150',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_150.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_150.h',
- ],
- },
- {
- 'action_name': 'do_151',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_151.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_151.h',
- ],
- },
- {
- 'action_name': 'do_152',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_152.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_152.h',
- ],
- },
- {
- 'action_name': 'do_153',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_153.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_153.h',
- ],
- },
- {
- 'action_name': 'do_154',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_154.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_154.h',
- ],
- },
- {
- 'action_name': 'do_155',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_155.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_155.h',
- ],
- },
- {
- 'action_name': 'do_156',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_156.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_156.h',
- ],
- },
- {
- 'action_name': 'do_157',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_157.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_157.h',
- ],
- },
- {
- 'action_name': 'do_158',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_158.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_158.h',
- ],
- },
- {
- 'action_name': 'do_159',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_159.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_159.h',
- ],
- },
- {
- 'action_name': 'do_160',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_160.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_160.h',
- ],
- },
- {
- 'action_name': 'do_161',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_161.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_161.h',
- ],
- },
- {
- 'action_name': 'do_162',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_162.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_162.h',
- ],
- },
- {
- 'action_name': 'do_163',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_163.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_163.h',
- ],
- },
- {
- 'action_name': 'do_164',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_164.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_164.h',
- ],
- },
- {
- 'action_name': 'do_165',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_165.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_165.h',
- ],
- },
- {
- 'action_name': 'do_166',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_166.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_166.h',
- ],
- },
- {
- 'action_name': 'do_167',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_167.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_167.h',
- ],
- },
- {
- 'action_name': 'do_168',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_168.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_168.h',
- ],
- },
- {
- 'action_name': 'do_169',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_169.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_169.h',
- ],
- },
- {
- 'action_name': 'do_170',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_170.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_170.h',
- ],
- },
- {
- 'action_name': 'do_171',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_171.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_171.h',
- ],
- },
- {
- 'action_name': 'do_172',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_172.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_172.h',
- ],
- },
- {
- 'action_name': 'do_173',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_173.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_173.h',
- ],
- },
- {
- 'action_name': 'do_174',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_174.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_174.h',
- ],
- },
- {
- 'action_name': 'do_175',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_175.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_175.h',
- ],
- },
- {
- 'action_name': 'do_176',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_176.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_176.h',
- ],
- },
- {
- 'action_name': 'do_177',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_177.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_177.h',
- ],
- },
- {
- 'action_name': 'do_178',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_178.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_178.h',
- ],
- },
- {
- 'action_name': 'do_179',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_179.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_179.h',
- ],
- },
- {
- 'action_name': 'do_180',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_180.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_180.h',
- ],
- },
- {
- 'action_name': 'do_181',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_181.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_181.h',
- ],
- },
- {
- 'action_name': 'do_182',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_182.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_182.h',
- ],
- },
- {
- 'action_name': 'do_183',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_183.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_183.h',
- ],
- },
- {
- 'action_name': 'do_184',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_184.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_184.h',
- ],
- },
- {
- 'action_name': 'do_185',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_185.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_185.h',
- ],
- },
- {
- 'action_name': 'do_186',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_186.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_186.h',
- ],
- },
- {
- 'action_name': 'do_187',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_187.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_187.h',
- ],
- },
- {
- 'action_name': 'do_188',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_188.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_188.h',
- ],
- },
- {
- 'action_name': 'do_189',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_189.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_189.h',
- ],
- },
- {
- 'action_name': 'do_190',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_190.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_190.h',
- ],
- },
- {
- 'action_name': 'do_191',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_191.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_191.h',
- ],
- },
- {
- 'action_name': 'do_192',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_192.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_192.h',
- ],
- },
- {
- 'action_name': 'do_193',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_193.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_193.h',
- ],
- },
- {
- 'action_name': 'do_194',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_194.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_194.h',
- ],
- },
- {
- 'action_name': 'do_195',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_195.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_195.h',
- ],
- },
- {
- 'action_name': 'do_196',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_196.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_196.h',
- ],
- },
- {
- 'action_name': 'do_197',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_197.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_197.h',
- ],
- },
- {
- 'action_name': 'do_198',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_198.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_198.h',
- ],
- },
- {
- 'action_name': 'do_199',
- 'inputs': [],
- 'outputs': ['<(PRODUCT_DIR)/generated_199.h'],
- 'action': [
- 'touch',
- '<(PRODUCT_DIR)/generated_199.h',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/module/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/module/gyptest-default.py
deleted file mode 100755
index 7be5a7234..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/module/gyptest-default.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple build of a "Hello, world!" program with loadable modules. The
-default for all platforms should be to output the loadable modules to the same
-path as the executable.
-"""
-
-import TestGyp
-
-# Android doesn't support loadable modules
-test = TestGyp.TestGyp(formats=['!android'])
-
-test.run_gyp('module.gyp', chdir='src')
-
-test.build('module.gyp', test.ALL, chdir='src')
-
-expect = """\
-Hello from program.c
-Hello from lib1.c
-Hello from lib2.c
-"""
-test.run_built_executable('program', chdir='src', stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/module/src/lib1.c b/deps/npm/node_modules/node-gyp/gyp/test/module/src/lib1.c
deleted file mode 100644
index 8de0e94be..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/module/src/lib1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void module_main(void)
-{
- fprintf(stdout, "Hello from lib1.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/module/src/lib2.c b/deps/npm/node_modules/node-gyp/gyp/test/module/src/lib2.c
deleted file mode 100644
index 266396dc9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/module/src/lib2.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-#ifdef _WIN32
-__declspec(dllexport)
-#endif
-void module_main(void)
-{
- fprintf(stdout, "Hello from lib2.c\n");
- fflush(stdout);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/module/src/module.gyp b/deps/npm/node_modules/node-gyp/gyp/test/module/src/module.gyp
deleted file mode 100644
index cc567ef7b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/module/src/module.gyp
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'conditions': [
- ['OS=="win"', {
- 'defines': ['PLATFORM_WIN'],
- }],
- ['OS=="mac"', {
- 'defines': ['PLATFORM_MAC'],
- }],
- ['OS=="linux"', {
- 'defines': ['PLATFORM_LINUX'],
- # Support 64-bit shared libs (also works fine for 32-bit).
- 'cflags': ['-fPIC'],
- 'libraries': ['-ldl'],
- }],
- ],
- },
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'dependencies': [
- 'lib1',
- 'lib2',
- ],
- 'sources': [
- 'program.c',
- ],
- },
- {
- 'target_name': 'lib1',
- 'type': 'loadable_module',
- 'product_name': 'lib1',
- 'product_prefix': '',
- 'xcode_settings': {'OTHER_LDFLAGS': ['-dynamiclib'], 'MACH_O_TYPE': ''},
- 'sources': [
- 'lib1.c',
- ],
- },
- {
- 'target_name': 'lib2',
- 'product_name': 'lib2',
- 'product_prefix': '',
- 'type': 'loadable_module',
- 'xcode_settings': {'OTHER_LDFLAGS': ['-dynamiclib'], 'MACH_O_TYPE': ''},
- 'sources': [
- 'lib2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/module/src/program.c b/deps/npm/node_modules/node-gyp/gyp/test/module/src/program.c
deleted file mode 100644
index b2f332091..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/module/src/program.c
+++ /dev/null
@@ -1,111 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-#if defined(PLATFORM_WIN)
-#include <windows.h>
-#elif defined(PLATFORM_MAC) || defined(PLATFORM_LINUX)
-#include <dlfcn.h>
-#include <libgen.h>
-#include <string.h>
-#include <sys/param.h>
-#define MAX_PATH PATH_MAX
-#endif
-
-#if defined(PLATFORM_WIN)
-#define MODULE_SUFFIX ".dll"
-#elif defined(PLATFORM_MAC)
-#define MODULE_SUFFIX ".so"
-#elif defined(PLATFORM_LINUX)
-#define MODULE_SUFFIX ".so"
-#endif
-
-typedef void (*module_symbol)(void);
-char bin_path[MAX_PATH + 1];
-
-
-void CallModule(const char* module) {
- char module_path[MAX_PATH + 1];
- const char* module_function = "module_main";
- module_symbol funcptr;
-#if defined(PLATFORM_WIN)
- HMODULE dl;
- char drive[_MAX_DRIVE];
- char dir[_MAX_DIR];
-
- if (_splitpath_s(bin_path, drive, _MAX_DRIVE, dir, _MAX_DIR,
- NULL, 0, NULL, 0)) {
- fprintf(stderr, "Failed to split executable path.\n");
- return;
- }
- if (_makepath_s(module_path, MAX_PATH, drive, dir, module, MODULE_SUFFIX)) {
- fprintf(stderr, "Failed to calculate module path.\n");
- return;
- }
-
- dl = LoadLibrary(module_path);
- if (!dl) {
- fprintf(stderr, "Failed to open module: %s\n", module_path);
- return;
- }
-
- funcptr = (module_symbol) GetProcAddress(dl, module_function);
- if (!funcptr) {
- fprintf(stderr, "Failed to find symbol: %s\n", module_function);
- return;
- }
- funcptr();
-
- FreeLibrary(dl);
-#elif defined(PLATFORM_MAC) || defined(PLATFORM_LINUX)
- void* dl;
- char* path_copy = strdup(bin_path);
- char* bin_dir = dirname(path_copy);
- int path_size = snprintf(module_path, MAX_PATH, "%s/%s%s", bin_dir, module,
- MODULE_SUFFIX);
- free(path_copy);
- if (path_size < 0 || path_size > MAX_PATH) {
- fprintf(stderr, "Failed to calculate module path.\n");
- return;
- }
- module_path[path_size] = 0;
-
- dl = dlopen(module_path, RTLD_LAZY);
- if (!dl) {
- fprintf(stderr, "Failed to open module: %s\n", module_path);
- return;
- }
-
- funcptr = dlsym(dl, module_function);
- if (!funcptr) {
- fprintf(stderr, "Failed to find symbol: %s\n", module_function);
- return;
- }
- funcptr();
-
- dlclose(dl);
-#endif
-}
-
-int main(int argc, char *argv[])
-{
- fprintf(stdout, "Hello from program.c\n");
- fflush(stdout);
-
-#if defined(PLATFORM_WIN)
- if (!GetModuleFileName(NULL, bin_path, MAX_PATH)) {
- fprintf(stderr, "Failed to determine executable path.\n");
- return;
- }
-#elif defined(PLATFORM_MAC) || defined(PLATFORM_LINUX)
- // Using argv[0] should be OK here since we control how the tests run, and
- // can avoid exec and such issues that make it unreliable.
- if (!realpath(argv[0], bin_path)) {
- fprintf(stderr, "Failed to determine executable path (%s).\n", argv[0]);
- return;
- }
-#endif
-
- CallModule("lib1");
- CallModule("lib2");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/gyptest-config_attrs.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/gyptest-config_attrs.py
deleted file mode 100644
index 15f4b4ef2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/gyptest-config_attrs.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that msvs_configuration_attributes and
-msbuild_configuration_attributes are applied by using
-them to set the OutputDirectory.
-"""
-
-import TestGyp
-import os
-
-test = TestGyp.TestGyp(workdir='workarea_all',formats=['msvs'])
-
-vc_version = 'VC90'
-
-if os.getenv('GYP_MSVS_VERSION'):
- vc_version = ['VC90','VC100'][int(os.getenv('GYP_MSVS_VERSION')) >= 2010]
-
-expected_exe_file = os.path.join(test.workdir, vc_version, 'hello.exe')
-
-test.run_gyp('hello.gyp')
-
-test.build('hello.gyp')
-
-test.must_exist(expected_exe_file)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.c
deleted file mode 100644
index 5a8072db8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello, world!\n");
- return 0;
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.gyp
deleted file mode 100644
index 810a80edd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/config_attrs/hello.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- 'msvs_configuration_attributes': {
- 'OutputDirectory':'$(SolutionDir)VC90/'
- },
- 'msbuild_configuration_attributes': {
- 'OutputDirectory':'$(SolutionDir)VC100/',
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/base/base.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/base/base.gyp
deleted file mode 100644
index b7c9fc6d8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/base/base.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'static_library',
- 'sources': [
- 'a.c',
- ],
- },
- {
- 'target_name': 'b',
- 'type': 'static_library',
- 'sources': [
- 'b.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/express.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/express.gyp
deleted file mode 100644
index 917abe2cc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/express.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'express',
- 'type': 'executable',
- 'dependencies': [
- 'base/base.gyp:a',
- 'base/base.gyp:b',
- ],
- 'sources': [
- 'main.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/gyptest-express.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/gyptest-express.py
deleted file mode 100755
index 54c06f664..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/express/gyptest-express.py
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that flat solutions get generated for Express versions of
-Visual Studio.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['msvs'])
-
-test.run_gyp('express.gyp', '-G', 'msvs_version=2005')
-test.must_contain('express.sln', '(base)')
-
-test.run_gyp('express.gyp', '-G', 'msvs_version=2008')
-test.must_contain('express.sln', '(base)')
-
-test.run_gyp('express.gyp', '-G', 'msvs_version=2005e')
-test.must_not_contain('express.sln', '(base)')
-
-test.run_gyp('express.gyp', '-G', 'msvs_version=2008e')
-test.must_not_contain('express.sln', '(base)')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/gyptest-all.py
deleted file mode 100644
index 5a370f6b4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/gyptest-all.py
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that msvs_list_excluded_files=0 doesn't list files that would
-normally be in _excluded_files, and that if that flag is not set, then they
-are still listed.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['msvs'], workdir='workarea_all')
-
-
-# with the flag set to 0
-try:
- os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_list_excluded_files=0'
- test.run_gyp('hello_exclude.gyp')
-finally:
- del os.environ['GYP_GENERATOR_FLAGS']
-if test.uses_msbuild:
- test.must_not_contain('hello.vcxproj', 'hello_mac')
-else:
- test.must_not_contain('hello.vcproj', 'hello_mac')
-
-
-# with the flag not set
-test.run_gyp('hello_exclude.gyp')
-if test.uses_msbuild:
- test.must_contain('hello.vcxproj', 'hello_mac')
-else:
- test.must_contain('hello.vcproj', 'hello_mac')
-
-
-# with the flag explicitly set to 1
-try:
- os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_list_excluded_files=1'
- test.run_gyp('hello_exclude.gyp')
-finally:
- del os.environ['GYP_GENERATOR_FLAGS']
-if test.uses_msbuild:
- test.must_contain('hello.vcxproj', 'hello_mac')
-else:
- test.must_contain('hello.vcproj', 'hello_mac')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello.cpp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello.cpp
deleted file mode 100644
index 69acc38bd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_exclude.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_exclude.gyp
deleted file mode 100644
index aa160f236..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_exclude.gyp
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.cpp',
- 'hello_mac.cpp',
- ],
- 'conditions': [
- ['OS!="mac"', {'sources!': ['hello_mac.cpp']}],
- ]
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_mac.cpp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_mac.cpp
deleted file mode 100644
index b9f6242c4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/list_excluded/hello_mac.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-int hello2() {
- printf("Hello, two!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/gyptest-missing.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/gyptest-missing.py
deleted file mode 100644
index 62a99ef0f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/gyptest-missing.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that missing 'sources' files are treated as fatal errors when the
-the generator flag 'msvs_error_on_missing_sources' is set.
-"""
-
-import TestGyp
-import os
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'], workdir='workarea_all')
-
- # With the flag not set
- test.run_gyp('hello_missing.gyp')
-
- # With the flag explicitly set to 0
- try:
- os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_error_on_missing_sources=0'
- test.run_gyp('hello_missing.gyp')
- finally:
- del os.environ['GYP_GENERATOR_FLAGS']
-
- # With the flag explicitly set to 1
- try:
- os.environ['GYP_GENERATOR_FLAGS'] = 'msvs_error_on_missing_sources=1'
- # Test to make sure GYP raises an exception (exit status 1). Since this will
- # also print a backtrace, ensure that TestGyp is not checking that stderr is
- # empty by specifying None, which means do not perform any checking.
- # Instead, stderr is checked below to ensure it contains the expected
- # output.
- test.run_gyp('hello_missing.gyp', status=1, stderr=None)
- finally:
- del os.environ['GYP_GENERATOR_FLAGS']
- test.must_contain_any_line(test.stderr(),
- ["Missing input files:"])
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/hello_missing.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/hello_missing.gyp
deleted file mode 100644
index c08926bbf..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/missing_sources/hello_missing.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello_missing.cpp',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.props b/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.props
deleted file mode 100644
index b688f663d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.props
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup Label="UserMacros">
- <AppName>Greet</AppName>
- </PropertyGroup>
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
- <ItemGroup>
- <BuildMacro Include="AppName">
- <Value>$(AppName)</Value>
- </BuildMacro>
- </ItemGroup>
-</Project>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.vsprops b/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.vsprops
deleted file mode 100644
index 84b9af380..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/AppName.vsprops
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="Common"
- >
- <UserMacro
- Name="AppName"
- Value="Greet"
- />
-</VisualStudioPropertySheet>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/gyptest-props.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/gyptest-props.py
deleted file mode 100644
index abd4df224..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/gyptest-props.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies props files are added by using a
-props file to set the name of the built executable.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_all', formats=['msvs'])
-
-test.run_gyp('hello.gyp')
-
-test.build('hello.gyp')
-
-test.built_file_must_exist('Greet.exe')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.c
deleted file mode 100644
index b41318dc0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello, world!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.gyp
deleted file mode 100644
index 5a58317fa..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/props/hello.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'product_name': '$(AppName)',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- 'msvs_props': [
- '$(SolutionDir)AppName.vsprops'
- ],
- 'msbuild_props': [
- '$(SolutionDir)AppName.props'
- ],
- },
- ],
-}
-
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/common.gypi b/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/common.gypi
deleted file mode 100644
index c6fa341d6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/common.gypi
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'default_configuration': 'Baz',
- 'configurations': {
- 'Baz': {
- 'msvs_configuration_attributes': {
- 'OutputDirectory': '<(DEPTH)/foo',
- 'IntermediateDirectory': '$(OutDir)/bar',
- },
- },
- },
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/gyptest-shared_output.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/gyptest-shared_output.py
deleted file mode 100644
index 270b280e6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/gyptest-shared_output.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test checking that IntermediateDirectory can be defined in terms of
-OutputDirectory. We previously had emitted the definition of
-IntermediateDirectory before the definition of OutputDirectory.
-This is required so that $(IntDir) can be based on $(OutDir).
-"""
-
-import TestGyp
-import os
-
-# NOTE: This test really is vcbuild/msbuild specific (not applicable to windows
-# ninja), as it is testing the msvs output location when opening an .sln
-# other than all.sln.
-test = TestGyp.TestGyp(workdir='workarea_shared_output', formats=['msvs'])
-
-test.run_gyp('hello.gyp')
-test.set_configuration('Baz')
-
-test.build('there/there.gyp', test.ALL)
-test.must_exist(os.path.join(test.workdir, 'foo', 'there.exe'))
-test.must_exist(os.path.join(test.workdir, 'foo', 'bar', 'there.obj'))
-
-test.build('hello.gyp', test.ALL)
-test.must_exist(os.path.join(test.workdir, 'foo', 'hello.exe'))
-test.must_exist(os.path.join(test.workdir, 'foo', 'bar', 'hello.obj'))
-
-if test.format == 'msvs':
- if test.uses_msbuild:
- test.must_contain('pull_in_there.vcxproj',
- '<IntDir>$(OutDir)bar\\</IntDir>')
- else:
- test.must_contain('pull_in_there.vcproj',
- 'IntermediateDirectory="$(OutDir)bar\\"')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.c
deleted file mode 100644
index 44d1b0dc9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.gyp
deleted file mode 100644
index f80e5cfca..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/hello.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': ['common.gypi'],
- 'targets': [
- {
- 'target_name': 'pull_in_there',
- 'type': 'none',
- 'dependencies': ['there/there.gyp:*'],
- },
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.c b/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.c
deleted file mode 100644
index 44d1b0dc9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.gyp
deleted file mode 100644
index 56feff326..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/shared_output/there/there.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': ['../common.gypi'],
- 'targets': [
- {
- 'target_name': 'there',
- 'type': 'executable',
- 'sources': [
- 'there.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/gyptest-all.py
deleted file mode 100644
index cc248fbd6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/gyptest-all.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that uldi can be disabled on a per-project-reference basis in vs2010.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['msvs'], workdir='workarea_all')
-
-test.run_gyp('hello.gyp')
-
-if test.uses_msbuild:
- test.must_contain('hello.vcxproj', '<UseLibraryDependencyInputs>false')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.c
deleted file mode 100644
index 276909369..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-extern int hello2();
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- hello2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.gyp
deleted file mode 100644
index a2bf2badb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- 'dependencies': [
- 'hellolib',
- ]
- },
- {
- 'target_name': 'hellolib',
- 'type': 'static_library',
- 'sources': [
- 'hello2.c',
- ],
- 'msvs_2010_disable_uldi_when_referenced': 1,
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello2.c b/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello2.c
deleted file mode 100644
index e2f23238d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/msvs/uldi2010/hello2.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int hello2() {
- printf("Hello, two!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-all.py
deleted file mode 100755
index 9f157c4f8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-all.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('multiple.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# TODO(sgk): remove stderr=None when the --generator-output= support
-# gets rid of the scons warning
-test.build('multiple.gyp', test.ALL, chdir='relocate/src', stderr=None)
-
-expect1 = """\
-hello from prog1.c
-hello from common.c
-"""
-
-expect2 = """\
-hello from prog2.c
-hello from common.c
-"""
-
-test.run_built_executable('prog1', stdout=expect1, chdir='relocate/src')
-test.run_built_executable('prog2', stdout=expect2, chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-default.py
deleted file mode 100755
index 8d5072d23..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/gyptest-default.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('multiple.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# TODO(sgk): remove stderr=None when the --generator-output= support
-# gets rid of the scons warning
-test.build('multiple.gyp', chdir='relocate/src', stderr=None)
-
-expect1 = """\
-hello from prog1.c
-hello from common.c
-"""
-
-expect2 = """\
-hello from prog2.c
-hello from common.c
-"""
-
-test.run_built_executable('prog1', stdout=expect1, chdir='relocate/src')
-test.run_built_executable('prog2', stdout=expect2, chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/common.c b/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/common.c
deleted file mode 100644
index f1df7c143..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/common.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-void common(void)
-{
- printf("hello from common.c\n");
- return;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/multiple.gyp b/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/multiple.gyp
deleted file mode 100644
index 3db4ea30c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/multiple.gyp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'prog1',
- 'type': 'executable',
- 'sources': [
- 'prog1.c',
- 'common.c',
- ],
- },
- {
- 'target_name': 'prog2',
- 'type': 'executable',
- 'sources': [
- 'prog2.c',
- 'common.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog1.c
deleted file mode 100644
index d55f8af1d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog1.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void common(void);
-
-int main(int argc, char *argv[])
-{
- printf("hello from prog1.c\n");
- common();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog2.c
deleted file mode 100644
index 760590eb6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/multiple-targets/src/prog2.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void common(void);
-
-int main(int argc, char *argv[])
-{
- printf("hello from prog2.c\n");
- common();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/gyptest-action-dependencies.py b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/gyptest-action-dependencies.py
deleted file mode 100755
index 9c5acea8c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/gyptest-action-dependencies.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that building an object file correctly depends on running actions in
-dependent targets, but not the targets themselves.
-"""
-
-import os
-import sys
-import TestGyp
-
-# NOTE(piman): This test will not work with other generators because:
-# - it explicitly tests the optimization, which is not implemented (yet?) on
-# other generators
-# - it relies on the exact path to output object files, which is generator
-# dependent, and actually, relies on the ability to build only that object file,
-# which I don't think is available on all generators.
-# TODO(piman): Extend to other generators when possible.
-test = TestGyp.TestGyp(formats=['ninja'])
-
-test.run_gyp('action_dependencies.gyp', chdir='src')
-
-chdir = 'relocate/src'
-test.relocate('src', chdir)
-
-objext = '.obj' if sys.platform == 'win32' else '.o'
-
-test.build('action_dependencies.gyp',
- os.path.join('obj', 'b.b' + objext),
- chdir=chdir)
-
-# The 'a' actions should be run (letting b.c compile), but the a static library
-# should not be built.
-test.built_file_must_not_exist('a', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_not_exist('b', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_exist(os.path.join('obj', 'b.b' + objext), chdir=chdir)
-
-test.build('action_dependencies.gyp',
- os.path.join('obj', 'c.c' + objext),
- chdir=chdir)
-
-# 'a' and 'b' should be built, so that the 'c' action succeeds, letting c.c
-# compile
-test.built_file_must_exist('a', type=test.STATIC_LIB, chdir=chdir)
-test.built_file_must_exist('b', type=test.EXECUTABLE, chdir=chdir)
-test.built_file_must_exist(os.path.join('obj', 'c.c' + objext), chdir=chdir)
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.c b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.c
deleted file mode 100644
index 4d7af9b26..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "a.h"
-
-int funcA() {
- return 42;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.h b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.h
deleted file mode 100644
index 335db5673..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/a.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef A_H_
-#define A_H_
-
-#include "a/generated.h"
-
-int funcA();
-
-#endif // A_H_
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/action_dependencies.gyp b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/action_dependencies.gyp
deleted file mode 100644
index 5baa7a7d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/action_dependencies.gyp
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'static_library',
- 'sources': [
- 'a.c',
- 'a.h',
- ],
- 'actions': [
- {
- 'action_name': 'generate_headers',
- 'inputs': [
- 'emit.py'
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/a/generated.h'
- ],
- 'action': [
- 'python',
- 'emit.py',
- '<(SHARED_INTERMEDIATE_DIR)/a/generated.h',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- },
- },
- {
- 'target_name': 'b',
- 'type': 'executable',
- 'sources': [
- 'b.c',
- 'b.h',
- ],
- 'dependencies': [
- 'a',
- ],
- },
- {
- 'target_name': 'c',
- 'type': 'static_library',
- 'sources': [
- 'c.c',
- 'c.h',
- ],
- 'dependencies': [
- 'b',
- ],
- 'actions': [
- {
- 'action_name': 'generate_headers',
- 'inputs': [
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/c/generated.h'
- ],
- 'action': [
- '<(PRODUCT_DIR)/b',
- '<(SHARED_INTERMEDIATE_DIR)/c/generated.h',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- 'direct_dependent_settings': {
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.c b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.c
deleted file mode 100644
index 824464695..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-#include "b.h"
-
-int main(int argc, char** argv) {
- FILE* f;
- if (argc < 2)
- return 1;
- f = fopen(argv[1], "wt");
- fprintf(f, "#define VALUE %d\n", funcA());
- fclose(f);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.h b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.h
deleted file mode 100644
index 91362cd89..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/b.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef B_H_
-#define B_H_
-
-#include "a.h"
-
-int funcB();
-
-#endif // B_H_
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.c b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.c
deleted file mode 100644
index b412087ec..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "c.h"
-
-int funcC() {
- return VALUE;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.h b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.h
deleted file mode 100644
index c81a45bbe..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/c.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef C_H_
-#define C_H_
-
-#include "c/generated.h"
-
-int funcC();
-
-#endif // C_H_
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/emit.py b/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/emit.py
deleted file mode 100755
index 2df74b79a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/action_dependencies/src/emit.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1], 'wb')
-f.write('/* Hello World */\n')
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained-dependency.gyp b/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained-dependency.gyp
deleted file mode 100644
index 3fe68ae85..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained-dependency.gyp
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # This first target generates a header.
- {
- 'target_name': 'generate_header',
- 'type': 'none',
- 'msvs_cygwin_shell': '0',
- 'actions': [
- {
- 'action_name': 'generate header',
- 'inputs': [],
- 'outputs': ['<(SHARED_INTERMEDIATE_DIR)/generated/header.h'],
- 'action': [
- 'python', '-c', 'open(<(_outputs), "w")'
- ]
- },
- ],
- 'all_dependent_settings': {
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- },
- },
-
- # This intermediate target does nothing other than pull in a
- # dependency on the above generated target.
- {
- 'target_name': 'chain',
- 'type': 'none',
- 'dependencies': [
- 'generate_header',
- ],
- },
-
- # This final target is:
- # - a static library (so gyp doesn't transitively pull in dependencies);
- # - that relies on the generated file two dependencies away.
- {
- 'target_name': 'chained',
- 'type': 'static_library',
- 'dependencies': [
- 'chain',
- ],
- 'sources': [
- 'chained.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained.c b/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained.c
deleted file mode 100644
index e4eb5e861..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/chained.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "generated/header.h"
-
-int main(int argc, char** argv) {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py b/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py
deleted file mode 100755
index 9fcd9a45d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/chained-dependency/gyptest-chained-dependency.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that files generated by two-steps-removed actions are built before
-dependent compile steps.
-"""
-
-import os
-import sys
-import TestGyp
-
-# This test is Ninja-specific in that:
-# - the bug only showed nondeterministically in parallel builds;
-# - it relies on a ninja-specific output file path.
-
-test = TestGyp.TestGyp(formats=['ninja'])
-test.run_gyp('chained-dependency.gyp')
-objext = '.obj' if sys.platform == 'win32' else '.o'
-test.build('chained-dependency.gyp',
- os.path.join('obj', 'chained.chained' + objext))
-# The test passes if the .o file builds successfully.
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/gyptest-normalize-paths.py b/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/gyptest-normalize-paths.py
deleted file mode 100644
index af48d071c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/gyptest-normalize-paths.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure paths are normalized with VS macros properly expanded on Windows.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['ninja'])
-
- test.run_gyp('normalize-paths.gyp')
-
- # We can't use existence tests because any case will pass, so we check the
- # contents of ninja files directly since that's what we're most concerned
- # with anyway.
- subninja = open(test.built_file_path('obj/some_target.ninja')).read()
- if '$!product_dir' in subninja:
- test.fail_test()
- if 'out\\Default' in subninja:
- test.fail_test()
-
- second = open(test.built_file_path('obj/second.ninja')).read()
- if ('..\\..\\things\\AnotherName.exe' in second or
- 'AnotherName.exe' not in second):
- test.fail_test()
-
- action = open(test.built_file_path('obj/action.ninja')).read()
- if '..\\..\\out\\Default' in action:
- test.fail_test()
- if '..\\..\\SomethingElse' in action or 'SomethingElse' not in action:
- test.fail_test()
- if '..\\..\\SomeOtherInput' in action or 'SomeOtherInput' not in action:
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/normalize-paths.gyp b/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/normalize-paths.gyp
deleted file mode 100644
index ba0ee2815..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/normalize-paths-win/normalize-paths.gyp
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'Some_Target',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '<(PRODUCT_DIR)/stuff/AnotherName.exe',
- },
- },
- 'sources': [
- 'HeLLo.cc',
- 'blOrP.idl',
- ],
- },
- {
- 'target_name': 'second',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '$(OutDir)\\things\\AnotherName.exe',
- },
- },
- 'sources': [
- 'HeLLo.cc',
- ],
- },
- {
- 'target_name': 'action',
- 'type': 'none',
- 'msvs_cygwin_shell': '0',
- 'actions': [
- {
- 'inputs': [
- '$(IntDir)\\SomeInput',
- '$(OutDir)\\SomeOtherInput',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/ReSuLt',
- '<(SHARED_INTERMEDIATE_DIR)/TempFile',
- '$(OutDir)\SomethingElse',
- ],
- 'action_name': 'Test action',
- # Unfortunately, we can't normalize this field because it's
- # free-form. Fortunately, ninja doesn't inspect it at all (only the
- # inputs and outputs) so it's not mandatory.
- 'action': [],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/empty.s b/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/empty.s
deleted file mode 100644
index 218d8921e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/empty.s
+++ /dev/null
@@ -1 +0,0 @@
-# This file intentionally left blank.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py b/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py
deleted file mode 100755
index 77a3245d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/gyptest-s-needs-no-depfiles.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that .s files don't always trigger a rebuild, as would happen if depfiles
-were used for them (since clang & gcc ignore -MMD when building .s->.o on
-linux).
-"""
-
-import os
-import sys
-import TestCommon
-import TestGyp
-
-# NOTE(fischman): Each generator uses depfiles (or not) differently, so this is
-# a ninja-specific test.
-test = TestGyp.TestGyp(formats=['ninja'])
-
-if sys.platform == 'win32' or sys.platform == 'win64':
- # This test is about clang/gcc vs. depfiles; VS gets a pass.
- test.pass_test()
- sys.exit(0)
-
-test.run_gyp('s-needs-no-depfiles.gyp')
-
-# Build the library, grab its timestamp, rebuild the library, ensure timestamp
-# hasn't changed.
-test.build('s-needs-no-depfiles.gyp', 'empty')
-empty_dll = test.built_file_path('empty', test.SHARED_LIB)
-test.built_file_must_exist(empty_dll)
-pre_stat = os.stat(test.built_file_path(empty_dll))
-test.sleep()
-test.build('s-needs-no-depfiles.gyp', 'empty')
-post_stat = os.stat(test.built_file_path(empty_dll))
-
-if pre_stat.st_mtime != post_stat.st_mtime:
- test.fail_test()
-else:
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/s-needs-no-depfiles.gyp b/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/s-needs-no-depfiles.gyp
deleted file mode 100644
index bd66b1a70..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/s-needs-no-depfiles/s-needs-no-depfiles.gyp
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'empty',
- 'type': 'shared_library',
- 'sources': [ 'empty.s' ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/gyptest-solibs-avoid-relinking.py b/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/gyptest-solibs-avoid-relinking.py
deleted file mode 100755
index b81e8917a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/gyptest-solibs-avoid-relinking.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that relinking a solib doesn't relink a dependent executable if the
-solib's public API hasn't changed.
-"""
-
-import os
-import sys
-import TestCommon
-import TestGyp
-
-# NOTE(fischman): This test will not work with other generators because the
-# API-hash-based-mtime-preservation optimization is only implemented in
-# ninja.py. It could be extended to the make.py generator as well pretty
-# easily, probably.
-# (also, it tests ninja-specific out paths, which would have to be generalized
-# if this was extended to other generators).
-test = TestGyp.TestGyp(formats=['ninja'])
-
-test.run_gyp('solibs_avoid_relinking.gyp')
-
-# Build the executable, grab its timestamp, touch the solib's source, rebuild
-# executable, ensure timestamp hasn't changed.
-test.build('solibs_avoid_relinking.gyp', 'b')
-test.built_file_must_exist('b' + TestCommon.exe_suffix)
-pre_stat = os.stat(test.built_file_path('b' + TestCommon.exe_suffix))
-os.utime(os.path.join(test.workdir, 'solib.cc'),
- (pre_stat.st_atime, pre_stat.st_mtime + 100))
-test.sleep()
-test.build('solibs_avoid_relinking.gyp', 'b')
-post_stat = os.stat(test.built_file_path('b' + TestCommon.exe_suffix))
-
-if pre_stat.st_mtime != post_stat.st_mtime:
- test.fail_test()
-else:
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/main.cc b/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/main.cc
deleted file mode 100644
index 2cd74d3c7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/main.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int foo();
-
-int main() {
- return foo();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solib.cc b/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solib.cc
deleted file mode 100644
index 0856cd4e0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solib.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifdef _MSC_VER
-__declspec(dllexport)
-#else
-__attribute__((visibility("default")))
-#endif
-int foo() {
- return 42;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solibs_avoid_relinking.gyp b/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solibs_avoid_relinking.gyp
deleted file mode 100644
index e816351d6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/ninja/solibs_avoid_relinking/solibs_avoid_relinking.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'shared_library',
- 'sources': [ 'solib.cc' ],
- # Incremental linking enabled so that .lib timestamp is maintained when
- # exports are unchanged.
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'LinkIncremental': '2',
- }
- },
- },
- {
- 'target_name': 'b',
- 'type': 'executable',
- 'sources': [ 'main.cc' ],
- 'dependencies': [ 'a' ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'LinkIncremental': '2',
- }
- },
- },
- ],
- 'conditions': [
- ['OS=="linux"', {
- 'target_defaults': {
- 'cflags': ['-fPIC'],
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/no-output/gyptest-no-output.py b/deps/npm/node_modules/node-gyp/gyp/test/no-output/gyptest-no-output.py
deleted file mode 100755
index bf9a0b5aa..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/no-output/gyptest-no-output.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verified things don't explode when there are targets without outputs.
-"""
-
-import TestGyp
-
-# TODO(evan): in ninja when there are no targets, there is no 'all'
-# target either. Disabling this test for now.
-test = TestGyp.TestGyp(formats=['!ninja'])
-
-test.run_gyp('nooutput.gyp', chdir='src')
-test.relocate('src', 'relocate/src')
-test.build('nooutput.gyp', chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/no-output/src/nooutput.gyp b/deps/npm/node_modules/node-gyp/gyp/test/no-output/src/nooutput.gyp
deleted file mode 100644
index c40124efc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/no-output/src/nooutput.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'no_output',
- 'type': 'none',
- 'direct_dependent_settings': {
- 'defines': [
- 'NADA',
- ],
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/product/gyptest-product.py b/deps/npm/node_modules/node-gyp/gyp/test/product/gyptest-product.py
deleted file mode 100755
index 955295d71..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/product/gyptest-product.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simplest-possible build of a "Hello, world!" program
-using the default build target.
-"""
-
-import TestGyp
-
-# Android does not support setting the build directory.
-test = TestGyp.TestGyp(formats=['!android'])
-
-test.run_gyp('product.gyp')
-test.build('product.gyp')
-
-# executables
-test.built_file_must_exist('alt1' + test._exe, test.EXECUTABLE, bare=True)
-test.built_file_must_exist('hello2.stuff', test.EXECUTABLE, bare=True)
-test.built_file_must_exist('yoalt3.stuff', test.EXECUTABLE, bare=True)
-
-# shared libraries
-test.built_file_must_exist(test.dll_ + 'alt4' + test._dll,
- test.SHARED_LIB, bare=True)
-test.built_file_must_exist(test.dll_ + 'hello5.stuff',
- test.SHARED_LIB, bare=True)
-test.built_file_must_exist('yoalt6.stuff', test.SHARED_LIB, bare=True)
-
-# static libraries
-test.built_file_must_exist(test.lib_ + 'alt7' + test._lib,
- test.STATIC_LIB, bare=True)
-test.built_file_must_exist(test.lib_ + 'hello8.stuff',
- test.STATIC_LIB, bare=True)
-test.built_file_must_exist('yoalt9.stuff', test.STATIC_LIB, bare=True)
-
-# alternate product_dir
-test.built_file_must_exist('bob/yoalt10.stuff', test.EXECUTABLE, bare=True)
-test.built_file_must_exist('bob/yoalt11.stuff', test.EXECUTABLE, bare=True)
-test.built_file_must_exist('bob/yoalt12.stuff', test.EXECUTABLE, bare=True)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/product/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/product/hello.c
deleted file mode 100644
index 94798f3e7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/product/hello.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int func1(void) {
- return 42;
-}
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- printf("%d\n", func1());
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/product/product.gyp b/deps/npm/node_modules/node-gyp/gyp/test/product/product.gyp
deleted file mode 100644
index c25eaaacb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/product/product.gyp
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello1',
- 'product_name': 'alt1',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello2',
- 'product_extension': 'stuff',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello3',
- 'product_name': 'alt3',
- 'product_extension': 'stuff',
- 'product_prefix': 'yo',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
-
- {
- 'target_name': 'hello4',
- 'product_name': 'alt4',
- 'type': 'shared_library',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello5',
- 'product_extension': 'stuff',
- 'type': 'shared_library',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello6',
- 'product_name': 'alt6',
- 'product_extension': 'stuff',
- 'product_prefix': 'yo',
- 'type': 'shared_library',
- 'sources': [
- 'hello.c',
- ],
- },
-
- {
- 'target_name': 'hello7',
- 'product_name': 'alt7',
- 'type': 'static_library',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello8',
- 'product_extension': 'stuff',
- 'type': 'static_library',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello9',
- 'product_name': 'alt9',
- 'product_extension': 'stuff',
- 'product_prefix': 'yo',
- 'type': 'static_library',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello10',
- 'product_name': 'alt10',
- 'product_extension': 'stuff',
- 'product_prefix': 'yo',
- 'product_dir': '<(PRODUCT_DIR)/bob',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello11',
- 'product_name': 'alt11',
- 'product_extension': 'stuff',
- 'product_prefix': 'yo',
- 'product_dir': '<(PRODUCT_DIR)/bob',
- 'type': 'shared_library',
- 'sources': [
- 'hello.c',
- ],
- },
- {
- 'target_name': 'hello12',
- 'product_name': 'alt12',
- 'product_extension': 'stuff',
- 'product_prefix': 'yo',
- 'product_dir': '<(PRODUCT_DIR)/bob',
- 'type': 'static_library',
- 'sources': [
- 'hello.c',
- ],
- },
- ],
- 'conditions': [
- ['OS=="linux"', {
- 'target_defaults': {
- 'cflags': ['-fPIC'],
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.cc b/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.cc
deleted file mode 100644
index 7d1c95344..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.gyp b/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.gyp
deleted file mode 100644
index 66316ac68..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/a.gyp
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- 'targets': [
- {
- 'target_name': 'a',
- 'type': 'executable',
- 'sources': ['a.cc'],
- 'dependencies': [
- '../../foo/b/b.gyp:b',
- 'c/c.gyp:c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.cc b/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.cc
deleted file mode 100644
index 9d2247168..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-int func() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.gyp b/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.gyp
deleted file mode 100644
index c1f087db9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/a/c/c.gyp
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- 'targets': [
- {
- 'target_name': 'c',
- 'type': 'static_library',
- 'sources': ['c.cc'],
- 'dependencies': [
- '../../b/b.gyp:b',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.cc b/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.cc
deleted file mode 100644
index 011d59ceb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-int func2() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.gyp b/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.gyp
deleted file mode 100644
index 0ebe4533d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/foo/b/b.gyp
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- 'targets': [
- {
- 'target_name': 'b',
- 'type': 'static_library',
- 'sources': ['b.cc'],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/relative/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/relative/gyptest-default.py
deleted file mode 100755
index 2d657aa67..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/relative/gyptest-default.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simplest-possible build of a "Hello, world!" program
-using the default build target.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_default', formats=['msvs'])
-
-# Run from down in foo.
-test.run_gyp('a.gyp', chdir='foo/a')
-sln = test.workpath('foo/a/a.sln')
-sln_data = open(sln, 'rb').read()
-vcproj = sln_data.count('b.vcproj')
-vcxproj = sln_data.count('b.vcxproj')
-if (vcproj, vcxproj) not in [(1, 0), (0, 1)]:
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/file.c b/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/file.c
deleted file mode 100644
index 237c8ce18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/file.c
+++ /dev/null
@@ -1 +0,0 @@
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test-casesensitive.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test-casesensitive.gyp
deleted file mode 100644
index 48eaa6eb6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test-casesensitive.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'filecaserename_sensitive',
- 'type': 'executable',
- 'sources': [
- 'FiLe.c',
- 'fIlE.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test.gyp
deleted file mode 100644
index eaee9337b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rename/filecase/test.gyp
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'filecaserename',
- 'type': 'executable',
- 'sources': [
- 'file.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rename/gyptest-filecase.py b/deps/npm/node_modules/node-gyp/gyp/test/rename/gyptest-filecase.py
deleted file mode 100644
index daed5180d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rename/gyptest-filecase.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Checks that files whose file case changes get rebuilt correctly.
-"""
-
-import os
-import TestGyp
-
-test = TestGyp.TestGyp()
-CHDIR = 'filecase'
-test.run_gyp('test.gyp', chdir=CHDIR)
-test.build('test.gyp', test.ALL, chdir=CHDIR)
-
-os.rename('filecase/file.c', 'filecase/fIlE.c')
-test.write('filecase/test.gyp',
- test.read('filecase/test.gyp').replace('file.c', 'fIlE.c'))
-test.run_gyp('test.gyp', chdir=CHDIR)
-test.build('test.gyp', test.ALL, chdir=CHDIR)
-
-
-# Check that having files that differ just in their case still work on
-# case-sensitive file systems.
-test.write('filecase/FiLe.c', 'int f(); int main() { return f(); }')
-test.write('filecase/fIlE.c', 'int f() { return 42; }')
-is_case_sensitive = test.read('filecase/FiLe.c') != test.read('filecase/fIlE.c')
-if is_case_sensitive:
- test.run_gyp('test-casesensitive.gyp', chdir=CHDIR)
- test.build('test-casesensitive.gyp', test.ALL, chdir=CHDIR)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/restat/gyptest-restat.py b/deps/npm/node_modules/node-gyp/gyp/test/restat/gyptest-restat.py
deleted file mode 100644
index 87379044d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/restat/gyptest-restat.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify that dependent rules are executed iff a dependency action modifies its
-outputs.
-"""
-
-import TestGyp
-import os
-
-test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
-
-test.run_gyp('restat.gyp', chdir='src')
-
-chdir = 'relocate/src'
-test.relocate('src', chdir)
-
-# Building 'dependent' the first time generates 'side_effect', but building it
-# the second time doesn't, because 'create_intermediate' doesn't update its
-# output.
-test.build('restat.gyp', 'dependent', chdir=chdir)
-test.built_file_must_exist('side_effect', chdir=chdir)
-os.remove(test.built_file_path('side_effect', chdir=chdir))
-test.build('restat.gyp', 'dependent', chdir=chdir)
-test.built_file_must_not_exist('side_effect', chdir=chdir)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/restat/src/create_intermediate.py b/deps/npm/node_modules/node-gyp/gyp/test/restat/src/create_intermediate.py
deleted file mode 100644
index a4d745037..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/restat/src/create_intermediate.py
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import sys
-
-"""
-Create argv[1] iff it doesn't already exist.
-"""
-
-outfile = sys.argv[1]
-if os.path.exists(outfile):
- sys.exit()
-open(outfile, "wb").close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/restat/src/restat.gyp b/deps/npm/node_modules/node-gyp/gyp/test/restat/src/restat.gyp
deleted file mode 100644
index ff020e0ce..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/restat/src/restat.gyp
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'create_intermediate',
- 'type': 'none',
- 'msvs_cygwin_shell': '0',
- 'actions': [
- {
- 'action_name': 'create_intermediate',
- 'inputs': [
- 'create_intermediate.py',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/intermediate',
- 'ALWAYS.run.ALWAYS',
- ],
- 'action': [
- 'python', 'create_intermediate.py', '<(PRODUCT_DIR)/intermediate',
- ],
- },
- ],
- },
- {
- 'target_name': 'dependent',
- 'type': 'none',
- 'msvs_cygwin_shell': '0',
- 'dependencies': [
- 'create_intermediate',
- ],
- 'actions': [
- {
- 'action_name': 'dependent',
- 'inputs': [
- '<(PRODUCT_DIR)/intermediate',
- ],
- 'outputs': [
- '<(PRODUCT_DIR)/dependent'
- ],
- 'action': [
- 'python', 'touch.py', '<(PRODUCT_DIR)/dependent', '<(PRODUCT_DIR)/side_effect',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/restat/src/touch.py b/deps/npm/node_modules/node-gyp/gyp/test/restat/src/touch.py
deleted file mode 100644
index 7cd781a90..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/restat/src/touch.py
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import sys
-
-"""Cross-platform touch."""
-
-for fname in sys.argv[1:]:
- if os.path.exists(fname):
- os.utime(fname, None)
- else:
- open(fname, 'w').close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/gyptest-dirname.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/gyptest-dirname.py
deleted file mode 100755
index 6e684a4c4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/gyptest-dirname.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple rules when using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['make', 'ninja', 'xcode'])
-
-test.run_gyp('actions.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('actions.gyp', chdir='relocate/src')
-
-expect = """\
-hi c
-hello baz
-"""
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('gencc_int_output', chdir=chdir, stdout=expect)
-
-if test.format == 'msvs':
- test.must_exist('relocate/src/subdir/foo/bar/baz.printed')
- test.must_exist('relocate/src/subdir/a/b/c.printed')
-else:
- test.must_match('relocate/src/subdir/foo/bar/baz.printed', 'foo/bar')
- test.must_match('relocate/src/subdir/a/b/c.printed', 'a/b')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/actions.gyp
deleted file mode 100644
index c5693c6c9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/actions.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'pull_in_all_actions',
- 'type': 'none',
- 'dependencies': [
- 'subdir/input-rule-dirname.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/copy-file.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/copy-file.py
deleted file mode 100755
index 9774ccc96..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/copy-file.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import sys
-
-contents = open(sys.argv[1], 'r').read()
-open(sys.argv[2], 'wb').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.gencc b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.gencc
deleted file mode 100644
index a4c8eea95..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.gencc
+++ /dev/null
@@ -1,11 +0,0 @@
-// -*- mode: c++ -*-
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-namespace gen {
- void c() {
- cout << "hi c" << endl;
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.printvars b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.printvars
deleted file mode 100644
index cc4561dc4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/a/b/c.printvars
+++ /dev/null
@@ -1 +0,0 @@
-# Empty file for testing build rules
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.gencc b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.gencc
deleted file mode 100644
index ff01c2ee5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.gencc
+++ /dev/null
@@ -1,11 +0,0 @@
-// -*- mode: c++ -*-
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-namespace gen {
- void baz() {
- cout << "hello baz" << endl;
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.printvars b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.printvars
deleted file mode 100644
index cc4561dc4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/foo/bar/baz.printvars
+++ /dev/null
@@ -1 +0,0 @@
-# Empty file for testing build rules
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/input-rule-dirname.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/input-rule-dirname.gyp
deleted file mode 100644
index 6f41d4f48..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/input-rule-dirname.gyp
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'print_rule_input_path',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'foo/bar/baz.printvars',
- 'a/b/c.printvars',
- ],
- 'rules': [
- {
- 'rule_name': 'printvars',
- 'extension': 'printvars',
- 'inputs': [
- 'printvars.py',
- ],
- 'outputs': [
- '<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).printed',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(RULE_INPUT_DIRNAME)', '<@(_outputs)',
- ],
- },
- ],
- },
- {
- 'target_name': 'gencc_int_output',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'msvs_cygwin_dirs': ['../../../../../../<(DEPTH)/third_party/cygwin'],
- 'sources': [
- 'foo/bar/baz.gencc',
- 'a/b/c.gencc',
- 'main.cc',
- ],
- 'conditions': [
- ['OS=="win"', {
- 'dependencies': [
- 'cygwin',
- ],
- }],
- ],
- 'rules': [
- {
- 'rule_name': 'gencc',
- 'extension': 'gencc',
- 'msvs_external_rule': 1,
- 'inputs': [
- '<(DEPTH)/copy-file.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_DIRNAME)/<(RULE_INPUT_ROOT).cc',
- ],
- 'action': [
- 'python', '<@(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
- 'conditions': [
- ['OS=="win"', {
- 'targets': [
- {
- 'target_name': 'cygwin',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'setup_mount',
- 'msvs_cygwin_shell': 0,
- 'inputs': [
- '../../../../../../<(DEPTH)/third_party/cygwin/setup_mount.bat',
- ],
- # Visual Studio requires an output file, or else the
- # custom build step won't run.
- 'outputs': [
- '<(INTERMEDIATE_DIR)/_always_run_setup_mount.marker',
- ],
- 'action': ['<@(_inputs)'],
- },
- ],
- },
- ],
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/main.cc b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/main.cc
deleted file mode 100644
index bacc568ad..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/main.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-namespace gen {
- extern void c();
- extern void baz();
-}
-
-int main() {
- gen::c();
- gen::baz();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/printvars.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/printvars.py
deleted file mode 100755
index ef3d92e8c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-dirname/src/subdir/printvars.py
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Prints interesting vars
-"""
-
-import sys;
-
-out = open(sys.argv[2], 'w')
-out.write(sys.argv[1]);
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-all.py
deleted file mode 100755
index aaaa2a6e6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-all.py
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a rule that generates multiple outputs rebuilds
-correctly when the inputs change.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_all')
-
-test.run_gyp('same_target.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-
-test.build('same_target.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from prog1.in!
-Hello from prog2.in!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-test.sleep()
-contents = test.read(['relocate', 'src', 'prog1.in'])
-contents = contents.replace('!', ' AGAIN!')
-test.write(['relocate', 'src', 'prog1.in'], contents)
-
-test.build('same_target.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from prog1.in AGAIN!
-Hello from prog2.in!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-test.sleep()
-contents = test.read(['relocate', 'src', 'prog2.in'])
-contents = contents.replace('!', ' AGAIN!')
-test.write(['relocate', 'src', 'prog2.in'], contents)
-
-test.build('same_target.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from prog1.in AGAIN!
-Hello from prog2.in AGAIN!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-default.py
deleted file mode 100755
index ac3f0209a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/gyptest-default.py
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a rule that generates multiple outputs rebuilds
-correctly when the inputs change.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(workdir='workarea_default')
-
-test.run_gyp('same_target.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-
-test.build('same_target.gyp', chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from prog1.in!
-Hello from prog2.in!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-test.sleep()
-contents = test.read(['relocate', 'src', 'prog1.in'])
-contents = contents.replace('!', ' AGAIN!')
-test.write(['relocate', 'src', 'prog1.in'], contents)
-
-test.build('same_target.gyp', chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from prog1.in AGAIN!
-Hello from prog2.in!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-test.sleep()
-contents = test.read(['relocate', 'src', 'prog2.in'])
-contents = contents.replace('!', ' AGAIN!')
-test.write(['relocate', 'src', 'prog2.in'], contents)
-
-test.build('same_target.gyp', chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from prog1.in AGAIN!
-Hello from prog2.in AGAIN!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-# Test that modifying a rule's inputs (specifically, make-sources.py) causes
-# the targets to be built.
-
-test.sleep()
-contents = test.read(['relocate', 'src', 'make-sources.py'])
-contents = contents.replace('%s', 'the amazing %s')
-test.write(['relocate', 'src', 'make-sources.py'], contents)
-
-test.build('same_target.gyp', chdir='relocate/src')
-
-expect = """\
-Hello from main.c
-Hello from the amazing prog1.in AGAIN!
-Hello from the amazing prog2.in AGAIN!
-"""
-
-test.run_built_executable('program', chdir='relocate/src', stdout=expect)
-
-test.up_to_date('same_target.gyp', 'program', chdir='relocate/src')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/main.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/main.c
deleted file mode 100644
index bdc5ec875..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/main.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-extern void prog1(void);
-extern void prog2(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from main.c\n");
- prog1();
- prog2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/make-sources.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/make-sources.py
deleted file mode 100755
index 7ec022780..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/make-sources.py
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-assert len(sys.argv) == 4, sys.argv
-
-(in_file, c_file, h_file) = sys.argv[1:]
-
-def write_file(filename, contents):
- open(filename, 'wb').write(contents)
-
-write_file(c_file, open(in_file, 'rb').read())
-
-write_file(h_file, '#define NAME "%s"\n' % in_file)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog1.in b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog1.in
deleted file mode 100644
index 191b00ef1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog1.in
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include "prog1.h"
-
-void prog1(void)
-{
- printf("Hello from %s!\n", NAME);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog2.in b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog2.in
deleted file mode 100644
index 7bfac5104..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/prog2.in
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-#include "prog2.h"
-
-void prog2(void)
-{
- printf("Hello from %s!\n", NAME);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/same_target.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/same_target.gyp
deleted file mode 100644
index 22ba56056..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-rebuild/src/same_target.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'main.c',
- 'prog1.in',
- 'prog2.in',
- ],
- 'rules': [
- {
- 'rule_name': 'make_sources',
- 'extension': 'in',
- 'inputs': [
- 'make-sources.py',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).c',
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).h',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_NAME)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/gyptest-rules-variables.py b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/gyptest-rules-variables.py
deleted file mode 100755
index 06ee5ca83..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/gyptest-rules-variables.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies rules related variables are expanded.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['ninja'])
-
-test.relocate('src', 'relocate/src')
-
-test.run_gyp('variables.gyp', chdir='relocate/src')
-
-test.build('variables.gyp', chdir='relocate/src')
-
-test.run_built_executable('all_rule_variables',
- chdir='relocate/src',
- stdout="input_root\ninput_dirname\ninput_path\n" +
- "input_ext\ninput_name\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_ext.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_ext.c
deleted file mode 100644
index f41e73ef8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_ext.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-void input_ext() {
- printf("input_ext\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_name/test.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_name/test.c
deleted file mode 100644
index e28b74d11..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_name/test.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-void input_name() {
- printf("input_name\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_path/subdir/test.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_path/subdir/test.c
deleted file mode 100644
index 403dbbda4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/input_path/subdir/test.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-void input_path() {
- printf("input_path\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/input_dirname.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/input_dirname.c
deleted file mode 100644
index 40cecd87d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/input_dirname.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-void input_dirname() {
- printf("input_dirname\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/test.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/test.c
deleted file mode 100644
index 6c0280b8a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/subdir/test.c
+++ /dev/null
@@ -1,18 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-extern void input_root();
-extern void input_dirname();
-extern void input_path();
-extern void input_ext();
-extern void input_name();
-
-int main() {
- input_root();
- input_dirname();
- input_path();
- input_ext();
- input_name();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/test.input_root.c b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/test.input_root.c
deleted file mode 100644
index 33a7740a5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/test.input_root.c
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2011 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <stdio.h>
-
-void input_root() {
- printf("input_root\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/variables.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/variables.gyp
deleted file mode 100644
index 6debba12e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules-variables/src/variables.gyp
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- # This test shouldn't ever actually need to execute its rules: there's no
- # command line that generates any output anyway. However, there's something
- # slightly broken in either ninja or (maybe more likely?) on the win32 VM
- # gypbots that breaks dependency checking and causes this rule to want to
- # run. When it does run, the cygwin path is wrong, so the do-nothing step
- # fails.
- # TODO: Investigate and fix whatever's actually failing and remove this.
- 'msvs_cygwin_dirs': ['../../../../../../<(DEPTH)/third_party/cygwin'],
- },
- 'targets': [
- {
- 'target_name': 'all_rule_variables',
- 'type': 'executable',
- 'sources': [
- 'subdir/test.c',
- ],
- 'rules': [
- {
- 'rule_name': 'rule_variable',
- 'extension': 'c',
- 'outputs': [
- '<(RULE_INPUT_ROOT).input_root.c',
- '<(RULE_INPUT_DIRNAME)/input_dirname.c',
- 'input_path/<(RULE_INPUT_PATH)',
- 'input_ext<(RULE_INPUT_EXT)',
- 'input_name/<(RULE_INPUT_NAME)',
- ],
- 'action': [],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-all.py
deleted file mode 100755
index d869fd3a8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-all.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple rules when using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('no_action_with_rules_fails.gyp', chdir='src/noaction', status=1,
- stderr=None)
-
-test.run_gyp('actions.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('actions.gyp', test.ALL, chdir='relocate/src')
-
-expect = """\
-Hello from program.c
-Hello from function1.in
-Hello from function2.in
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir1'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program', chdir=chdir, stdout=expect)
-
-expect = """\
-Hello from program.c
-Hello from function3.in
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir3'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program2', chdir=chdir, stdout=expect)
-
-test.must_match('relocate/src/subdir2/file1.out', 'Hello from file1.in\n')
-test.must_match('relocate/src/subdir2/file2.out', 'Hello from file2.in\n')
-
-test.must_match('relocate/src/subdir2/file1.out2', 'Hello from file1.in\n')
-test.must_match('relocate/src/subdir2/file2.out2', 'Hello from file2.in\n')
-
-test.must_match('relocate/src/external/file1.external_rules.out',
- 'Hello from file1.in\n')
-test.must_match('relocate/src/external/file2.external_rules.out',
- 'Hello from file2.in\n')
-
-expect = """\
-Hello from program.c
-Got 41.
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir4'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program4', chdir=chdir, stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-default.py
deleted file mode 100755
index 117c53db0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-default.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies simple rules when using an explicit build target of 'all'.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('actions.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('actions.gyp', chdir='relocate/src')
-
-expect = """\
-Hello from program.c
-Hello from function1.in
-Hello from function2.in
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir1'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program', chdir=chdir, stdout=expect)
-
-expect = """\
-Hello from program.c
-Hello from function3.in
-"""
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir3'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('program2', chdir=chdir, stdout=expect)
-
-test.must_match('relocate/src/subdir2/file1.out', 'Hello from file1.in\n')
-test.must_match('relocate/src/subdir2/file2.out', 'Hello from file2.in\n')
-
-test.must_match('relocate/src/subdir2/file1.out2', 'Hello from file1.in\n')
-test.must_match('relocate/src/subdir2/file2.out2', 'Hello from file2.in\n')
-
-test.must_match('relocate/src/external/file1.external_rules.out',
- 'Hello from file1.in\n')
-test.must_match('relocate/src/external/file2.external_rules.out',
- 'Hello from file2.in\n')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-input-root.py b/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-input-root.py
deleted file mode 100755
index 92bade6d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-input-root.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that RULE_INPUT_ROOT isn't turned into a path in rule actions
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('input-root.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('input-root.gyp', target='test', chdir='relocate/src')
-
-expect = """\
-Hello somefile
-"""
-
-test.run_built_executable('test', chdir='relocate/src', stdout=expect)
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-special-variables.py b/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-special-variables.py
deleted file mode 100644
index 05ea7cee1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/gyptest-special-variables.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-""" Verifies that VS variables that require special variables are expanded
-correctly. """
-
-import sys
-import TestGyp
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp()
-
- test.run_gyp('special-variables.gyp', chdir='src')
- test.build('special-variables.gyp', test.ALL, chdir='src')
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/actions.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/actions.gyp
deleted file mode 100644
index 5c0a40b0c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/actions.gyp
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'pull_in_all_actions',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/executable.gyp:*',
- 'subdir2/never_used.gyp:*',
- 'subdir2/no_inputs.gyp:*',
- 'subdir2/no_action.gyp:*',
- 'subdir2/none.gyp:*',
- 'subdir3/executable2.gyp:*',
- 'subdir4/build-asm.gyp:*',
- 'external/external.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/an_asm.S b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/an_asm.S
deleted file mode 100644
index eeb134555..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/an_asm.S
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Fake asm file.
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/as.bat b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/as.bat
deleted file mode 100644
index 903c31a72..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/as.bat
+++ /dev/null
@@ -1,7 +0,0 @@
-@echo off
-:: Copyright (c) 2011 Google Inc. All rights reserved.
-:: Use of this source code is governed by a BSD-style license that can be
-:: found in the LICENSE file.
-
-:: Fake assembler for Windows
-cl /TP /c %1 /Fo%2
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/copy-file.py b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/copy-file.py
deleted file mode 100755
index 5a5feae1f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/copy-file.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-import sys
-
-contents = open(sys.argv[1], 'r').read()
-open(sys.argv[2], 'wb').write(contents)
-
-sys.exit(0)
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/external.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/external.gyp
deleted file mode 100644
index b28174f57..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/external.gyp
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Test that the case where there are no inputs (other than the
-# file the rule applies to).
-{
- 'target_defaults': {
- 'msvs_cygwin_dirs': ['../../../../../../<(DEPTH)/third_party/cygwin'],
- },
- 'targets': [
- {
- 'target_name': 'external_rules',
- 'type': 'none',
- 'sources': [
- 'file1.in',
- 'file2.in',
- ],
- 'conditions': [
- ['OS=="win"', {
- 'dependencies': [
- 'cygwin',
- ],
- }],
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file',
- 'extension': 'in',
- 'msvs_external_rule': 1,
- 'outputs': [
- '<(RULE_INPUT_ROOT).external_rules.out',
- ],
- 'action': [
- 'python', '../copy-file.py', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- },
- ],
- },
- ],
- 'conditions': [
- ['OS=="win"', {
- 'targets': [
- {
- 'target_name': 'cygwin',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'setup_mount',
- 'msvs_cygwin_shell': 0,
- 'inputs': [
- '../../../../../../<(DEPTH)/third_party/cygwin/setup_mount.bat',
- ],
- # Visual Studio requires an output file, or else the
- # custom build step won't run.
- 'outputs': [
- '<(INTERMEDIATE_DIR)/_always_run_setup_mount.marker',
- ],
- 'action': ['<@(_inputs)'],
- },
- ],
- },
- ],
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file1.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file1.in
deleted file mode 100644
index 86ac3ad38..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file1.in
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file1.in
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file2.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file2.in
deleted file mode 100644
index bf83d8ece..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/external/file2.in
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file2.in
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/input-root.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/input-root.gyp
deleted file mode 100644
index b6600e767..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/input-root.gyp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test',
- 'type': 'executable',
- 'sources': [ 'somefile.ext', ],
- 'rules': [{
- 'rule_name': 'rule',
- 'extension': 'ext',
- 'inputs': [ 'rule.py', ],
- 'outputs': [ '<(RULE_INPUT_ROOT).cc', ],
- 'action': [ 'python', 'rule.py', '<(RULE_INPUT_ROOT)', ],
- 'message': 'Processing <(RULE_INPUT_PATH)',
- 'process_outputs_as_sources': 1,
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- }],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/file1.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/file1.in
deleted file mode 100644
index 86ac3ad38..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/file1.in
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file1.in
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/no_action_with_rules_fails.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/no_action_with_rules_fails.gyp
deleted file mode 100644
index 9b6a65629..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/noaction/no_action_with_rules_fails.gyp
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Test the case where there's no action but there are input rules that should
-# be processed results in a gyp failure.
-{
- 'targets': [
- {
- 'target_name': 'extension_does_match_sources_but_no_action',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'file1.in',
- ],
- 'rules': [
- {
- 'rule_name': 'assembled',
- 'extension': 'in',
- 'outputs': [
- '<(RULE_INPUT_ROOT).in',
- ],
- 'conditions': [
- # Always fails.
- [ '"true"=="false"', {
- 'action': [
- 'python', '../copy-file.py', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- 'message': 'test_rule',
- }],
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/rule.py b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/rule.py
deleted file mode 100755
index 8a1f36ded..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/rule.py
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1] + ".cc", "w")
-f.write("""\
-#include <stdio.h>
-
-int main() {
- puts("Hello %s");
- return 0;
-}
-""" % sys.argv[1])
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/somefile.ext b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/somefile.ext
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/somefile.ext
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/special-variables.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/special-variables.gyp
deleted file mode 100644
index fc55665e7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/special-variables.gyp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'rules': [
- {
- 'rule_name': 'assembler (gnu-compatible)',
- 'msvs_cygwin_shell': 0,
- 'msvs_quote_cmd': 0,
- 'extension': 'S',
- 'inputs': [
- 'as.bat',
- '$(InputPath)'
- ],
- 'outputs': [
- '$(IntDir)/$(InputName).obj',
- ],
- 'action': [
- 'as.bat',
- '$(InputPath)',
- '$(IntDir)/$(InputName).obj',
- ],
- 'message': 'Building assembly language file $(InputPath)',
- 'process_outputs_as_sources': 1,
- },
- ],
- 'target_name': 'test',
- 'type': 'static_library',
- 'sources': [ 'an_asm.S' ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/executable.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/executable.gyp
deleted file mode 100644
index 302857789..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/executable.gyp
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'program.c',
- 'function1.in',
- 'function2.in',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file',
- 'extension': 'in',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- # TODO: fix SCons and Make to support generated files not
- # in a variable-named path like <(INTERMEDIATE_DIR)
- #'<(RULE_INPUT_ROOT).c',
- '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).c',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function1.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function1.in
deleted file mode 100644
index 60ff28949..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function1.in
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void function1(void)
-{
- printf("Hello from function1.in\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function2.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function2.in
deleted file mode 100644
index 0fcfc03fd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/function2.in
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void function2(void)
-{
- printf("Hello from function2.in\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/program.c b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/program.c
deleted file mode 100644
index 258d7f99e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir1/program.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdio.h>
-
-extern void function1(void);
-extern void function2(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from program.c\n");
- function1();
- function2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file1.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file1.in
deleted file mode 100644
index 86ac3ad38..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file1.in
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file1.in
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file2.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file2.in
deleted file mode 100644
index bf83d8ece..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/file2.in
+++ /dev/null
@@ -1 +0,0 @@
-Hello from file2.in
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/never_used.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/never_used.gyp
deleted file mode 100644
index 17f6f5537..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/never_used.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Test that the case where there is a rule that doesn't apply to anything.
-{
- 'targets': [
- {
- 'target_name': 'files_no_input2',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'file1.in',
- 'file2.in',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file3',
- 'extension': 'in2',
- 'outputs': [
- '<(RULE_INPUT_ROOT).out3',
- ],
- 'action': [
- 'python', '../copy-file.py', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_action.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_action.gyp
deleted file mode 100644
index ffa1cefe1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_action.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Test that the case where an action is only specified under a conditional is
-# evaluated appropriately.
-{
- 'targets': [
- {
- 'target_name': 'extension_does_not_match_sources_and_no_action',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'file1.in',
- 'file2.in',
- ],
- 'rules': [
- {
- 'rule_name': 'assemble',
- 'extension': 'asm',
- 'outputs': [
- '<(RULE_INPUT_ROOT).fail',
- ],
- 'conditions': [
- # Always fails.
- [ '"true"=="false"', {
- 'action': [
- 'python', '../copy-file.py', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- 'message': 'test_rule',
- }],
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_inputs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_inputs.gyp
deleted file mode 100644
index e61a1a3ff..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/no_inputs.gyp
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Test that the case where there are no inputs (other than the
-# file the rule applies to).
-{
- 'targets': [
- {
- 'target_name': 'files_no_input',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'file1.in',
- 'file2.in',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file2',
- 'extension': 'in',
- 'outputs': [
- '<(RULE_INPUT_ROOT).out2',
- ],
- 'action': [
- 'python', '../copy-file.py', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/none.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/none.gyp
deleted file mode 100644
index 38bcdabdf..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir2/none.gyp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'files',
- 'type': 'none',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'file1.in',
- 'file2.in',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file',
- 'extension': 'in',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- '<(RULE_INPUT_ROOT).out',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/executable2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/executable2.gyp
deleted file mode 100644
index a2a528fc7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/executable2.gyp
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This one tests that rules are properly written if extensions are different
-# between the target's sources (program.c) and the generated files
-# (function3.cc)
-
-{
- 'targets': [
- {
- 'target_name': 'program2',
- 'type': 'executable',
- 'msvs_cygwin_shell': 0,
- 'sources': [
- 'program.c',
- 'function3.in',
- ],
- 'rules': [
- {
- 'rule_name': 'copy_file',
- 'extension': 'in',
- 'inputs': [
- '../copy-file.py',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).cc',
- ],
- 'action': [
- 'python', '<(_inputs)', '<(RULE_INPUT_PATH)', '<@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/function3.in b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/function3.in
deleted file mode 100644
index 99f46ab05..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/function3.in
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-extern "C" void function3(void)
-{
- printf("Hello from function3.in\n");
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/program.c b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/program.c
deleted file mode 100644
index 94f6c5091..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir3/program.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdio.h>
-
-extern void function3(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from program.c\n");
- function3();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/asm-function.asm b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/asm-function.asm
deleted file mode 100644
index ed47cade9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/asm-function.asm
+++ /dev/null
@@ -1,10 +0,0 @@
-#if PLATFORM_WINDOWS || PLATFORM_MAC
-# define IDENTIFIER(n) _##n
-#else /* Linux */
-# define IDENTIFIER(n) n
-#endif
-
-.globl IDENTIFIER(asm_function)
-IDENTIFIER(asm_function):
- movl $41, %eax
- ret
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/build-asm.gyp b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/build-asm.gyp
deleted file mode 100644
index be4a612d1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/build-asm.gyp
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This one tests that assembly files ended as .s and .S are compiled.
-
-{
- 'target_defaults': {
- 'conditions': [
- ['OS=="win"', {
- 'defines': ['PLATFORM_WIN'],
- }],
- ['OS=="mac"', {
- 'defines': ['PLATFORM_MAC'],
- }],
- ['OS=="linux"', {
- 'defines': ['PLATFORM_LINUX'],
- }],
- ],
- },
- 'targets': [
- {
- 'target_name': 'program4',
- 'type': 'executable',
- 'sources': [
- 'asm-function.asm',
- 'program.c',
- ],
- 'conditions': [
- ['OS=="linux" or OS=="mac"', {
- 'rules': [
- {
- 'rule_name': 'convert_asm',
- 'extension': 'asm',
- 'inputs': [],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).S',
- ],
- 'action': [
- 'bash', '-c', 'mv <(RULE_INPUT_PATH) <@(_outputs)',
- ],
- 'process_outputs_as_sources': 1,
- },
- ],
- }],
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/program.c b/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/program.c
deleted file mode 100644
index 424759062..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/rules/src/subdir4/program.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdio.h>
-
-// Use the assembly function in linux and mac where it is built.
-#if PLATFORM_LINUX || PLATFORM_MAC
-extern int asm_function(void);
-#else
-int asm_function() {
- return 41;
-}
-#endif
-
-int main(int argc, char *argv[])
-{
- fprintf(stdout, "Hello from program.c\n");
- fflush(stdout);
- fprintf(stdout, "Got %d.\n", asm_function());
- fflush(stdout);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-all.py
deleted file mode 100755
index cda1a72d4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-all.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Build a .gyp that depends on 2 gyp files with the same name.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('all.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('all.gyp', test.ALL, chdir='relocate/src')
-
-expect1 = """\
-Hello from main1.cc
-"""
-
-expect2 = """\
-Hello from main2.cc
-"""
-
-if test.format == 'xcode':
- chdir1 = 'relocate/src/subdir1'
- chdir2 = 'relocate/src/subdir2'
-else:
- chdir1 = chdir2 = 'relocate/src'
-
-test.run_built_executable('program1', chdir=chdir1, stdout=expect1)
-test.run_built_executable('program2', chdir=chdir2, stdout=expect2)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-default.py
deleted file mode 100755
index 5e4bba001..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-default.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Build a .gyp that depends on 2 gyp files with the same name.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('all.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('all.gyp', chdir='relocate/src')
-
-expect1 = """\
-Hello from main1.cc
-"""
-
-expect2 = """\
-Hello from main2.cc
-"""
-
-if test.format == 'xcode':
- chdir1 = 'relocate/src/subdir1'
- chdir2 = 'relocate/src/subdir2'
-else:
- chdir1 = chdir2 = 'relocate/src'
-
-test.run_built_executable('program1', chdir=chdir1, stdout=expect1)
-test.run_built_executable('program2', chdir=chdir2, stdout=expect2)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-library.py b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-library.py
deleted file mode 100644
index 957a4a52d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/gyptest-library.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a dependency on two gyp files with the same name do not create a
-uid collision in the resulting generated xcode file.
-"""
-
-import TestGyp
-
-import sys
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('test.gyp', chdir='library')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/one/sub.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/one/sub.gyp
deleted file mode 100644
index 1bed941e5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/one/sub.gyp
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'one',
- 'type': 'static_library',
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/test.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/test.gyp
deleted file mode 100644
index 552a77ed7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/test.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'duplicate_names',
- 'type': 'shared_library',
- 'dependencies': [
- 'one/sub.gyp:one',
- 'two/sub.gyp:two',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/two/sub.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/two/sub.gyp
deleted file mode 100644
index 934c98a49..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/library/two/sub.gyp
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-{
- 'targets': [
- {
- 'target_name': 'two',
- 'type': 'static_library',
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/all.gyp
deleted file mode 100644
index 229f02ea8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/all.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'all_exes',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/executable.gyp:*',
- 'subdir2/executable.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/executable.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/executable.gyp
deleted file mode 100644
index 82483b4c6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/executable.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program1',
- 'type': 'executable',
- 'sources': [
- 'main1.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/main1.cc b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/main1.cc
deleted file mode 100644
index 364555832..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir1/main1.cc
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-int main() {
- printf("Hello from main1.cc\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/executable.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/executable.gyp
deleted file mode 100644
index e3537013e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/executable.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program2',
- 'type': 'executable',
- 'sources': [
- 'main2.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/main2.cc b/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/main2.cc
deleted file mode 100644
index 0c724dee3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-gyp-name/src/subdir2/main2.cc
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-int main() {
- printf("Hello from main2.cc\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/gyptest-all.py
deleted file mode 100644
index 964e6b772..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/gyptest-all.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Tests the use of rules with the same output file name.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('subdirs.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('subdirs.gyp', test.ALL, chdir='relocate/src')
-test.must_exist('relocate/src/subdir1/rule.txt')
-test.must_exist('relocate/src/subdir2/rule.txt')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir1/subdir1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir1/subdir1.gyp
deleted file mode 100644
index bff381a5a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir1/subdir1.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'target1',
- 'type': 'none',
- 'sources': [
- '../touch.py'
- ],
- 'rules': [
- {
- 'rule_name': 'rule1',
- 'extension': 'py',
- 'inputs': [],
- 'outputs': [
- 'rule.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir2/subdir2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir2/subdir2.gyp
deleted file mode 100644
index 12a35600a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdir2/subdir2.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'target2',
- 'type': 'none',
- 'sources': [
- '../touch.py'
- ],
- 'rules': [
- {
- 'rule_name': 'rule2',
- 'extension': 'py',
- 'inputs': [],
- 'outputs': [
- 'rule.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdirs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdirs.gyp
deleted file mode 100644
index 25259a38f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/subdirs.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'subdirs',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/subdir1.gyp:*',
- 'subdir2/subdir2.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/touch.py b/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/touch.py
deleted file mode 100644
index 2291e9cc5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-rule-output-file-name/src/touch.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1], 'w+')
-f.write('Hello from touch.py\n')
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-all.py
deleted file mode 100755
index 4c215027c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-all.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Build a .gyp with two targets that share a common .c source file.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('all.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('all.gyp', test.ALL, chdir='relocate/src')
-
-expect1 = """\
-Hello from prog1.c
-Hello prog1 from func.c
-"""
-
-expect2 = """\
-Hello from prog2.c
-Hello prog2 from func.c
-"""
-
-test.run_built_executable('prog1', chdir='relocate/src', stdout=expect1)
-test.run_built_executable('prog2', chdir='relocate/src', stdout=expect2)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-default.py b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-default.py
deleted file mode 100755
index 98757c269..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-default.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Build a .gyp with two targets that share a common .c source file.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('all.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('all.gyp', chdir='relocate/src')
-
-expect1 = """\
-Hello from prog1.c
-Hello prog1 from func.c
-"""
-
-expect2 = """\
-Hello from prog2.c
-Hello prog2 from func.c
-"""
-
-test.run_built_executable('prog1', chdir='relocate/src', stdout=expect1)
-test.run_built_executable('prog2', chdir='relocate/src', stdout=expect2)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-fail.py b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-fail.py
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/gyptest-fail.py
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/all.gyp
deleted file mode 100644
index 4fe052c66..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/all.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'prog1',
- 'type': 'executable',
- 'defines': [
- 'PROG="prog1"',
- ],
- 'sources': [
- 'prog1.c',
- 'func.c',
- ],
- },
- {
- 'target_name': 'prog2',
- 'type': 'executable',
- 'defines': [
- 'PROG="prog2"',
- ],
- 'sources': [
- 'prog2.c',
- 'func.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/double.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/double.gyp
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/double.gyp
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/func.c b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/func.c
deleted file mode 100644
index e069c692a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/func.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void func(void)
-{
- printf("Hello %s from func.c\n", PROG);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog1.c
deleted file mode 100644
index c8940fedc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog1.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-
-extern void func(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog1.c\n");
- func();
- /*
- * Uncomment to test same-named files in different directories,
- * which Visual Studio doesn't support.
- subdir1_func();
- subdir2_func();
- */
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog2.c
deleted file mode 100644
index e6605c2bd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/prog2.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <stdio.h>
-
-extern void func(void);
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog2.c\n");
- func();
- /*
- * Uncomment to test same-named files in different directories,
- * which Visual Studio doesn't support.
- subdir1_func();
- subdir2_func();
- */
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir1/func.c b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir1/func.c
deleted file mode 100644
index b73450d10..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir1/func.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void subdir1_func(void)
-{
- printf("Hello %s from subdir1/func.c\n", PROG);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir2/func.c b/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir2/func.c
deleted file mode 100644
index 0248b5720..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-source-file-name/src/subdir2/func.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void subdir2_func(void)
-{
- printf("Hello %s from subdir2/func.c\n", PROG);
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/gyptest-all.py
deleted file mode 100644
index bc4f46696..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/gyptest-all.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test cases when multiple targets in different directories have the same name.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['android', 'ninja', 'make'])
-
-test.run_gyp('subdirs.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# Test that we build all targets.
-test.build('subdirs.gyp', 'target', chdir='relocate/src')
-test.must_exist('relocate/src/subdir1/action1.txt')
-test.must_exist('relocate/src/subdir2/action2.txt')
-
-# Test that we build all targets using the correct actions, even if they have
-# the same names.
-test.build('subdirs.gyp', 'target_same_action_name', chdir='relocate/src')
-test.must_exist('relocate/src/subdir1/action.txt')
-test.must_exist('relocate/src/subdir2/action.txt')
-
-# Test that we build all targets using the correct rules, even if they have
-# the same names.
-test.build('subdirs.gyp', 'target_same_rule_name', chdir='relocate/src')
-test.must_exist('relocate/src/subdir1/rule.txt')
-test.must_exist('relocate/src/subdir2/rule.txt')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir1/subdir1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir1/subdir1.gyp
deleted file mode 100644
index d4ec2e679..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir1/subdir1.gyp
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action1',
- 'inputs': [],
- 'outputs': [
- 'action1.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'target_same_action_name',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action',
- 'inputs': [],
- 'outputs': [
- 'action.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'target_same_rule_name',
- 'type': 'none',
- 'sources': [
- '../touch.py'
- ],
- 'rules': [
- {
- 'rule_name': 'rule',
- 'extension': 'py',
- 'inputs': [],
- 'outputs': [
- 'rule.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir2/subdir2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir2/subdir2.gyp
deleted file mode 100644
index 9006d450b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdir2/subdir2.gyp
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'target',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action2',
- 'inputs': [],
- 'outputs': [
- 'action2.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'target_same_action_name',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'action',
- 'inputs': [],
- 'outputs': [
- 'action.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- {
- 'target_name': 'target_same_rule_name',
- 'type': 'none',
- 'sources': [
- '../touch.py'
- ],
- 'rules': [
- {
- 'rule_name': 'rule',
- 'extension': 'py',
- 'inputs': [],
- 'outputs': [
- 'rule.txt',
- ],
- 'action': [
- 'python', '../touch.py', '<(_outputs)',
- ],
- # Allows the test to run without hermetic cygwin on windows.
- 'msvs_cygwin_shell': 0,
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdirs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdirs.gyp
deleted file mode 100644
index 65413e73b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/subdirs.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'subdirs',
- 'type': 'none',
- 'dependencies': [
- 'subdir1/subdir1.gyp:*',
- 'subdir2/subdir2.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/touch.py b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/touch.py
deleted file mode 100644
index 2291e9cc5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name-different-directory/src/touch.py
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-f = open(sys.argv[1], 'w+')
-f.write('Hello from touch.py\n')
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/gyptest-same-target-name.py b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/gyptest-same-target-name.py
deleted file mode 100755
index bfe5540f3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/gyptest-same-target-name.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Check that duplicate targets in a directory gives an error.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-# Require that gyp files with duplicate targets spit out an error.
-test.run_gyp('all.gyp', chdir='src', status=1, stderr=None)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/all.gyp
deleted file mode 100644
index ac16976da..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/all.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'all_exes',
- 'type': 'none',
- 'dependencies': [
- 'executable1.gyp:*',
- 'executable2.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable1.gyp
deleted file mode 100644
index 3c492c1b3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable1.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'sources': [
- 'main1.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable2.gyp
deleted file mode 100644
index 41e84a61c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/same-target-name/src/executable2.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'sources': [
- 'main2.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/blah.S b/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/blah.S
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/blah.S
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/gyptest-sanitize-rule-names.py b/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/gyptest-sanitize-rule-names.py
deleted file mode 100644
index 968a0ce5c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/gyptest-sanitize-rule-names.py
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure rule names with non-"normal" characters in them don't cause
-broken build files. This test was originally causing broken .ninja files.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-test.run_gyp('sanitize-rule-names.gyp')
-test.build('sanitize-rule-names.gyp', test.ALL)
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/sanitize-rule-names.gyp b/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/sanitize-rule-names.gyp
deleted file mode 100644
index 184253e96..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/sanitize-rule-names.gyp
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 's_test',
- 'type': 'executable',
- 'rules': [
- {
- # Make sure this rule name doesn't cause an invalid ninja file.
- 'rule_name': 'rule name with odd characters ()/',
- 'extension': 'S',
- 'outputs': ['outfile'],
- 'msvs_cygwin_shell': 0,
- 'msvs_quote_cmd': 0,
- 'action': ['python', 'script.py', '<(RULE_INPUT_PATH)', 'outfile'],
- },
- ],
- 'sources': [
- 'blah.S',
- 'hello.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/script.py b/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/script.py
deleted file mode 100644
index ae2efa1df..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sanitize-rule-names/script.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import shutil
-import sys
-
-shutil.copyfile(*sys.argv[1:])
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/gyptest-tools.py b/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/gyptest-tools.py
deleted file mode 100755
index e97f5e631..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/gyptest-tools.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a scons build picks up tools modules specified
-via 'scons_tools' in the 'scons_settings' dictionary.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('tools.gyp')
-
-test.build('tools.gyp', test.ALL)
-
-if test.format == 'scons':
- expect = "Hello, world!\n"
-else:
- expect = ""
-test.run_built_executable('tools', stdout=expect)
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/site_scons/site_tools/this_tool.py b/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/site_scons/site_tools/this_tool.py
deleted file mode 100644
index 10c89476d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/site_scons/site_tools/this_tool.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# SCons "tool" module that simply sets a -D value.
-def generate(env):
- env['CPPDEFINES'] = ['THIS_TOOL']
-
-def exists(env):
- pass
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.c b/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.c
deleted file mode 100644
index 78dc0e31e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#ifdef THIS_TOOL
- printf("Hello, world!\n");
-#endif
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.gyp b/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.gyp
deleted file mode 100644
index 736ba3f22..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/scons_tools/tools.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'tools',
- 'type': 'executable',
- 'sources': [
- 'tools.c',
- ],
- },
- ],
- 'scons_settings': {
- 'tools': ['default', 'this_tool'],
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-all.py
deleted file mode 100755
index f858c317d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-all.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('build/all.gyp', chdir='src')
-
-test.build('build/all.gyp', test.ALL, chdir='src')
-
-chdir = 'src/build'
-
-# The top-level Makefile is in the directory where gyp was run.
-# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp
-# file? What about when passing in multiple .gyp files? Would sub-project
-# Makefiles (see http://codereview.chromium.org/340008 comments) solve this?
-if test.format in ('make', 'ninja'):
- chdir = 'src'
-
-if test.format == 'xcode':
- chdir = 'src/prog1'
-test.run_built_executable('program1',
- chdir=chdir,
- stdout="Hello from prog1.c\n")
-
-if test.format == 'xcode':
- chdir = 'src/prog2'
-test.run_built_executable('program2',
- chdir=chdir,
- stdout="Hello from prog2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-relocate.py b/deps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-relocate.py
deleted file mode 100755
index b1b3a3d3e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/gyptest-relocate.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('build/all.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('build/all.gyp', test.ALL, chdir='relocate/src')
-
-chdir = 'relocate/src/build'
-
-# The top-level Makefile is in the directory where gyp was run.
-# TODO(mmoss) Should the Makefile go in the directory of the passed in .gyp
-# file? What about when passing in multiple .gyp files? Would sub-project
-# Makefiles (see http://codereview.chromium.org/340008 comments) solve this?
-if test.format in ('make', 'ninja'):
- chdir = 'relocate/src'
-
-if test.format == 'xcode':
- chdir = 'relocate/src/prog1'
-test.run_built_executable('program1',
- chdir=chdir,
- stdout="Hello from prog1.c\n")
-
-if test.format == 'xcode':
- chdir = 'relocate/src/prog2'
-test.run_built_executable('program2',
- chdir=chdir,
- stdout="Hello from prog2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/build/all.gyp b/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/build/all.gyp
deleted file mode 100644
index 6eafdf99b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/build/all.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- # TODO(sgk): a target name of 'all' leads to a scons dependency cycle
- 'target_name': 'All',
- 'type': 'none',
- 'dependencies': [
- '../prog1/prog1.gyp:*',
- '../prog2/prog2.gyp:*',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.c
deleted file mode 100644
index 161ae8a38..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog1.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.gyp
deleted file mode 100644
index 4532e4be1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog1/prog1.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program1',
- 'type': 'executable',
- 'sources': [
- 'prog1.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.c
deleted file mode 100644
index 7635ae8c1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog2.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.gyp
deleted file mode 100644
index 4cf7f6eb2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/sibling/src/prog2/prog2.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'program2',
- 'type': 'executable',
- 'sources': [
- 'prog2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/small/gyptest-small.py b/deps/npm/node_modules/node-gyp/gyp/test/small/gyptest-small.py
deleted file mode 100755
index 3ed9d26f4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/small/gyptest-small.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Runs small tests.
-"""
-
-import imp
-import os
-import sys
-import unittest
-
-import TestGyp
-
-
-test = TestGyp.TestGyp()
-
-# Add pylib to the import path (so tests can import their dependencies).
-# This is consistant with the path.append done in the top file "gyp".
-sys.path.append(os.path.join(test._cwd, 'pylib'))
-
-# Add new test suites here.
-files_to_test = [
- 'pylib/gyp/MSVSSettings_test.py',
- 'pylib/gyp/easy_xml_test.py',
- 'pylib/gyp/generator/msvs_test.py',
- 'pylib/gyp/generator/ninja_test.py',
- 'pylib/gyp/common_test.py',
-]
-
-# Collect all the suites from the above files.
-suites = []
-for filename in files_to_test:
- # Carve the module name out of the path.
- name = os.path.splitext(os.path.split(filename)[1])[0]
- # Find the complete module path.
- full_filename = os.path.join(test._cwd, filename)
- # Load the module.
- module = imp.load_source(name, full_filename)
- # Add it to the list of test suites.
- suites.append(unittest.defaultTestLoader.loadTestsFromModule(module))
-# Create combined suite.
-all_tests = unittest.TestSuite(suites)
-
-# Run all the tests.
-result = unittest.TextTestRunner(verbosity=2).run(all_tests)
-if result.failures or result.errors:
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/gyptest-standalone-static-library.py b/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/gyptest-standalone-static-library.py
deleted file mode 100644
index 89f5cbea9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/gyptest-standalone-static-library.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies build of a static_library with the standalone_static_library flag set.
-"""
-
-import os
-import subprocess
-import sys
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-# Verify that types other than static_library cause a failure.
-test.run_gyp('invalid.gyp', status=1, stderr=None)
-target_str = 'invalid.gyp:bad#target'
-if test.format == 'scons':
- target_str = os.path.join(os.path.realpath(os.curdir), target_str)
-err = ['gyp: Target %s has type executable but standalone_static_library flag '
- 'is only valid for static_library type.' % target_str]
-test.must_contain_all_lines(test.stderr(), err)
-
-# Build a valid standalone_static_library.
-test.run_gyp('mylib.gyp')
-test.build('mylib.gyp', target='prog')
-
-# Verify that the static library is copied to the correct location.
-if test.format == 'scons':
- # For scons, we expect the library to be copied to the shared lib dir.
- standalone_static_library_dir = test.SHARED_LIB
-else:
- # Otherwise, we expect the library to be copied to $PRODUCT_DIR.
- standalone_static_library_dir = test.EXECUTABLE
-path_to_lib = os.path.split(
- test.built_file_path('mylib', type=standalone_static_library_dir))[0]
-lib_name = test.built_file_basename('mylib', type=test.STATIC_LIB)
-path = os.path.join(path_to_lib, lib_name)
-test.must_exist(path)
-
-# Verify that the program runs properly.
-expect = 'hello from mylib.c\n'
-test.run_built_executable('prog', stdout=expect)
-
-# Verify that libmylib.a contains symbols. "ar -x" fails on a 'thin' archive.
-if test.format in ('make', 'ninja') and sys.platform.startswith('linux'):
- retcode = subprocess.call(['ar', '-x', path])
- assert retcode == 0
-
-test.pass_test() \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/invalid.gyp b/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/invalid.gyp
deleted file mode 100644
index 54b32117e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/invalid.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'bad',
- 'type': 'executable',
- 'standalone_static_library': 1,
- 'sources': [
- 'prog.c',
- ],
- },
- ],
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.c b/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.c
deleted file mode 100644
index 108be618c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-void print(void)
-{
- printf("hello from mylib.c\n");
- return;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.gyp b/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.gyp
deleted file mode 100644
index 2d191de31..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/mylib.gyp
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'mylib',
- 'type': 'static_library',
- 'standalone_static_library': 1,
- 'sources': [
- 'mylib.c',
- ],
- },
- {
- 'target_name': 'prog',
- 'type': 'executable',
- 'sources': [
- 'prog.c',
- ],
- 'dependencies': [
- 'mylib',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/prog.c b/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/prog.c
deleted file mode 100644
index dc12b6894..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone-static-library/prog.c
+++ /dev/null
@@ -1,7 +0,0 @@
-extern void print(void);
-
-int main(int argc, char *argv[])
-{
- print();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone/gyptest-standalone.py b/deps/npm/node_modules/node-gyp/gyp/test/standalone/gyptest-standalone.py
deleted file mode 100644
index 87143706a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone/gyptest-standalone.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that a project hierarchy created with the --generator-output=
-option can be built even when it's relocated to a different path.
-"""
-
-import TestGyp
-import os
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('standalone.gyp', '-Gstandalone')
-
-# Look at all the files in the tree to make sure none
-# of them reference the gyp file.
-for root, dirs, files in os.walk("."):
- for file in files:
- # ignore ourself
- if os.path.splitext(__file__)[0] in file:
- continue
- file = os.path.join(root, file)
- contents = open(file).read()
- if 'standalone.gyp' in contents:
- print 'gyp file referenced in generated output: %s' % file
- test.fail_test()
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/standalone/standalone.gyp b/deps/npm/node_modules/node-gyp/gyp/test/standalone/standalone.gyp
deleted file mode 100644
index b2a678543..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/standalone/standalone.gyp
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name' : 'foo',
- 'type' : 'executable'
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-all.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-all.py
deleted file mode 100755
index b7509041a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-all.py
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a target and a subsidiary dependent target from a
-.gyp file in a subdirectory, without specifying an explicit output build
-directory, and using the generated solution or project file at the top
-of the tree as the entry point.
-
-The configuration sets the Xcode SYMROOT variable and uses --depth=
-to make Xcode behave like the other build tools--that is, put all
-built targets in a single output build directory at the top of the tree.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('prog1.gyp', '-Dset_symroot=1', '--depth=.', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# Suppress the test infrastructure's setting SYMROOT on the command line.
-test.build('prog1.gyp', test.ALL, SYMROOT=None, chdir='relocate/src')
-
-test.run_built_executable('prog1',
- stdout="Hello from prog1.c\n",
- chdir='relocate/src')
-test.run_built_executable('prog2',
- stdout="Hello from prog2.c\n",
- chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-default.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-default.py
deleted file mode 100755
index c64ae7da3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-SYMROOT-default.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a target and a subsidiary dependent target from a
-.gyp file in a subdirectory, without specifying an explicit output build
-directory, and using the generated solution or project file at the top
-of the tree as the entry point.
-
-The configuration sets the Xcode SYMROOT variable and uses --depth=
-to make Xcode behave like the other build tools--that is, put all
-built targets in a single output build directory at the top of the tree.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('prog1.gyp', '-Dset_symroot=1', '--depth=.', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-# Suppress the test infrastructure's setting SYMROOT on the command line.
-test.build('prog1.gyp', SYMROOT=None, chdir='relocate/src')
-
-test.run_built_executable('prog1',
- stdout="Hello from prog1.c\n",
- chdir='relocate/src')
-
-test.run_built_executable('prog2',
- stdout="Hello from prog2.c\n",
- chdir='relocate/src')
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-all.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-all.py
deleted file mode 100755
index 3433d4174..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-all.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a subsidiary dependent target from a .gyp file in a
-subdirectory, without specifying an explicit output build directory,
-and using the subdirectory's solution or project file as the entry point.
-"""
-
-import TestGyp
-
-# Ninja and Android don't support running from subdirectories.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.run_gyp('prog1.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-chdir = 'relocate/src/subdir'
-target = test.ALL
-
-test.build('prog2.gyp', target, chdir=chdir)
-
-test.built_file_must_not_exist('prog1', type=test.EXECUTABLE, chdir=chdir)
-
-test.run_built_executable('prog2',
- chdir=chdir,
- stdout="Hello from prog2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-default.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-default.py
deleted file mode 100755
index d4a2f3f48..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir-default.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a subsidiary dependent target from a .gyp file in a
-subdirectory, without specifying an explicit output build directory,
-and using the subdirectory's solution or project file as the entry point.
-"""
-
-import TestGyp
-import errno
-
-# Ninja and Android don't support running from subdirectories.
-test = TestGyp.TestGyp(formats=['!ninja', '!android'])
-
-test.run_gyp('prog1.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-chdir = 'relocate/src/subdir'
-
-test.build('prog2.gyp', chdir=chdir)
-
-test.built_file_must_not_exist('prog1', type=test.EXECUTABLE, chdir=chdir)
-
-test.run_built_executable('prog2',
- chdir=chdir,
- stdout="Hello from prog2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir2-deep.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir2-deep.py
deleted file mode 100755
index 48548982f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-subdir2-deep.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a project rooted several layers under src_dir works.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('prog3.gyp', chdir='src/subdir/subdir2')
-
-test.relocate('src', 'relocate/src')
-
-test.build('prog3.gyp', test.ALL, chdir='relocate/src/subdir/subdir2')
-
-test.run_built_executable('prog3',
- chdir='relocate/src/subdir/subdir2',
- stdout="Hello from prog3.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-all.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-all.py
deleted file mode 100755
index a29a41b4d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-all.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a target and a subsidiary dependent target from a
-.gyp file in a subdirectory, without specifying an explicit output build
-directory, and using the generated solution or project file at the top
-of the tree as the entry point.
-
-There is a difference here in the default behavior of the underlying
-build tools. Specifically, when building the entire "solution", Xcode
-puts the output of each project relative to the .xcodeproj directory,
-while Visual Studio (and our implementations of SCons and Make) put it
-in a build directory relative to the "solution"--that is, the entry-point
-from which you built the entire tree.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('prog1.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('prog1.gyp', test.ALL, chdir='relocate/src')
-
-test.run_built_executable('prog1',
- stdout="Hello from prog1.c\n",
- chdir='relocate/src')
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('prog2',
- chdir=chdir,
- stdout="Hello from prog2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-default.py b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-default.py
deleted file mode 100755
index ac5f60dbc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/gyptest-top-default.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a target and a subsidiary dependent target from a
-.gyp file in a subdirectory, without specifying an explicit output build
-directory, and using the generated solution or project file at the top
-of the tree as the entry point.
-
-There is a difference here in the default behavior of the underlying
-build tools. Specifically, when building the entire "solution", Xcode
-puts the output of each project relative to the .xcodeproj directory,
-while Visual Studio (and our implementations of SCons and Make) put it
-in a build directory relative to the "solution"--that is, the entry-point
-from which you built the entire tree.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('prog1.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('prog1.gyp', chdir='relocate/src')
-
-test.run_built_executable('prog1',
- stdout="Hello from prog1.c\n",
- chdir='relocate/src')
-
-if test.format == 'xcode':
- chdir = 'relocate/src/subdir'
-else:
- chdir = 'relocate/src'
-test.run_built_executable('prog2',
- chdir=chdir,
- stdout="Hello from prog2.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.c
deleted file mode 100644
index 161ae8a38..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog1.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.gyp b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.gyp
deleted file mode 100644
index 2aa66ce7d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/prog1.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- 'symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog1',
- 'type': 'executable',
- 'dependencies': [
- 'subdir/prog2.gyp:prog2',
- ],
- 'sources': [
- 'prog1.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.c
deleted file mode 100644
index 7635ae8c1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog2.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.gyp
deleted file mode 100644
index c6cd35f7f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/prog2.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog2',
- 'type': 'executable',
- 'sources': [
- 'prog2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.c b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.c
deleted file mode 100644
index 7cfb0fa94..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog3.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp
deleted file mode 100644
index b49fb5911..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/subdir/subdir2/prog3.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'includes': [
- '../../symroot.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'prog3',
- 'type': 'executable',
- 'sources': [
- 'prog3.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/symroot.gypi b/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/symroot.gypi
deleted file mode 100644
index 519916427..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/subdirectory/src/symroot.gypi
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'set_symroot%': 0,
- },
- 'conditions': [
- ['set_symroot == 1', {
- 'xcode_settings': {
- 'SYMROOT': '<(DEPTH)/build',
- },
- }],
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/gyptest-toolsets.py b/deps/npm/node_modules/node-gyp/gyp/test/toolsets/gyptest-toolsets.py
deleted file mode 100755
index 19737f83d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/gyptest-toolsets.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that toolsets are correctly applied
-"""
-
-import TestGyp
-
-# Multiple toolsets are currently only supported by the make generator.
-test = TestGyp.TestGyp(formats=['make'])
-
-test.run_gyp('toolsets.gyp')
-
-test.build('toolsets.gyp', test.ALL)
-
-test.run_built_executable('host-main', stdout="Host\n")
-test.run_built_executable('target-main', stdout="Target\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/main.cc b/deps/npm/node_modules/node-gyp/gyp/test/toolsets/main.cc
deleted file mode 100644
index 0f353ae54..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/main.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-#include <stdio.h>
-
-const char *GetToolset();
-
-int main(int argc, char *argv[]) {
- printf("%s\n", GetToolset());
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.cc b/deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.cc
deleted file mode 100644
index a45fa029c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright (c) 2009 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-const char *GetToolset() {
-#ifdef TARGET
- return "Target";
-#else
- return "Host";
-#endif
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.gyp b/deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.gyp
deleted file mode 100644
index 6afa7ecec..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toolsets/toolsets.gyp
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'target_conditions': [
- ['_toolset=="target"', {'defines': ['TARGET']}]
- ]
- },
- 'targets': [
- {
- 'target_name': 'toolsets',
- 'type': 'static_library',
- 'toolsets': ['target', 'host'],
- 'sources': [
- 'toolsets.cc',
- ],
- },
- {
- 'target_name': 'host-main',
- 'type': 'executable',
- 'toolsets': ['host'],
- 'dependencies': ['toolsets'],
- 'sources': [
- 'main.cc',
- ],
- },
- {
- 'target_name': 'target-main',
- 'type': 'executable',
- 'dependencies': ['toolsets'],
- 'sources': [
- 'main.cc',
- ],
- },
- # This tests that build systems can handle a shared library being build for
- # both host and target.
- {
- 'target_name': 'janus',
- 'type': 'shared_library',
- 'toolsets': ['target', 'host'],
- 'sources': [
- 'toolsets.cc',
- ],
- 'cflags': [ '-fPIC' ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/gyptest-toplevel-dir.py b/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/gyptest-toplevel-dir.py
deleted file mode 100755
index 4daa6b2c1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/gyptest-toplevel-dir.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies building a subsidiary dependent target from a .gyp file in a
-subdirectory, without specifying an explicit output build directory,
-and using the subdirectory's solution or project file as the entry point.
-"""
-
-import TestGyp
-import errno
-
-test = TestGyp.TestGyp(formats=['ninja', 'make'])
-
-# We want our Makefile to be one dir up from main.gyp.
-test.run_gyp('main.gyp', '--toplevel-dir=..', chdir='src/sub1')
-
-toplevel_dir = 'src'
-
-test.build('all', chdir=toplevel_dir)
-
-test.built_file_must_exist('prog1', type=test.EXECUTABLE, chdir=toplevel_dir)
-
-test.run_built_executable('prog1',
- chdir=toplevel_dir,
- stdout="Hello from prog1.c\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/main.gyp b/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/main.gyp
deleted file mode 100644
index 33219010e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/main.gyp
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'prog1',
- 'type': 'executable',
- 'dependencies': [
- '<(DEPTH)/../sub2/prog2.gyp:prog2',
- ],
- 'sources': [
- 'prog1.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/prog1.c b/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/prog1.c
deleted file mode 100644
index 161ae8a38..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub1/prog1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog1.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.c b/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.c
deleted file mode 100644
index 7635ae8c1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
- printf("Hello from prog2.c\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.gyp b/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.gyp
deleted file mode 100644
index 593454836..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/toplevel-dir/src/sub2/prog2.gyp
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'prog2',
- 'type': 'executable',
- 'sources': [
- 'prog2.c',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp
deleted file mode 100644
index 822ae4f05..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This is a simple test file to make sure that variable substitution
-# happens correctly. Run "run_tests.py" using python to generate the
-# output from this gyp file.
-
-{
- 'variables': {
- 'pi': 'import math; print math.pi',
- 'third_letters': "<(other_letters)HIJK",
- 'letters_list': 'ABCD',
- 'other_letters': '<(letters_list)EFG',
- 'check_included': '<(included_variable)',
- 'check_lists': [
- '<(included_variable)',
- '<(third_letters)',
- ],
- 'check_int': 5,
- 'check_str_int': '6',
- 'check_list_int': [
- 7,
- '8',
- 9,
- ],
- 'not_int_1': ' 10',
- 'not_int_2': '11 ',
- 'not_int_3': '012',
- 'not_int_4': '13.0',
- 'not_int_5': '+14',
- 'negative_int': '-15',
- 'zero_int': '0',
- },
- 'includes': [
- 'commands.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'foo',
- 'type': 'none',
- 'variables': {
- 'var1': '<!(["python", "-c", "<(pi)"])',
- 'var2': '<!(python -c "print \'<!(python -c "<(pi)") <(letters_list)\'")',
- 'var3': '<!(python -c "print \'<(letters_list)\'")',
- 'var4': '<(<!(python -c "print \'letters_list\'"))',
- 'var5': 'letters_',
- 'var6': 'list',
- 'var7': '<(check_int)',
- 'var8': '<(check_int)blah',
- 'var9': '<(check_str_int)',
- 'var10': '<(check_list_int)',
- 'var11': ['<@(check_list_int)'],
- 'var12': '<(not_int_1)',
- 'var13': '<(not_int_2)',
- 'var14': '<(not_int_3)',
- 'var15': '<(not_int_4)',
- 'var16': '<(not_int_5)',
- 'var17': '<(negative_int)',
- 'var18': '<(zero_int)',
- # A second set with different names to make sure they only execute the
- # commands once.
- 'var1prime': '<!(["python", "-c", "<(pi)"])',
- 'var2prime': '<!(python -c "print \'<!(python -c "<(pi)") <(letters_list)\'")',
- 'var3prime': '<!(python -c "print \'<(letters_list)\'")',
- 'var4prime': '<(<!(python -c "print \'letters_list\'"))',
- },
- 'actions': [
- {
- 'action_name': 'test_action',
- 'variables': {
- 'var7': '<!(echo <(var5)<(var6))',
- },
- 'inputs' : [
- '<(var2)',
- ],
- 'outputs': [
- '<(var4)',
- '<(var7)',
- ],
- 'action': [
- 'echo',
- '<(_inputs)',
- '<(_outputs)',
- ],
- },
- # Again with the same vars to make sure the right things happened.
- {
- 'action_name': 'test_action_prime',
- 'variables': {
- 'var7': '<!(echo <(var5)<(var6))',
- },
- 'inputs' : [
- '<(var2)',
- ],
- 'outputs': [
- '<(var4)',
- '<(var7)',
- ],
- 'action': [
- 'echo',
- '<(_inputs)',
- '<(_outputs)',
- ],
- },
- # And one more time with the other vars...
- {
- 'action_name': 'test_action_prime_prime',
- 'variables': {
- 'var7': '<!(echo <(var5)<(var6))',
- },
- 'inputs' : [
- '<(var2prime)',
- ],
- 'outputs': [
- '<(var4prime)',
- '<(var7)',
- ],
- 'action': [
- 'echo',
- '<(_inputs)',
- '<(_outputs)',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp.stdout b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp.stdout
deleted file mode 100644
index 7f386af7c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gyp.stdout
+++ /dev/null
@@ -1,136 +0,0 @@
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFG', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'XYZ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'XYZ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'third_letters', 'is_array': '', 'replace': '<(third_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(other_letters)HIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print \'<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "import math; print math.pi"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "import math; print math.pi"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'3.14159265359 ABCD\'"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print '3.14159265359 ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '["python", "-c", "import math; print math.pi"]', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command '['python', '-c', 'import math; print math.pi']' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '<!(python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<(<!(python -c "print \'letters_list\'")', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<!(python -c "print \'letters_list\'")', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print 'letters_list'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '5', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '["python", "-c", "import math; print math.pi"]', recursing.
-VARIABLES:input.py:721:ExpandVariables Had cache value for command '['python', '-c', 'import math; print math.pi']' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print \'<(letters_list)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'ABCD\'"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print 'ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print \'<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "import math; print math.pi"', recursing.
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'python -c "import math; print math.pi"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'3.14159265359 ABCD\'"', recursing.
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'python -c "print '3.14159265359 ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_str_int', 'is_array': '', 'replace': '<(check_str_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '6', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '5blah', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '<!(python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<(<!(python -c "print \'letters_list\'")', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<!(python -c "print \'letters_list\'")', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'python -c "print 'letters_list'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print \'<(letters_list)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'ABCD\'"', recursing.
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'python -c "print 'ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_4', 'is_array': '', 'replace': '<(not_int_4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '13.0', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_3', 'is_array': '', 'replace': '<(not_int_3)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '012', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'negative_int', 'is_array': '', 'replace': '<(negative_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '-15', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_5', 'is_array': '', 'replace': '<(not_int_5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '+14', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<(check_list_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '7 8 9', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_2', 'is_array': '', 'replace': '<(not_int_2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '11 ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_1', 'is_array': '', 'replace': '<(not_int_1)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output ' 10', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'zero_int', 'is_array': '', 'replace': '<(zero_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '0', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<@(check_list_int)', 'type': '<@', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output [7, 8, 9], recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'echo letters_list', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'echo letters_list' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output '"3.14159265359 ABCD"', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'echo letters_list', recursing.
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'echo letters_list' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output '"3.14159265359 ABCD"', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'echo letters_list', recursing.
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'echo letters_list' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var2prime', 'is_array': '', 'replace': '<(var2prime)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output '"3.14159265359 ABCD"', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var4prime', 'is_array': '', 'replace': '<(var4prime)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD letters_list', recursing.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gypd.golden b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gypd.golden
deleted file mode 100644
index 96615b663..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands-repeated.gypd.golden
+++ /dev/null
@@ -1,72 +0,0 @@
-{'_DEPTH': '.',
- 'included_files': ['commands-repeated.gyp', 'commands.gypi'],
- 'targets': [{'actions': [{'action': ['echo',
- '"3.14159265359 ABCD"',
- 'ABCD letters_list'],
- 'action_name': 'test_action',
- 'inputs': ['3.14159265359 ABCD'],
- 'outputs': ['ABCD', 'letters_list'],
- 'variables': {'var7': 'letters_list'}},
- {'action': ['echo',
- '"3.14159265359 ABCD"',
- 'ABCD letters_list'],
- 'action_name': 'test_action_prime',
- 'inputs': ['3.14159265359 ABCD'],
- 'outputs': ['ABCD', 'letters_list'],
- 'variables': {'var7': 'letters_list'}},
- {'action': ['echo',
- '"3.14159265359 ABCD"',
- 'ABCD letters_list'],
- 'action_name': 'test_action_prime_prime',
- 'inputs': ['3.14159265359 ABCD'],
- 'outputs': ['ABCD', 'letters_list'],
- 'variables': {'var7': 'letters_list'}}],
- 'configurations': {'Default': {}},
- 'default_configuration': 'Default',
- 'target_name': 'foo',
- 'toolset': 'target',
- 'type': 'none',
- 'variables': {'var1': '3.14159265359',
- 'var10': '7 8 9',
- 'var11': ['7', '8', '9'],
- 'var12': ' 10',
- 'var13': '11 ',
- 'var14': '012',
- 'var15': '13.0',
- 'var16': '+14',
- 'var17': '-15',
- 'var18': '0',
- 'var1prime': '3.14159265359',
- 'var2': '3.14159265359 ABCD',
- 'var2prime': '3.14159265359 ABCD',
- 'var3': 'ABCD',
- 'var3prime': 'ABCD',
- 'var4': 'ABCD',
- 'var4prime': 'ABCD',
- 'var5': 'letters_',
- 'var6': 'list',
- 'var7': '5',
- 'var8': '5blah',
- 'var9': '6'}},
- {'configurations': {'Default': {}},
- 'default_configuration': 'Default',
- 'target_name': 'dummy',
- 'toolset': 'target',
- 'type': 'none'}],
- 'variables': {'check_included': 'XYZ',
- 'check_int': '5',
- 'check_list_int': ['7', '8', '9'],
- 'check_lists': ['XYZ', 'ABCDEFGHIJK'],
- 'check_str_int': '6',
- 'included_variable': 'XYZ',
- 'letters_list': 'ABCD',
- 'negative_int': '-15',
- 'not_int_1': ' 10',
- 'not_int_2': '11 ',
- 'not_int_3': '012',
- 'not_int_4': '13.0',
- 'not_int_5': '+14',
- 'other_letters': 'ABCDEFG',
- 'pi': 'import math; print math.pi',
- 'third_letters': 'ABCDEFGHIJK',
- 'zero_int': '0'}}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp
deleted file mode 100644
index 985f8bd49..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This is a simple test file to make sure that variable substitution
-# happens correctly. Run "run_tests.py" using python to generate the
-# output from this gyp file.
-
-{
- 'variables': {
- 'pi': 'import math; print math.pi',
- 'third_letters': "<(other_letters)HIJK",
- 'letters_list': 'ABCD',
- 'other_letters': '<(letters_list)EFG',
- 'check_included': '<(included_variable)',
- 'check_lists': [
- '<(included_variable)',
- '<(third_letters)',
- ],
- 'check_int': 5,
- 'check_str_int': '6',
- 'check_list_int': [
- 7,
- '8',
- 9,
- ],
- 'not_int_1': ' 10',
- 'not_int_2': '11 ',
- 'not_int_3': '012',
- 'not_int_4': '13.0',
- 'not_int_5': '+14',
- 'negative_int': '-15',
- 'zero_int': '0',
- },
- 'includes': [
- 'commands.gypi',
- ],
- 'targets': [
- {
- 'target_name': 'foo',
- 'type': 'none',
- 'variables': {
- 'var1': '<!(["python", "-c", "<(pi)"])',
- 'var2': '<!(python -c "print \'<!(python -c "<(pi)") <(letters_list)\'")',
- 'var3': '<!(python -c "print \'<(letters_list)\'")',
- 'var4': '<(<!(python -c "print \'letters_list\'"))',
- 'var5': 'letters_',
- 'var6': 'list',
- 'var7': '<(check_int)',
- 'var8': '<(check_int)blah',
- 'var9': '<(check_str_int)',
- 'var10': '<(check_list_int)',
- 'var11': ['<@(check_list_int)'],
- 'var12': '<(not_int_1)',
- 'var13': '<(not_int_2)',
- 'var14': '<(not_int_3)',
- 'var15': '<(not_int_4)',
- 'var16': '<(not_int_5)',
- 'var17': '<(negative_int)',
- 'var18': '<(zero_int)',
- 'var19': ['<!@(python test.py)'],
- 'var20': '<!(python test.py)',
- },
- 'actions': [
- {
- 'action_name': 'test_action',
- 'variables': {
- 'var7': '<!(echo <(var5)<(var6))',
- },
- 'inputs' : [
- '<(var2)',
- ],
- 'outputs': [
- '<(var4)',
- '<(var7)',
- ],
- 'action': [
- 'echo',
- '<(_inputs)',
- '<(_outputs)',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.ignore-env.stdout b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.ignore-env.stdout
deleted file mode 100644
index 9812b6936..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.ignore-env.stdout
+++ /dev/null
@@ -1,86 +0,0 @@
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFG', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'XYZ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'XYZ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'third_letters', 'is_array': '', 'replace': '<(third_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(other_letters)HIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '<!(python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<(<!(python -c "print \'letters_list\'")', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<!(python -c "print \'letters_list\'")', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print 'letters_list'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '5', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '["python", "-c", "import math; print math.pi"]', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command '['python', '-c', 'import math; print math.pi']' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print \'<(letters_list)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'ABCD\'"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print 'ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print \'<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "import math; print math.pi"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "import math; print math.pi"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'3.14159265359 ABCD\'"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print '3.14159265359 ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!(python test.py)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:676:ExpandVariables Executing command 'python test.py' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'sample\\path\\foo.cpp', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_str_int', 'is_array': '', 'replace': '<(check_str_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '6', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '5blah', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_4', 'is_array': '', 'replace': '<(not_int_4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '13.0', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_3', 'is_array': '', 'replace': '<(not_int_3)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '012', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'negative_int', 'is_array': '', 'replace': '<(negative_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '-15', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_5', 'is_array': '', 'replace': '<(not_int_5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '+14', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<(check_list_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '7 8 9', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_2', 'is_array': '', 'replace': '<(not_int_2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '11 ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_1', 'is_array': '', 'replace': '<(not_int_1)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output ' 10', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'zero_int', 'is_array': '', 'replace': '<(zero_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '0', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<@(check_list_int)', 'type': '<@', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output [7, 8, 9], recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!@(python test.py)', 'type': '<!@', 'command_string': None}
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'python test.py' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output ['samplepathfoo.cpp'], recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'echo letters_list', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'echo letters_list' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output '"3.14159265359 ABCD"', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD letters_list', recursing.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.stdout b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.stdout
deleted file mode 100644
index 9812b6936..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gyp.stdout
+++ /dev/null
@@ -1,86 +0,0 @@
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFG', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'XYZ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'included_variable', 'is_array': '', 'replace': '<(included_variable)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'XYZ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'third_letters', 'is_array': '', 'replace': '<(third_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(other_letters)HIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'other_letters', 'is_array': '', 'replace': '<(other_letters)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '<(letters_list)EFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCDEFGHIJK', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '<!(python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<(<!(python -c "print \'letters_list\'")', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'letters_list\'"', 'is_array': '', 'replace': '<!(python -c "print \'letters_list\'")', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print 'letters_list'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '5', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '"python", "-c", "<(pi', 'is_array': '[', 'replace': '<!(["python", "-c", "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '["python", "-c", "import math; print math.pi"]', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command '['python', '-c', 'import math; print math.pi']' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<(letters_list', 'is_array': '', 'replace': '<!(python -c "print \'<(letters_list)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'ABCD\'"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print 'ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'letters_list', 'is_array': '', 'replace': '<(letters_list)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "print \'<!(python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "print \'<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python -c "<(pi', 'is_array': '', 'replace': '<!(python -c "<(pi)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'pi', 'is_array': '', 'replace': '<(pi)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "import math; print math.pi"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "import math; print math.pi"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'python -c "print \'3.14159265359 ABCD\'"', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'python -c "print '3.14159265359 ABCD'"' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!(python test.py)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:676:ExpandVariables Executing command 'python test.py' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'sample\\path\\foo.cpp', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_str_int', 'is_array': '', 'replace': '<(check_str_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '6', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_int', 'is_array': '', 'replace': '<(check_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '5blah', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_4', 'is_array': '', 'replace': '<(not_int_4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '13.0', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_3', 'is_array': '', 'replace': '<(not_int_3)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '012', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'negative_int', 'is_array': '', 'replace': '<(negative_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '-15', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_5', 'is_array': '', 'replace': '<(not_int_5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '+14', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<(check_list_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '7 8 9', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_2', 'is_array': '', 'replace': '<(not_int_2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '11 ', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'not_int_1', 'is_array': '', 'replace': '<(not_int_1)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output ' 10', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'zero_int', 'is_array': '', 'replace': '<(zero_int)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '0', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'check_list_int', 'is_array': '', 'replace': '<@(check_list_int)', 'type': '<@', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output [7, 8, 9], recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'python test.py', 'is_array': '', 'replace': '<!@(python test.py)', 'type': '<!@', 'command_string': None}
-VARIABLES:input.py:721:ExpandVariables Had cache value for command 'python test.py' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output ['samplepathfoo.cpp'], recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var6', 'is_array': '', 'replace': '<(var6)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'echo <(var5', 'is_array': '', 'replace': '<!(echo <(var5)', 'type': '<!', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var5', 'is_array': '', 'replace': '<(var5)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'echo letters_list', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'echo letters_list' in directory 'None'
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_inputs', 'is_array': '', 'replace': '<(_inputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var2', 'is_array': '', 'replace': '<(var2)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output '3.14159265359 ABCD', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output '"3.14159265359 ABCD"', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_outputs', 'is_array': '', 'replace': '<(_outputs)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var4', 'is_array': '', 'replace': '<(var4)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'var7', 'is_array': '', 'replace': '<(var7)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'letters_list', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'ABCD letters_list', recursing.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypd.golden b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypd.golden
deleted file mode 100644
index d5af8b864..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypd.golden
+++ /dev/null
@@ -1,56 +0,0 @@
-{'_DEPTH': '.',
- 'included_files': ['commands.gyp', 'commands.gypi'],
- 'targets': [{'actions': [{'action': ['echo',
- '"3.14159265359 ABCD"',
- 'ABCD letters_list'],
- 'action_name': 'test_action',
- 'inputs': ['3.14159265359 ABCD'],
- 'outputs': ['ABCD', 'letters_list'],
- 'variables': {'var7': 'letters_list'}}],
- 'configurations': {'Default': {}},
- 'default_configuration': 'Default',
- 'target_name': 'foo',
- 'toolset': 'target',
- 'type': 'none',
- 'variables': {'var1': '3.14159265359',
- 'var10': '7 8 9',
- 'var11': ['7', '8', '9'],
- 'var12': ' 10',
- 'var13': '11 ',
- 'var14': '012',
- 'var15': '13.0',
- 'var16': '+14',
- 'var17': '-15',
- 'var18': '0',
- 'var19': ['samplepathfoo.cpp'],
- 'var2': '3.14159265359 ABCD',
- 'var20': 'sample\\path\\foo.cpp',
- 'var3': 'ABCD',
- 'var4': 'ABCD',
- 'var5': 'letters_',
- 'var6': 'list',
- 'var7': '5',
- 'var8': '5blah',
- 'var9': '6'}},
- {'configurations': {'Default': {}},
- 'default_configuration': 'Default',
- 'target_name': 'dummy',
- 'toolset': 'target',
- 'type': 'none'}],
- 'variables': {'check_included': 'XYZ',
- 'check_int': '5',
- 'check_list_int': ['7', '8', '9'],
- 'check_lists': ['XYZ', 'ABCDEFGHIJK'],
- 'check_str_int': '6',
- 'included_variable': 'XYZ',
- 'letters_list': 'ABCD',
- 'negative_int': '-15',
- 'not_int_1': ' 10',
- 'not_int_2': '11 ',
- 'not_int_3': '012',
- 'not_int_4': '13.0',
- 'not_int_5': '+14',
- 'other_letters': 'ABCDEFG',
- 'pi': 'import math; print math.pi',
- 'third_letters': 'ABCDEFGHIJK',
- 'zero_int': '0'}}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypi b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypi
deleted file mode 100644
index 6b2249715..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/commands.gypi
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This file is included from commands.gyp to test evaluation order of includes.
-{
- 'variables': {
- 'included_variable': 'XYZ',
- },
- 'targets': [
- {
- 'target_name': 'dummy',
- 'type': 'none',
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-ignore-env.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-ignore-env.py
deleted file mode 100755
index 1cf3308dc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-ignore-env.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test that environment variables are ignored when --ignore-environment is
-specified.
-"""
-
-import os
-
-import TestGyp
-
-test = TestGyp.TestGyp(format='gypd')
-
-os.environ['GYP_DEFINES'] = 'FOO=BAR'
-os.environ['GYP_GENERATORS'] = 'foo'
-os.environ['GYP_GENERATOR_FLAGS'] = 'genflag=foo'
-os.environ['GYP_GENERATOR_OUTPUT'] = 'somedir'
-
-expect = test.read('commands.gyp.ignore-env.stdout').replace('\r\n', '\n')
-
-test.run_gyp('commands.gyp',
- '--debug', 'variables',
- '--ignore-environment',
- stdout=expect, ignore_line_numbers=True)
-
-# Verify the commands.gypd against the checked-in expected contents.
-#
-# Normally, we should canonicalize line endings in the expected
-# contents file setting the Subversion svn:eol-style to native,
-# but that would still fail if multiple systems are sharing a single
-# workspace on a network-mounted file system. Consequently, we
-# massage the Windows line endings ('\r\n') in the output to the
-# checked-in UNIX endings ('\n').
-
-contents = test.read('commands.gypd').replace('\r', '')
-expect = test.read('commands.gypd.golden').replace('\r', '')
-if not test.match(contents, expect):
- print "Unexpected contents of `commands.gypd'"
- test.diff(expect, contents, 'commands.gypd ')
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-repeated.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-repeated.py
deleted file mode 100755
index b95fe2d75..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands-repeated.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test variable expansion of '<!()' syntax commands where they are evaluated
-more then once..
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(format='gypd')
-
-expect = test.read('commands-repeated.gyp.stdout').replace('\r\n', '\n')
-
-test.run_gyp('commands-repeated.gyp',
- '--debug', 'variables',
- stdout=expect, ignore_line_numbers=True)
-
-# Verify the commands-repeated.gypd against the checked-in expected contents.
-#
-# Normally, we should canonicalize line endings in the expected
-# contents file setting the Subversion svn:eol-style to native,
-# but that would still fail if multiple systems are sharing a single
-# workspace on a network-mounted file system. Consequently, we
-# massage the Windows line endings ('\r\n') in the output to the
-# checked-in UNIX endings ('\n').
-
-contents = test.read('commands-repeated.gypd').replace('\r\n', '\n')
-expect = test.read('commands-repeated.gypd.golden').replace('\r\n', '\n')
-if not test.match(contents, expect):
- print "Unexpected contents of `commands-repeated.gypd'"
- test.diff(expect, contents, 'commands-repeated.gypd ')
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands.py
deleted file mode 100755
index ef1af8c52..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/gyptest-commands.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test variable expansion of '<!()' syntax commands.
-"""
-
-import os
-
-import TestGyp
-
-test = TestGyp.TestGyp(format='gypd')
-
-expect = test.read('commands.gyp.stdout').replace('\r', '')
-
-test.run_gyp('commands.gyp',
- '--debug', 'variables',
- stdout=expect, ignore_line_numbers=True)
-
-# Verify the commands.gypd against the checked-in expected contents.
-#
-# Normally, we should canonicalize line endings in the expected
-# contents file setting the Subversion svn:eol-style to native,
-# but that would still fail if multiple systems are sharing a single
-# workspace on a network-mounted file system. Consequently, we
-# massage the Windows line endings ('\r\n') in the output to the
-# checked-in UNIX endings ('\n').
-
-contents = test.read('commands.gypd').replace('\r', '')
-expect = test.read('commands.gypd.golden').replace('\r', '')
-if not test.match(contents, expect):
- print "Unexpected contents of `commands.gypd'"
- test.diff(expect, contents, 'commands.gypd ')
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/test.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/test.py
deleted file mode 100644
index 4d9ca6d1a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/test.py
+++ /dev/null
@@ -1 +0,0 @@
-print "sample\\path\\foo.cpp"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/update_golden b/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/update_golden
deleted file mode 100755
index e8da558a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/commands/update_golden
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-python ../../../gyp --debug variables --debug general --format gypd --depth . commands.gyp > commands.gyp.stdout
-python ../../../gyp --ignore-environment --debug variables --debug general --format gypd --depth . commands.gyp > commands.gyp.ignore-env.stdout
-cp -f commands.gypd commands.gypd.golden
-python ../../../gyp --debug variables --debug general --format gypd --depth . commands-repeated.gyp > commands-repeated.gyp.stdout
-cp -f commands-repeated.gypd commands-repeated.gypd.golden
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gyp.stdout b/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gyp.stdout
deleted file mode 100644
index 595a19c68..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gyp.stdout
+++ /dev/null
@@ -1,26 +0,0 @@
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names.txt <@(names', 'is_array': '', 'replace': '<|(names.txt <@(names)', 'type': '<|', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names', 'is_array': '', 'replace': '<@(names)', 'type': '<@', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'names.txt John Jacob Jingleheimer Schmidt', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'names.txt', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names_listfile', 'is_array': '', 'replace': '<(names_listfile)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'names.txt', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names_listfile', 'is_array': '', 'replace': '<(names_listfile)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'names.txt', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'cat <(names_listfile', 'is_array': '', 'replace': '<!@(cat <(names_listfile)', 'type': '<!@', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'names_listfile', 'is_array': '', 'replace': '<(names_listfile)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'cat names.txt', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'cat names.txt' in directory 'src'
-VARIABLES:input.py:797:ExpandVariables Found output ['John', 'Jacob', 'Jingleheimer', 'Schmidt'], recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources.txt <@(_sources', 'is_array': '', 'replace': '<|(sources.txt <@(_sources)', 'type': '<|', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': '_sources', 'is_array': '', 'replace': '<@(_sources)', 'type': '<@', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt John Jacob Jingleheimer Schmidt', recursing.
-VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources_listfile', 'is_array': '', 'replace': '<(sources_listfile)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources_listfile', 'is_array': '', 'replace': '<(sources_listfile)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'sources.txt', recursing.
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'cat <(sources_listfile', 'is_array': '', 'replace': '<!@(cat <(sources_listfile)', 'type': '<!@', 'command_string': None}
-VARIABLES:input.py:562:ExpandVariables Matches: {'content': 'sources_listfile', 'is_array': '', 'replace': '<(sources_listfile)', 'type': '<', 'command_string': None}
-VARIABLES:input.py:797:ExpandVariables Found output 'cat sources.txt', recursing.
-VARIABLES:input.py:676:ExpandVariables Executing command 'cat sources.txt' in directory 'src'
-VARIABLES:input.py:797:ExpandVariables Found output ['John', 'Jacob', 'Jingleheimer', 'Schmidt'], recursing.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gypd.golden b/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gypd.golden
deleted file mode 100644
index 09d911604..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/filelist.gypd.golden
+++ /dev/null
@@ -1,43 +0,0 @@
-{'_DEPTH': '.',
- 'included_files': ['filelist.gyp'],
- 'targets': [{'actions': [{'action': ['python', 'dummy.py', 'names.txt'],
- 'action_name': 'test_action',
- 'inputs': ['names.txt',
- 'John',
- 'Jacob',
- 'Jingleheimer',
- 'Schmidt'],
- 'outputs': ['dummy_foo']}],
- 'configurations': {'Default': {}},
- 'default_configuration': 'Default',
- 'target_name': 'foo',
- 'toolset': 'target',
- 'type': 'none',
- 'variables': {'names_listfile': 'names.txt'}},
- {'actions': [{'action': ['python', 'dummy.py', 'sources.txt'],
- 'action_name': 'test_action',
- 'inputs': ['sources.txt',
- 'John',
- 'Jacob',
- 'Jingleheimer',
- 'Schmidt'],
- 'outputs': ['dummy_foo']}],
- 'configurations': {'Default': {}},
- 'default_configuration': 'Default',
- 'sources': ['John', 'Jacob', 'Jingleheimer', 'Schmidt'],
- 'sources_excluded': ['Astor', 'Jerome', 'Schultz'],
- 'target_name': 'bar',
- 'toolset': 'target',
- 'type': 'none',
- 'variables': {'sources_listfile': 'sources.txt'}}],
- 'variables': {'names': ['John',
- 'Jacob',
- 'Astor',
- 'Jingleheimer',
- 'Jerome',
- 'Schmidt',
- 'Schultz'],
- 'names!': ['Astor'],
- 'names/': [['exclude', 'Sch.*'],
- ['include', '.*dt'],
- ['exclude', 'Jer.*']]}}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/gyptest-filelist.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/gyptest-filelist.py
deleted file mode 100755
index 1606594d1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/gyptest-filelist.py
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Test variable expansion of '<|(list.txt ...)' syntax commands.
-"""
-
-import os
-import sys
-
-import TestGyp
-
-test = TestGyp.TestGyp(format='gypd')
-
-expect = test.read('filelist.gyp.stdout')
-if sys.platform == 'win32':
- expect = expect.replace('/', r'\\').replace('\r\n', '\n')
-
-test.run_gyp('src/filelist.gyp',
- '--debug', 'variables',
- stdout=expect, ignore_line_numbers=True)
-
-# Verify the filelist.gypd against the checked-in expected contents.
-#
-# Normally, we should canonicalize line endings in the expected
-# contents file setting the Subversion svn:eol-style to native,
-# but that would still fail if multiple systems are sharing a single
-# workspace on a network-mounted file system. Consequently, we
-# massage the Windows line endings ('\r\n') in the output to the
-# checked-in UNIX endings ('\n').
-
-contents = test.read('src/filelist.gypd').replace(
- '\r', '').replace('\\\\', '/')
-expect = test.read('filelist.gypd.golden').replace('\r', '')
-if not test.match(contents, expect):
- print "Unexpected contents of `src/filelist.gypd'"
- test.diff(expect, contents, 'src/filelist.gypd ')
- test.fail_test()
-
-contents = test.read('src/names.txt')
-expect = 'John\nJacob\nJingleheimer\nSchmidt\n'
-if not test.match(contents, expect):
- print "Unexpected contents of `src/names.txt'"
- test.diff(expect, contents, 'src/names.txt ')
- test.fail_test()
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/src/filelist.gyp b/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/src/filelist.gyp
deleted file mode 100644
index df48eb3e4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/src/filelist.gyp
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This is a test to make sure that <|(foo.txt a b c) generates
-# a pre-calculated file list at gyp time and returns foo.txt.
-# This feature is useful to work around limits in the number of arguments that
-# can be passed to rule/action.
-
-{
- 'variables': {
- 'names': [
- 'John',
- 'Jacob',
- 'Astor',
- 'Jingleheimer',
- 'Jerome',
- 'Schmidt',
- 'Schultz',
- ],
- 'names!': [
- 'Astor',
- ],
- 'names/': [
- ['exclude', 'Sch.*'],
- ['include', '.*dt'],
- ['exclude', 'Jer.*'],
- ],
- },
- 'targets': [
- {
- 'target_name': 'foo',
- 'type': 'none',
- 'variables': {
- 'names_listfile': '<|(names.txt <@(names))',
- },
- 'actions': [
- {
- 'action_name': 'test_action',
- 'inputs' : [
- '<(names_listfile)',
- '<!@(cat <(names_listfile))',
- ],
- 'outputs': [
- 'dummy_foo',
- ],
- 'action': [
- 'python', 'dummy.py', '<(names_listfile)',
- ],
- },
- ],
- },
- {
- 'target_name': 'bar',
- 'type': 'none',
- 'sources': [
- 'John',
- 'Jacob',
- 'Astor',
- 'Jingleheimer',
- 'Jerome',
- 'Schmidt',
- 'Schultz',
- ],
- 'sources!': [
- 'Astor',
- ],
- 'sources/': [
- ['exclude', 'Sch.*'],
- ['include', '.*dt'],
- ['exclude', 'Jer.*'],
- ],
- 'variables': {
- 'sources_listfile': '<|(sources.txt <@(_sources))',
- },
- 'actions': [
- {
- 'action_name': 'test_action',
- 'inputs' : [
- '<(sources_listfile)',
- '<!@(cat <(sources_listfile))',
- ],
- 'outputs': [
- 'dummy_foo',
- ],
- 'action': [
- 'python', 'dummy.py', '<(sources_listfile)',
- ],
- },
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/update_golden b/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/update_golden
deleted file mode 100755
index b4d489a34..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/filelist/update_golden
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-python ../../../gyp --debug variables --debug general --format gypd --depth . src/filelist.gyp > filelist.gyp.stdout
-cp -f src/filelist.gypd filelist.gypd.golden
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/gyptest-latelate.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/gyptest-latelate.py
deleted file mode 100755
index 2d77dfec5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/gyptest-latelate.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that ^(latelate) style variables work.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp()
-
-test.run_gyp('latelate.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('latelate.gyp', test.ALL, chdir='relocate/src')
-
-test.run_built_executable(
- 'program', chdir='relocate/src', stdout='program.cc\n')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/latelate.gyp b/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/latelate.gyp
deleted file mode 100644
index 312f3765b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/latelate.gyp
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'target_conditions': [
- ['has_lame==1', {
- 'sources/': [
- ['exclude', 'lame'],
- ],
- }],
- ],
- },
- 'targets': [
- {
- 'target_name': 'program',
- 'type': 'executable',
- 'variables': {
- 'has_lame': 1,
- },
- 'include_dirs': [
- '<(SHARED_INTERMEDIATE_DIR)',
- ],
- 'defines': [
- 'FOO="^(_sources)"',
- ],
- 'sources': [
- 'program.cc',
- 'this_is_lame.cc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/program.cc b/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/program.cc
deleted file mode 100644
index 4c6d6e048..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/latelate/src/program.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Copyright (c) 2012 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include <stdio.h>
-
-
-int main(int argc, char *argv[]) {
- printf(FOO "\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/C1/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/C1/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/C1/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py b/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py
deleted file mode 100644
index b73a279da..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/gyptest-variable-in-path.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure <(CONFIGURATION_NAME) variable is correctly expanded.
-"""
-
-import TestGyp
-
-import sys
-
-test = TestGyp.TestGyp()
-test.set_configuration('C1')
-
-test.run_gyp('variable-in-path.gyp')
-test.build('variable-in-path.gyp', 'hello1')
-test.build('variable-in-path.gyp', 'hello2')
-
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/variable-in-path.gyp b/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/variable-in-path.gyp
deleted file mode 100644
index 908d21eb6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variables/variable-in-path/variable-in-path.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2010 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello1',
- 'type': 'executable',
- 'sources': [
- '<(CONFIGURATION_NAME)/hello.cc',
- ],
- },
- {
- 'target_name': 'hello2',
- 'type': 'executable',
- 'sources': [
- './<(CONFIGURATION_NAME)/hello.cc',
- ],
- },
- ],
- 'target_defaults': {
- 'default_configuration': 'C1',
- 'configurations': {
- 'C1': {
- },
- 'C2': {
- },
- },
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variants/gyptest-variants.py b/deps/npm/node_modules/node-gyp/gyp/test/variants/gyptest-variants.py
deleted file mode 100755
index ce2455f66..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variants/gyptest-variants.py
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verify handling of build variants.
-
-TODO: Right now, only the SCons generator supports this, so the
-test case is SCons-specific. In particular, it relise on SCons'
-ability to rebuild in response to changes on the command line. It
-may be simpler to just drop this feature if the other generators
-can't be made to behave the same way.
-"""
-
-import TestGyp
-
-test = TestGyp.TestGyp(formats=['scons'])
-
-test.run_gyp('variants.gyp', chdir='src')
-
-test.relocate('src', 'relocate/src')
-
-test.build('variants.gyp', chdir='relocate/src')
-
-test.run_built_executable('variants',
- chdir='relocate/src',
- stdout="Hello, world!\n")
-
-test.sleep()
-test.build('variants.gyp', 'VARIANT1=1', chdir='relocate/src')
-
-test.run_built_executable('variants',
- chdir='relocate/src',
- stdout="Hello from VARIANT1\n")
-
-test.sleep()
-test.build('variants.gyp', 'VARIANT2=1', chdir='relocate/src')
-
-test.run_built_executable('variants',
- chdir='relocate/src',
- stdout="Hello from VARIANT2\n")
-
-test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.c b/deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.c
deleted file mode 100644
index 3018e40df..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdio.h>
-
-int main(int argc, char *argv[])
-{
-#if defined(VARIANT1)
- printf("Hello from VARIANT1\n");
-#elif defined(VARIANT2)
- printf("Hello from VARIANT2\n");
-#else
- printf("Hello, world!\n");
-#endif
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.gyp b/deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.gyp
deleted file mode 100644
index 0305ca747..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/variants/src/variants.gyp
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2009 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'variants',
- 'type': 'executable',
- 'sources': [
- 'variants.c',
- ],
- 'variants': {
- 'variant1' : {
- 'defines': [
- 'VARIANT1',
- ],
- },
- 'variant2' : {
- 'defines': [
- 'VARIANT2',
- ],
- },
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/asm-files.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/asm-files.gyp
deleted file mode 100644
index b1f132cee..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/asm-files.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'sources_with_asm',
- 'type': 'executable',
- 'sources': [
- 'hello.cc',
- 'b.s',
- 'c.S',
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/b.s b/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/b.s
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/b.s
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/c.S b/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/c.S
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/c.S
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/asm-files/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/batch-file-action.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/batch-file-action.gyp
deleted file mode 100644
index e4db9af9d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/batch-file-action.gyp
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_batch',
- 'type': 'none',
- 'actions': [
- {
- 'action_name': 'copy_to_output',
- 'inputs': ['infile'],
- 'outputs': ['outfile'],
- 'action': ['somecmd.bat', 'infile', 'outfile'],
- 'msvs_cygwin_shell': 0,
- }
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/infile b/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/infile
deleted file mode 100644
index 3f9177e45..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/infile
+++ /dev/null
@@ -1 +0,0 @@
-input
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/somecmd.bat b/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/somecmd.bat
deleted file mode 100644
index d48775374..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/batch-file-action/somecmd.bat
+++ /dev/null
@@ -1,5 +0,0 @@
-@echo off
-:: The redirs to nul are important. %2 can end up being an unterminated "'d
-:: string, so the remainder of the command line becomes the target file name,
-:: which in turn fails because it's a filename containing >, nul, etc.
-copy /y %1 %2 >nul 2>nul
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/a.S b/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/a.S
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/a.S
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/bat with spaces.bat b/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/bat with spaces.bat
deleted file mode 100644
index dc3508f9a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/bat with spaces.bat
+++ /dev/null
@@ -1,7 +0,0 @@
-@echo off
-
-:: Copyright (c) 2012 Google Inc. All rights reserved.
-:: Use of this source code is governed by a BSD-style license that can be
-:: found in the LICENSE file.
-
-copy %1 %2
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/command-quote.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/command-quote.gyp
deleted file mode 100644
index 8489c5040..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/command-quote.gyp
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'target_defaults': {
- 'msvs_cygwin_dirs': ['../../../../../<(DEPTH)/third_party/cygwin'],
- },
- 'targets': [
- {
- 'target_name': 'test_batch',
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'build_with_batch',
- 'msvs_cygwin_shell': 0,
- 'extension': 'S',
- 'inputs': ['<(RULE_INPUT_PATH)'],
- 'outputs': ['output.obj'],
- 'action': ['call go.bat', '<(RULE_INPUT_PATH)', 'output.obj'],
- },],
- 'sources': ['a.S'],
- },
- {
- 'target_name': 'test_call_separate',
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'build_with_batch2',
- 'msvs_cygwin_shell': 0,
- 'extension': 'S',
- 'inputs': ['<(RULE_INPUT_PATH)'],
- 'outputs': ['output2.obj'],
- 'action': ['call', 'go.bat', '<(RULE_INPUT_PATH)', 'output2.obj'],
- },],
- 'sources': ['a.S'],
- },
- {
- 'target_name': 'test_with_spaces',
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'build_with_batch3',
- 'msvs_cygwin_shell': 0,
- 'extension': 'S',
- 'inputs': ['<(RULE_INPUT_PATH)'],
- 'outputs': ['output3.obj'],
- 'action': ['bat with spaces.bat', '<(RULE_INPUT_PATH)', 'output3.obj'],
- },],
- 'sources': ['a.S'],
- },
- {
- 'target_name': 'test_with_double_quotes',
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'build_with_batch3',
- 'msvs_cygwin_shell': 1,
- 'extension': 'S',
- 'inputs': ['<(RULE_INPUT_PATH)'],
- 'outputs': ['output4.obj'],
- 'arguments': ['-v'],
- 'action': ['python', '-c', 'import shutil; '
- 'shutil.copy("<(RULE_INPUT_PATH)", "output4.obj")'],
- },],
- 'sources': ['a.S'],
- },
- {
- 'target_name': 'test_with_single_quotes',
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'build_with_batch3',
- 'msvs_cygwin_shell': 1,
- 'extension': 'S',
- 'inputs': ['<(RULE_INPUT_PATH)'],
- 'outputs': ['output5.obj'],
- 'action': ['python', '-c', "import shutil; "
- "shutil.copy('<(RULE_INPUT_PATH)', 'output5.obj')"],
- },],
- 'sources': ['a.S'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/go.bat b/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/go.bat
deleted file mode 100644
index dc3508f9a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/go.bat
+++ /dev/null
@@ -1,7 +0,0 @@
-@echo off
-
-:: Copyright (c) 2012 Google Inc. All rights reserved.
-:: Use of this source code is governed by a BSD-style license that can be
-:: found in the LICENSE file.
-
-copy %1 %2
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/subdir/and/another/in-subdir.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/subdir/and/another/in-subdir.gyp
deleted file mode 100644
index be363bbc8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/command-quote/subdir/and/another/in-subdir.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_batch_depth',
- 'type': 'none',
- 'variables': {
- # Taken from native_client/build/common.gypi. Seems unintentional (a
- # string in a 1 element list)? But since it works on other generators,
- # I guess it should work here too.
- 'filepath': [ 'call <(DEPTH)/../../../go.bat' ],
- },
- 'rules': [
- {
- 'rule_name': 'build_with_batch4',
- 'msvs_cygwin_shell': 0,
- 'extension': 'S',
- 'inputs': ['<(RULE_INPUT_PATH)'],
- 'outputs': ['output4.obj'],
- 'action': ['<@(filepath)', '<(RULE_INPUT_PATH)', 'output4.obj'],
- },],
- 'sources': ['<(DEPTH)\\..\\..\\..\\a.S'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.cc
deleted file mode 100644
index f1e11dd12..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// No path qualification to test compiler include dir specification.
-#include "header.h"
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.gyp
deleted file mode 100644
index 42c7e849f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-include-dirs.gyp
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_incs',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'AdditionalIncludeDirectories': [
- 'subdir',
- ],
- }
- },
- 'sources': ['additional-include-dirs.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.cc
deleted file mode 100644
index c79572baf..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- // Generate a warning that will appear at level 4, but not level 1
- // (truncation and unused local).
- char c = 123456;
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.gyp
deleted file mode 100644
index 6a365a206..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/additional-options.gyp
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_additional_none',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '4',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['additional-options.cc'],
- },
- {
- 'target_name': 'test_additional_one',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '4',
- 'WarnAsError': 'true',
- 'AdditionalOptions': [ '/W1' ],
- }
- },
- 'sources': ['additional-options.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/analysis.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/analysis.gyp
deleted file mode 100644
index 97e942258..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/analysis.gyp
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_analysis_on',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnablePREfast': 'true',
- 'WarnAsError': 'true',
- },
- },
- 'sources': ['uninit.cc'],
- },
- {
- 'target_name': 'test_analysis_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnablePREfast': 'false',
- 'WarnAsError': 'true',
- },
- },
- 'sources': ['uninit.cc'],
- },
- {
- 'target_name': 'test_analysis_unspec',
- 'type': 'executable',
- 'sources': ['uninit.cc'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'true',
- },
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security-check.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security-check.gyp
deleted file mode 100644
index cc5a12b95..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security-check.gyp
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Turn debug information on so that we can see the name of the buffer
- # security check cookie in the disassembly.
- {
- 'target_name': 'test_bsc_unset',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- 'sources': ['buffer-security.cc'],
- },
- {
- 'target_name': 'test_bsc_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'BufferSecurityCheck': 'false',
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- 'sources': ['buffer-security.cc'],
- },
- {
- 'target_name': 'test_bsc_on',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'BufferSecurityCheck': 'true',
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- 'sources': ['buffer-security.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security.cc
deleted file mode 100644
index e8a48a2a6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/buffer-security.cc
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <malloc.h>
-#include <string.h>
-
-int main() {
- char* stuff = reinterpret_cast<char*>(_alloca(256));
- strcpy(stuff, "blah");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-mbcs.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-mbcs.cc
deleted file mode 100644
index 328630473..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-mbcs.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _MBCS
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-unicode.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-unicode.cc
deleted file mode 100644
index 32e69724a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set-unicode.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _UNICODE
-#error
-#endif
-
-#ifndef UNICODE
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set.gyp
deleted file mode 100644
index 3dc45557d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/character-set.gyp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_cs_notset',
- 'product_name': 'test_cs_notset',
- 'type': 'executable',
- 'msvs_configuration_attributes': {
- 'CharacterSet': '0'
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_cs_unicode',
- 'product_name': 'test_cs_unicode',
- 'type': 'executable',
- 'msvs_configuration_attributes': {
- 'CharacterSet': '1'
- },
- 'sources': ['character-set-unicode.cc'],
- },
- {
- 'target_name': 'test_cs_mbcs',
- 'product_name': 'test_cs_mbcs',
- 'type': 'executable',
- 'msvs_configuration_attributes': {
- 'CharacterSet': '2'
- },
- 'sources': ['character-set-mbcs.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/debug-format.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/debug-format.gyp
deleted file mode 100644
index daaed23ff..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/debug-format.gyp
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test-debug-format-off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '0'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test-debug-format-oldstyle',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '1'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test-debug-format-pdb',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test-debug-format-editcontinue',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '4'
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling-on.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling-on.cc
deleted file mode 100644
index 5d9a3af77..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling-on.cc
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <excpt.h>
-#include <stdlib.h>
-
-void fail() {
- try {
- int i = 0, j = 1;
- j /= i;
- } catch(...) {
- exit(1);
- }
-}
-
-int main() {
- __try {
- fail();
- } __except(EXCEPTION_EXECUTE_HANDLER) {
- return 2;
- }
- return 3;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling.gyp
deleted file mode 100644
index c266768dd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/exception-handling.gyp
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Optimization disabled so that the exception-causing code is not removed
- # (divide by zero was getting optimized away in VS2010).
- {
- 'target_name': 'test_eh_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'ExceptionHandling': '0',
- 'WarnAsError': 'true',
- 'Optimization': '0',
- }
- },
- 'sources': ['exception-handling-on.cc'],
- },
- {
- 'target_name': 'test_eh_s',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'ExceptionHandling': '1',
- 'WarnAsError': 'true',
- 'Optimization': '0',
- }
- },
- 'sources': ['exception-handling-on.cc'],
- },
- {
- 'target_name': 'test_eh_a',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'ExceptionHandling': '2',
- 'WarnAsError': 'true',
- 'Optimization': '0',
- }
- },
- 'sources': ['exception-handling-on.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.cc
deleted file mode 100644
index 495227281..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int comdat_function() {
- return 1;
-}
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.gyp
deleted file mode 100644
index 5858586a2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/function-level-linking.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_fll_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'false'
- }
- },
- 'sources': ['function-level-linking.cc'],
- },
- {
- 'target_name': 'test_fll_on',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- }
- },
- 'sources': ['function-level-linking.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/optimizations.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/optimizations.gyp
deleted file mode 100644
index fd4b07005..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/optimizations.gyp
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_opt_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '0'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_lev_size',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '1'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_lev_speed',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '2'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_lev_max',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '3'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_unset',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_fpo',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'OmitFramePointers': 'true'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_fpo_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'OmitFramePointers': 'false'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_inline_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'InlineFunctionExpansion': '0'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_inline_manual',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'InlineFunctionExpansion': '1'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_inline_auto',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'InlineFunctionExpansion': '2'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_neither',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'FavorSizeOrSpeed': '0'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_speed',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'FavorSizeOrSpeed': '1'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_size',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'FavorSizeOrSpeed': '2'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_opt_wpo',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WholeProgramOptimization': 'true'
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.cc
deleted file mode 100644
index 0fe05d5af..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int some_function() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.gyp
deleted file mode 100644
index 8fcf75472..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/pdbname.gyp
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_pdbname',
- 'type': 'executable',
- 'sources': [
- 'hello.cc',
- 'pdbname.cc',
- ],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti-on.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti-on.cc
deleted file mode 100644
index 2d3ad03ae..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti-on.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _CPPRTTI
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti.gyp
deleted file mode 100644
index 704cd58f5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/rtti.gyp
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_rtti_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeTypeInfo': 'false',
- 'WarnAsError': 'true'
- }
- },
- 'sources': ['rtti-on.cc'],
- },
- {
- 'target_name': 'test_rtti_on',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeTypeInfo': 'true',
- 'WarnAsError': 'true'
- }
- },
- 'sources': ['rtti-on.cc'],
- },
- {
- 'target_name': 'test_rtti_unset',
- 'type': 'executable',
- 'msvs_settings': {
- },
- 'sources': ['rtti-on.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.cc
deleted file mode 100644
index fdb811da8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef __MSVC_RUNTIME_CHECKS
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.gyp
deleted file mode 100644
index 8ea309205..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-checks.gyp
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_brc_none',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '0',
- }
- },
- 'sources': ['runtime-checks.cc'],
- },
- {
- 'target_name': 'test_brc_1',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'Optimization': '0',
- 'BasicRuntimeChecks': '3'
- }
- },
- 'sources': ['runtime-checks.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-md.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-md.cc
deleted file mode 100644
index 87c83021d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-md.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _MT
-#error
-#endif
-
-#ifdef _DEBUG
-#error
-#endif
-
-#ifndef _DLL
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mdd.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mdd.cc
deleted file mode 100644
index 9f175e493..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mdd.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _MT
-#error
-#endif
-
-#ifndef _DEBUG
-#error
-#endif
-
-#ifndef _DLL
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mt.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mt.cc
deleted file mode 100644
index 27e62b63d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mt.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _MT
-#error
-#endif
-
-#ifdef _DEBUG
-#error
-#endif
-
-#ifdef _DLL
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mtd.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mtd.cc
deleted file mode 100644
index a9921db9e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library-mtd.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef _MT
-#error
-#endif
-
-#ifndef _DEBUG
-#error
-#endif
-
-#ifdef _DLL
-#error
-#endif
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library.gyp
deleted file mode 100644
index 04afc391c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/runtime-library.gyp
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_rl_md',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': '2'
- }
- },
- 'sources': ['runtime-library-md.cc'],
- },
- {
- 'target_name': 'test_rl_mdd',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': '3'
- }
- },
- 'sources': ['runtime-library-mdd.cc'],
- },
- {
- 'target_name': 'test_rl_mt',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': '0'
- }
- },
- 'sources': ['runtime-library-mt.cc'],
- },
- {
- 'target_name': 'test_rl_mtd',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': '1'
- }
- },
- 'sources': ['runtime-library-mtd.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/subdir/header.h b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/subdir/header.h
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/subdir/header.h
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/uninit.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/uninit.cc
deleted file mode 100644
index a9d5f5d48..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/uninit.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Should trigger C6001: using uninitialized memory <variable> for |i|.
-int f(bool b) {
- int i;
- if (b)
- i = 0;
- return i;
-}
-
-int main() {}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.cc
deleted file mode 100644
index fd2130aca..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- // Cause a warning, even at /W1
- int export;
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.gyp
deleted file mode 100644
index d71f26114..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-as-error.gyp
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_warn_as_error_false',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'false'
- }
- },
- 'sources': ['warning-as-error.cc']
- },
- {
- 'target_name': 'test_warn_as_error_true',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'true'
- }
- },
- 'sources': ['warning-as-error.cc']
- },
- {
- 'target_name': 'test_warn_as_error_unset',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- }
- },
- 'sources': ['warning-as-error.cc']
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level.gyp
deleted file mode 100644
index 2297aa7ca..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level.gyp
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Level 1
- {
- 'target_name': 'test_wl1_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '1',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level1.cc'],
- },
- {
- 'target_name': 'test_wl1_pass',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '1',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level2.cc'],
- },
-
- # Level 2
- {
- 'target_name': 'test_wl2_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '2',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level2.cc'],
- },
- {
- 'target_name': 'test_wl2_pass',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '2',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level3.cc'],
- },
-
- # Level 3
- {
- 'target_name': 'test_wl3_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '3',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level3.cc'],
- },
- {
- 'target_name': 'test_wl3_pass',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '3',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level4.cc'],
- },
-
-
- # Level 4
- {
- 'target_name': 'test_wl4_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '4',
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level4.cc'],
- },
-
- # Default level
- {
- 'target_name': 'test_def_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarnAsError': 'true',
- }
- },
- 'sources': ['warning-level1.cc'],
- },
- {
- 'target_name': 'test_def_pass',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- }
- },
- 'sources': ['warning-level2.cc'],
- },
-
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level1.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level1.cc
deleted file mode 100644
index 119578d69..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level1.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- int export; // Cause a level 1 warning (C4237).
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level2.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level2.cc
deleted file mode 100644
index 9a2670318..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level2.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int f(int x) {
- return 0;
-}
-
-int main() {
- double x = 10.1;
- // Cause a level 2 warning (C4243).
- return f(x);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level3.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level3.cc
deleted file mode 100644
index e0a9f3cdd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level3.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Cause a level 3 warning (C4359).
-struct __declspec(align(8)) C8 { __int64 i; };
-struct __declspec(align(4)) C4 { C8 m8; };
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level4.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level4.cc
deleted file mode 100644
index 48a4fb701..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/compiler-flags/warning-level4.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- const int i = -1;
- // Cause a level 4 warning (C4245).
- unsigned int j = i;
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-asm-files.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-asm-files.py
deleted file mode 100644
index 007b52eb2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-asm-files.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure .s files aren't passed to cl.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'asm-files'
- test.run_gyp('asm-files.gyp', chdir=CHDIR)
- # The compiler will error out if it's passed the .s files, so just make sure
- # the build succeeds. The compiler doesn't directly support building
- # assembler files on Windows, they have to be built explicitly with a
- # third-party tool.
- test.build('asm-files.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-include-dirs.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-include-dirs.py
deleted file mode 100644
index 1fabfa975..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-include-dirs.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure additional include dirs are extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('additional-include-dirs.gyp', chdir=CHDIR)
- test.build('additional-include-dirs.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-options.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-options.py
deleted file mode 100644
index e9aea10dc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-additional-options.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure additional manual compiler flags are extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('additional-options.gyp', chdir=CHDIR)
-
- # Warning level not overidden, must fail.
- test.build('additional-options.gyp', 'test_additional_none', chdir=CHDIR,
- status=1)
-
- # Warning level is overridden, must succeed.
- test.build('additional-options.gyp', 'test_additional_one', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-analysis.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-analysis.py
deleted file mode 100644
index 7b3b9897f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-analysis.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure PREfast (code analysis) setting is extracted properly.
-"""
-
-import TestGyp
-
-import os
-import sys
-
-if (sys.platform == 'win32' and
- int(os.environ.get('GYP_MSVS_VERSION', 0)) >= 2012):
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('analysis.gyp', chdir=CHDIR)
-
- # Analysis enabled, should fail.
- test.build('analysis.gyp', 'test_analysis_on', chdir=CHDIR, status=1)
-
- # Analysis not enabled, or unspecified, should pass.
- test.build('analysis.gyp', 'test_analysis_off', chdir=CHDIR)
- test.build('analysis.gyp', 'test_analysis_unspec', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-buffer-security-check.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-buffer-security-check.py
deleted file mode 100644
index e22869c3d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-buffer-security-check.py
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure buffer security check setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('buffer-security-check.gyp', chdir=CHDIR)
- test.build('buffer-security-check.gyp', chdir=CHDIR)
-
- def GetDisassemblyOfMain(exe):
- # The standard library uses buffer security checks independent of our
- # buffer security settings, so we extract just our code (i.e. main()) to
- # check against.
- full_path = test.built_file_path(exe, chdir=CHDIR)
- output = test.run_dumpbin('/disasm', full_path)
- result = []
- in_main = False
- for line in output.splitlines():
- if line == '_main:':
- in_main = True
- elif in_main:
- # Disassembly of next function starts.
- if line.startswith('_'):
- break
- result.append(line)
- return '\n'.join(result)
-
- # Buffer security checks are on by default, make sure security_cookie
- # appears in the disassembly of our code.
- if 'security_cookie' not in GetDisassemblyOfMain('test_bsc_unset.exe'):
- test.fail_test()
-
- # Explicitly on.
- if 'security_cookie' not in GetDisassemblyOfMain('test_bsc_on.exe'):
- test.fail_test()
-
- # Explicitly off, shouldn't be a reference to the security cookie.
- if 'security_cookie' in GetDisassemblyOfMain('test_bsc_off.exe'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-character-set.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-character-set.py
deleted file mode 100644
index 7fabb6722..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-character-set.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure character set setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('character-set.gyp', chdir=CHDIR)
- test.build('character-set.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-debug-format.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-debug-format.py
deleted file mode 100644
index 6c68a619b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-debug-format.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure debug format settings are extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('debug-format.gyp', chdir=CHDIR)
-
- # While there's ways to via .pdb contents, the .pdb doesn't include
- # which style the debug information was created from, so we resort to just
- # verifying the flags are correct on the command line.
-
- ninja_file = test.built_file_path('obj/test-debug-format-off.ninja',
- chdir=CHDIR)
- test.must_not_contain(ninja_file, '/Z7')
- test.must_not_contain(ninja_file, '/Zi')
- test.must_not_contain(ninja_file, '/ZI')
-
- ninja_file = test.built_file_path('obj/test-debug-format-oldstyle.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Z7')
-
- ninja_file = test.built_file_path('obj/test-debug-format-pdb.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Zi')
-
- ninja_file = test.built_file_path('obj/test-debug-format-editcontinue.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/ZI')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-exception-handling.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-exception-handling.py
deleted file mode 100644
index 5738a5407..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-exception-handling.py
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure exception handling settings are extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('exception-handling.gyp', chdir=CHDIR)
-
- # Must fail.
- test.build('exception-handling.gyp', 'test_eh_off', chdir=CHDIR,
- status=1)
-
- # Must succeed.
- test.build('exception-handling.gyp', 'test_eh_s', chdir=CHDIR)
- test.build('exception-handling.gyp', 'test_eh_a', chdir=CHDIR)
-
- # Error code must be 1 if EHa, and 2 if EHsc.
- test.run_built_executable('test_eh_a', chdir=CHDIR, status=1)
- test.run_built_executable('test_eh_s', chdir=CHDIR, status=2)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-function-level-linking.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-function-level-linking.py
deleted file mode 100644
index 17c29e235..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-function-level-linking.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure function-level linking setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('function-level-linking.gyp', chdir=CHDIR)
- test.build('function-level-linking.gyp', test.ALL, chdir=CHDIR)
-
- def CheckForSectionString(binary, search_for, should_exist):
- output = test.run_dumpbin('/headers', binary)
- if should_exist and search_for not in output:
- print 'Did not find "%s" in %s' % (search_for, binary)
- test.fail_test()
- elif not should_exist and search_for in output:
- print 'Found "%s" in %s (and shouldn\'t have)' % (search_for, binary)
- test.fail_test()
-
- def Object(proj, obj):
- sep = '.' if test.format == 'ninja' else '\\'
- return 'obj\\%s%s%s' % (proj, sep, obj)
-
- look_for = '''COMDAT; sym= "int __cdecl comdat_function'''
-
- # When function level linking is on, the functions should be listed as
- # separate comdat entries.
-
- CheckForSectionString(
- test.built_file_path(Object('test_fll_on', 'function-level-linking.obj'),
- chdir=CHDIR),
- look_for,
- should_exist=True)
-
- CheckForSectionString(
- test.built_file_path(Object('test_fll_off', 'function-level-linking.obj'),
- chdir=CHDIR),
- look_for,
- should_exist=False)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-optimizations.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-optimizations.py
deleted file mode 100644
index 9afd34423..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-optimizations.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure optimization settings are extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('optimizations.gyp', chdir=CHDIR)
-
- # It's hard to map flags to output contents in a non-fragile way (especially
- # handling both 2008/2010), so just verify the correct ninja command line
- # contents.
-
- ninja_file = test.built_file_path('obj/test_opt_off.ninja', chdir=CHDIR)
- test.must_contain(ninja_file, 'cflags = /Od')
-
- ninja_file = test.built_file_path('obj/test_opt_lev_size.ninja', chdir=CHDIR)
- test.must_contain(ninja_file, 'cflags = /O1')
-
- ninja_file = test.built_file_path('obj/test_opt_lev_speed.ninja', chdir=CHDIR)
- test.must_contain(ninja_file, 'cflags = /O2')
-
- ninja_file = test.built_file_path('obj/test_opt_lev_max.ninja', chdir=CHDIR)
- test.must_contain(ninja_file, 'cflags = /Ox')
-
- ninja_file = test.built_file_path('obj/test_opt_unset.ninja', chdir=CHDIR)
- test.must_not_contain(ninja_file, '/Od')
- test.must_not_contain(ninja_file, '/O1')
- test.must_not_contain(ninja_file, '/O2')
- test.must_not_contain(ninja_file, '/Ox')
-
- ninja_file = test.built_file_path('obj/test_opt_fpo.ninja', chdir=CHDIR)
- test.must_contain(ninja_file, '/Oy')
- test.must_not_contain(ninja_file, '/Oy-')
-
- ninja_file = test.built_file_path('obj/test_opt_fpo_off.ninja', chdir=CHDIR)
- test.must_contain(ninja_file, '/Oy-')
-
- ninja_file = test.built_file_path('obj/test_opt_inline_off.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Ob0')
-
- ninja_file = test.built_file_path('obj/test_opt_inline_manual.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Ob1')
-
- ninja_file = test.built_file_path('obj/test_opt_inline_auto.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Ob2')
-
- ninja_file = test.built_file_path('obj/test_opt_neither.ninja',
- chdir=CHDIR)
- test.must_not_contain(ninja_file, '/Os')
- test.must_not_contain(ninja_file, '/Ot')
-
- ninja_file = test.built_file_path('obj/test_opt_size.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Os')
-
- ninja_file = test.built_file_path('obj/test_opt_speed.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/Ot')
-
- ninja_file = test.built_file_path('obj/test_opt_wpo.ninja',
- chdir=CHDIR)
- test.must_contain(ninja_file, '/GL')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-pdbname.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-pdbname.py
deleted file mode 100644
index 63bb37c87..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-pdbname.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure pdb is named as expected (shared between .cc files).
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('pdbname.gyp', chdir=CHDIR)
- test.build('pdbname.gyp', test.ALL, chdir=CHDIR)
-
- # Confirm that the default behaviour is to name the .pdb per-target (rather
- # than per .cc file).
- test.built_file_must_exist('test_pdbname.pdb', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-rtti.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-rtti.py
deleted file mode 100644
index d49a09437..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-rtti.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure RTTI setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('rtti.gyp', chdir=CHDIR)
-
- # Must fail.
- test.build('rtti.gyp', 'test_rtti_off', chdir=CHDIR, status=1)
-
- # Must succeed.
- test.build('rtti.gyp', 'test_rtti_on', chdir=CHDIR)
-
- # Must succeed.
- test.build('rtti.gyp', 'test_rtti_unset', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-checks.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-checks.py
deleted file mode 100644
index 4fd529f89..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-checks.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure RTC setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('runtime-checks.gyp', chdir=CHDIR)
-
- # Runtime checks disabled, should fail.
- test.build('runtime-checks.gyp', 'test_brc_none', chdir=CHDIR, status=1)
-
- # Runtime checks enabled, should pass.
- test.build('runtime-checks.gyp', 'test_brc_1', chdir=CHDIR)
-
- # TODO(scottmg): There are other less frequently used/partial options, but
- # it's not clear how to verify them, so ignore for now.
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-library.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-library.py
deleted file mode 100644
index 53c149297..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-runtime-library.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure runtime C library setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('runtime-library.gyp', chdir=CHDIR)
- test.build('runtime-library.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-as-error.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-as-error.py
deleted file mode 100644
index d4ef1b362..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-as-error.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure warning-as-error is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('warning-as-error.gyp', chdir=CHDIR)
-
- # The source file contains a warning, so if WarnAsError is false (or
- # default, which is also false), then the build should succeed, otherwise it
- # must fail.
-
- test.build('warning-as-error.gyp', 'test_warn_as_error_false', chdir=CHDIR)
- test.build('warning-as-error.gyp', 'test_warn_as_error_unset', chdir=CHDIR)
- test.build('warning-as-error.gyp', 'test_warn_as_error_true', chdir=CHDIR,
- status=1)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-level.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-level.py
deleted file mode 100644
index 62a5b39b6..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-cl-warning-level.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure warning level is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'compiler-flags'
- test.run_gyp('warning-level.gyp', chdir=CHDIR)
-
- # A separate target for each warning level: one pass (compiling a file
- # containing a warning that's above the specified level); and one fail
- # (compiling a file at the specified level). No pass for 4 of course,
- # because it would have to have no warnings. The default warning level is
- # equivalent to level 1.
-
- test.build('warning-level.gyp', 'test_wl1_fail', chdir=CHDIR, status=1)
- test.build('warning-level.gyp', 'test_wl1_pass', chdir=CHDIR)
-
- test.build('warning-level.gyp', 'test_wl2_fail', chdir=CHDIR, status=1)
- test.build('warning-level.gyp', 'test_wl2_pass', chdir=CHDIR)
-
- test.build('warning-level.gyp', 'test_wl3_fail', chdir=CHDIR, status=1)
- test.build('warning-level.gyp', 'test_wl3_pass', chdir=CHDIR)
-
- test.build('warning-level.gyp', 'test_wl4_fail', chdir=CHDIR, status=1)
-
- test.build('warning-level.gyp', 'test_def_fail', chdir=CHDIR, status=1)
- test.build('warning-level.gyp', 'test_def_pass', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-command-quote.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-command-quote.py
deleted file mode 100644
index 652b05b9b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-command-quote.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-
-Make sure the program in a command can be a called batch file, or an
-application in the path. Specifically, this means not quoting something like
-"call x.bat", lest the shell look for a program named "call x.bat", rather
-than calling "x.bat".
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
- CHDIR = 'command-quote'
- test.run_gyp('command-quote.gyp', chdir=CHDIR)
-
- test.build('command-quote.gyp', 'test_batch', chdir=CHDIR)
- test.build('command-quote.gyp', 'test_call_separate', chdir=CHDIR)
- test.build('command-quote.gyp', 'test_with_double_quotes', chdir=CHDIR)
- test.build('command-quote.gyp', 'test_with_single_quotes', chdir=CHDIR)
-
- # We confirm that this fails because other generators don't handle spaces in
- # inputs so it's preferable to not have it work here.
- test.build('command-quote.gyp', 'test_with_spaces', chdir=CHDIR, status=1)
-
- CHDIR = 'command-quote/subdir/and/another'
- test.run_gyp('in-subdir.gyp', chdir=CHDIR)
- test.build('in-subdir.gyp', 'test_batch_depth', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-deps.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-deps.py
deleted file mode 100644
index 62c57366f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-deps.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure additional library dependencies are handled.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('additional-deps.gyp', chdir=CHDIR)
- test.build('additional-deps.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-options.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-options.py
deleted file mode 100644
index 7e57ae476..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-additional-options.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure additional options are handled.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('additional-options.gyp', chdir=CHDIR)
- test.build('additional-options.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-aslr.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-aslr.py
deleted file mode 100644
index e765017d3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-aslr.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure aslr setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('aslr.gyp', chdir=CHDIR)
- test.build('aslr.gyp', test.ALL, chdir=CHDIR)
-
- def HasDynamicBase(exe):
- full_path = test.built_file_path(exe, chdir=CHDIR)
- output = test.run_dumpbin('/headers', full_path)
- return ' Dynamic base' in output
-
- # Default is to be on.
- if not HasDynamicBase('test_aslr_default.exe'):
- test.fail_test()
- if HasDynamicBase('test_aslr_no.exe'):
- test.fail_test()
- if not HasDynamicBase('test_aslr_yes.exe'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-debug-info.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-debug-info.py
deleted file mode 100644
index 33e8ac48b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-debug-info.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure debug info setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('debug-info.gyp', chdir=CHDIR)
- test.build('debug-info.gyp', test.ALL, chdir=CHDIR)
-
- suffix = '.exe.pdb' if test.format == 'ninja' else '.pdb'
- test.built_file_must_not_exist('test_debug_off%s' % suffix, chdir=CHDIR)
- test.built_file_must_exist('test_debug_on%s' % suffix, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-default-libs.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-default-libs.py
deleted file mode 100644
index 526e98cba..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-default-libs.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure we include the default libs.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('default-libs.gyp', chdir=CHDIR)
- test.build('default-libs.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-deffile.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-deffile.py
deleted file mode 100644
index 94df874f8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-deffile.py
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure a .def file is handled in the link.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
-
- # Multiple .def files doesn't make any sense, should fail at generate time.
- test.run_gyp('deffile-multiple.gyp', chdir=CHDIR, stderr=None, status=1)
-
- test.run_gyp('deffile.gyp', chdir=CHDIR)
- test.build('deffile.gyp', test.ALL, chdir=CHDIR)
-
- def HasExport(binary, export):
- full_path = test.built_file_path(binary, chdir=CHDIR)
- output = test.run_dumpbin('/exports', full_path)
- return export in output
-
- # Make sure we only have the export when the .def file is in use.
-
- if HasExport('test_deffile_dll_notexported.dll', 'AnExportedFunction'):
- test.fail_test()
- if not HasExport('test_deffile_dll_ok.dll', 'AnExportedFunction'):
- test.fail_test()
-
- if HasExport('test_deffile_exe_notexported.exe', 'AnExportedFunction'):
- test.fail_test()
- if not HasExport('test_deffile_exe_ok.exe', 'AnExportedFunction'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-delay-load-dlls.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-delay-load-dlls.py
deleted file mode 100644
index 3880247b4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-delay-load-dlls.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure delay load setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('delay-load-dlls.gyp', chdir=CHDIR)
- test.build('delay-load-dlls.gyp', test.ALL, chdir=CHDIR)
-
- prefix = 'contains the following delay load imports:'
- shell32_look_for = prefix + '\r\n\r\n SHELL32.dll'
-
- output = test.run_dumpbin(
- '/all', test.built_file_path('test_dld_none.exe', chdir=CHDIR))
- if prefix in output:
- test.fail_test()
-
- output = test.run_dumpbin(
- '/all', test.built_file_path('test_dld_shell32.exe', chdir=CHDIR))
- if shell32_look_for not in output:
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-entrypointsymbol.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-entrypointsymbol.py
deleted file mode 100644
index e88174a08..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-entrypointsymbol.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure entrypointsymbol setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('entrypointsymbol.gyp', chdir=CHDIR)
-
- test.build('entrypointsymbol.gyp', 'test_ok', chdir=CHDIR)
- test.build('entrypointsymbol.gyp', 'test_fail', chdir=CHDIR, status=1)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-fixed-base.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-fixed-base.py
deleted file mode 100644
index 725a87028..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-fixed-base.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure fixed base setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('fixed-base.gyp', chdir=CHDIR)
- test.build('fixed-base.gyp', test.ALL, chdir=CHDIR)
-
- def GetHeaders(exe):
- full_path = test.built_file_path(exe, chdir=CHDIR)
- return test.run_dumpbin('/headers', full_path)
-
- # For exe, default is fixed, for dll, it's not fixed.
- if 'Relocations stripped' not in GetHeaders('test_fixed_default_exe.exe'):
- test.fail_test()
- if 'Relocations stripped' in GetHeaders('test_fixed_default_dll.dll'):
- test.fail_test()
-
- # Explicitly not fixed.
- if 'Relocations stripped' in GetHeaders('test_fixed_no.exe'):
- test.fail_test()
-
- # Explicitly fixed.
- if 'Relocations stripped' not in GetHeaders('test_fixed_yes.exe'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-generate-manifest.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-generate-manifest.py
deleted file mode 100644
index e7d9bc759..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-generate-manifest.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure we generate a manifest file when linking binaries, including
-handling AdditionalManifestFiles.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('generate-manifest.gyp', chdir=CHDIR)
- test.build('generate-manifest.gyp', test.ALL, chdir=CHDIR)
- test.built_file_must_exist('test_manifest_exe.exe.manifest', chdir=CHDIR)
- test.built_file_must_exist('test_manifest_dll.dll.manifest', chdir=CHDIR)
-
- # Must contain the Win7 support GUID, but not the Vista one (from
- # extra2.manifest).
- extra1_manifest = test.built_file_path(
- 'test_manifest_extra1.exe.manifest', chdir=CHDIR)
- test.must_contain(extra1_manifest, '35138b9a-5d96-4fbd-8e2d-a2440225f93a')
- test.must_not_contain(extra1_manifest, 'e2011457-1546-43c5-a5fe-008deee3d3f0')
-
- # Must contain both.
- extra2_manifest = test.built_file_path(
- 'test_manifest_extra2.exe.manifest', chdir=CHDIR)
- test.must_contain(extra2_manifest, '35138b9a-5d96-4fbd-8e2d-a2440225f93a')
- test.must_contain(extra2_manifest, 'e2011457-1546-43c5-a5fe-008deee3d3f0')
-
- # Same as extra2, but using list syntax instead.
- extra_list_manifest = test.built_file_path(
- 'test_manifest_extra_list.exe.manifest', chdir=CHDIR)
- test.must_contain(extra_list_manifest, '35138b9a-5d96-4fbd-8e2d-a2440225f93a')
- test.must_contain(extra_list_manifest, 'e2011457-1546-43c5-a5fe-008deee3d3f0')
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-incremental.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-incremental.py
deleted file mode 100644
index e7184e162..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-incremental.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure incremental linking setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('incremental.gyp', chdir=CHDIR)
- test.build('incremental.gyp', test.ALL, chdir=CHDIR)
-
- def HasILTTables(exe):
- full_path = test.built_file_path(exe, chdir=CHDIR)
- output = test.run_dumpbin('/disasm', full_path)
- return '@ILT+' in output
-
- # Default or unset is to be on.
- if not HasILTTables('test_incremental_unset.exe'):
- test.fail_test()
- if not HasILTTables('test_incremental_default.exe'):
- test.fail_test()
- if HasILTTables('test_incremental_no.exe'):
- test.fail_test()
- if not HasILTTables('test_incremental_yes.exe'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-adjust.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-adjust.py
deleted file mode 100644
index 71d1c0936..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-adjust.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure link_settings containing -lblah.lib is remapped to just blah.lib.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('library-adjust.gyp', chdir=CHDIR)
- test.build('library-adjust.gyp', test.ALL, chdir=CHDIR)
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-directories.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-directories.py
deleted file mode 100644
index 8308e14fc..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-library-directories.py
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure libpath is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
-
- # Build subdirectory library.
- test.run_gyp('subdir/library.gyp', chdir=CHDIR)
- test.build('subdir/library.gyp', test.ALL, chdir=CHDIR)
-
- # And then try to link the main project against the library using only
- # LIBPATH to find it.
- test.run_gyp('library-directories.gyp', chdir=CHDIR)
-
- # Without additional paths specified, should fail.
- test.build('library-directories.gyp', 'test_libdirs_none', chdir=CHDIR,
- status=1)
-
- # With the additional library directory, should pass.
- test.build('library-directories.gyp', 'test_libdirs_with', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nodefaultlib.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nodefaultlib.py
deleted file mode 100644
index f00760b88..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nodefaultlib.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure nodefaultlib setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('nodefaultlib.gyp', chdir=CHDIR)
-
- test.build('nodefaultlib.gyp', 'test_ok', chdir=CHDIR)
- test.build('nodefaultlib.gyp', 'test_fail', chdir=CHDIR, status=1)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nxcompat.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nxcompat.py
deleted file mode 100644
index 660074397..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-nxcompat.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure nxcompat setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('nxcompat.gyp', chdir=CHDIR)
- test.build('nxcompat.gyp', test.ALL, chdir=CHDIR)
-
- def GetHeaders(exe):
- return test.run_dumpbin('/headers', test.built_file_path(exe, chdir=CHDIR))
-
- # NXCOMPAT is on by default.
- if 'NX compatible' not in GetHeaders('test_nxcompat_default.exe'):
- test.fail_test()
-
- # Explicitly off, should not be marked NX compatiable.
- if 'NX compatible' in GetHeaders('test_nxcompat_no.exe'):
- test.fail_test()
-
- # Explicitly on.
- if 'NX compatible' not in GetHeaders('test_nxcompat_yes.exe'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-icf.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-icf.py
deleted file mode 100644
index 3c48ef6eb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-icf.py
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure comdat folding optimization setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('opt-icf.gyp', chdir=CHDIR)
- test.build('opt-icf.gyp', chdir=CHDIR)
-
- # We're specifying /DEBUG so the default is to not merge identical
- # functions, so all of the similar_functions should be preserved.
- output = test.run_dumpbin(
- '/disasm', test.built_file_path('test_opticf_default.exe', chdir=CHDIR))
- if output.count('similar_function') != 6: # 3 definitions, 3 calls.
- test.fail_test()
-
- # Explicitly off, all functions preserved seperately.
- output = test.run_dumpbin(
- '/disasm', test.built_file_path('test_opticf_no.exe', chdir=CHDIR))
- if output.count('similar_function') != 6: # 3 definitions, 3 calls.
- test.fail_test()
-
- # Explicitly on, all but one removed.
- output = test.run_dumpbin(
- '/disasm', test.built_file_path('test_opticf_yes.exe', chdir=CHDIR))
- if output.count('similar_function') != 4: # 1 definition, 3 calls.
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-ref.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-ref.py
deleted file mode 100644
index 586b7afcd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-opt-ref.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure reference optimization setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('opt-ref.gyp', chdir=CHDIR)
- test.build('opt-ref.gyp', chdir=CHDIR)
-
- # We're specifying /DEBUG so the default is to not remove unused functions.
- output = test.run_dumpbin(
- '/disasm', test.built_file_path('test_optref_default.exe', chdir=CHDIR))
- if 'unused_function' not in output:
- test.fail_test()
-
- # Explicitly off, unused_function preserved.
- output = test.run_dumpbin(
- '/disasm', test.built_file_path('test_optref_no.exe', chdir=CHDIR))
- if 'unused_function' not in output:
- test.fail_test()
-
- # Explicitly on, should be removed.
- output = test.run_dumpbin(
- '/disasm', test.built_file_path('test_optref_yes.exe', chdir=CHDIR))
- if 'unused_function' in output:
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-outputfile.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-outputfile.py
deleted file mode 100644
index b98cdff0f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-outputfile.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure linker OutputFile setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('outputfile.gyp', chdir=CHDIR)
- test.build('outputfile.gyp', test.ALL, chdir=CHDIR)
-
- test.built_file_must_exist('blorp.exe', chdir=CHDIR)
- test.built_file_must_exist('blorp.dll', chdir=CHDIR)
- test.built_file_must_exist('subdir/blorp.exe', chdir=CHDIR)
- test.built_file_must_exist('blorp.lib', chdir=CHDIR)
- test.built_file_must_exist('subdir/blorp.lib', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-pdb.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-pdb.py
deleted file mode 100644
index 38dcc7fd0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-pdb.py
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that the 'Profile' attribute in VCLinker is extracted properly.
-"""
-
-import TestGyp
-
-import os
-import sys
-
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
- CHDIR = 'linker-flags'
- test.run_gyp('program-database.gyp', chdir=CHDIR)
- test.build('program-database.gyp', test.ALL, chdir=CHDIR)
-
- def FindFile(pdb):
- full_path = test.built_file_path(pdb, chdir=CHDIR)
- return os.path.isfile(full_path)
-
- # Verify the specified PDB is created when ProgramDatabaseFile
- # is provided.
- if not FindFile('name_outdir.pdb'):
- test.fail_test()
- if not FindFile('name_proddir.pdb'):
- test.fail_test()
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-profile.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-profile.py
deleted file mode 100644
index 34fb58abf..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-profile.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that the 'Profile' attribute in VCLinker is extracted properly.
-"""
-
-import TestGyp
-
-import os
-import sys
-
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
- CHDIR = 'linker-flags'
- test.run_gyp('profile.gyp', chdir=CHDIR)
- test.build('profile.gyp', test.ALL, chdir=CHDIR)
-
- def GetSummary(exe):
- full_path = test.built_file_path(exe, chdir=CHDIR)
- return test.run_dumpbin(full_path)
-
- # '.idata' section will be missing when /PROFILE is enabled.
- if '.idata' in GetSummary('test_profile_true.exe'):
- test.fail_test()
-
- if not '.idata' in GetSummary('test_profile_false.exe'):
- test.fail_test()
-
- if not '.idata' in GetSummary('test_profile_default.exe'):
- test.fail_test()
-
- test.pass_test() \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-restat-importlib.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-restat-importlib.py
deleted file mode 100644
index 16249cc2e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-restat-importlib.py
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure we don't cause unnecessary builds due to import libs appearing
-to be out of date.
-"""
-
-import TestGyp
-
-import sys
-import time
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'importlib'
- test.run_gyp('importlib.gyp', chdir=CHDIR)
- test.build('importlib.gyp', test.ALL, chdir=CHDIR)
-
- # Delay briefly so that there's time for this touch not to have the
- # timestamp as the previous run.
- test.sleep()
-
- # Touch the .cc file; the .dll will rebuild, but the import libs timestamp
- # won't be updated.
- test.touch('importlib/has-exports.cc')
- test.build('importlib.gyp', 'test_importlib', chdir=CHDIR)
-
- # This is the important part. The .dll above will relink and have an updated
- # timestamp, however the import .libs timestamp won't be updated. So, we
- # have to handle restating inputs in ninja so the final binary doesn't
- # continually relink (due to thinking the .lib isn't up to date).
- test.up_to_date('importlib.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-subsystem.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-subsystem.py
deleted file mode 100644
index 94d2a127b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-subsystem.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure subsystem setting is extracted properly.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'linker-flags'
- test.run_gyp('subsystem.gyp', chdir=CHDIR)
-
- test.build('subsystem.gyp', 'test_console_ok', chdir=CHDIR)
- test.build('subsystem.gyp', 'test_console_fail', chdir=CHDIR, status=1)
- test.build('subsystem.gyp', 'test_windows_ok', chdir=CHDIR)
- test.build('subsystem.gyp', 'test_windows_fail', chdir=CHDIR, status=1)
-
- # TODO(scottmg): There are other subsystems (WinCE, etc.) that we don't use.
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-uldi.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-uldi.py
deleted file mode 100644
index 62c5892c5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-link-uldi.py
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure that when ULDI is on, we link .objs that make up .libs rather than
-the .libs themselves.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'uldi'
- test.run_gyp('uldi.gyp', chdir=CHDIR)
- # When linking with ULDI, the duplicated function from the lib will be an
- # error.
- test.build('uldi.gyp', 'final_uldi', chdir=CHDIR, status=1)
- # And when in libs, the duplicated function will be silently dropped, so the
- # build succeeds.
- test.build('uldi.gyp', 'final_no_uldi', chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-long-command-line.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-long-command-line.py
deleted file mode 100644
index 8f8b7a3bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-long-command-line.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure long command lines work.
-"""
-
-import TestGyp
-
-import subprocess
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['ninja', 'msvs'])
-
- CHDIR = 'long-command-line'
- test.run_gyp('long-command-line.gyp', chdir=CHDIR)
- test.build('long-command-line.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-projectname.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-projectname.py
deleted file mode 100644
index e411cc04a..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-projectname.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure macro expansion of $(ProjectName) is handled.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'vs-macros'
- test.run_gyp('projectname.gyp', chdir=CHDIR)
- test.build('projectname.gyp', test.ALL, chdir=CHDIR)
- test.built_file_must_exist('test_expansions_plus_something.exe', chdir=CHDIR)
- test.built_file_must_exist(
- 'test_with_product_name_plus_something.exe', chdir=CHDIR)
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-vcinstalldir.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-vcinstalldir.py
deleted file mode 100644
index 37396e161..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macro-vcinstalldir.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure macro expansion of $(VCInstallDir) is handled, and specifically
-always / terminated for compatibility.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'vs-macros'
- test.run_gyp('vcinstalldir.gyp', chdir=CHDIR)
- # This fails on VS because the trailing slash escapes the trailing quote.
- test.build('vcinstalldir.gyp', 'test_slash_trailing', chdir=CHDIR, status=1)
- test.build('vcinstalldir.gyp', 'test_slash_dir', chdir=CHDIR)
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-containing-gyp.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-containing-gyp.py
deleted file mode 100644
index f6eaf63db..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-containing-gyp.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Handle VS macro expansion containing gyp variables.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'vs-macros'
- test.run_gyp('containing-gyp.gyp', chdir=CHDIR)
- test.build('containing-gyp.gyp', test.ALL, chdir=CHDIR)
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-in-inputs-and-outputs.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-in-inputs-and-outputs.py
deleted file mode 100644
index 3d6fa74e4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-macros-in-inputs-and-outputs.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Handle macro expansion in inputs and outputs of rules.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'vs-macros'
- test.run_gyp('input-output-macros.gyp', chdir=CHDIR)
-
- test.build('input-output-macros.gyp', 'test_expansions', chdir=CHDIR)
-
- test.built_file_must_exist('stuff.blah.something',
- content='Random data file.\nModified.',
- chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-midl-rules.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-midl-rules.py
deleted file mode 100644
index 86a84e165..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-midl-rules.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Handle default .idl build rules.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'idl-rules'
- test.run_gyp('basic-idl.gyp', chdir=CHDIR)
- test.build('basic-idl.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-quoting-commands.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-quoting-commands.py
deleted file mode 100644
index b40f99f08..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-quoting-commands.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure batch files run as actions. Regression test for previously missing
-trailing quote on command line. cmd typically will implicitly insert a missing
-quote, but if the command ends in a quote, it will not insert another, so the
-command can sometimes become unterminated.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'batch-file-action'
- test.run_gyp('batch-file-action.gyp', chdir=CHDIR)
- test.build('batch-file-action.gyp', test.ALL, chdir=CHDIR)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-rc-build.py b/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-rc-build.py
deleted file mode 100644
index fd2729048..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/gyptest-rc-build.py
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Make sure we build and include .rc files.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'])
-
- CHDIR = 'rc-build'
- test.run_gyp('hello.gyp', chdir=CHDIR)
- test.build('hello.gyp', test.ALL, chdir=CHDIR)
- test.up_to_date('hello.gyp', 'resource_only_dll', chdir=CHDIR)
- test.run_built_executable('with_resources', chdir=CHDIR, status=4)
-
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/basic-idl.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/basic-idl.gyp
deleted file mode 100644
index b980e527f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/basic-idl.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'variables': {
- 'midl_out_dir': '<(SHARED_INTERMEDIATE_DIR)',
- },
- 'targets': [
- {
- 'target_name': 'idl_test',
- 'type': 'executable',
- 'sources': [
- 'history_indexer.idl',
- '<(midl_out_dir)/history_indexer.h',
- '<(midl_out_dir)/history_indexer_i.c',
- 'history_indexer_user.cc',
- ],
- 'include_dirs': [
- '<(midl_out_dir)',
- ],
- 'msvs_settings': {
- 'VCMIDLTool': {
- 'OutputDirectory': '<(midl_out_dir)',
- 'HeaderFileName': '<(RULE_INPUT_ROOT).h',
- },
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer.idl b/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer.idl
deleted file mode 100644
index e866ce6d9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer.idl
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import "oaidl.idl";
-import "ocidl.idl";
-
-[
- object,
- uuid(9C1100DD-51D4-4827-AE9F-3B8FAC4AED72),
- oleautomation,
- nonextensible,
- pointer_default(unique)
-]
-interface IChromeHistoryIndexer : IUnknown {
- HRESULT SomeFunction([in] VARIANT begin_time, [in] VARIANT end_time);
-};
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer_user.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer_user.cc
deleted file mode 100644
index 071a9ffef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/idl-rules/history_indexer_user.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "history_indexer.h"
-
-// Use the thing in the IDL.
-int main() {
- IChromeHistoryIndexer** indexer = 0;
- IID fake_iid;
- CoCreateInstance(fake_iid, NULL, CLSCTX_INPROC,
- __uuidof(IChromeHistoryIndexer),
- reinterpret_cast<void**>(indexer));
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/has-exports.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/has-exports.cc
deleted file mode 100644
index 3f62d6c60..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/has-exports.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-__declspec(dllexport) void some_function() {
-}
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/hello.cc
deleted file mode 100644
index 66ff68c11..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/hello.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-__declspec(dllimport) void some_function();
-
-int main() {
- some_function();
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/importlib.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/importlib.gyp
deleted file mode 100644
index ab15b1893..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/importlib/importlib.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_importlib',
- 'type': 'shared_library',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'LinkIncremental': '2',
- }
- },
- 'sources': ['has-exports.cc'],
- },
-
- {
- 'target_name': 'test_linkagainst',
- 'type': 'executable',
- 'dependencies': ['test_importlib'],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'LinkIncremental': '2',
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.cc
deleted file mode 100644
index 7dfb589d2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <winsock2.h>
-
-int main() {
- WSAStartup(0, 0);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.gyp
deleted file mode 100644
index 55afe64fb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-deps.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_deps_none',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_deps_few',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'AdditionalDependencies': [
- 'wininet.lib',
- 'ws2_32.lib',
- ]
- }
- },
- 'sources': ['additional-deps.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-options.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-options.gyp
deleted file mode 100644
index cab3994cd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/additional-options.gyp
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_additional_none',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_additional_few',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'AdditionalOptions': [
- '/dynamicbase:no',
- ]
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/aslr.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/aslr.gyp
deleted file mode 100644
index b3aefd50b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/aslr.gyp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_aslr_default',
- 'type': 'executable',
- 'msvs_settings': {
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_aslr_no',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'RandomizedBaseAddress': '1',
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_aslr_yes',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'RandomizedBaseAddress': '2',
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/debug-info.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/debug-info.gyp
deleted file mode 100644
index d47d0ecce..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/debug-info.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_debug_off',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'false'
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_debug_on',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true'
- },
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.cc
deleted file mode 100644
index 2c78cccba..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-#include <delayimp.h>
-#include <odbcinst.h>
-#include <shlobj.h>
-#include <sql.h>
-#include <stdio.h>
-
-// Reference something in each of the default-linked libraries to cause a link
-// error if one is not correctly included.
-
-extern "C" void* __puiHead; // DelayImp
-
-int main() {
- CopyFile(0, 0, 0); // kernel32
- MessageBox(0, 0, 0, 0); // user32
- CreateDC(0, 0, 0, 0); // gdi32
- AddPrinter(0, 0, 0); // winspool
- FindText(0); // comdlg32
- ClearEventLog(0, 0); // advapi32
- SHGetSettings(0, 0); // shell32
- OleFlushClipboard(); // ole32
- VarAdd(0, 0, 0); // oleaut32
- printf("%p", &CLSID_FileOpenDialog); // uuid
- SQLAllocHandle(0, 0, 0); // odbc32
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.gyp
deleted file mode 100644
index dfceaebfb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/default-libs.gyp
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_default',
- 'type': 'executable',
- 'sources': ['default-libs.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile-multiple.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile-multiple.gyp
deleted file mode 100644
index c74a9af20..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile-multiple.gyp
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_deffile_multiple_fail',
- 'type': 'shared_library',
- 'sources': [
- 'deffile.cc',
- 'deffile.def',
- 'deffile2.def',
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.cc
deleted file mode 100644
index bf58c6126..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-void AnExportedFunction() {
-}
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.def b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.def
deleted file mode 100644
index ba9d399bd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.def
+++ /dev/null
@@ -1,8 +0,0 @@
-; Copyright (c) 2012 Google Inc. All rights reserved.
-; Use of this source code is governed by a BSD-style license that can be
-; found in the LICENSE file.
-
-LIBRARY test_deffile_ok
-
-EXPORTS
- AnExportedFunction
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.gyp
deleted file mode 100644
index 7b241d5e3..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/deffile.gyp
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_deffile_dll_ok',
- 'type': 'shared_library',
- 'sources': [
- 'deffile.cc',
- 'deffile.def',
- ],
- },
- {
- 'target_name': 'test_deffile_dll_notexported',
- 'type': 'shared_library',
- 'sources': [
- 'deffile.cc',
- ],
- },
- {
- 'target_name': 'test_deffile_exe_ok',
- 'type': 'executable',
- 'sources': [
- 'deffile.cc',
- 'deffile.def',
- ],
- },
- {
- 'target_name': 'test_deffile_exe_notexported',
- 'type': 'executable',
- 'sources': [
- 'deffile.cc',
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load-dlls.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load-dlls.gyp
deleted file mode 100644
index 93ca311c4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load-dlls.gyp
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_dld_none',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- }
- },
- 'sources': ['delay-load.cc'],
- },
- {
- 'target_name': 'test_dld_shell32',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'DelayLoadDLLs': ['shell32.dll']
- }
- },
- 'sources': ['delay-load.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load.cc
deleted file mode 100644
index 2be34aa87..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/delay-load.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <shlobj.h>
-
-int main() {
- SHCreateDirectory(0, 0);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.cc
deleted file mode 100644
index b567bc87b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// The entry point specified by link.exe /ENTRY option.
-extern "C" void MainEntryPoint() {
-}
-
-// Still needed because the linker checks for existence of one of main, wmain,
-// WinMain, or wMain to offer informative diagnositics.
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.gyp
deleted file mode 100644
index 7f2c14252..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/entrypointsymbol.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_ok',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'EntryPointSymbol': 'MainEntryPoint',
- }
- },
- 'sources': ['entrypointsymbol.cc'],
- },
- {
- 'target_name': 'test_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'EntryPointSymbol': 'MainEntryPoint',
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra.manifest b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra.manifest
deleted file mode 100644
index 2e436dc25..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!--This Id value indicates the application supports Windows 7 functionality-->
- <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
- </application>
- </compatibility>
-
-</assembly>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra2.manifest b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra2.manifest
deleted file mode 100644
index bfb570ca5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/extra2.manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!--This Id value indicates the application supports Windows Vista functionality -->
- <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
- </application>
- </compatibility>
-
-</assembly>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/fixed-base.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/fixed-base.gyp
deleted file mode 100644
index cc2982eb2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/fixed-base.gyp
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Disable DYNAMICBASE for these tests because it implies/doesn't imply
- # FIXED in certain cases so it complicates the test for FIXED.
- {
- 'target_name': 'test_fixed_default_exe',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'RandomizedBaseAddress': '1',
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_fixed_default_dll',
- 'type': 'shared_library',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'RandomizedBaseAddress': '1',
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_fixed_no',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'FixedBaseAddress': '1',
- 'RandomizedBaseAddress': '1',
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_fixed_yes',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'FixedBaseAddress': '2',
- 'RandomizedBaseAddress': '1',
- },
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/generate-manifest.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/generate-manifest.gyp
deleted file mode 100644
index fe5ee7413..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/generate-manifest.gyp
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_manifest_exe',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCManifestTool': {
- 'EmbedManifest': 'false',
- }
- },
- },
- {
- 'target_name': 'test_manifest_dll',
- 'type': 'shared_library',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCManifestTool': {
- 'EmbedManifest': 'false',
- }
- },
- },
- {
- 'target_name': 'test_manifest_extra1',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCManifestTool': {
- 'EmbedManifest': 'false',
- 'AdditionalManifestFiles': 'extra.manifest',
- }
- },
- },
- {
- 'target_name': 'test_manifest_extra2',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCManifestTool': {
- 'EmbedManifest': 'false',
- 'AdditionalManifestFiles': 'extra.manifest;extra2.manifest',
- }
- },
- },
- {
- 'target_name': 'test_manifest_extra_list',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCManifestTool': {
- 'EmbedManifest': 'false',
- 'AdditionalManifestFiles': [
- 'extra.manifest',
- 'extra2.manifest'
- ],
- }
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/incremental.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/incremental.gyp
deleted file mode 100644
index 59f310325..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/incremental.gyp
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Turn on debug information so the incremental linking tables have a
- # visible symbolic name in the disassembly.
- {
- 'target_name': 'test_incremental_unset',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_incremental_default',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'LinkIncremental': '0',
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_incremental_no',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'LinkIncremental': '1',
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_incremental_yes',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'LinkIncremental': '2',
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.cc
deleted file mode 100644
index 7dfb589d2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <winsock2.h>
-
-int main() {
- WSAStartup(0, 0);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.gyp
deleted file mode 100644
index 10e9996f5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-adjust.gyp
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_adjust',
- 'type': 'executable',
- 'libraries': [
- '-lws2_32.lib'
- ],
- 'sources': ['library-adjust.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-define.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-define.cc
deleted file mode 100644
index 211ef062c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-define.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int library_function() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-reference.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-reference.cc
deleted file mode 100644
index 335097839..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories-reference.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-extern int library_function();
-
-int main() {
- library_function();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories.gyp
deleted file mode 100644
index 25395d6c8..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/library-directories.gyp
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_libdirs_none',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'AdditionalDependencies': [
- 'test_lib.lib',
- ],
- },
- },
- 'sources': ['library-directories-reference.cc'],
- },
- {
- 'target_name': 'test_libdirs_with',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- # NOTE: Don't use this for general dependencies between gyp
- # libraries (use 'dependencies' instead). This is done here only for
- # testing.
- #
- # This setting should only be used to depend on third party prebuilt
- # libraries that are stored as binaries at a known location.
- 'AdditionalLibraryDirectories': [
- '<(DEPTH)/out/Default/obj/subdir', # ninja style
- '<(DEPTH)/subdir/Default/lib', # msvs style
- ],
- 'AdditionalDependencies': [
- 'test_lib.lib',
- ],
- },
- },
- 'sources': ['library-directories-reference.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.cc
deleted file mode 100644
index 24b6eca43..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Include entry point function that's excluded by removing C runtime libraries.
-extern "C" void mainCRTStartup() {
-}
-
-// Still needed because the linker checks for existence of one of main, wmain,
-// WinMain, or wMain to offer informative diagnositics.
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.gyp
deleted file mode 100644
index 4fb452a18..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nodefaultlib.gyp
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_ok',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'IgnoreDefaultLibraryNames':
- ['libcmtd.lib', 'libcmt.lib', 'msvcrt.lib', 'msvcrtd.lib'],
- }
- },
- 'sources': ['nodefaultlib.cc'],
- },
- {
- 'target_name': 'test_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'IgnoreDefaultLibraryNames':
- ['libcmtd.lib', 'libcmt.lib', 'msvcrt.lib', 'msvcrtd.lib'],
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nxcompat.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nxcompat.gyp
deleted file mode 100644
index fa4118cbd..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/nxcompat.gyp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_nxcompat_default',
- 'type': 'executable',
- 'msvs_settings': {
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_nxcompat_no',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'DataExecutionPrevention': '1',
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_nxcompat_yes',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'DataExecutionPrevention': '2',
- },
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.cc
deleted file mode 100644
index 1f12156b7..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.cc
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-void similar_function0(char* x) {
- while (*x) {
- ++x;
- }
-}
-
-void similar_function1(char* p) {
- while (*p) {
- ++p;
- }
-}
-
-void similar_function2(char* q) {
- while (*q) {
- ++q;
- }
-}
-
-int main() {
- char* x = "hello";
- similar_function0(x);
- similar_function1(x);
- similar_function2(x);
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.gyp
deleted file mode 100644
index effe8021c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-icf.gyp
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Have to turn on function level linking here to get the function packaged
- # as a COMDAT so that it's eligible for merging. Also turn on debug
- # information so that the symbol names for the code appear in the dump.
- # Finally, specify non-incremental linking so that there's not a bunch of
- # extra "similar_function"s in the output (the ILT jump table).
- {
- 'target_name': 'test_opticf_default',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- 'DebugInformationFormat': '3',
- 'Optimization': '0',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'LinkIncremental': '1',
- },
- },
- 'sources': ['opt-icf.cc'],
- },
- {
- 'target_name': 'test_opticf_no',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- 'DebugInformationFormat': '3',
- 'Optimization': '0',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'EnableCOMDATFolding': '1',
- 'LinkIncremental': '1',
- },
- },
- 'sources': ['opt-icf.cc'],
- },
- {
- 'target_name': 'test_opticf_yes',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- 'DebugInformationFormat': '3',
- 'Optimization': '0',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'EnableCOMDATFolding': '2',
- 'LinkIncremental': '1',
- },
- },
- 'sources': ['opt-icf.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.cc
deleted file mode 100644
index afaa328a5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.cc
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int unused_function() {
- return 0;
-}
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.gyp
deleted file mode 100644
index 69d0281a0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/opt-ref.gyp
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Have to turn on function level linking here to get the function packaged
- # as a COMDAT so that it's eligible for optimizing away. Also turn on
- # debug information so that the symbol names for the code appear in the
- # dump (so we can verify if they are included in the final exe).
- {
- 'target_name': 'test_optref_default',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- 'sources': ['opt-ref.cc'],
- },
- {
- 'target_name': 'test_optref_no',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'OptimizeReferences': '1',
- },
- },
- 'sources': ['opt-ref.cc'],
- },
- {
- 'target_name': 'test_optref_yes',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'EnableFunctionLevelLinking': 'true',
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'OptimizeReferences': '2',
- },
- },
- 'sources': ['opt-ref.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/outputfile.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/outputfile.gyp
deleted file mode 100644
index 1022ec2e2..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/outputfile.gyp
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_output_exe',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '$(OutDir)\\blorp.exe'
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_output_exe2',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '$(OutDir)\\subdir\\blorp.exe'
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_output_dll',
- 'type': 'shared_library',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '$(OutDir)\\blorp.dll'
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_output_lib',
- 'type': 'static_library',
- 'msvs_settings': {
- 'VCLibrarianTool': {
- 'OutputFile': '$(OutDir)\\blorp.lib'
- },
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_output_lib2',
- 'type': 'static_library',
- 'msvs_settings': {
- 'VCLibrarianTool': {
- 'OutputFile': '$(OutDir)\\subdir\\blorp.lib'
- },
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/profile.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/profile.gyp
deleted file mode 100644
index d60a700fb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/profile.gyp
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Verify that 'Profile' option correctly makes it to LINK steup in Ninja
- {
- 'target_name': 'test_profile_true',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3'
- },
- 'VCLinkerTool': {
- 'Profile': 'true',
- 'GenerateDebugInformation': 'true',
- },
- },
- },
- {
- 'target_name': 'test_profile_false',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3'
- },
- 'VCLinkerTool': {
- 'Profile': 'false',
- 'GenerateDebugInformation': 'true',
- },
- },
- },
- {
- 'target_name': 'test_profile_default',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3'
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/program-database.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/program-database.gyp
deleted file mode 100644
index b822a8be4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/program-database.gyp
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- # Verify that 'ProgramDataBase' option correctly makes it to LINK step in Ninja
- {
- # Verify that VC macros and windows paths work correctly
- 'target_name': 'test_pdb_outdir',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3'
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'ProgramDatabaseFile': '$(OutDir)\\name_outdir.pdb',
- },
- },
- },
- {
- # Verify that GYP macros and POSIX paths work correctly
- 'target_name': 'test_pdb_proddir',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3'
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- 'ProgramDatabaseFile': '<(PRODUCT_DIR)/name_proddir.pdb',
- },
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subdir/library.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subdir/library.gyp
deleted file mode 100644
index 519577f0d..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subdir/library.gyp
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_lib',
- 'type': 'static_library',
- 'sources': ['../library-directories-define.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem-windows.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem-windows.cc
deleted file mode 100644
index ac99da808..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem-windows.cc
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <windows.h>
-
-int CALLBACK WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem.gyp
deleted file mode 100644
index ec68e805c..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/linker-flags/subsystem.gyp
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_console_ok',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'SubSystem': '1'
- }
- },
- 'sources': ['hello.cc'],
- },
- {
- 'target_name': 'test_console_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'SubSystem': '1'
- }
- },
- 'sources': ['subsystem-windows.cc'],
- },
- {
- 'target_name': 'test_windows_ok',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'SubSystem': '2'
- }
- },
- 'sources': ['subsystem-windows.cc'],
- },
- {
- 'target_name': 'test_windows_fail',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'SubSystem': '2'
- }
- },
- 'sources': ['hello.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/function.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/function.cc
deleted file mode 100644
index af44b2cab..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/function.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int func() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/long-command-line.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/long-command-line.gyp
deleted file mode 100644
index 964c94fa9..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/long-command-line/long-command-line.gyp
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'longexe',
- 'type': 'executable',
- 'msvs_settings': {
- # Use this as a simple way to get a long command.
- 'VCCLCompilerTool': {
- 'AdditionalOptions': '/nologo ' * 8000,
- },
- 'VCLinkerTool': {
- 'AdditionalOptions': '/nologo ' * 8000,
- },
- },
- 'sources': [
- 'hello.cc',
- ],
- },
- {
- 'target_name': 'longlib',
- 'type': 'static_library',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'AdditionalOptions': '/nologo ' * 8000,
- },
- 'VCLibrarianTool': {
- 'AdditionalOptions': '/nologo ' * 8000,
- },
- },
- 'sources': [
- 'function.cc',
- ],
- },
- {
- 'target_name': 'longdll',
- 'type': 'shared_library',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'AdditionalOptions': '/nologo ' * 8000,
- },
- 'VCLinkerTool': {
- 'AdditionalOptions': '/nologo ' * 8000,
- },
- },
- 'sources': [
- 'hello.cc',
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/gyptest-all.py b/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/gyptest-all.py
deleted file mode 100644
index 9fb5e62ed..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/gyptest-all.py
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""
-Verifies that precompiled headers can be specified.
-"""
-
-import TestGyp
-
-import sys
-
-if sys.platform == 'win32':
- test = TestGyp.TestGyp(formats=['msvs', 'ninja'], workdir='workarea_all')
- test.run_gyp('hello.gyp')
- test.build('hello.gyp', 'hello')
- test.run_built_executable('hello', stdout="Hello, world!\nHello, two!\n")
- test.up_to_date('hello.gyp', test.ALL)
- test.pass_test()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.c b/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.c
deleted file mode 100644
index d1abbb9e5..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-// Note the abscence of a stdio.h include. This will be inserted because of the
-// precompiled header.
-
-extern int hello2();
-
-int main(int argc, char *argv[]) {
- printf("Hello, world!\n");
- hello2();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.gyp
deleted file mode 100644
index 5f82c5359..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello.gyp
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'hello',
- 'type': 'executable',
- 'sources': [
- 'hello.c',
- 'hello2.c',
- 'precomp.c',
- ],
- 'msvs_precompiled_header': 'stdio.h',
- 'msvs_precompiled_source': 'precomp.c',
-
- # Required so that the printf actually causes a build failure
- # if the pch isn't included.
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'WarningLevel': '3',
- 'WarnAsError': 'true',
- },
- },
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello2.c b/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello2.c
deleted file mode 100644
index d6d53111f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/hello2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-// Unlike hello.c, this file specifies the headers.
-
-#include <windows.h>
-#include <stdio.h>
-
-int hello2() {
- printf("Hello, two!\n");
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/precomp.c b/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/precomp.c
deleted file mode 100644
index 517c61a36..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/precompiled/precomp.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Copyright (c) 2011 Google Inc. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file. */
-
-// The precompiled header does not have to be the first one in the file.
-
-#include <windows.h>
-#include <stdio.h>
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/Resource.h b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/Resource.h
deleted file mode 100644
index 137acf39b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/Resource.h
+++ /dev/null
@@ -1,26 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by hello.rc
-//
-
-#define IDS_APP_TITLE 103
-
-#define IDR_MAINFRAME 128
-#define IDI_HELLO 107
-#define IDI_SMALL 108
-#define IDC_HELLO 109
-#ifndef IDC_STATIC
-#define IDC_STATIC -1
-#endif
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-
-#define _APS_NO_MFC 130
-#define _APS_NEXT_RESOURCE_VALUE 129
-#define _APS_NEXT_COMMAND_VALUE 32771
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 110
-#endif
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.cpp b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.cpp
deleted file mode 100644
index f552ca159..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <tchar.h>
-
-#include "resource.h"
-
-#define MAX_LOADSTRING 100
-
-TCHAR szTitle[MAX_LOADSTRING];
-TCHAR szWindowClass[MAX_LOADSTRING];
-
-int APIENTRY _tWinMain(
- HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPTSTR lpCmdLine,
- int nCmdShow) {
- // Make sure we can load some resources.
- int count = 0;
- LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
- if (szTitle[0] != 0) ++count;
- LoadString(hInstance, IDC_HELLO, szWindowClass, MAX_LOADSTRING);
- if (szWindowClass[0] != 0) ++count;
- if (LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SMALL)) != NULL) ++count;
- if (LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HELLO)) != NULL) ++count;
- return count;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.gyp
deleted file mode 100644
index 8a0440976..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.gyp
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'with_resources',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- 'VCResourceCompilerTool': {
- 'Culture' : '1033',
- },
- },
- 'sources': [
- 'hello.cpp',
- 'hello.rc',
- ],
- },
- {
- 'target_name': 'with_resources_subdir',
- 'type': 'executable',
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'DebugInformationFormat': '3',
- },
- 'VCLinkerTool': {
- 'GenerateDebugInformation': 'true',
- },
- 'VCResourceCompilerTool': {
- 'Culture' : '1033',
- },
- },
- 'sources': [
- 'hello.cpp',
- 'subdir/hello2.rc',
- ],
- },
- {
- 'target_name': 'resource_only_dll',
- 'type': 'shared_library',
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'ResourceOnlyDLL': 'true',
- },
- },
- 'sources': [
- 'hello.rc',
- ],
- },
- ],
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.h b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.h
deleted file mode 100644
index e60f2eb7e..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#include "resource.h"
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.ico b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.ico
deleted file mode 100644
index d551aa3aa..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.ico
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.rc b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.rc
deleted file mode 100644
index c9a7af6a0..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/hello.rc
+++ /dev/null
@@ -1,86 +0,0 @@
-//Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#ifndef APSTUDIO_INVOKED
-#include "targetver.h"
-#endif
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE 9, 1
-#pragma code_page(932)
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-
-IDI_HELLO ICON "hello.ico"
-IDI_SMALL ICON "small.ico"
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#ifndef APSTUDIO_INVOKED\r\n"
- "#include ""targetver.h""\r\n"
- "#endif\r\n"
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDC_HELLO "HELLO"
- IDS_APP_TITLE "hello"
-END
-
-#endif
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/small.ico b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/small.ico
deleted file mode 100644
index d551aa3aa..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/small.ico
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/hello2.rc b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/hello2.rc
deleted file mode 100644
index 4c8eab109..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/hello2.rc
+++ /dev/null
@@ -1,87 +0,0 @@
-//Microsoft Visual C++ generated resource script.
-//
-#include "subdir/include.h"
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#ifndef APSTUDIO_INVOKED
-#include "targetver.h"
-#endif
-#define APSTUDIO_HIDDEN_SYMBOLS
-#include "windows.h"
-#undef APSTUDIO_HIDDEN_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE 9, 1
-#pragma code_page(932)
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-
-IDI_HELLO ICON "hello.ico"
-IDI_SMALL ICON "small.ico"
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-1 TEXTINCLUDE
-BEGIN
- "resource.h\0"
-END
-
-2 TEXTINCLUDE
-BEGIN
- "#ifndef APSTUDIO_INVOKED\r\n"
- "#include ""targetver.h""\r\n"
- "#endif\r\n"
- "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "#include ""windows.h""\r\n"
- "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
- "\0"
-END
-
-3 TEXTINCLUDE
-BEGIN
- "\r\n"
- "\0"
-END
-
-#endif // APSTUDIO_INVOKED
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
- IDC_HELLO "HELLO"
- IDS_APP_TITLE "hello"
-END
-
-#endif
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-/////////////////////////////////////////////////////////////////////////////
-#endif // not APSTUDIO_INVOKED
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/include.h b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/include.h
deleted file mode 100644
index f15c48b42..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/subdir/include.h
+++ /dev/null
@@ -1 +0,0 @@
-// Just exists to make sure it can be included.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/targetver.h b/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/targetver.h
deleted file mode 100644
index f583181df..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/rc-build/targetver.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#pragma once
-
-// The following macros define the minimum required platform. The minimum required platform
-// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
-// your application. The macros work by enabling all features available on platform versions up to and
-// including the version specified.
-
-// Modify the following defines if you have to target a platform prior to the ones specified below.
-// Refer to MSDN for the latest info on corresponding values for different platforms.
-#ifndef WINVER // Specifies that the minimum required platform is Windows Vista.
-#define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
-#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
-#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
-#endif
-
-#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
-#define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.
-#endif
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/a.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/a.cc
deleted file mode 100644
index 0fe05d5af..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/a.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int some_function() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/b.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/b.cc
deleted file mode 100644
index 0fe05d5af..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/b.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int some_function() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/main.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/main.cc
deleted file mode 100644
index 81b46d863..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/main.cc
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-extern int some_function();
-
-int main() {
- some_function();
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/uldi.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/uldi.gyp
deleted file mode 100644
index c32f5e095..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/uldi/uldi.gyp
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'lib1',
- 'type': 'static_library',
- 'sources': ['a.cc'],
- },
- {
- 'target_name': 'final_uldi',
- 'type': 'executable',
- 'dependencies': [
- 'lib1',
- 'lib2',
- ],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'UseLibraryDependencyInputs': 'true'
- },
- },
- 'sources': ['main.cc'],
- },
- {
- 'target_name': 'final_no_uldi',
- 'type': 'executable',
- 'dependencies': [
- 'lib1',
- 'lib2',
- ],
- 'sources': ['main.cc'],
- },
- {
- 'target_name': 'lib2',
- 'type': 'static_library',
- # b.cc has the same named function as a.cc, but don't use the same name
- # so that the .obj will have a different name. If the obj file has the
- # same name, the linker will discard the obj file, invalidating the
- # test.
- 'sources': ['b.cc'],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/as.py b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/as.py
deleted file mode 100644
index e0bc3ae6f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/as.py
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-from optparse import OptionParser
-
-parser = OptionParser()
-parser.add_option('-a', dest='platform')
-parser.add_option('-o', dest='output')
-parser.add_option('-p', dest='path')
-(options, args) = parser.parse_args()
-
-f = open(options.output, 'w')
-print >>f, 'options', options
-print >>f, 'args', args
-f.close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/containing-gyp.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/containing-gyp.gyp
deleted file mode 100644
index fa799a4e4..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/containing-gyp.gyp
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_expansions',
- 'msvs_cygwin_shell': 0,
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'assembler (gnu-compatible)',
- 'msvs_cygwin_shell': 0,
- 'msvs_quote_cmd': 0,
- 'extension': 'S',
- 'inputs': [
- 'as.py',
- '$(InputPath)'
- ],
- 'outputs': [
- '$(IntDir)/$(InputName).obj',
- ],
- 'action':
- ['python',
- 'as.py',
- '-a', '$(PlatformName)',
- '-o', '$(IntDir)/$(InputName).obj',
- '-p', '<(DEPTH)',
- '$(InputPath)'],
- 'message': 'Building assembly language file $(InputPath)',
- 'process_outputs_as_sources': 1,
- },
- ],
- 'sources': [
- 'input.S',
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/do_stuff.py b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/do_stuff.py
deleted file mode 100644
index 4669d3139..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/do_stuff.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import sys
-
-input = open(sys.argv[1], "r").read()
-open(sys.argv[2], "w").write(input + "Modified.")
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/hello.cc b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/hello.cc
deleted file mode 100644
index 1711567ef..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/hello.cc
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright (c) 2012 Google Inc. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-int main() {
- return 0;
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input-output-macros.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input-output-macros.gyp
deleted file mode 100644
index b7a3c1e3b..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input-output-macros.gyp
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_expansions',
- 'msvs_cygwin_shell': 0,
- 'type': 'none',
- 'rules': [
- {
- 'rule_name': 'generate_file',
- 'extension': 'blah',
- 'inputs': [
- '<(RULE_INPUT_PATH)',
- 'do_stuff.py',
- ],
- 'outputs': [
- '$(OutDir)\\<(RULE_INPUT_NAME).something',
- ],
- 'action': ['python',
- 'do_stuff.py',
- '<(RULE_INPUT_PATH)',
- '$(OutDir)\\<(RULE_INPUT_NAME).something',],
- },
- ],
- 'sources': [
- 'stuff.blah',
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input.S b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input.S
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/input.S
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/projectname.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/projectname.gyp
deleted file mode 100644
index 625a17764..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/projectname.gyp
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_expansions',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '$(OutDir)\\$(ProjectName)_plus_something.exe',
- },
- },
- },
- {
- 'target_name': 'test_with_product_name',
- 'product_name': 'prod_name',
- 'type': 'executable',
- 'sources': ['hello.cc'],
- 'msvs_settings': {
- 'VCLinkerTool': {
- 'OutputFile': '$(OutDir)\\$(ProjectName)_plus_something.exe',
- },
- },
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/stuff.blah b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/stuff.blah
deleted file mode 100644
index d438b4a78..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/stuff.blah
+++ /dev/null
@@ -1 +0,0 @@
-Random data file.
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/test_exists.py b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/test_exists.py
deleted file mode 100644
index f5c90ad6f..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/test_exists.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import sys
-
-if not os.path.exists(sys.argv[1]):
- raise
-open(sys.argv[2], 'w').close()
diff --git a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/vcinstalldir.gyp b/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/vcinstalldir.gyp
deleted file mode 100644
index 3763a4eb1..000000000
--- a/deps/npm/node_modules/node-gyp/gyp/test/win/vs-macros/vcinstalldir.gyp
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright (c) 2012 Google Inc. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-{
- 'targets': [
- {
- 'target_name': 'test_slash_trailing',
- 'type': 'none',
- 'msvs_cygwin_shell': '0',
- 'actions': [
- {
- 'action_name': 'root',
- 'inputs': [],
- 'outputs': ['out1'],
- 'action': ['python', 'test_exists.py', '$(VCInstallDir)', 'out1']
- },
- ],
- },
- {
- 'target_name': 'test_slash_dir',
- 'type': 'none',
- 'msvs_cygwin_shell': '0',
- 'actions': [
- {
- 'action_name': 'bin',
- 'inputs': [],
- 'outputs': ['out2'],
- 'action': ['python', 'test_exists.py', '$(VCInstallDir)bin', 'out2'],
- },
- {
- 'action_name': 'compiler',
- 'inputs': [],
- 'outputs': ['out3'],
- 'action': [
- 'python', 'test_exists.py', '$(VCInstallDir)bin\\cl.exe', 'out3'],
- },
- ],
- },
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el
index e988a350e..11b849788 100644
--- a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el
+++ b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp-tests.el
@@ -26,11 +26,20 @@
(insert-file-contents-literally (concat filename ".fontified"))
(read (current-buffer))))
+(defun equivalent-face (face)
+ "For the purposes of face comparison, we're not interested in the
+ differences between certain faces. For example, the difference between
+ font-lock-comment-delimiter and font-lock-comment-face."
+ (case face
+ ((font-lock-comment-delimiter-face) font-lock-comment-face)
+ (t face)))
+
(defun text-face-properties (s)
"Extract the text properties from s"
(let ((result (list t)))
(dotimes (i (length s))
- (setq result (cons (get-text-property i 'face s) result)))
+ (setq result (cons (equivalent-face (get-text-property i 'face s))
+ result)))
(nreverse result)))
(ert-deftest test-golden-samples ()
diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el
index c20fc8de9..f558b5313 100644
--- a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el
+++ b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/gyp.el
@@ -135,7 +135,7 @@
(setq sections (cdr sections)) ; pop out a level
(cond ((looking-at-p "['\"]") ; a string
(setq string-start (point))
- (forward-sexp 1)
+ (goto-char (scan-sexps (point) 1))
(if (gyp-inside-dictionary-p)
;; Look for sections inside a dictionary
(let ((section (gyp-section-name
diff --git a/deps/npm/node_modules/node-gyp/legacy/common.gypi b/deps/npm/node_modules/node-gyp/legacy/common.gypi
deleted file mode 100644
index ca0cf9f3e..000000000
--- a/deps/npm/node_modules/node-gyp/legacy/common.gypi
+++ /dev/null
@@ -1,205 +0,0 @@
-{
- 'variables': {
- 'strict_aliasing%': 'false', # turn on/off -fstrict-aliasing
- 'visibility%': 'hidden', # V8's visibility setting
- 'target_arch%': 'ia32', # set v8's target architecture
- 'host_arch%': 'ia32', # set v8's host architecture
- 'want_separate_host_toolset': 0, # V8 should not build target and host
- 'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
- 'component%': 'static_library', # NB. these names match with what V8 expects
- 'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
-
- # Enable V8's post-mortem debugging only on unix flavors.
- 'conditions': [
- ['OS != "win"', {
- 'v8_postmortem_support': 'true'
- }]
- ],
- },
-
- 'target_defaults': {
- 'default_configuration': 'Release',
- 'configurations': {
- 'Debug': {
- 'defines': [ 'DEBUG', '_DEBUG' ],
- 'cflags': [ '-g', '-O0' ],
- 'conditions': [
- ['target_arch=="x64"', {
- 'msvs_configuration_platform': 'x64',
- }],
- ],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': 1, # static debug
- 'Optimization': 0, # /Od, no optimization
- 'MinimalRebuild': 'false',
- 'OmitFramePointers': 'false',
- 'BasicRuntimeChecks': 3, # /RTC1
- },
- 'VCLinkerTool': {
- 'LinkIncremental': 2, # enable incremental linking
- },
- },
- },
- 'Release': {
- 'cflags': [ '-O3', '-fdata-sections', '-ffunction-sections' ],
- 'conditions': [
- ['target_arch=="x64"', {
- 'msvs_configuration_platform': 'x64',
- }],
- ['OS=="solaris"', {
- 'cflags': [ '-fno-omit-frame-pointer' ],
- # pull in V8's postmortem metadata
- 'ldflags': [ '-Wl,-z,allextract' ]
- }],
- ['strict_aliasing!="true"', {
- 'cflags': [ '-fno-strict-aliasing' ],
- }],
- ],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': 0, # static release
- 'Optimization': 3, # /Ox, full optimization
- 'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
- 'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
- 'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
- 'OmitFramePointers': 'true',
- 'EnableFunctionLevelLinking': 'true',
- 'EnableIntrinsicFunctions': 'true',
- 'RuntimeTypeInfo': 'false',
- 'ExceptionHandling': '0',
- 'AdditionalOptions': [
- '/MP', # compile across multiple CPUs
- ],
- },
- 'VCLibrarianTool': {
- 'AdditionalOptions': [
- '/LTCG', # link time code generation
- ],
- },
- 'VCLinkerTool': {
- 'LinkTimeCodeGeneration': 1, # link-time code generation
- 'OptimizeReferences': 2, # /OPT:REF
- 'EnableCOMDATFolding': 2, # /OPT:ICF
- 'LinkIncremental': 1, # disable incremental linking
- },
- },
- }
- },
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'StringPooling': 'true', # pool string literals
- 'DebugInformationFormat': 3, # Generate a PDB
- 'WarningLevel': 3,
- 'BufferSecurityCheck': 'true',
- 'ExceptionHandling': 1, # /EHsc
- 'SuppressStartupBanner': 'true',
- 'WarnAsError': 'false',
- },
- 'VCLibrarianTool': {
- },
- 'VCLinkerTool': {
- 'conditions': [
- ['target_arch=="x64"', {
- 'TargetMachine' : 17 # /MACHINE:X64
- }],
- ],
- 'GenerateDebugInformation': 'true',
- 'RandomizedBaseAddress': 2, # enable ASLR
- 'DataExecutionPrevention': 2, # enable DEP
- 'AllowIsolation': 'true',
- 'SuppressStartupBanner': 'true',
- 'target_conditions': [
- ['_type=="executable"', {
- 'SubSystem': 1, # console executable
- }],
- ],
- },
- },
- 'conditions': [
- ['OS == "win"', {
- 'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin
- 'defines': [
- 'WIN32',
- # we don't really want VC++ warning us about
- # how dangerous C functions are...
- '_CRT_SECURE_NO_DEPRECATE',
- # ... or that C implementations shouldn't use
- # POSIX names
- '_CRT_NONSTDC_NO_DEPRECATE',
- 'BUILDING_V8_SHARED=1',
- 'BUILDING_UV_SHARED=1',
- ],
- }, {
- 'defines': [
- '_LARGEFILE_SOURCE',
- '_FILE_OFFSET_BITS=64',
- ],
- }],
- [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
- 'cflags': [ '-Wall', '-pthread', ],
- 'cflags_cc': [ '-fno-rtti', '-fno-exceptions' ],
- 'ldflags': [ '-pthread', ],
- 'conditions': [
- [ 'target_arch=="ia32"', {
- 'cflags': [ '-m32' ],
- 'ldflags': [ '-m32' ],
- }],
- [ 'target_arch=="x64"', {
- 'cflags': [ '-m64' ],
- 'ldflags': [ '-m64' ],
- }],
- [ 'OS=="linux"', {
- 'ldflags': [ '-rdynamic' ],
- }],
- [ 'OS=="solaris"', {
- 'cflags': [ '-pthreads' ],
- 'ldflags': [ '-pthreads' ],
- 'cflags!': [ '-pthread' ],
- 'ldflags!': [ '-pthread' ],
- }],
- ],
- }],
- ['OS=="mac"', {
- 'defines': ['_DARWIN_USE_64_BIT_INODE=1'],
- 'xcode_settings': {
- 'ALWAYS_SEARCH_USER_PATHS': 'NO',
- 'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
- 'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
- # (Equivalent to -fPIC)
- 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
- 'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
- 'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
- 'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
- 'GCC_VERSION': '4.2',
- 'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
- 'PREBINDING': 'NO', # No -Wl,-prebind
- 'MACOSX_DEPLOYMENT_TARGET': '10.5', # -mmacosx-version-min=10.5
- 'USE_HEADERMAP': 'NO',
- 'OTHER_CFLAGS': [
- '-fno-strict-aliasing',
- ],
- 'WARNING_CFLAGS': [
- '-Wall',
- '-Wendif-labels',
- '-W',
- '-Wno-unused-parameter',
- ],
- },
- 'target_conditions': [
- ['_type!="static_library"', {
- 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
- }],
- ],
- 'conditions': [
- ['target_arch=="ia32"', {
- 'xcode_settings': {'ARCHS': ['i386']},
- }],
- ['target_arch=="x64"', {
- 'xcode_settings': {'ARCHS': ['x86_64']},
- }],
- ],
- }],
- ],
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/lib/build.js b/deps/npm/node_modules/node-gyp/lib/build.js
index bf2716984..e1e8c36f5 100644
--- a/deps/npm/node_modules/node-gyp/lib/build.js
+++ b/deps/npm/node_modules/node-gyp/lib/build.js
@@ -269,55 +269,7 @@ function build (gyp, argv, callback) {
if (signal) {
return callback(new Error('`' + command + '` got signal: ' + signal))
}
- //symlinkNodeBinding()
callback()
}
- function symlinkNodeBinding () {
- var source, target
- var buildDir = 'build/' + buildType + '/*.node'
- log.verbose('globbing for files', buildDir)
- glob(buildDir, function (err, nodeFiles) {
- if (err) return callback(err)
- log.silly('symlink', 'linking files', nodeFiles)
- function link () {
- var file = nodeFiles.shift()
- if (!file) {
- // no more files to link... done!
- return callback()
- }
- if (win) {
- // windows requires absolute paths for junctions
- source = path.resolve('build', path.basename(file))
- target = path.resolve(file)
- } else {
- // on unix, use only relative paths since they're nice
- source = path.join('build', path.basename(file))
- target = path.relative('build', file)
- }
- log.info('symlink', 'creating %s "%s" pointing to "%s"', win ? 'junction' : 'symlink', source, target)
- fs.symlink(target, source, 'junction', function (err) {
- if (err) {
- if (err.code === 'EEXIST') {
- log.verbose('destination already exists; deleting', dest)
- rm(dest, function (err) {
- if (err) return callback(err)
- log.verbose('delete successful; trying symlink again')
- nodeFiles.unshift(file)
- link()
- })
- } else {
- callback(err)
- }
- return
- }
- // process the next file, if any
- link()
- })
- }
- // start linking
- link()
- })
- }
-
}
diff --git a/deps/npm/node_modules/node-gyp/lib/configure.js b/deps/npm/node_modules/node-gyp/lib/configure.js
index 437b839ca..37c9ad37d 100644
--- a/deps/npm/node_modules/node-gyp/lib/configure.js
+++ b/deps/npm/node_modules/node-gyp/lib/configure.js
@@ -101,7 +101,12 @@ function configure (gyp, argv, callback) {
log.silly('stripping "+" sign(s) from version')
version = version.replace(/\+/g, '')
}
- if (semver.gte(version, '2.5.0') && semver.lt(version, '3.0.0')) {
+ if (~version.indexOf('rc')) {
+ log.silly('stripping "rc" identifier from version')
+ version = version.replace(/rc(.*)$/ig, '')
+ }
+ var range = semver.Range('>=2.5.0 <3.0.0');
+ if (range.test(version)) {
getNodeDir()
} else {
failPythonVersion(version)
@@ -209,7 +214,11 @@ function configure (gyp, argv, callback) {
}
// make sure we have a valid version
- version = semver.parse(versionStr)
+ try {
+ version = semver.parse(versionStr)
+ } catch (e) {
+ return callback(e)
+ }
if (!version) {
return callback(new Error('Invalid version number: ' + versionStr))
}
diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js
index d6b7c4201..2baaa8224 100644
--- a/deps/npm/node_modules/node-gyp/lib/install.js
+++ b/deps/npm/node_modules/node-gyp/lib/install.js
@@ -51,16 +51,12 @@ function install (gyp, argv, callback) {
return callback(new Error('Invalid version number: ' + versionStr))
}
- // "legacy" versions are 0.7 and 0.6
- var isLegacy = semver.lt(versionStr, '0.8.0')
- log.verbose('installing legacy version?', isLegacy)
-
- if (semver.lt(versionStr, '0.6.0')) {
- return callback(new Error('Minimum target version is `0.6.0` or greater. Got: ' + versionStr))
+ if (semver.lt(versionStr, '0.8.0')) {
+ return callback(new Error('Minimum target version is `0.8.0` or greater. Got: ' + versionStr))
}
// 0.x.y-pre versions are not published yet and cannot be installed. Bail.
- if (version[5] && version[5].match(/\-pre$/)) {
+ if (version.prerelease[0] === 'pre') {
log.verbose('detected "pre" node version', versionStr)
if (gyp.opts.nodedir) {
log.verbose('--nodedir flag was passed; skipping install', gyp.opts.nodedir)
@@ -72,7 +68,7 @@ function install (gyp, argv, callback) {
}
// flatten version into String
- version = version.slice(1, 4).join('.')
+ version = version.version
log.verbose('install', 'installing version: %s', version)
// the directory where the dev files will be installed
@@ -236,12 +232,6 @@ function install (gyp, argv, callback) {
log.verbose('tarball', 'done parsing tarball')
var async = 0
- if (isLegacy) {
- // copy over the files from the `legacy` dir
- async++
- copyLegacy(deref)
- }
-
if (win) {
// need to download node.lib
async++
@@ -264,32 +254,6 @@ function install (gyp, argv, callback) {
}
}
- function copyLegacy (done) {
- // legacy versions of node (< 0.8) require the legacy files to be copied
- // over since they contain many bugfixes from the current node build system
- log.verbose('legacy', 'copying "legacy" gyp configuration files for version', version)
-
- var legacyDir = path.resolve(__dirname, '..', 'legacy')
- log.verbose('legacy', 'using "legacy" dir', legacyDir)
- log.verbose('legacy', 'copying to "dev" dir', devDir)
-
- var reader = fstream.Reader({ path: legacyDir, type: 'Directory' })
- var writer = fstream.Writer({ path: devDir, type: 'Directory' })
-
- reader.on('entry', function onEntry (entry) {
- log.verbose('legacy', 'reading entry:', entry.path)
- entry.on('entry', onEntry)
- })
-
- reader.on('error', done)
- writer.on('error', done)
-
- // Like `cp -rpf`
- reader.pipe(writer)
-
- reader.on('end', done)
- }
-
function downloadNodeLib (done) {
log.verbose('on Windows; need to download `node.lib`...')
var dir32 = path.resolve(devDir, 'ia32')
@@ -360,8 +324,7 @@ function install (gyp, argv, callback) {
function valid (file) {
// header files
return minimatch(file, '*.h', { matchBase: true }) ||
- // non-legacy versions of node also extract the gyp build files
- (!isLegacy && minimatch(file, '*.gypi', { matchBase: true }))
+ minimatch(file, '*.gypi', { matchBase: true })
}
/**
@@ -386,9 +349,3 @@ function install (gyp, argv, callback) {
}
}
-
-
-install.trim = function trim (file) {
- var firstSlash = file.indexOf('/')
- return file.substring(firstSlash + 1)
-}
diff --git a/deps/npm/node_modules/node-gyp/lib/node-gyp.js b/deps/npm/node_modules/node-gyp/lib/node-gyp.js
index fae8e1391..590263248 100644
--- a/deps/npm/node_modules/node-gyp/lib/node-gyp.js
+++ b/deps/npm/node_modules/node-gyp/lib/node-gyp.js
@@ -1,4 +1,8 @@
+/**
+ * Module exports.
+ */
+
module.exports = exports = gyp
/**
@@ -36,7 +40,7 @@ log.heading = 'gyp'
*/
function gyp () {
- return new Gyp
+ return new Gyp()
}
function Gyp () {
@@ -46,6 +50,12 @@ function Gyp () {
// TODO: make this *more* configurable?
// see: https://github.com/TooTallNate/node-gyp/issues/21
var homeDir = process.env.HOME || process.env.USERPROFILE
+ if (!homeDir) {
+ throw new Error(
+ "node-gyp requires that the user's home directory is specified " +
+ "in either of the environmental variables HOME or USERPROFILE"
+ );
+ }
this.devDir = path.resolve(homeDir, '.node-gyp')
this.commands = {}
@@ -97,6 +107,7 @@ proto.shorthands = {
release: '--no-debug'
, C: '--directory'
, debug: '--debug'
+ , j: '--jobs'
, silly: '--loglevel=silly'
, verbose: '--loglevel=verbose'
}
@@ -119,7 +130,7 @@ proto.parseArgv = function parseOpts (argv) {
var commands = this.todo = []
// create a copy of the argv array with aliases mapped
- var argv = this.argv.map(function (arg) {
+ argv = this.argv.map(function (arg) {
// is this an alias?
if (arg in this.aliases) {
arg = this.aliases[arg]
@@ -167,7 +178,7 @@ proto.parseArgv = function parseOpts (argv) {
*/
proto.spawn = function spawn (command, args, opts) {
- opts || (opts = {})
+ if (!opts) opts = {}
if (!opts.silent && !opts.customFds) {
opts.customFds = [ 0, 1, 2 ]
}
@@ -182,7 +193,7 @@ proto.spawn = function spawn (command, args, opts) {
*/
proto.usage = function usage () {
- var usage = [
+ var str = [
''
, ' Usage: node-gyp <command> [options]'
, ''
@@ -197,7 +208,7 @@ proto.usage = function usage () {
, 'node-gyp@' + this.version + ' ' + path.resolve(__dirname, '..')
, 'node@' + process.versions.node
].join('\n')
- return usage
+ return str
}
/**
diff --git a/deps/npm/node_modules/node-gyp/lib/remove.js b/deps/npm/node_modules/node-gyp/lib/remove.js
index 44f3147a2..068d1e389 100644
--- a/deps/npm/node_modules/node-gyp/lib/remove.js
+++ b/deps/npm/node_modules/node-gyp/lib/remove.js
@@ -34,7 +34,7 @@ function remove (gyp, argv, callback) {
}
// flatten the version Array into a String
- version = version.slice(1, 4).join('.')
+ version = version.version
var versionPath = path.resolve(gyp.devDir, version)
log.verbose('remove', 'removing development files for version:', version)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/request/LICENSE
deleted file mode 100644
index a4a9aee0c..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/LICENSE
+++ /dev/null
@@ -1,55 +0,0 @@
-Apache License
-
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
-You must give any other recipients of the Work or Derivative Works a copy of this License; and
-
-You must cause any modified files to carry prominent notices stating that You changed the files; and
-
-You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-
-If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/README.md b/deps/npm/node_modules/node-gyp/node_modules/request/README.md
deleted file mode 100644
index d1f5c5663..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/README.md
+++ /dev/null
@@ -1,310 +0,0 @@
-# Request -- Simplified HTTP request method
-
-## Install
-
-<pre>
- npm install request
-</pre>
-
-Or from source:
-
-<pre>
- git clone git://github.com/mikeal/request.git
- cd request
- npm link
-</pre>
-
-## Super simple to use
-
-Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.
-
-```javascript
-var request = require('request');
-request('http://www.google.com', function (error, response, body) {
- if (!error && response.statusCode == 200) {
- console.log(body) // Print the google web page.
- }
-})
-```
-
-## Streaming
-
-You can stream any response to a file stream.
-
-```javascript
-request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))
-```
-
-You can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.
-
-```javascript
-fs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json'))
-```
-
-Request can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.
-
-```javascript
-request.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))
-```
-
-Now let's get fancy.
-
-```javascript
-http.createServer(function (req, resp) {
- if (req.url === '/doodle.png') {
- if (req.method === 'PUT') {
- req.pipe(request.put('http://mysite.com/doodle.png'))
- } else if (req.method === 'GET' || req.method === 'HEAD') {
- request.get('http://mysite.com/doodle.png').pipe(resp)
- }
- }
-})
-```
-
-You can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don't really care about security, you can do:
-
-```javascript
-http.createServer(function (req, resp) {
- if (req.url === '/doodle.png') {
- var x = request('http://mysite.com/doodle.png')
- req.pipe(x)
- x.pipe(resp)
- }
-})
-```
-
-And since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)
-
-```javascript
-req.pipe(request('http://mysite.com/doodle.png')).pipe(resp)
-```
-
-Also, none of this new functionality conflicts with requests previous features, it just expands them.
-
-```javascript
-var r = request.defaults({'proxy':'http://localproxy.com'})
-
-http.createServer(function (req, resp) {
- if (req.url === '/doodle.png') {
- r.get('http://google.com/doodle.png').pipe(resp)
- }
-})
-```
-You can still use intermediate proxies, the requests will still follow HTTP forwards, etc.
-
-## Forms
-
-`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.
-
-Url encoded forms are simple
-
-```javascript
-request.post('http://service.com/upload', {form:{key:'value'}})
-// or
-request.post('http://service.com/upload').form({key:'value'})
-```
-
-For `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don't need to worry about piping the form object or setting the headers, `request` will handle that for you.
-
-```javascript
-var r = request.post('http://service.com/upload')
-var form = r.form()
-form.append('my_field', 'my_value')
-form.append('my_buffer', new Buffer([1, 2, 3]))
-form.append('my_file', fs.createReadStream(path.join(__dirname, 'doodle.png'))
-form.append('remote_file', request('http://google.com/doodle.png'))
-```
-
-## OAuth Signing
-
-```javascript
-// Twitter OAuth
-var qs = require('querystring')
- , oauth =
- { callback: 'http://mysite.com/callback/'
- , consumer_key: CONSUMER_KEY
- , consumer_secret: CONSUMER_SECRET
- }
- , url = 'https://api.twitter.com/oauth/request_token'
- ;
-request.post({url:url, oauth:oauth}, function (e, r, body) {
- // Assume by some stretch of magic you aquired the verifier
- var access_token = qs.parse(body)
- , oauth =
- { consumer_key: CONSUMER_KEY
- , consumer_secret: CONSUMER_SECRET
- , token: access_token.oauth_token
- , verifier: VERIFIER
- , token_secret: access_token.oauth_token_secret
- }
- , url = 'https://api.twitter.com/oauth/access_token'
- ;
- request.post({url:url, oauth:oauth}, function (e, r, body) {
- var perm_token = qs.parse(body)
- , oauth =
- { consumer_key: CONSUMER_KEY
- , consumer_secret: CONSUMER_SECRET
- , token: perm_token.oauth_token
- , token_secret: perm_token.oauth_token_secret
- }
- , url = 'https://api.twitter.com/1/users/show.json?'
- , params =
- { screen_name: perm_token.screen_name
- , user_id: perm_token.user_id
- }
- ;
- url += qs.stringify(params)
- request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {
- console.log(user)
- })
- })
-})
-```
-
-
-
-### request(options, callback)
-
-The first argument can be either a url or an options object. The only required option is uri, all others are optional.
-
-* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()
-* `qs` - object containing querystring values to be appended to the uri
-* `method` - http method, defaults to GET
-* `headers` - http headers, defaults to {}
-* `body` - entity body for POST and PUT requests. Must be buffer or string.
-* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.
-* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as json.
-* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.
-* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.
-* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.
-* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.
-* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.
-* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node's default maxSockets.
-* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.
-* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request
-* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it's supported with the `url` parameter by embedding the auth info in the uri.
-* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.
-* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.
-* `jar` - Set to `false` if you don't want cookies to be remembered for future use or define your custom cookie jar (see examples section)
-* `aws` - object containing aws signing information, should have the properties `key` and `secret` as well as `bucket` unless you're specifying your bucket as part of the path, or you are making a request that doesn't use a bucket (i.e. GET Services)
-
-
-The callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second in an http.ClientResponse object. The third is the response body String or Buffer.
-
-## Convenience methods
-
-There are also shorthand methods for different HTTP METHODs and some other conveniences.
-
-### request.defaults(options)
-
-This method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.
-
-### request.put
-
-Same as request() but defaults to `method: "PUT"`.
-
-```javascript
-request.put(url)
-```
-
-### request.post
-
-Same as request() but defaults to `method: "POST"`.
-
-```javascript
-request.post(url)
-```
-
-### request.head
-
-Same as request() but defaults to `method: "HEAD"`.
-
-```javascript
-request.head(url)
-```
-
-### request.del
-
-Same as request() but defaults to `method: "DELETE"`.
-
-```javascript
-request.del(url)
-```
-
-### request.get
-
-Alias to normal request method for uniformity.
-
-```javascript
-request.get(url)
-```
-### request.cookie
-
-Function that creates a new cookie.
-
-```javascript
-request.cookie('cookie_string_here')
-```
-### request.jar
-
-Function that creates a new cookie jar.
-
-```javascript
-request.jar()
-```
-
-
-## Examples:
-
-```javascript
- var request = require('request')
- , rand = Math.floor(Math.random()*100000000).toString()
- ;
- request(
- { method: 'PUT'
- , uri: 'http://mikeal.iriscouch.com/testjs/' + rand
- , multipart:
- [ { 'content-type': 'application/json'
- , body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})
- }
- , { body: 'I am an attachment' }
- ]
- }
- , function (error, response, body) {
- if(response.statusCode == 201){
- console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand)
- } else {
- console.log('error: '+ response.statusCode)
- console.log(body)
- }
- }
- )
-```
-Cookies are enabled by default (so they can be used in subsequent requests). To disable cookies set jar to false (either in defaults or in the options sent).
-
-```javascript
-var request = request.defaults({jar: false})
-request('http://www.google.com', function () {
- request('http://images.google.com')
-})
-```
-
-If you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:
-
-```javascript
-var j = request.jar()
-var request = request.defaults({jar:j})
-request('http://www.google.com', function () {
- request('http://images.google.com')
-})
-```
-OR
-
-```javascript
-var j = request.jar()
-var cookie = request.cookie('your_cookie_here')
-j.add(cookie)
-request({url: 'http://www.google.com', jar: j}, function () {
- request('http://images.google.com')
-})
-```
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/aws.js b/deps/npm/node_modules/node-gyp/node_modules/request/aws.js
deleted file mode 100644
index 4d8d95075..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/aws.js
+++ /dev/null
@@ -1,191 +0,0 @@
-
-/*!
- * knox - auth
- * Copyright(c) 2010 LearnBoost <dev@learnboost.com>
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var crypto = require('crypto')
- , parse = require('url').parse
- ;
-
-/**
- * Valid keys.
- */
-
-var keys =
- [ 'acl'
- , 'location'
- , 'logging'
- , 'notification'
- , 'partNumber'
- , 'policy'
- , 'requestPayment'
- , 'torrent'
- , 'uploadId'
- , 'uploads'
- , 'versionId'
- , 'versioning'
- , 'versions'
- , 'website'
- ]
-
-/**
- * Return an "Authorization" header value with the given `options`
- * in the form of "AWS <key>:<signature>"
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-exports.authorization = function(options){
- return 'AWS ' + options.key + ':' + exports.sign(options)
-}
-
-/**
- * Simple HMAC-SHA1 Wrapper
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-exports.hmacSha1 = function(options){
- return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64')
-}
-
-/**
- * Create a base64 sha1 HMAC for `options`.
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-exports.sign = function(options){
- options.message = exports.stringToSign(options)
- return exports.hmacSha1(options)
-}
-
-/**
- * Create a base64 sha1 HMAC for `options`.
- *
- * Specifically to be used with S3 presigned URLs
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-exports.signQuery = function(options){
- options.message = exports.queryStringToSign(options)
- return exports.hmacSha1(options)
-}
-
-/**
- * Return a string for sign() with the given `options`.
- *
- * Spec:
- *
- * <verb>\n
- * <md5>\n
- * <content-type>\n
- * <date>\n
- * [headers\n]
- * <resource>
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-exports.stringToSign = function(options){
- var headers = options.amazonHeaders || ''
- if (headers) headers += '\n'
- var r =
- [ options.verb
- , options.md5
- , options.contentType
- , options.date.toUTCString()
- , headers + options.resource
- ]
- return r.join('\n')
-}
-
-/**
- * Return a string for sign() with the given `options`, but is meant exclusively
- * for S3 presigned URLs
- *
- * Spec:
- *
- * <date>\n
- * <resource>
- *
- * @param {Object} options
- * @return {String}
- * @api private
- */
-
-exports.queryStringToSign = function(options){
- return 'GET\n\n\n' + options.date + '\n' + options.resource
-};
-
-/**
- * Perform the following:
- *
- * - ignore non-amazon headers
- * - lowercase fields
- * - sort lexicographically
- * - trim whitespace between ":"
- * - join with newline
- *
- * @param {Object} headers
- * @return {String}
- * @api private
- */
-
-exports.canonicalizeHeaders = function(headers){
- var buf = []
- , fields = Object.keys(headers)
- ;
- for (var i = 0, len = fields.length; i < len; ++i) {
- var field = fields[i]
- , val = headers[field]
- , field = field.toLowerCase()
- ;
- if (0 !== field.indexOf('x-amz')) continue
- buf.push(field + ':' + val)
- }
- return buf.sort().join('\n')
-};
-
-/**
- * Perform the following:
- *
- * - ignore non sub-resources
- * - sort lexicographically
- *
- * @param {String} resource
- * @return {String}
- * @api private
- */
-
-exports.canonicalizeResource = function(resource){
- var url = parse(resource, true)
- , path = url.pathname
- , buf = []
- ;
-
- Object.keys(url.query).forEach(function(key){
- if (!~keys.indexOf(key)) return
- var val = '' == url.query[key] ? '' : '=' + encodeURIComponent(url.query[key])
- buf.push(key + val)
- })
-
- return path + (buf.length ? '?' + buf.sort().join('&') : '')
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/forever.js b/deps/npm/node_modules/node-gyp/node_modules/request/forever.js
deleted file mode 100644
index 1e1d4b9cf..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/forever.js
+++ /dev/null
@@ -1,103 +0,0 @@
-module.exports = ForeverAgent
-ForeverAgent.SSL = ForeverAgentSSL
-
-var util = require('util')
- , Agent = require('http').Agent
- , net = require('net')
- , tls = require('tls')
- , AgentSSL = require('https').Agent
-
-function ForeverAgent(options) {
- var self = this
- self.options = options || {}
- self.requests = {}
- self.sockets = {}
- self.freeSockets = {}
- self.maxSockets = self.options.maxSockets || Agent.defaultMaxSockets
- self.minSockets = self.options.minSockets || ForeverAgent.defaultMinSockets
- self.on('free', function(socket, host, port) {
- var name = host + ':' + port
- if (self.requests[name] && self.requests[name].length) {
- self.requests[name].shift().onSocket(socket)
- } else if (self.sockets[name].length < self.minSockets) {
- if (!self.freeSockets[name]) self.freeSockets[name] = []
- self.freeSockets[name].push(socket)
-
- // if an error happens while we don't use the socket anyway, meh, throw the socket away
- function onIdleError() {
- socket.destroy()
- }
- socket._onIdleError = onIdleError
- socket.on('error', onIdleError)
- } else {
- // If there are no pending requests just destroy the
- // socket and it will get removed from the pool. This
- // gets us out of timeout issues and allows us to
- // default to Connection:keep-alive.
- socket.destroy()
- }
- })
-
-}
-util.inherits(ForeverAgent, Agent)
-
-ForeverAgent.defaultMinSockets = 5
-
-
-ForeverAgent.prototype.createConnection = net.createConnection
-ForeverAgent.prototype.addRequestNoreuse = Agent.prototype.addRequest
-ForeverAgent.prototype.addRequest = function(req, host, port) {
- var name = host + ':' + port
- if (this.freeSockets[name] && this.freeSockets[name].length > 0 && !req.useChunkedEncodingByDefault) {
- var idleSocket = this.freeSockets[name].pop()
- idleSocket.removeListener('error', idleSocket._onIdleError)
- delete idleSocket._onIdleError
- req._reusedSocket = true
- req.onSocket(idleSocket)
- } else {
- this.addRequestNoreuse(req, host, port)
- }
-}
-
-ForeverAgent.prototype.removeSocket = function(s, name, host, port) {
- if (this.sockets[name]) {
- var index = this.sockets[name].indexOf(s)
- if (index !== -1) {
- this.sockets[name].splice(index, 1)
- }
- } else if (this.sockets[name] && this.sockets[name].length === 0) {
- // don't leak
- delete this.sockets[name]
- delete this.requests[name]
- }
-
- if (this.freeSockets[name]) {
- var index = this.freeSockets[name].indexOf(s)
- if (index !== -1) {
- this.freeSockets[name].splice(index, 1)
- if (this.freeSockets[name].length === 0) {
- delete this.freeSockets[name]
- }
- }
- }
-
- if (this.requests[name] && this.requests[name].length) {
- // If we have pending requests and a socket gets closed a new one
- // needs to be created to take over in the pool for the one that closed.
- this.createSocket(name, host, port).emit('free')
- }
-}
-
-function ForeverAgentSSL (options) {
- ForeverAgent.call(this, options)
-}
-util.inherits(ForeverAgentSSL, ForeverAgent)
-
-ForeverAgentSSL.prototype.createConnection = createConnectionSSL
-ForeverAgentSSL.prototype.addRequestNoreuse = AgentSSL.prototype.addRequest
-
-function createConnectionSSL (port, host, options) {
- options.port = port
- options.host = host
- return tls.connect(options)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/main.js b/deps/npm/node_modules/node-gyp/node_modules/request/main.js
deleted file mode 100644
index 27b470bc2..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/main.js
+++ /dev/null
@@ -1,1123 +0,0 @@
-// Copyright 2010-2012 Mikeal Rogers
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-var http = require('http')
- , https = false
- , tls = false
- , url = require('url')
- , util = require('util')
- , stream = require('stream')
- , qs = require('querystring')
- , oauth = require('./oauth')
- , uuid = require('./uuid')
- , ForeverAgent = require('./forever')
- , Cookie = require('./vendor/cookie')
- , CookieJar = require('./vendor/cookie/jar')
- , cookieJar = new CookieJar
- , tunnel = require('./tunnel')
- , aws = require('./aws')
-
- , mime = require('mime')
- , FormData = require('form-data')
- ;
-
-if (process.logging) {
- var log = process.logging('request')
-}
-
-try {
- https = require('https')
-} catch (e) {}
-
-try {
- tls = require('tls')
-} catch (e) {}
-
-function toBase64 (str) {
- return (new Buffer(str || "", "ascii")).toString("base64")
-}
-
-// Hacky fix for pre-0.4.4 https
-if (https && !https.Agent) {
- https.Agent = function (options) {
- http.Agent.call(this, options)
- }
- util.inherits(https.Agent, http.Agent)
- https.Agent.prototype._getConnection = function (host, port, cb) {
- var s = tls.connect(port, host, this.options, function () {
- // do other checks here?
- if (cb) cb()
- })
- return s
- }
-}
-
-function isReadStream (rs) {
- if (rs.readable && rs.path && rs.mode) {
- return true
- }
-}
-
-function copy (obj) {
- var o = {}
- Object.keys(obj).forEach(function (i) {
- o[i] = obj[i]
- })
- return o
-}
-
-var isUrl = /^https?:/
-
-var globalPool = {}
-
-function Request (options) {
- stream.Stream.call(this)
- this.readable = true
- this.writable = true
-
- if (typeof options === 'string') {
- options = {uri:options}
- }
-
- var reserved = Object.keys(Request.prototype)
- for (var i in options) {
- if (reserved.indexOf(i) === -1) {
- this[i] = options[i]
- } else {
- if (typeof options[i] === 'function') {
- delete options[i]
- }
- }
- }
- options = copy(options)
-
- this.init(options)
-}
-util.inherits(Request, stream.Stream)
-Request.prototype.init = function (options) {
- var self = this
-
- if (!options) options = {}
- if (process.env.NODE_DEBUG && /request/.test(process.env.NODE_DEBUG)) console.error('REQUEST', options)
- if (!self.pool && self.pool !== false) self.pool = globalPool
- self.dests = []
- self.__isRequestRequest = true
-
- // Protect against double callback
- if (!self._callback && self.callback) {
- self._callback = self.callback
- self.callback = function () {
- if (self._callbackCalled) return // Print a warning maybe?
- self._callback.apply(self, arguments)
- self._callbackCalled = true
- }
- self.on('error', self.callback.bind())
- self.on('complete', self.callback.bind(self, null))
- }
-
- if (self.url) {
- // People use this property instead all the time so why not just support it.
- self.uri = self.url
- delete self.url
- }
-
- if (!self.uri) {
- // this will throw if unhandled but is handleable when in a redirect
- return self.emit('error', new Error("options.uri is a required argument"))
- } else {
- if (typeof self.uri == "string") self.uri = url.parse(self.uri)
- }
- if (self.proxy) {
- if (typeof self.proxy == 'string') self.proxy = url.parse(self.proxy)
-
- // do the HTTP CONNECT dance using koichik/node-tunnel
- if (http.globalAgent && self.uri.protocol === "https:") {
- var tunnelFn = self.proxy.protocol === "http:"
- ? tunnel.httpsOverHttp : tunnel.httpsOverHttps
-
- var tunnelOptions = { proxy: { host: self.proxy.hostname
- , port: +self.proxy.port
- , proxyAuth: self.proxy.auth }
- , ca: this.ca }
-
- self.agent = tunnelFn(tunnelOptions)
- self.tunnel = true
- }
- }
-
- if (!self.uri.host || !self.uri.pathname) {
- // Invalid URI: it may generate lot of bad errors, like "TypeError: Cannot call method 'indexOf' of undefined" in CookieJar
- // Detect and reject it as soon as possible
- var faultyUri = url.format(self.uri)
- var message = 'Invalid URI "' + faultyUri + '"'
- if (Object.keys(options).length === 0) {
- // No option ? This can be the sign of a redirect
- // As this is a case where the user cannot do anything (he didn't call request directly with this URL)
- // he should be warned that it can be caused by a redirection (can save some hair)
- message += '. This can be caused by a crappy redirection.'
- }
- self.emit('error', new Error(message))
- return // This error was fatal
- }
-
- self._redirectsFollowed = self._redirectsFollowed || 0
- self.maxRedirects = (self.maxRedirects !== undefined) ? self.maxRedirects : 10
- self.followRedirect = (self.followRedirect !== undefined) ? self.followRedirect : true
- self.followAllRedirects = (self.followAllRedirects !== undefined) ? self.followAllRedirects : false
- if (self.followRedirect || self.followAllRedirects)
- self.redirects = self.redirects || []
-
- self.headers = self.headers ? copy(self.headers) : {}
-
- self.setHost = false
- if (!self.headers.host) {
- self.headers.host = self.uri.hostname
- if (self.uri.port) {
- if ( !(self.uri.port === 80 && self.uri.protocol === 'http:') &&
- !(self.uri.port === 443 && self.uri.protocol === 'https:') )
- self.headers.host += (':'+self.uri.port)
- }
- self.setHost = true
- }
-
- self.jar(self._jar || options.jar)
-
- if (!self.uri.pathname) {self.uri.pathname = '/'}
- if (!self.uri.port) {
- if (self.uri.protocol == 'http:') {self.uri.port = 80}
- else if (self.uri.protocol == 'https:') {self.uri.port = 443}
- }
-
- if (self.proxy && !self.tunnel) {
- self.port = self.proxy.port
- self.host = self.proxy.hostname
- } else {
- self.port = self.uri.port
- self.host = self.uri.hostname
- }
-
- self.clientErrorHandler = function (error) {
- if (self._aborted) return
-
- if (self.setHost) delete self.headers.host
- if (self.req._reusedSocket && error.code === 'ECONNRESET'
- && self.agent.addRequestNoreuse) {
- self.agent = { addRequest: self.agent.addRequestNoreuse.bind(self.agent) }
- self.start()
- self.req.end()
- return
- }
- if (self.timeout && self.timeoutTimer) {
- clearTimeout(self.timeoutTimer)
- self.timeoutTimer = null
- }
- self.emit('error', error)
- }
-
- self._parserErrorHandler = function (error) {
- if (this.res) {
- if (this.res.request) {
- this.res.request.emit('error', error)
- } else {
- this.res.emit('error', error)
- }
- } else {
- this._httpMessage.emit('error', error)
- }
- }
-
- if (options.form) {
- self.form(options.form)
- }
-
- if (options.oauth) {
- self.oauth(options.oauth)
- }
-
- if (options.aws) {
- self.aws(options.aws)
- }
-
- if (self.uri.auth && !self.headers.authorization) {
- self.headers.authorization = "Basic " + toBase64(self.uri.auth.split(':').map(function(item){ return qs.unescape(item)}).join(':'))
- }
- if (self.proxy && self.proxy.auth && !self.headers['proxy-authorization'] && !self.tunnel) {
- self.headers['proxy-authorization'] = "Basic " + toBase64(self.proxy.auth.split(':').map(function(item){ return qs.unescape(item)}).join(':'))
- }
-
- if (options.qs) self.qs(options.qs)
-
- if (self.uri.path) {
- self.path = self.uri.path
- } else {
- self.path = self.uri.pathname + (self.uri.search || "")
- }
-
- if (self.path.length === 0) self.path = '/'
-
- if (self.proxy && !self.tunnel) self.path = (self.uri.protocol + '//' + self.uri.host + self.path)
-
- if (options.json) {
- self.json(options.json)
- } else if (options.multipart) {
- self.boundary = uuid()
- self.multipart(options.multipart)
- }
-
- if (self.body) {
- var length = 0
- if (!Buffer.isBuffer(self.body)) {
- if (Array.isArray(self.body)) {
- for (var i = 0; i < self.body.length; i++) {
- length += self.body[i].length
- }
- } else {
- self.body = new Buffer(self.body)
- length = self.body.length
- }
- } else {
- length = self.body.length
- }
- if (length) {
- if(!self.headers['content-length'] && !self.headers['Content-Length'])
- self.headers['content-length'] = length
- } else {
- throw new Error('Argument error, options.body.')
- }
- }
-
- var protocol = self.proxy && !self.tunnel ? self.proxy.protocol : self.uri.protocol
- , defaultModules = {'http:':http, 'https:':https}
- , httpModules = self.httpModules || {}
- ;
- self.httpModule = httpModules[protocol] || defaultModules[protocol]
-
- if (!self.httpModule) return this.emit('error', new Error("Invalid protocol"))
-
- if (options.ca) self.ca = options.ca
-
- if (!self.agent) {
- if (options.agentOptions) self.agentOptions = options.agentOptions
-
- if (options.agentClass) {
- self.agentClass = options.agentClass
- } else if (options.forever) {
- self.agentClass = protocol === 'http:' ? ForeverAgent : ForeverAgent.SSL
- } else {
- self.agentClass = self.httpModule.Agent
- }
- }
-
- if (self.pool === false) {
- self.agent = false
- } else {
- self.agent = self.agent || self.getAgent()
- if (self.maxSockets) {
- // Don't use our pooling if node has the refactored client
- self.agent.maxSockets = self.maxSockets
- }
- if (self.pool.maxSockets) {
- // Don't use our pooling if node has the refactored client
- self.agent.maxSockets = self.pool.maxSockets
- }
- }
-
- self.once('pipe', function (src) {
- if (self.ntick && self._started) throw new Error("You cannot pipe to this stream after the outbound request has started.")
- self.src = src
- if (isReadStream(src)) {
- if (!self.headers['content-type'] && !self.headers['Content-Type'])
- self.headers['content-type'] = mime.lookup(src.path)
- } else {
- if (src.headers) {
- for (var i in src.headers) {
- if (!self.headers[i]) {
- self.headers[i] = src.headers[i]
- }
- }
- }
- if (self._json && !self.headers['content-type'] && !self.headers['Content-Type'])
- self.headers['content-type'] = 'application/json'
- if (src.method && !self.method) {
- self.method = src.method
- }
- }
-
- self.on('pipe', function () {
- console.error("You have already piped to this stream. Pipeing twice is likely to break the request.")
- })
- })
-
- process.nextTick(function () {
- if (self._aborted) return
-
- if (self._form) {
- self.setHeaders(self._form.getHeaders())
- self._form.pipe(self)
- }
- if (self.body) {
- if (Array.isArray(self.body)) {
- self.body.forEach(function (part) {
- self.write(part)
- })
- } else {
- self.write(self.body)
- }
- self.end()
- } else if (self.requestBodyStream) {
- console.warn("options.requestBodyStream is deprecated, please pass the request object to stream.pipe.")
- self.requestBodyStream.pipe(self)
- } else if (!self.src) {
- if (self.method !== 'GET' && typeof self.method !== 'undefined') {
- self.headers['content-length'] = 0
- }
- self.end()
- }
- self.ntick = true
- })
-}
-
-// Must call this when following a redirect from https to http or vice versa
-// Attempts to keep everything as identical as possible, but update the
-// httpModule, Tunneling agent, and/or Forever Agent in use.
-Request.prototype._updateProtocol = function () {
- var self = this
- var protocol = self.uri.protocol
-
- if (protocol === 'https:') {
- // previously was doing http, now doing https
- // if it's https, then we might need to tunnel now.
- if (self.proxy) {
- self.tunnel = true
- var tunnelFn = self.proxy.protocol === 'http:'
- ? tunnel.httpsOverHttp : tunnel.httpsOverHttps
- var tunnelOptions = { proxy: { host: self.proxy.hostname
- , post: +self.proxy.port
- , proxyAuth: self.proxy.auth }
- , ca: self.ca }
- self.agent = tunnelFn(tunnelOptions)
- return
- }
-
- self.httpModule = https
- switch (self.agentClass) {
- case ForeverAgent:
- self.agentClass = ForeverAgent.SSL
- break
- case http.Agent:
- self.agentClass = https.Agent
- break
- default:
- // nothing we can do. Just hope for the best.
- return
- }
-
- // if there's an agent, we need to get a new one.
- if (self.agent) self.agent = self.getAgent()
-
- } else {
- if (log) log('previously https, now http')
- // previously was doing https, now doing http
- // stop any tunneling.
- if (self.tunnel) self.tunnel = false
- self.httpModule = http
- switch (self.agentClass) {
- case ForeverAgent.SSL:
- self.agentClass = ForeverAgent
- break
- case https.Agent:
- self.agentClass = http.Agent
- break
- default:
- // nothing we can do. just hope for the best
- return
- }
-
- // if there's an agent, then get a new one.
- if (self.agent) {
- self.agent = null
- self.agent = self.getAgent()
- }
- }
-}
-
-Request.prototype.getAgent = function () {
- var Agent = this.agentClass
- var options = {}
- if (this.agentOptions) {
- for (var i in this.agentOptions) {
- options[i] = this.agentOptions[i]
- }
- }
- if (this.ca) options.ca = this.ca
-
- var poolKey = ''
-
- // different types of agents are in different pools
- if (Agent !== this.httpModule.Agent) {
- poolKey += Agent.name
- }
-
- if (!this.httpModule.globalAgent) {
- // node 0.4.x
- options.host = this.host
- options.port = this.port
- if (poolKey) poolKey += ':'
- poolKey += this.host + ':' + this.port
- }
-
- // ca option is only relevant if proxy or destination are https
- var proxy = this.proxy
- if (typeof proxy === 'string') proxy = url.parse(proxy)
- var caRelevant = (proxy && proxy.protocol === 'https:') || this.uri.protocol === 'https:'
- if (options.ca && caRelevant) {
- if (poolKey) poolKey += ':'
- poolKey += options.ca
- }
-
- if (!poolKey && Agent === this.httpModule.Agent && this.httpModule.globalAgent) {
- // not doing anything special. Use the globalAgent
- return this.httpModule.globalAgent
- }
-
- // we're using a stored agent. Make sure it's protocol-specific
- poolKey = this.uri.protocol + poolKey
-
- // already generated an agent for this setting
- if (this.pool[poolKey]) return this.pool[poolKey]
-
- return this.pool[poolKey] = new Agent(options)
-}
-
-Request.prototype.start = function () {
- var self = this
-
- if (self._aborted) return
-
- self._started = true
- self.method = self.method || 'GET'
- self.href = self.uri.href
- if (log) log('%method %href', self)
-
- if (self.src && self.src.stat && self.src.stat.size && !self.headers['content-length'] && !self.headers['Content-Length']) {
- self.headers['content-length'] = self.src.stat.size
- }
- if (self._aws) {
- self.aws(self._aws, true)
- }
- self.req = self.httpModule.request(self, function (response) {
- if (response.connection.listeners('error').indexOf(self._parserErrorHandler) === -1) {
- response.connection.once('error', self._parserErrorHandler)
- }
- if (self._aborted) return
- if (self._paused) response.pause()
-
- self.response = response
- response.request = self
- response.toJSON = toJSON
-
- if (self.httpModule === https &&
- self.strictSSL &&
- !response.client.authorized) {
- var sslErr = response.client.authorizationError
- self.emit('error', new Error('SSL Error: '+ sslErr))
- return
- }
-
- if (self.setHost) delete self.headers.host
- if (self.timeout && self.timeoutTimer) {
- clearTimeout(self.timeoutTimer)
- self.timeoutTimer = null
- }
-
- var addCookie = function (cookie) {
- if (self._jar) self._jar.add(new Cookie(cookie))
- else cookieJar.add(new Cookie(cookie))
- }
-
- if (response.headers['set-cookie'] && (!self._disableCookies)) {
- if (Array.isArray(response.headers['set-cookie'])) response.headers['set-cookie'].forEach(addCookie)
- else addCookie(response.headers['set-cookie'])
- }
-
- if (response.statusCode >= 300 && response.statusCode < 400 &&
- (self.followAllRedirects ||
- (self.followRedirect && (self.method !== 'PUT' && self.method !== 'POST' && self.method !== 'DELETE'))) &&
- response.headers.location) {
- if (self._redirectsFollowed >= self.maxRedirects) {
- self.emit('error', new Error("Exceeded maxRedirects. Probably stuck in a redirect loop "+self.uri.href))
- return
- }
- self._redirectsFollowed += 1
-
- if (!isUrl.test(response.headers.location)) {
- response.headers.location = url.resolve(self.uri.href, response.headers.location)
- }
-
- var uriPrev = self.uri
- self.uri = url.parse(response.headers.location)
-
- // handle the case where we change protocol from https to http or vice versa
- if (self.uri.protocol !== uriPrev.protocol) {
- self._updateProtocol()
- }
-
- self.redirects.push(
- { statusCode : response.statusCode
- , redirectUri: response.headers.location
- }
- )
- if (self.followAllRedirects) self.method = 'GET'
- // self.method = 'GET' // Force all redirects to use GET || commented out fixes #215
- delete self.src
- delete self.req
- delete self.agent
- delete self._started
- delete self.body
- delete self._form
- if (self.headers) {
- delete self.headers.host
- delete self.headers['content-type']
- delete self.headers['content-length']
- }
- if (log) log('Redirect to %uri', self)
- self.init()
- return // Ignore the rest of the response
- } else {
- self._redirectsFollowed = self._redirectsFollowed || 0
- // Be a good stream and emit end when the response is finished.
- // Hack to emit end on close because of a core bug that never fires end
- response.on('close', function () {
- if (!self._ended) self.response.emit('end')
- })
-
- if (self.encoding) {
- if (self.dests.length !== 0) {
- console.error("Ingoring encoding parameter as this stream is being piped to another stream which makes the encoding option invalid.")
- } else {
- response.setEncoding(self.encoding)
- }
- }
-
- self.dests.forEach(function (dest) {
- self.pipeDest(dest)
- })
-
- response.on("data", function (chunk) {
- self._destdata = true
- self.emit("data", chunk)
- })
- response.on("end", function (chunk) {
- self._ended = true
- self.emit("end", chunk)
- })
- response.on("close", function () {self.emit("close")})
-
- self.emit('response', response)
-
- if (self.callback) {
- var buffer = []
- var bodyLen = 0
- self.on("data", function (chunk) {
- buffer.push(chunk)
- bodyLen += chunk.length
- })
- self.on("end", function () {
- if (self._aborted) return
-
- if (buffer.length && Buffer.isBuffer(buffer[0])) {
- var body = new Buffer(bodyLen)
- var i = 0
- buffer.forEach(function (chunk) {
- chunk.copy(body, i, 0, chunk.length)
- i += chunk.length
- })
- if (self.encoding === null) {
- response.body = body
- } else {
- response.body = body.toString(self.encoding)
- }
- } else if (buffer.length) {
- response.body = buffer.join('')
- }
-
- if (self._json) {
- try {
- response.body = JSON.parse(response.body)
- } catch (e) {}
- }
-
- self.emit('complete', response, response.body)
- })
- }
- }
- })
-
- if (self.timeout && !self.timeoutTimer) {
- self.timeoutTimer = setTimeout(function () {
- self.req.abort()
- var e = new Error("ETIMEDOUT")
- e.code = "ETIMEDOUT"
- self.emit("error", e)
- }, self.timeout)
-
- // Set additional timeout on socket - in case if remote
- // server freeze after sending headers
- if (self.req.setTimeout) { // only works on node 0.6+
- self.req.setTimeout(self.timeout, function () {
- if (self.req) {
- self.req.abort()
- var e = new Error("ESOCKETTIMEDOUT")
- e.code = "ESOCKETTIMEDOUT"
- self.emit("error", e)
- }
- })
- }
- }
-
- self.req.on('error', self.clientErrorHandler)
- self.req.on('drain', function() {
- self.emit('drain')
- })
- self.on('end', function() {
- if ( self.req.connection ) self.req.connection.removeListener('error', self._parserErrorHandler)
- })
- self.emit('request', self.req)
-}
-
-Request.prototype.abort = function () {
- this._aborted = true
-
- if (this.req) {
- this.req.abort()
- }
- else if (this.response) {
- this.response.abort()
- }
-
- this.emit("abort")
-}
-
-Request.prototype.pipeDest = function (dest) {
- var response = this.response
- // Called after the response is received
- if (dest.headers) {
- dest.headers['content-type'] = response.headers['content-type']
- if (response.headers['content-length']) {
- dest.headers['content-length'] = response.headers['content-length']
- }
- }
- if (dest.setHeader) {
- for (var i in response.headers) {
- dest.setHeader(i, response.headers[i])
- }
- dest.statusCode = response.statusCode
- }
- if (this.pipefilter) this.pipefilter(response, dest)
-}
-
-// Composable API
-Request.prototype.setHeader = function (name, value, clobber) {
- if (clobber === undefined) clobber = true
- if (clobber || !this.headers.hasOwnProperty(name)) this.headers[name] = value
- else this.headers[name] += ',' + value
- return this
-}
-Request.prototype.setHeaders = function (headers) {
- for (var i in headers) {this.setHeader(i, headers[i])}
- return this
-}
-Request.prototype.qs = function (q, clobber) {
- var base
- if (!clobber && this.uri.query) base = qs.parse(this.uri.query)
- else base = {}
-
- for (var i in q) {
- base[i] = q[i]
- }
-
- this.uri = url.parse(this.uri.href.split('?')[0] + '?' + qs.stringify(base))
- this.url = this.uri
-
- return this
-}
-Request.prototype.form = function (form) {
- if (form) {
- this.headers['content-type'] = 'application/x-www-form-urlencoded; charset=utf-8'
- this.body = qs.stringify(form).toString('utf8')
- return this
- }
- // create form-data object
- this._form = new FormData()
- return this._form
-}
-Request.prototype.multipart = function (multipart) {
- var self = this
- self.body = []
-
- if (!self.headers['content-type']) {
- self.headers['content-type'] = 'multipart/related; boundary=' + self.boundary
- } else {
- self.headers['content-type'] = self.headers['content-type'].split(';')[0] + '; boundary=' + self.boundary
- }
-
- if (!multipart.forEach) throw new Error('Argument error, options.multipart.')
-
- if (self.preambleCRLF) {
- self.body.push(new Buffer('\r\n'))
- }
-
- multipart.forEach(function (part) {
- var body = part.body
- if(body == null) throw Error('Body attribute missing in multipart.')
- delete part.body
- var preamble = '--' + self.boundary + '\r\n'
- Object.keys(part).forEach(function (key) {
- preamble += key + ': ' + part[key] + '\r\n'
- })
- preamble += '\r\n'
- self.body.push(new Buffer(preamble))
- self.body.push(new Buffer(body))
- self.body.push(new Buffer('\r\n'))
- })
- self.body.push(new Buffer('--' + self.boundary + '--'))
- return self
-}
-Request.prototype.json = function (val) {
- this.setHeader('accept', 'application/json')
- this._json = true
- if (typeof val === 'boolean') {
- if (typeof this.body === 'object') {
- this.setHeader('content-type', 'application/json')
- this.body = JSON.stringify(this.body)
- }
- } else {
- this.setHeader('content-type', 'application/json')
- this.body = JSON.stringify(val)
- }
- return this
-}
-function getHeader(name, headers) {
- var result, re, match
- Object.keys(headers).forEach(function (key) {
- re = new RegExp(name, 'i')
- match = key.match(re)
- if (match) result = headers[key]
- })
- return result
-}
-Request.prototype.aws = function (opts, now) {
- if (!now) {
- this._aws = opts
- return this
- }
- var date = new Date()
- this.setHeader('date', date.toUTCString())
- var auth =
- { key: opts.key
- , secret: opts.secret
- , verb: this.method.toUpperCase()
- , date: date
- , contentType: getHeader('content-type', this.headers) || ''
- , md5: getHeader('content-md5', this.headers) || ''
- , amazonHeaders: aws.canonicalizeHeaders(this.headers)
- }
- if (opts.bucket && this.path) {
- auth.resource = '/' + opts.bucket + this.path
- } else if (opts.bucket && !this.path) {
- auth.resource = '/' + opts.bucket
- } else if (!opts.bucket && this.path) {
- auth.resource = this.path
- } else if (!opts.bucket && !this.path) {
- auth.resource = '/'
- }
- auth.resource = aws.canonicalizeResource(auth.resource)
- this.setHeader('authorization', aws.authorization(auth))
-
- return this
-}
-
-Request.prototype.oauth = function (_oauth) {
- var form
- if (this.headers['content-type'] &&
- this.headers['content-type'].slice(0, 'application/x-www-form-urlencoded'.length) ===
- 'application/x-www-form-urlencoded'
- ) {
- form = qs.parse(this.body)
- }
- if (this.uri.query) {
- form = qs.parse(this.uri.query)
- }
- if (!form) form = {}
- var oa = {}
- for (var i in form) oa[i] = form[i]
- for (var i in _oauth) oa['oauth_'+i] = _oauth[i]
- if (!oa.oauth_version) oa.oauth_version = '1.0'
- if (!oa.oauth_timestamp) oa.oauth_timestamp = Math.floor( (new Date()).getTime() / 1000 ).toString()
- if (!oa.oauth_nonce) oa.oauth_nonce = uuid().replace(/-/g, '')
-
- oa.oauth_signature_method = 'HMAC-SHA1'
-
- var consumer_secret = oa.oauth_consumer_secret
- delete oa.oauth_consumer_secret
- var token_secret = oa.oauth_token_secret
- delete oa.oauth_token_secret
-
- var baseurl = this.uri.protocol + '//' + this.uri.host + this.uri.pathname
- var signature = oauth.hmacsign(this.method, baseurl, oa, consumer_secret, token_secret)
-
- // oa.oauth_signature = signature
- for (var i in form) {
- if ( i.slice(0, 'oauth_') in _oauth) {
- // skip
- } else {
- delete oa['oauth_'+i]
- if (i !== 'x_auth_mode') delete oa[i]
- }
- }
- this.headers.Authorization =
- 'OAuth '+Object.keys(oa).sort().map(function (i) {return i+'="'+oauth.rfc3986(oa[i])+'"'}).join(',')
- this.headers.Authorization += ',oauth_signature="' + oauth.rfc3986(signature) + '"'
- return this
-}
-Request.prototype.jar = function (jar) {
- var cookies
-
- if (this._redirectsFollowed === 0) {
- this.originalCookieHeader = this.headers.cookie
- }
-
- if (jar === false) {
- // disable cookies
- cookies = false
- this._disableCookies = true
- } else if (jar) {
- // fetch cookie from the user defined cookie jar
- cookies = jar.get({ url: this.uri.href })
- } else {
- // fetch cookie from the global cookie jar
- cookies = cookieJar.get({ url: this.uri.href })
- }
-
- if (cookies && cookies.length) {
- var cookieString = cookies.map(function (c) {
- return c.name + "=" + c.value
- }).join("; ")
-
- if (this.originalCookieHeader) {
- // Don't overwrite existing Cookie header
- this.headers.cookie = this.originalCookieHeader + '; ' + cookieString
- } else {
- this.headers.cookie = cookieString
- }
- }
- this._jar = jar
- return this
-}
-
-
-// Stream API
-Request.prototype.pipe = function (dest, opts) {
- if (this.response) {
- if (this._destdata) {
- throw new Error("You cannot pipe after data has been emitted from the response.")
- } else if (this._ended) {
- throw new Error("You cannot pipe after the response has been ended.")
- } else {
- stream.Stream.prototype.pipe.call(this, dest, opts)
- this.pipeDest(dest)
- return dest
- }
- } else {
- this.dests.push(dest)
- stream.Stream.prototype.pipe.call(this, dest, opts)
- return dest
- }
-}
-Request.prototype.write = function () {
- if (!this._started) this.start()
- return this.req.write.apply(this.req, arguments)
-}
-Request.prototype.end = function (chunk) {
- if (chunk) this.write(chunk)
- if (!this._started) this.start()
- this.req.end()
-}
-Request.prototype.pause = function () {
- if (!this.response) this._paused = true
- else this.response.pause.apply(this.response, arguments)
-}
-Request.prototype.resume = function () {
- if (!this.response) this._paused = false
- else this.response.resume.apply(this.response, arguments)
-}
-Request.prototype.destroy = function () {
- if (!this._ended) this.end()
-}
-
-// organize params for post, put, head, del
-function initParams(uri, options, callback) {
- if ((typeof options === 'function') && !callback) callback = options
- if (options && typeof options === 'object') {
- options.uri = uri
- } else if (typeof uri === 'string') {
- options = {uri:uri}
- } else {
- options = uri
- uri = options.uri
- }
- return { uri: uri, options: options, callback: callback }
-}
-
-function request (uri, options, callback) {
- if (typeof uri === 'undefined') throw new Error('undefined is not a valid uri or options object.')
- if ((typeof options === 'function') && !callback) callback = options
- if (options && typeof options === 'object') {
- options.uri = uri
- } else if (typeof uri === 'string') {
- options = {uri:uri}
- } else {
- options = uri
- }
-
- if (callback) options.callback = callback
- var r = new Request(options)
- return r
-}
-
-module.exports = request
-
-request.initParams = initParams
-
-request.defaults = function (options, requester) {
- var def = function (method) {
- var d = function (uri, opts, callback) {
- var params = initParams(uri, opts, callback)
- for (var i in options) {
- if (params.options[i] === undefined) params.options[i] = options[i]
- }
- if(typeof requester === 'function') {
- if(method === request) {
- method = requester
- } else {
- params.options._requester = requester
- }
- }
- return method(params.options, params.callback)
- }
- return d
- }
- var de = def(request)
- de.get = def(request.get)
- de.post = def(request.post)
- de.put = def(request.put)
- de.head = def(request.head)
- de.del = def(request.del)
- de.cookie = def(request.cookie)
- de.jar = request.jar
- return de
-}
-
-request.forever = function (agentOptions, optionsArg) {
- var options = {}
- if (optionsArg) {
- for (option in optionsArg) {
- options[option] = optionsArg[option]
- }
- }
- if (agentOptions) options.agentOptions = agentOptions
- options.forever = true
- return request.defaults(options)
-}
-
-request.get = request
-request.post = function (uri, options, callback) {
- var params = initParams(uri, options, callback)
- params.options.method = 'POST'
- return request(params.uri || null, params.options, params.callback)
-}
-request.put = function (uri, options, callback) {
- var params = initParams(uri, options, callback)
- params.options.method = 'PUT'
- return request(params.uri || null, params.options, params.callback)
-}
-request.head = function (uri, options, callback) {
- var params = initParams(uri, options, callback)
- params.options.method = 'HEAD'
- if (params.options.body ||
- params.options.requestBodyStream ||
- (params.options.json && typeof params.options.json !== 'boolean') ||
- params.options.multipart) {
- throw new Error("HTTP HEAD requests MUST NOT include a request body.")
- }
- return request(params.uri || null, params.options, params.callback)
-}
-request.del = function (uri, options, callback) {
- var params = initParams(uri, options, callback)
- params.options.method = 'DELETE'
- if(typeof params.options._requester === 'function') {
- request = params.options._requester
- }
- return request(params.uri || null, params.options, params.callback)
-}
-request.jar = function () {
- return new CookieJar
-}
-request.cookie = function (str) {
- if (str && str.uri) str = str.uri
- if (typeof str !== 'string') throw new Error("The cookie function only accepts STRING as param")
- return new Cookie(str)
-}
-
-// Safe toJSON
-
-function getSafe (self, uuid) {
- if (typeof self === 'object' || typeof self === 'function') var safe = {}
- if (Array.isArray(self)) var safe = []
-
- var recurse = []
-
- Object.defineProperty(self, uuid, {})
-
- var attrs = Object.keys(self).filter(function (i) {
- if (i === uuid) return false
- if ( (typeof self[i] !== 'object' && typeof self[i] !== 'function') || self[i] === null) return true
- return !(Object.getOwnPropertyDescriptor(self[i], uuid))
- })
-
-
- for (var i=0;i<attrs.length;i++) {
- if ( (typeof self[attrs[i]] !== 'object' && typeof self[attrs[i]] !== 'function') ||
- self[attrs[i]] === null
- ) {
- safe[attrs[i]] = self[attrs[i]]
- } else {
- recurse.push(attrs[i])
- Object.defineProperty(self[attrs[i]], uuid, {})
- }
- }
-
- for (var i=0;i<recurse.length;i++) {
- safe[recurse[i]] = getSafe(self[recurse[i]], uuid)
- }
-
- return safe
-}
-
-function toJSON () {
- return getSafe(this, (((1+Math.random())*0x10000)|0).toString(16))
-}
-
-Request.prototype.toJSON = toJSON
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/.npmignore
deleted file mode 100644
index 85957343e..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/.npmignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.un~
-/node_modules/*
-/test/tmp
-/.idea
-*.iml
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Makefile b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Makefile
deleted file mode 100644
index b4ff85a33..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-SHELL := /bin/bash
-
-test:
- @./test/run.js
-
-.PHONY: test
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Readme.md b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Readme.md
deleted file mode 100644
index 3bf153f2d..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/Readme.md
+++ /dev/null
@@ -1,86 +0,0 @@
-# form-data
-
-A module to create readable `"multipart/form-data"` streams. Can be used to
-submit forms and file uploads to other web applications.
-
-The API of this module is inspired by the
-[XMLHttpRequest-2 FormData Interface][xhr2-fd].
-
-[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface
-
-## Install
-
-Sorry, this isn't ready for you yet.
-
-## Usage
-
-In this example we are constructing a form with 3 fields that contain a string,
-a buffer and a file stream.
-
-``` javascript
-var FormData = require('form-data');
-var fs = require('fs');
-
-var form = new FormData();
-form.append('my_field', 'my value');
-form.append('my_buffer', new Buffer(10));
-form.append('my_file', fs.createReadStream('/foo/bar.jpg'));
-```
-
-Also you can use http-response stream:
-
-``` javascript
-var FormData = require('form-data');
-var http = require('http');
-
-var form = new FormData();
-
-http.request('http://nodejs.org/images/logo.png', function(response) {
- form.append('my_field', 'my value');
- form.append('my_buffer', new Buffer(10));
- form.append('my_logo', response);
-});
-```
-
-Or @mikeal's request stream:
-
-``` javascript
-var FormData = require('form-data');
-var request = require('request');
-
-var form = new FormData();
-
-form.append('my_field', 'my value');
-form.append('my_buffer', new Buffer(10));
-form.append('my_logo', request('http://nodejs.org/images/logo.png'));
-```
-
-In order to submit this form to a web application, you can use node's http
-client interface:
-
-``` javascript
-var http = require('http');
-
-var request = http.request({
- method: 'post',
- host: 'example.org',
- path: '/upload',
- headers: form.getHeaders()
-});
-
-form.pipe(request);
-
-request.on('response', function(res) {
- console.log(res.statusCode);
-});
-```
-
-Or if you would prefer the `'Content-Length'` header to be set for you:
-
-``` javascript
-form.submit('example.org/upload', function(err, res) {
- console.log(res.statusCode);
-});
-```
-
-[xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/lib/form_data.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/lib/form_data.js
deleted file mode 100644
index 426b06f3b..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/lib/form_data.js
+++ /dev/null
@@ -1,237 +0,0 @@
-var CombinedStream = require('combined-stream');
-var util = require('util');
-var path = require('path');
-var http = require('http');
-var https = require('https');
-var parseUrl = require('url').parse;
-var fs = require('fs');
-var mime = require('mime');
-var async = require('async');
-
-module.exports = FormData;
-function FormData() {
- this._overheadLength = 0;
- this._valueLength = 0;
- this._lengthRetrievers = [];
-
- CombinedStream.call(this);
-}
-util.inherits(FormData, CombinedStream);
-
-FormData.LINE_BREAK = '\r\n';
-
-FormData.prototype.append = function(field, value) {
- var append = CombinedStream.prototype.append.bind(this);
-
- // all that streamy business can't handle numbers
- if (typeof value == 'number') value = ''+value;
-
- var header = this._multiPartHeader(field, value);
- var footer = this._multiPartFooter(field, value);
-
- append(header);
- append(value);
- append(footer);
-
- this._trackLength(header, value)
-};
-
-FormData.prototype._trackLength = function(header, value) {
- var valueLength = 0;
- if (Buffer.isBuffer(value)) {
- valueLength = value.length;
- } else if (typeof value === 'string') {
- valueLength = Buffer.byteLength(value);
- }
-
- this._valueLength += valueLength;
- this._overheadLength +=
- Buffer.byteLength(header) +
- + FormData.LINE_BREAK.length;
-
- // empty or ethier doesn't have path or not an http response
- if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) )) {
- return;
- }
-
- this._lengthRetrievers.push(function(next) {
-
- // check if it's local file
- if (value.hasOwnProperty('fd')) {
- fs.stat(value.path, function(err, stat) {
- if (err) {
- next(err);
- return;
- }
-
- next(null, stat.size);
- });
-
- // or http response
- } else if (value.hasOwnProperty('httpVersion')) {
- next(null, +value.headers['content-length']);
-
- // or request stream http://github.com/mikeal/request
- } else if (value.hasOwnProperty('httpModule')) {
- // wait till response come back
- value.on('response', function(response) {
- value.pause();
- next(null, +response.headers['content-length']);
- });
- value.resume();
-
- // something else
- } else {
- next('Unknown stream');
- }
- });
-};
-
-FormData.prototype._multiPartHeader = function(field, value) {
- var boundary = this.getBoundary();
- var header =
- '--' + boundary + FormData.LINE_BREAK +
- 'Content-Disposition: form-data; name="' + field + '"';
-
- // fs- and request- streams have path property
- // TODO: Use request's response mime-type
- if (value.path) {
- header +=
- '; filename="' + path.basename(value.path) + '"' + FormData.LINE_BREAK +
- 'Content-Type: ' + mime.lookup(value.path);
-
- // http response has not
- } else if (value.readable && value.hasOwnProperty('httpVersion')) {
- header +=
- '; filename="' + path.basename(value.client._httpMessage.path) + '"' + FormData.LINE_BREAK +
- 'Content-Type: ' + value.headers['content-type'];
- }
-
- header += FormData.LINE_BREAK + FormData.LINE_BREAK;
- return header;
-};
-
-FormData.prototype._multiPartFooter = function(field, value) {
- return function(next) {
- var footer = FormData.LINE_BREAK;
-
- var lastPart = (this._streams.length === 0);
- if (lastPart) {
- footer += this._lastBoundary();
- }
-
- next(footer);
- }.bind(this);
-};
-
-FormData.prototype._lastBoundary = function() {
- return '--' + this.getBoundary() + '--';
-};
-
-FormData.prototype.getHeaders = function(userHeaders) {
- var formHeaders = {
- 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()
- };
-
- for (var header in userHeaders) {
- formHeaders[header.toLowerCase()] = userHeaders[header];
- }
-
- return formHeaders;
-}
-
-FormData.prototype.getCustomHeaders = function(contentType) {
- contentType = contentType ? contentType : 'multipart/form-data';
-
- var formHeaders = {
- 'content-type': contentType + '; boundary=' + this.getBoundary(),
- 'content-length': this.getLengthSync()
- };
-
- return formHeaders;
-}
-
-FormData.prototype.getBoundary = function() {
- if (!this._boundary) {
- this._generateBoundary();
- }
-
- return this._boundary;
-};
-
-FormData.prototype._generateBoundary = function() {
- // This generates a 50 character boundary similar to those used by Firefox.
- // They are optimized for boyer-moore parsing.
- var boundary = '--------------------------';
- for (var i = 0; i < 24; i++) {
- boundary += Math.floor(Math.random() * 10).toString(16);
- }
-
- this._boundary = boundary;
-};
-
-FormData.prototype.getLengthSync = function() {
- var knownLength = this._overheadLength + this._valueLength;
-
- if (this._streams.length) {
- knownLength += this._lastBoundary().length;
- }
-
- return knownLength;
-};
-
-FormData.prototype.getLength = function(cb) {
- var knownLength = this._overheadLength + this._valueLength;
-
- if (this._streams.length) {
- knownLength += this._lastBoundary().length;
- }
-
- if (!this._lengthRetrievers.length) {
- process.nextTick(cb.bind(this, null, knownLength));
- return;
- }
-
- async.parallel(this._lengthRetrievers, function(err, values) {
- if (err) {
- cb(err);
- return;
- }
-
- values.forEach(function(length) {
- knownLength += length;
- });
-
- cb(null, knownLength);
- });
-};
-
-FormData.prototype.submit = function(url, cb) {
- this.getLength(function(err, length) {
- var request
- , parsedUrl = parseUrl(url)
- , options = {
- method: 'post',
- port: parsedUrl.port || 80,
- path: parsedUrl.pathname,
- headers: this.getHeaders({'Content-Length': length}),
- host: parsedUrl.hostname
- };
-
- if (parsedUrl.protocol == 'https:') {
- // override default port
- if (!parsedUrl.port) options.port = 443;
- request = https.request(options);
- } else {
- request = http.request(options);
- }
-
- this.pipe(request);
- if (cb) {
- request.on('error', cb);
- request.on('response', cb.bind(this, null));
- }
-
- return request;
- }.bind(this));
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-project b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-project
deleted file mode 100644
index 38100b87f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-project
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "folders":
- [
- {
- "path": "/Users/alexi/Dropbox/Projects/node-form-data"
- }
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-workspace b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-workspace
deleted file mode 100644
index 735990f98..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node-form-data.sublime-workspace
+++ /dev/null
@@ -1,508 +0,0 @@
-{
- "auto_complete":
- {
- "selected_items":
- [
- [
- "back",
- "background-clip"
- ],
- [
- "di",
- "display"
- ],
- [
- "background-",
- "background-position"
- ],
- [
- "de",
- "defaults"
- ],
- [
- "no",
- "normal"
- ],
- [
- "line",
- "line-height"
- ]
- ]
- },
- "buffers":
- [
- {
- "file": "test/integration/test-pipe.js",
- "settings":
- {
- "buffer_size": 3291,
- "line_ending": "Unix"
- }
- },
- {
- "file": "package.json",
- "settings":
- {
- "buffer_size": 671,
- "line_ending": "Unix"
- }
- },
- {
- "file": "lib/form_data.js",
- "settings":
- {
- "buffer_size": 6087,
- "line_ending": "Unix"
- }
- },
- {
- "file": "test/integration/test-submit.js",
- "settings":
- {
- "buffer_size": 3304,
- "line_ending": "Unix"
- }
- },
- {
- "file": "test/integration/test-http-response.js",
- "settings":
- {
- "buffer_size": 3109,
- "line_ending": "Unix"
- }
- },
- {
- "file": "Readme.md",
- "settings":
- {
- "buffer_size": 2039,
- "line_ending": "Unix"
- }
- }
- ],
- "build_system": "",
- "command_palette":
- {
- "height": 87.0,
- "selected_items":
- [
- [
- "Package Control: in",
- "Package Control: Install Package"
- ],
- [
- "Package Control: ins",
- "Package Control: Install Package"
- ],
- [
- "ins",
- "Package Control: Install Package"
- ],
- [
- "insta",
- "Package Control: Install Package"
- ]
- ],
- "width": 467.0
- },
- "console":
- {
- "height": 125.0
- },
- "distraction_free":
- {
- "menu_visible": true,
- "show_minimap": false,
- "show_open_files": false,
- "show_tabs": false,
- "side_bar_visible": false,
- "status_bar_visible": false
- },
- "file_history":
- [
- "/Users/alexi/Dropbox/Projects/node-form-data/test/integration/test-http-respone.js",
- "/Users/alexi/Dropbox/Projects/node-form-data/test/run.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/sftp-config-alt.json",
- "/Users/alexi/Desktop/test/file.txt",
- "/Users/alexi/Desktop/stuff/kodak/web.js",
- "/Users/alexi/Desktop/test/test1.js",
- "/Users/alexi/Desktop/test/spdy.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/bin/echo.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/static/test.html",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/bin/passthrough_stream.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/request/main.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/request/tests/test-pipes.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/static/a/main.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/flickr/lib/flickr.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/socket.io/lib/socket.io.js",
- "/var/folders/xn/475pdrpd72n4s6gdh4y_c2dm0000gn/T/sublime-sftp-browse-1342313240/mapped/var/www/libereco.ia.gs/node_modules/oauth/lib/oauth.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/flickr/node_modules/oauth/lib/oauth.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/flickr/index.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/node_modules/socket.io/index.js",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/sftp-config.json",
- "/Users/alexi/Dropbox/Projects/libereco.ia.gs/public/index.html",
- "/Users/alexi/Desktop/kodak/dns.js",
- "/Users/alexi/Dropbox/Projects/500.ia.gs/htdocs/s/fonts.css",
- "/Users/alexi/Dropbox/Projects/ia.gs/sftp-config.json",
- "/Users/alexi/Downloads/fabric_plaid.png",
- "/Users/alexi/Library/Application Support/Sublime Text 2/Packages/Default/Global.sublime-settings",
- "/Users/alexi/Dropbox/Projects/ia.gs/node_modules/director/lib/director/router.js",
- "/Users/alexi/Dropbox/Projects/ia.gs/web/e/404.html",
- "/Users/alexi/Dropbox/Projects/ia.gs/web/e/500.html",
- "/Users/alexi/Dropbox/Projects/ia.gs/node_modules/director/lib/director/http/index.js",
- "/Users/alexi/Library/Application Support/Sublime Text 2/Packages/SFTP/SFTP.sublime-settings",
- "/Users/alexi/Library/Application Support/Sublime Text 2/Packages/SFTP/Default (OSX).sublime-keymap",
- "/Users/alexi/Sites/new/sftp-config.json",
- "/Users/alexi/Sites/new/polarbear.css",
- "/Users/alexi/Library/Application Support/Sublime Text 2/Packages/User/Base File.sublime-settings",
- "/Users/alexi/Library/Application Support/Sublime Text 2/Packages/Default/Base File.sublime-settings",
- "/Users/alexi/Sites/new/include/Controllers/Home/HomepageController.php"
- ],
- "find":
- {
- "height": 35.0
- },
- "find_in_files":
- {
- "height": 0.0,
- "where_history":
- [
- ""
- ]
- },
- "find_state":
- {
- "case_sensitive": false,
- "find_history":
- [
- "argument",
- "mikeal",
- "return;",
- "throw arguments[1]",
- "arguments[1]",
- "throw arguments",
- "throw arguments[1]",
- "path",
- "conso",
- "isStreamLike",
- "parseUrl",
- "stream",
- "node.js",
- "stream",
- "http://libereco.ia.gs/",
- "flickr_message_nopro",
- "auth:done",
- "con",
- "console",
- "photos",
- "isReadStream",
- "Buffer",
- "Bufer",
- "multipart",
- "sig",
- "api",
- "api_",
- "api_sig",
- "writeFile",
- "googledoodle.png",
- "attachment",
- "_write",
- "fs",
- "mime",
- "_putOrPost",
- "_performSecureRequest",
- "8034",
- "try",
- "paramsToQueryString",
- "_executeOAuthAPIRequest",
- "oauth_client",
- "_createClient",
- "authorization",
- "body",
- "_performSecureRequest",
- "query",
- "io.",
- ".listen",
- "io",
- "config",
- "set",
- "console",
- "'next'",
- "console",
- "_asyncEverySeries",
- "runlist",
- "function",
- "async",
- "local",
- "Find schools",
- "What's up"
- ],
- "highlight": true,
- "in_selection": false,
- "preserve_case": false,
- "regex": false,
- "replace_history":
- [
- ],
- "reverse": false,
- "show_context": true,
- "use_buffer2": true,
- "whole_word": false,
- "wrap": true
- },
- "groups":
- [
- {
- "selected": 5,
- "sheets":
- [
- {
- "buffer": 0,
- "file": "test/integration/test-pipe.js",
- "settings":
- {
- "buffer_size": 3291,
- "regions":
- {
- },
- "selection":
- [
- [
- 3213,
- 3213
- ]
- ],
- "settings":
- {
- "remote_loading": false,
- "synced": false,
- "syntax": "Packages/JavaScript/JavaScript.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 914.0,
- "zoom_level": 1.0
- },
- "type": "text"
- },
- {
- "buffer": 1,
- "file": "package.json",
- "settings":
- {
- "buffer_size": 671,
- "regions":
- {
- },
- "selection":
- [
- [
- 542,
- 542
- ]
- ],
- "settings":
- {
- "remote_loading": false,
- "synced": false,
- "syntax": "Packages/JavaScript/JSON.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 0.0,
- "zoom_level": 1.0
- },
- "type": "text"
- },
- {
- "buffer": 2,
- "file": "lib/form_data.js",
- "settings":
- {
- "buffer_size": 6087,
- "regions":
- {
- },
- "selection":
- [
- [
- 5918,
- 5918
- ]
- ],
- "settings":
- {
- "remote_loading": false,
- "synced": false,
- "syntax": "Packages/JavaScript/JavaScript.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 2804.0,
- "zoom_level": 1.0
- },
- "type": "text"
- },
- {
- "buffer": 3,
- "file": "test/integration/test-submit.js",
- "settings":
- {
- "buffer_size": 3304,
- "regions":
- {
- },
- "selection":
- [
- [
- 3222,
- 3222
- ]
- ],
- "settings":
- {
- "remote_loading": false,
- "synced": false,
- "syntax": "Packages/JavaScript/JavaScript.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 854.0,
- "zoom_level": 1.0
- },
- "type": "text"
- },
- {
- "buffer": 4,
- "file": "test/integration/test-http-response.js",
- "settings":
- {
- "buffer_size": 3109,
- "regions":
- {
- },
- "selection":
- [
- [
- 2156,
- 2156
- ]
- ],
- "settings":
- {
- "remote_loading": false,
- "synced": false,
- "syntax": "Packages/JavaScript/JavaScript.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 0.0,
- "zoom_level": 1.0
- },
- "type": "text"
- },
- {
- "buffer": 5,
- "file": "Readme.md",
- "settings":
- {
- "buffer_size": 2039,
- "regions":
- {
- },
- "selection":
- [
- [
- 971,
- 971
- ]
- ],
- "settings":
- {
- "remote_loading": false,
- "synced": false,
- "syntax": "Packages/Markdown/Markdown.tmLanguage"
- },
- "translation.x": 0.0,
- "translation.y": 539.0,
- "zoom_level": 1.0
- },
- "type": "text"
- }
- ]
- }
- ],
- "incremental_find":
- {
- "height": 0.0
- },
- "input":
- {
- "height": 31.0
- },
- "layout":
- {
- "cells":
- [
- [
- 0,
- 0,
- 1,
- 1
- ]
- ],
- "cols":
- [
- 0.0,
- 1.0
- ],
- "rows":
- [
- 0.0,
- 1.0
- ]
- },
- "menu_visible": true,
- "output.sftp":
- {
- "height": 108.0
- },
- "replace":
- {
- "height": 0.0
- },
- "save_all_on_build": true,
- "select_file":
- {
- "height": 0.0,
- "selected_items":
- [
- [
- "homepagecon",
- "include/Controllers/Home/HomepageController.php"
- ],
- [
- "polar",
- "polarbear.css"
- ],
- [
- "homepageco",
- "include/Controllers/Home/HomepageController.php"
- ],
- [
- "homepage.js",
- "include/js/application/homepage/homepage.js"
- ]
- ],
- "width": 0.0
- },
- "select_project":
- {
- "height": 0.0,
- "selected_items":
- [
- ],
- "width": 0.0
- },
- "show_minimap": true,
- "show_open_files": true,
- "show_tabs": true,
- "side_bar_visible": true,
- "side_bar_width": 250.0,
- "status_bar_visible": true
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/.gitmodules b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/.gitmodules
deleted file mode 100644
index a9aae984f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/.gitmodules
+++ /dev/null
@@ -1,9 +0,0 @@
-[submodule "deps/nodeunit"]
- path = deps/nodeunit
- url = git://github.com/caolan/nodeunit.git
-[submodule "deps/UglifyJS"]
- path = deps/UglifyJS
- url = https://github.com/mishoo/UglifyJS.git
-[submodule "deps/nodelint"]
- path = deps/nodelint
- url = https://github.com/tav/nodelint.git
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/LICENSE
deleted file mode 100644
index b7f9d5001..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2010 Caolan McMahon
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/Makefile b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/Makefile
deleted file mode 100644
index 00f07ea02..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-PACKAGE = asyncjs
-NODEJS = $(if $(shell test -f /usr/bin/nodejs && echo "true"),nodejs,node)
-
-BUILDDIR = dist
-
-all: build
-
-build: $(wildcard lib/*.js)
- mkdir -p $(BUILDDIR)
- uglifyjs lib/async.js > $(BUILDDIR)/async.min.js
-
-test:
- nodeunit test
-
-clean:
- rm -rf $(BUILDDIR)
-
-lint:
- nodelint --config nodelint.cfg lib/async.js
-
-.PHONY: test build all
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/README.md b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/README.md
deleted file mode 100644
index 039d94241..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/README.md
+++ /dev/null
@@ -1,970 +0,0 @@
-# Async.js
-
-Async is a utility module which provides straight-forward, powerful functions
-for working with asynchronous JavaScript. Although originally designed for
-use with [node.js](http://nodejs.org), it can also be used directly in the
-browser.
-
-Async provides around 20 functions that include the usual 'functional'
-suspects (map, reduce, filter, forEach…) as well as some common patterns
-for asynchronous flow control (parallel, series, waterfall…). All these
-functions assume you follow the node.js convention of providing a single
-callback as the last argument of your async function.
-
-
-## Quick Examples
-
- async.map(['file1','file2','file3'], fs.stat, function(err, results){
- // results is now an array of stats for each file
- });
-
- async.filter(['file1','file2','file3'], path.exists, function(results){
- // results now equals an array of the existing files
- });
-
- async.parallel([
- function(){ ... },
- function(){ ... }
- ], callback);
-
- async.series([
- function(){ ... },
- function(){ ... }
- ]);
-
-There are many more functions available so take a look at the docs below for a
-full list. This module aims to be comprehensive, so if you feel anything is
-missing please create a GitHub issue for it.
-
-
-## Download
-
-Releases are available for download from
-[GitHub](http://github.com/caolan/async/downloads).
-Alternatively, you can install using Node Package Manager (npm):
-
- npm install async
-
-
-__Development:__ [async.js](https://github.com/caolan/async/raw/master/lib/async.js) - 17.5kb Uncompressed
-
-__Production:__ [async.min.js](https://github.com/caolan/async/raw/master/dist/async.min.js) - 1.7kb Packed and Gzipped
-
-
-## In the Browser
-
-So far its been tested in IE6, IE7, IE8, FF3.6 and Chrome 5. Usage:
-
- <script type="text/javascript" src="async.js"></script>
- <script type="text/javascript">
-
- async.map(data, asyncProcess, function(err, results){
- alert(results);
- });
-
- </script>
-
-
-## Documentation
-
-### Collections
-
-* [forEach](#forEach)
-* [map](#map)
-* [filter](#filter)
-* [reject](#reject)
-* [reduce](#reduce)
-* [detect](#detect)
-* [sortBy](#sortBy)
-* [some](#some)
-* [every](#every)
-* [concat](#concat)
-
-### Flow Control
-
-* [series](#series)
-* [parallel](#parallel)
-* [whilst](#whilst)
-* [until](#until)
-* [waterfall](#waterfall)
-* [queue](#queue)
-* [auto](#auto)
-* [iterator](#iterator)
-* [apply](#apply)
-* [nextTick](#nextTick)
-
-### Utils
-
-* [memoize](#memoize)
-* [log](#log)
-* [dir](#dir)
-* [noConflict](#noConflict)
-
-
-## Collections
-
-<a name="forEach" />
-### forEach(arr, iterator, callback)
-
-Applies an iterator function to each item in an array, in parallel.
-The iterator is called with an item from the list and a callback for when it
-has finished. If the iterator passes an error to this callback, the main
-callback for the forEach function is immediately called with the error.
-
-Note, that since this function applies the iterator to each item in parallel
-there is no guarantee that the iterator functions will complete in order.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(err) - A callback which is called after all the iterator functions
- have finished, or an error has occurred.
-
-__Example__
-
- // assuming openFiles is an array of file names and saveFile is a function
- // to save the modified contents of that file:
-
- async.forEach(openFiles, saveFile, function(err){
- // if any of the saves produced an error, err would equal that error
- });
-
----------------------------------------
-
-<a name="forEachSeries" />
-### forEachSeries(arr, iterator, callback)
-
-The same as forEach only the iterator is applied to each item in the array in
-series. The next iterator is only called once the current one has completed
-processing. This means the iterator functions will complete in order.
-
-
----------------------------------------
-
-<a name="map" />
-### map(arr, iterator, callback)
-
-Produces a new array of values by mapping each value in the given array through
-the iterator function. The iterator is called with an item from the array and a
-callback for when it has finished processing. The callback takes 2 arguments,
-an error and the transformed item from the array. If the iterator passes an
-error to this callback, the main callback for the map function is immediately
-called with the error.
-
-Note, that since this function applies the iterator to each item in parallel
-there is no guarantee that the iterator functions will complete in order, however
-the results array will be in the same order as the original array.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed
- with an error (which can be null) and a transformed item.
-* callback(err, results) - A callback which is called after all the iterator
- functions have finished, or an error has occurred. Results is an array of the
- transformed items from the original array.
-
-__Example__
-
- async.map(['file1','file2','file3'], fs.stat, function(err, results){
- // results is now an array of stats for each file
- });
-
----------------------------------------
-
-<a name="mapSeries" />
-### mapSeries(arr, iterator, callback)
-
-The same as map only the iterator is applied to each item in the array in
-series. The next iterator is only called once the current one has completed
-processing. The results array will be in the same order as the original.
-
-
----------------------------------------
-
-<a name="filter" />
-### filter(arr, iterator, callback)
-
-__Alias:__ select
-
-Returns a new array of all the values which pass an async truth test.
-_The callback for each iterator call only accepts a single argument of true or
-false, it does not accept an error argument first!_ This is in-line with the
-way node libraries work with truth tests like path.exists. This operation is
-performed in parallel, but the results array will be in the same order as the
-original.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(results) - A callback which is called after all the iterator
- functions have finished.
-
-__Example__
-
- async.filter(['file1','file2','file3'], path.exists, function(results){
- // results now equals an array of the existing files
- });
-
----------------------------------------
-
-<a name="filterSeries" />
-### filterSeries(arr, iterator, callback)
-
-__alias:__ selectSeries
-
-The same as filter only the iterator is applied to each item in the array in
-series. The next iterator is only called once the current one has completed
-processing. The results array will be in the same order as the original.
-
----------------------------------------
-
-<a name="reject" />
-### reject(arr, iterator, callback)
-
-The opposite of filter. Removes values that pass an async truth test.
-
----------------------------------------
-
-<a name="rejectSeries" />
-### rejectSeries(arr, iterator, callback)
-
-The same as filter, only the iterator is applied to each item in the array
-in series.
-
-
----------------------------------------
-
-<a name="reduce" />
-### reduce(arr, memo, iterator, callback)
-
-__aliases:__ inject, foldl
-
-Reduces a list of values into a single value using an async iterator to return
-each successive step. Memo is the initial state of the reduction. This
-function only operates in series. For performance reasons, it may make sense to
-split a call to this function into a parallel map, then use the normal
-Array.prototype.reduce on the results. This function is for situations where
-each step in the reduction needs to be async, if you can get the data before
-reducing it then its probably a good idea to do so.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* memo - The initial state of the reduction.
-* iterator(memo, item, callback) - A function applied to each item in the
- array to produce the next step in the reduction. The iterator is passed a
- callback which accepts an optional error as its first argument, and the state
- of the reduction as the second. If an error is passed to the callback, the
- reduction is stopped and the main callback is immediately called with the
- error.
-* callback(err, result) - A callback which is called after all the iterator
- functions have finished. Result is the reduced value.
-
-__Example__
-
- async.reduce([1,2,3], 0, function(memo, item, callback){
- // pointless async:
- process.nextTick(function(){
- callback(null, memo + item)
- });
- }, function(err, result){
- // result is now equal to the last value of memo, which is 6
- });
-
----------------------------------------
-
-<a name="reduceRight" />
-### reduceRight(arr, memo, iterator, callback)
-
-__Alias:__ foldr
-
-Same as reduce, only operates on the items in the array in reverse order.
-
-
----------------------------------------
-
-<a name="detect" />
-### detect(arr, iterator, callback)
-
-Returns the first value in a list that passes an async truth test. The
-iterator is applied in parallel, meaning the first iterator to return true will
-fire the detect callback with that result. That means the result might not be
-the first item in the original array (in terms of order) that passes the test.
-
-If order within the original array is important then look at detectSeries.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(result) - A callback which is called as soon as any iterator returns
- true, or after all the iterator functions have finished. Result will be
- the first item in the array that passes the truth test (iterator) or the
- value undefined if none passed.
-
-__Example__
-
- async.detect(['file1','file2','file3'], path.exists, function(result){
- // result now equals the first file in the list that exists
- });
-
----------------------------------------
-
-<a name="detectSeries" />
-### detectSeries(arr, iterator, callback)
-
-The same as detect, only the iterator is applied to each item in the array
-in series. This means the result is always the first in the original array (in
-terms of array order) that passes the truth test.
-
-
----------------------------------------
-
-<a name="sortBy" />
-### sortBy(arr, iterator, callback)
-
-Sorts a list by the results of running each value through an async iterator.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed
- with an error (which can be null) and a value to use as the sort criteria.
-* callback(err, results) - A callback which is called after all the iterator
- functions have finished, or an error has occurred. Results is the items from
- the original array sorted by the values returned by the iterator calls.
-
-__Example__
-
- async.sortBy(['file1','file2','file3'], function(file, callback){
- fs.stat(file, function(err, stats){
- callback(err, stats.mtime);
- });
- }, function(err, results){
- // results is now the original array of files sorted by
- // modified date
- });
-
-
----------------------------------------
-
-<a name="some" />
-### some(arr, iterator, callback)
-
-__Alias:__ any
-
-Returns true if at least one element in the array satisfies an async test.
-_The callback for each iterator call only accepts a single argument of true or
-false, it does not accept an error argument first!_ This is in-line with the
-way node libraries work with truth tests like path.exists. Once any iterator
-call returns true, the main callback is immediately called.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(result) - A callback which is called as soon as any iterator returns
- true, or after all the iterator functions have finished. Result will be
- either true or false depending on the values of the async tests.
-
-__Example__
-
- async.some(['file1','file2','file3'], path.exists, function(result){
- // if result is true then at least one of the files exists
- });
-
----------------------------------------
-
-<a name="every" />
-### every(arr, iterator, callback)
-
-__Alias:__ all
-
-Returns true if every element in the array satisfies an async test.
-_The callback for each iterator call only accepts a single argument of true or
-false, it does not accept an error argument first!_ This is in-line with the
-way node libraries work with truth tests like path.exists.
-
-__Arguments__
-
-* arr - An array to iterate over.
-* iterator(item, callback) - A truth test to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed.
-* callback(result) - A callback which is called after all the iterator
- functions have finished. Result will be either true or false depending on
- the values of the async tests.
-
-__Example__
-
- async.every(['file1','file2','file3'], path.exists, function(result){
- // if result is true then every file exists
- });
-
----------------------------------------
-
-<a name="concat" />
-### concat(arr, iterator, callback)
-
-Applies an iterator to each item in a list, concatenating the results. Returns the
-concatenated list. The iterators are called in parallel, and the results are
-concatenated as they return. There is no guarantee that the results array will
-be returned in the original order of the arguments passed to the iterator function.
-
-__Arguments__
-
-* arr - An array to iterate over
-* iterator(item, callback) - A function to apply to each item in the array.
- The iterator is passed a callback which must be called once it has completed
- with an error (which can be null) and an array of results.
-* callback(err, results) - A callback which is called after all the iterator
- functions have finished, or an error has occurred. Results is an array containing
- the concatenated results of the iterator function.
-
-__Example__
-
- async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files){
- // files is now a list of filenames that exist in the 3 directories
- });
-
----------------------------------------
-
-<a name="concatSeries" />
-### concatSeries(arr, iterator, callback)
-
-Same as async.concat, but executes in series instead of parallel.
-
-
-## Flow Control
-
-<a name="series" />
-### series(tasks, [callback])
-
-Run an array of functions in series, each one running once the previous
-function has completed. If any functions in the series pass an error to its
-callback, no more functions are run and the callback for the series is
-immediately called with the value of the error. Once the tasks have completed,
-the results are passed to the final callback as an array.
-
-It is also possible to use an object instead of an array. Each property will be
-run as a function and the results will be passed to the final callback as an object
-instead of an array. This can be a more readable way of handling results from
-async.series.
-
-
-__Arguments__
-
-* tasks - An array or object containing functions to run, each function is passed
- a callback it must call on completion.
-* callback(err, results) - An optional callback to run once all the functions
- have completed. This function gets an array of all the arguments passed to
- the callbacks used in the array.
-
-__Example__
-
- async.series([
- function(callback){
- // do some stuff ...
- callback(null, 'one');
- },
- function(callback){
- // do some more stuff ...
- callback(null, 'two');
- },
- ],
- // optional callback
- function(err, results){
- // results is now equal to ['one', 'two']
- });
-
-
- // an example using an object instead of an array
- async.series({
- one: function(callback){
- setTimeout(function(){
- callback(null, 1);
- }, 200);
- },
- two: function(callback){
- setTimeout(function(){
- callback(null, 2);
- }, 100);
- },
- },
- function(err, results) {
- // results is now equals to: {one: 1, two: 2}
- });
-
-
----------------------------------------
-
-<a name="parallel" />
-### parallel(tasks, [callback])
-
-Run an array of functions in parallel, without waiting until the previous
-function has completed. If any of the functions pass an error to its
-callback, the main callback is immediately called with the value of the error.
-Once the tasks have completed, the results are passed to the final callback as an
-array.
-
-It is also possible to use an object instead of an array. Each property will be
-run as a function and the results will be passed to the final callback as an object
-instead of an array. This can be a more readable way of handling results from
-async.parallel.
-
-
-__Arguments__
-
-* tasks - An array or object containing functions to run, each function is passed a
- callback it must call on completion.
-* callback(err, results) - An optional callback to run once all the functions
- have completed. This function gets an array of all the arguments passed to
- the callbacks used in the array.
-
-__Example__
-
- async.parallel([
- function(callback){
- setTimeout(function(){
- callback(null, 'one');
- }, 200);
- },
- function(callback){
- setTimeout(function(){
- callback(null, 'two');
- }, 100);
- },
- ],
- // optional callback
- function(err, results){
- // in this case, the results array will equal ['two','one']
- // because the functions were run in parallel and the second
- // function had a shorter timeout before calling the callback.
- });
-
-
- // an example using an object instead of an array
- async.parallel({
- one: function(callback){
- setTimeout(function(){
- callback(null, 1);
- }, 200);
- },
- two: function(callback){
- setTimeout(function(){
- callback(null, 2);
- }, 100);
- },
- },
- function(err, results) {
- // results is now equals to: {one: 1, two: 2}
- });
-
-
----------------------------------------
-
-<a name="whilst" />
-### whilst(test, fn, callback)
-
-Repeatedly call fn, while test returns true. Calls the callback when stopped,
-or an error occurs.
-
-__Arguments__
-
-* test() - synchronous truth test to perform before each execution of fn.
-* fn(callback) - A function to call each time the test passes. The function is
- passed a callback which must be called once it has completed with an optional
- error as the first argument.
-* callback(err) - A callback which is called after the test fails and repeated
- execution of fn has stopped.
-
-__Example__
-
- var count = 0;
-
- async.whilst(
- function () { return count < 5; },
- function (callback) {
- count++;
- setTimeout(callback, 1000);
- },
- function (err) {
- // 5 seconds have passed
- }
- });
-
-
----------------------------------------
-
-<a name="until" />
-### until(test, fn, callback)
-
-Repeatedly call fn, until test returns true. Calls the callback when stopped,
-or an error occurs.
-
-The inverse of async.whilst.
-
-
----------------------------------------
-
-<a name="waterfall" />
-### waterfall(tasks, [callback])
-
-Runs an array of functions in series, each passing their results to the next in
-the array. However, if any of the functions pass an error to the callback, the
-next function is not executed and the main callback is immediately called with
-the error.
-
-__Arguments__
-
-* tasks - An array of functions to run, each function is passed a callback it
- must call on completion.
-* callback(err) - An optional callback to run once all the functions have
- completed. This function gets passed any error that may have occurred.
-
-__Example__
-
- async.waterfall([
- function(callback){
- callback(null, 'one', 'two');
- },
- function(arg1, arg2, callback){
- callback(null, 'three');
- },
- function(arg1, callback){
- // arg1 now equals 'three'
- callback(null, 'done');
- }
- ]);
-
-
----------------------------------------
-
-<a name="queue" />
-### queue(worker, concurrency)
-
-Creates a queue object with the specified concurrency. Tasks added to the
-queue will be processed in parallel (up to the concurrency limit). If all
-workers are in progress, the task is queued until one is available. Once
-a worker has completed a task, the task's callback is called.
-
-__Arguments__
-
-* worker(task, callback) - An asynchronous function for processing a queued
- task.
-* concurrency - An integer for determining how many worker functions should be
- run in parallel.
-
-__Queue objects__
-
-The queue object returned by this function has the following properties and
-methods:
-
-* length() - a function returning the number of items waiting to be processed.
-* concurrency - an integer for determining how many worker functions should be
- run in parallel. This property can be changed after a queue is created to
- alter the concurrency on-the-fly.
-* push(task, [callback]) - add a new task to the queue, the callback is called
- once the worker has finished processing the task.
-* saturated - a callback that is called when the queue length hits the concurrency and further tasks will be queued
-* empty - a callback that is called when the last item from the queue is given to a worker
-* drain - a callback that is called when the last item from the queue has returned from the worker
-
-__Example__
-
- // create a queue object with concurrency 2
-
- var q = async.queue(function (task, callback) {
- console.log('hello ' + task.name).
- callback();
- }, 2);
-
-
- // assign a callback
- q.drain = function() {
- console.log('all items have been processed');
- }
-
- // add some items to the queue
-
- q.push({name: 'foo'}, function (err) {
- console.log('finished processing foo');
- });
- q.push({name: 'bar'}, function (err) {
- console.log('finished processing bar');
- });
-
-
----------------------------------------
-
-<a name="auto" />
-### auto(tasks, [callback])
-
-Determines the best order for running functions based on their requirements.
-Each function can optionally depend on other functions being completed first,
-and each function is run as soon as its requirements are satisfied. If any of
-the functions pass and error to their callback, that function will not complete
-(so any other functions depending on it will not run) and the main callback
-will be called immediately with the error.
-
-__Arguments__
-
-* tasks - An object literal containing named functions or an array of
- requirements, with the function itself the last item in the array. The key
- used for each function or array is used when specifying requirements. The
- syntax is easier to understand by looking at the example.
-* callback(err) - An optional callback which is called when all the tasks have
- been completed. The callback may receive an error as an argument.
-
-__Example__
-
- async.auto({
- get_data: function(callback){
- // async code to get some data
- },
- make_folder: function(callback){
- // async code to create a directory to store a file in
- // this is run at the same time as getting the data
- },
- write_file: ['get_data', 'make_folder', function(callback){
- // once there is some data and the directory exists,
- // write the data to a file in the directory
- }],
- email_link: ['write_file', function(callback){
- // once the file is written let's email a link to it...
- }]
- });
-
-This is a fairly trivial example, but to do this using the basic parallel and
-series functions would look like this:
-
- async.parallel([
- function(callback){
- // async code to get some data
- },
- function(callback){
- // async code to create a directory to store a file in
- // this is run at the same time as getting the data
- }
- ],
- function(results){
- async.series([
- function(callback){
- // once there is some data and the directory exists,
- // write the data to a file in the directory
- },
- email_link: ['write_file', function(callback){
- // once the file is written let's email a link to it...
- }
- ]);
- });
-
-For a complicated series of async tasks using the auto function makes adding
-new tasks much easier and makes the code more readable.
-
-
----------------------------------------
-
-<a name="iterator" />
-### iterator(tasks)
-
-Creates an iterator function which calls the next function in the array,
-returning a continuation to call the next one after that. Its also possible to
-'peek' the next iterator by doing iterator.next().
-
-This function is used internally by the async module but can be useful when
-you want to manually control the flow of functions in series.
-
-__Arguments__
-
-* tasks - An array of functions to run, each function is passed a callback it
- must call on completion.
-
-__Example__
-
- var iterator = async.iterator([
- function(){ sys.p('one'); },
- function(){ sys.p('two'); },
- function(){ sys.p('three'); }
- ]);
-
- node> var iterator2 = iterator();
- 'one'
- node> var iterator3 = iterator2();
- 'two'
- node> iterator3();
- 'three'
- node> var nextfn = iterator2.next();
- node> nextfn();
- 'three'
-
-
----------------------------------------
-
-<a name="apply" />
-### apply(function, arguments..)
-
-Creates a continuation function with some arguments already applied, a useful
-shorthand when combined with other flow control functions. Any arguments
-passed to the returned function are added to the arguments originally passed
-to apply.
-
-__Arguments__
-
-* function - The function you want to eventually apply all arguments to.
-* arguments... - Any number of arguments to automatically apply when the
- continuation is called.
-
-__Example__
-
- // using apply
-
- async.parallel([
- async.apply(fs.writeFile, 'testfile1', 'test1'),
- async.apply(fs.writeFile, 'testfile2', 'test2'),
- ]);
-
-
- // the same process without using apply
-
- async.parallel([
- function(callback){
- fs.writeFile('testfile1', 'test1', callback);
- },
- function(callback){
- fs.writeFile('testfile2', 'test2', callback);
- },
- ]);
-
-It's possible to pass any number of additional arguments when calling the
-continuation:
-
- node> var fn = async.apply(sys.puts, 'one');
- node> fn('two', 'three');
- one
- two
- three
-
----------------------------------------
-
-<a name="nextTick" />
-### nextTick(callback)
-
-Calls the callback on a later loop around the event loop. In node.js this just
-calls process.nextTick, in the browser it falls back to setTimeout(callback, 0),
-which means other higher priority events may precede the execution of the callback.
-
-This is used internally for browser-compatibility purposes.
-
-__Arguments__
-
-* callback - The function to call on a later loop around the event loop.
-
-__Example__
-
- var call_order = [];
- async.nextTick(function(){
- call_order.push('two');
- // call_order now equals ['one','two]
- });
- call_order.push('one')
-
-
-## Utils
-
-<a name="memoize" />
-### memoize(fn, [hasher])
-
-Caches the results of an async function. When creating a hash to store function
-results against, the callback is omitted from the hash and an optional hash
-function can be used.
-
-__Arguments__
-
-* fn - the function you to proxy and cache results from.
-* hasher - an optional function for generating a custom hash for storing
- results, it has all the arguments applied to it apart from the callback, and
- must be synchronous.
-
-__Example__
-
- var slow_fn = function (name, callback) {
- // do something
- callback(null, result);
- };
- var fn = async.memoize(slow_fn);
-
- // fn can now be used as if it were slow_fn
- fn('some name', function () {
- // callback
- });
-
-
-<a name="log" />
-### log(function, arguments)
-
-Logs the result of an async function to the console. Only works in node.js or
-in browsers that support console.log and console.error (such as FF and Chrome).
-If multiple arguments are returned from the async function, console.log is
-called on each argument in order.
-
-__Arguments__
-
-* function - The function you want to eventually apply all arguments to.
-* arguments... - Any number of arguments to apply to the function.
-
-__Example__
-
- var hello = function(name, callback){
- setTimeout(function(){
- callback(null, 'hello ' + name);
- }, 1000);
- };
-
- node> async.log(hello, 'world');
- 'hello world'
-
-
----------------------------------------
-
-<a name="dir" />
-### dir(function, arguments)
-
-Logs the result of an async function to the console using console.dir to
-display the properties of the resulting object. Only works in node.js or
-in browsers that support console.dir and console.error (such as FF and Chrome).
-If multiple arguments are returned from the async function, console.dir is
-called on each argument in order.
-
-__Arguments__
-
-* function - The function you want to eventually apply all arguments to.
-* arguments... - Any number of arguments to apply to the function.
-
-__Example__
-
- var hello = function(name, callback){
- setTimeout(function(){
- callback(null, {hello: name});
- }, 1000);
- };
-
- node> async.dir(hello, 'world');
- {hello: 'world'}
-
-
----------------------------------------
-
-<a name="noConflict" />
-### noConflict()
-
-Changes the value of async back to its original value, returning a reference to the
-async object.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/async.min.js.gzip b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/async.min.js.gzip
deleted file mode 100644
index e1c329444..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/async.min.js.gzip
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.css b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.css
deleted file mode 100644
index 274434a4a..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.css
+++ /dev/null
@@ -1,70 +0,0 @@
-/*!
- * Styles taken from qunit.css
- */
-
-h1#nodeunit-header, h1.nodeunit-header {
- padding: 15px;
- font-size: large;
- background-color: #06b;
- color: white;
- font-family: 'trebuchet ms', verdana, arial;
- margin: 0;
-}
-
-h1#nodeunit-header a {
- color: white;
-}
-
-h2#nodeunit-banner {
- height: 2em;
- border-bottom: 1px solid white;
- background-color: #eee;
- margin: 0;
- font-family: 'trebuchet ms', verdana, arial;
-}
-h2#nodeunit-banner.pass {
- background-color: green;
-}
-h2#nodeunit-banner.fail {
- background-color: red;
-}
-
-h2#nodeunit-userAgent, h2.nodeunit-userAgent {
- padding: 10px;
- background-color: #eee;
- color: black;
- margin: 0;
- font-size: small;
- font-weight: normal;
- font-family: 'trebuchet ms', verdana, arial;
- font-size: 10pt;
-}
-
-div#nodeunit-testrunner-toolbar {
- background: #eee;
- border-top: 1px solid black;
- padding: 10px;
- font-family: 'trebuchet ms', verdana, arial;
- margin: 0;
- font-size: 10pt;
-}
-
-ol#nodeunit-tests {
- font-family: 'trebuchet ms', verdana, arial;
- font-size: 10pt;
-}
-ol#nodeunit-tests li strong {
- cursor:pointer;
-}
-ol#nodeunit-tests .pass {
- color: green;
-}
-ol#nodeunit-tests .fail {
- color: red;
-}
-
-p#nodeunit-testresult {
- margin-left: 1em;
- font-size: 10pt;
- font-family: 'trebuchet ms', verdana, arial;
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.js
deleted file mode 100644
index 59571840c..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/deps/nodeunit.js
+++ /dev/null
@@ -1,1966 +0,0 @@
-/*!
- * Nodeunit
- * https://github.com/caolan/nodeunit
- * Copyright (c) 2010 Caolan McMahon
- * MIT Licensed
- *
- * json2.js
- * http://www.JSON.org/json2.js
- * Public Domain.
- * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
- */
-nodeunit = (function(){
-/*
- http://www.JSON.org/json2.js
- 2010-11-17
-
- Public Domain.
-
- NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
-
- See http://www.JSON.org/js.html
-
-
- This code should be minified before deployment.
- See http://javascript.crockford.com/jsmin.html
-
- USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
- NOT CONTROL.
-
-
- This file creates a global JSON object containing two methods: stringify
- and parse.
-
- JSON.stringify(value, replacer, space)
- value any JavaScript value, usually an object or array.
-
- replacer an optional parameter that determines how object
- values are stringified for objects. It can be a
- function or an array of strings.
-
- space an optional parameter that specifies the indentation
- of nested structures. If it is omitted, the text will
- be packed without extra whitespace. If it is a number,
- it will specify the number of spaces to indent at each
- level. If it is a string (such as '\t' or '&nbsp;'),
- it contains the characters used to indent at each level.
-
- This method produces a JSON text from a JavaScript value.
-
- When an object value is found, if the object contains a toJSON
- method, its toJSON method will be called and the result will be
- stringified. A toJSON method does not serialize: it returns the
- value represented by the name/value pair that should be serialized,
- or undefined if nothing should be serialized. The toJSON method
- will be passed the key associated with the value, and this will be
- bound to the value
-
- For example, this would serialize Dates as ISO strings.
-
- Date.prototype.toJSON = function (key) {
- function f(n) {
- // Format integers to have at least two digits.
- return n < 10 ? '0' + n : n;
- }
-
- return this.getUTCFullYear() + '-' +
- f(this.getUTCMonth() + 1) + '-' +
- f(this.getUTCDate()) + 'T' +
- f(this.getUTCHours()) + ':' +
- f(this.getUTCMinutes()) + ':' +
- f(this.getUTCSeconds()) + 'Z';
- };
-
- You can provide an optional replacer method. It will be passed the
- key and value of each member, with this bound to the containing
- object. The value that is returned from your method will be
- serialized. If your method returns undefined, then the member will
- be excluded from the serialization.
-
- If the replacer parameter is an array of strings, then it will be
- used to select the members to be serialized. It filters the results
- such that only members with keys listed in the replacer array are
- stringified.
-
- Values that do not have JSON representations, such as undefined or
- functions, will not be serialized. Such values in objects will be
- dropped; in arrays they will be replaced with null. You can use
- a replacer function to replace those with JSON values.
- JSON.stringify(undefined) returns undefined.
-
- The optional space parameter produces a stringification of the
- value that is filled with line breaks and indentation to make it
- easier to read.
-
- If the space parameter is a non-empty string, then that string will
- be used for indentation. If the space parameter is a number, then
- the indentation will be that many spaces.
-
- Example:
-
- text = JSON.stringify(['e', {pluribus: 'unum'}]);
- // text is '["e",{"pluribus":"unum"}]'
-
-
- text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
- // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'
-
- text = JSON.stringify([new Date()], function (key, value) {
- return this[key] instanceof Date ?
- 'Date(' + this[key] + ')' : value;
- });
- // text is '["Date(---current time---)"]'
-
-
- JSON.parse(text, reviver)
- This method parses a JSON text to produce an object or array.
- It can throw a SyntaxError exception.
-
- The optional reviver parameter is a function that can filter and
- transform the results. It receives each of the keys and values,
- and its return value is used instead of the original value.
- If it returns what it received, then the structure is not modified.
- If it returns undefined then the member is deleted.
-
- Example:
-
- // Parse the text. Values that look like ISO date strings will
- // be converted to Date objects.
-
- myData = JSON.parse(text, function (key, value) {
- var a;
- if (typeof value === 'string') {
- a =
-/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
- if (a) {
- return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
- +a[5], +a[6]));
- }
- }
- return value;
- });
-
- myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
- var d;
- if (typeof value === 'string' &&
- value.slice(0, 5) === 'Date(' &&
- value.slice(-1) === ')') {
- d = new Date(value.slice(5, -1));
- if (d) {
- return d;
- }
- }
- return value;
- });
-
-
- This is a reference implementation. You are free to copy, modify, or
- redistribute.
-*/
-
-/*jslint evil: true, strict: false, regexp: false */
-
-/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
- call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
- getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
- lastIndex, length, parse, prototype, push, replace, slice, stringify,
- test, toJSON, toString, valueOf
-*/
-
-
-// Create a JSON object only if one does not already exist. We create the
-// methods in a closure to avoid creating global variables.
-
-if (!this.JSON) {
- this.JSON = {};
-}
-
-(function () {
- "use strict";
-
- function f(n) {
- // Format integers to have at least two digits.
- return n < 10 ? '0' + n : n;
- }
-
- if (typeof Date.prototype.toJSON !== 'function') {
-
- Date.prototype.toJSON = function (key) {
-
- return isFinite(this.valueOf()) ?
- this.getUTCFullYear() + '-' +
- f(this.getUTCMonth() + 1) + '-' +
- f(this.getUTCDate()) + 'T' +
- f(this.getUTCHours()) + ':' +
- f(this.getUTCMinutes()) + ':' +
- f(this.getUTCSeconds()) + 'Z' : null;
- };
-
- String.prototype.toJSON =
- Number.prototype.toJSON =
- Boolean.prototype.toJSON = function (key) {
- return this.valueOf();
- };
- }
-
- var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- gap,
- indent,
- meta = { // table of character substitutions
- '\b': '\\b',
- '\t': '\\t',
- '\n': '\\n',
- '\f': '\\f',
- '\r': '\\r',
- '"' : '\\"',
- '\\': '\\\\'
- },
- rep;
-
-
- function quote(string) {
-
-// If the string contains no control characters, no quote characters, and no
-// backslash characters, then we can safely slap some quotes around it.
-// Otherwise we must also replace the offending characters with safe escape
-// sequences.
-
- escapable.lastIndex = 0;
- return escapable.test(string) ?
- '"' + string.replace(escapable, function (a) {
- var c = meta[a];
- return typeof c === 'string' ? c :
- '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
- }) + '"' :
- '"' + string + '"';
- }
-
-
- function str(key, holder) {
-
-// Produce a string from holder[key].
-
- var i, // The loop counter.
- k, // The member key.
- v, // The member value.
- length,
- mind = gap,
- partial,
- value = holder[key];
-
-// If the value has a toJSON method, call it to obtain a replacement value.
-
- if (value && typeof value === 'object' &&
- typeof value.toJSON === 'function') {
- value = value.toJSON(key);
- }
-
-// If we were called with a replacer function, then call the replacer to
-// obtain a replacement value.
-
- if (typeof rep === 'function') {
- value = rep.call(holder, key, value);
- }
-
-// What happens next depends on the value's type.
-
- switch (typeof value) {
- case 'string':
- return quote(value);
-
- case 'number':
-
-// JSON numbers must be finite. Encode non-finite numbers as null.
-
- return isFinite(value) ? String(value) : 'null';
-
- case 'boolean':
- case 'null':
-
-// If the value is a boolean or null, convert it to a string. Note:
-// typeof null does not produce 'null'. The case is included here in
-// the remote chance that this gets fixed someday.
-
- return String(value);
-
-// If the type is 'object', we might be dealing with an object or an array or
-// null.
-
- case 'object':
-
-// Due to a specification blunder in ECMAScript, typeof null is 'object',
-// so watch out for that case.
-
- if (!value) {
- return 'null';
- }
-
-// Make an array to hold the partial results of stringifying this object value.
-
- gap += indent;
- partial = [];
-
-// Is the value an array?
-
- if (Object.prototype.toString.apply(value) === '[object Array]') {
-
-// The value is an array. Stringify every element. Use null as a placeholder
-// for non-JSON values.
-
- length = value.length;
- for (i = 0; i < length; i += 1) {
- partial[i] = str(i, value) || 'null';
- }
-
-// Join all of the elements together, separated with commas, and wrap them in
-// brackets.
-
- v = partial.length === 0 ? '[]' :
- gap ? '[\n' + gap +
- partial.join(',\n' + gap) + '\n' +
- mind + ']' :
- '[' + partial.join(',') + ']';
- gap = mind;
- return v;
- }
-
-// If the replacer is an array, use it to select the members to be stringified.
-
- if (rep && typeof rep === 'object') {
- length = rep.length;
- for (i = 0; i < length; i += 1) {
- k = rep[i];
- if (typeof k === 'string') {
- v = str(k, value);
- if (v) {
- partial.push(quote(k) + (gap ? ': ' : ':') + v);
- }
- }
- }
- } else {
-
-// Otherwise, iterate through all of the keys in the object.
-
- for (k in value) {
- if (Object.hasOwnProperty.call(value, k)) {
- v = str(k, value);
- if (v) {
- partial.push(quote(k) + (gap ? ': ' : ':') + v);
- }
- }
- }
- }
-
-// Join all of the member texts together, separated with commas,
-// and wrap them in braces.
-
- v = partial.length === 0 ? '{}' :
- gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
- mind + '}' : '{' + partial.join(',') + '}';
- gap = mind;
- return v;
- }
- }
-
-// If the JSON object does not yet have a stringify method, give it one.
-
- if (typeof JSON.stringify !== 'function') {
- JSON.stringify = function (value, replacer, space) {
-
-// The stringify method takes a value and an optional replacer, and an optional
-// space parameter, and returns a JSON text. The replacer can be a function
-// that can replace values, or an array of strings that will select the keys.
-// A default replacer method can be provided. Use of the space parameter can
-// produce text that is more easily readable.
-
- var i;
- gap = '';
- indent = '';
-
-// If the space parameter is a number, make an indent string containing that
-// many spaces.
-
- if (typeof space === 'number') {
- for (i = 0; i < space; i += 1) {
- indent += ' ';
- }
-
-// If the space parameter is a string, it will be used as the indent string.
-
- } else if (typeof space === 'string') {
- indent = space;
- }
-
-// If there is a replacer, it must be a function or an array.
-// Otherwise, throw an error.
-
- rep = replacer;
- if (replacer && typeof replacer !== 'function' &&
- (typeof replacer !== 'object' ||
- typeof replacer.length !== 'number')) {
- throw new Error('JSON.stringify');
- }
-
-// Make a fake root object containing our value under the key of ''.
-// Return the result of stringifying the value.
-
- return str('', {'': value});
- };
- }
-
-
-// If the JSON object does not yet have a parse method, give it one.
-
- if (typeof JSON.parse !== 'function') {
- JSON.parse = function (text, reviver) {
-
-// The parse method takes a text and an optional reviver function, and returns
-// a JavaScript value if the text is a valid JSON text.
-
- var j;
-
- function walk(holder, key) {
-
-// The walk method is used to recursively walk the resulting structure so
-// that modifications can be made.
-
- var k, v, value = holder[key];
- if (value && typeof value === 'object') {
- for (k in value) {
- if (Object.hasOwnProperty.call(value, k)) {
- v = walk(value, k);
- if (v !== undefined) {
- value[k] = v;
- } else {
- delete value[k];
- }
- }
- }
- }
- return reviver.call(holder, key, value);
- }
-
-
-// Parsing happens in four stages. In the first stage, we replace certain
-// Unicode characters with escape sequences. JavaScript handles many characters
-// incorrectly, either silently deleting them, or treating them as line endings.
-
- text = String(text);
- cx.lastIndex = 0;
- if (cx.test(text)) {
- text = text.replace(cx, function (a) {
- return '\\u' +
- ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
- });
- }
-
-// In the second stage, we run the text against regular expressions that look
-// for non-JSON patterns. We are especially concerned with '()' and 'new'
-// because they can cause invocation, and '=' because it can cause mutation.
-// But just to be safe, we want to reject all unexpected forms.
-
-// We split the second stage into 4 regexp operations in order to work around
-// crippling inefficiencies in IE's and Safari's regexp engines. First we
-// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
-// replace all simple value tokens with ']' characters. Third, we delete all
-// open brackets that follow a colon or comma or that begin the text. Finally,
-// we look to see that the remaining characters are only whitespace or ']' or
-// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
-
- if (/^[\],:{}\s]*$/
-.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
-.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
-.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
-
-// In the third stage we use the eval function to compile the text into a
-// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
-// in JavaScript: it can begin a block or an object literal. We wrap the text
-// in parens to eliminate the ambiguity.
-
- j = eval('(' + text + ')');
-
-// In the optional fourth stage, we recursively walk the new structure, passing
-// each name/value pair to a reviver function for possible transformation.
-
- return typeof reviver === 'function' ?
- walk({'': j}, '') : j;
- }
-
-// If the text is not JSON parseable, then a SyntaxError is thrown.
-
- throw new SyntaxError('JSON.parse');
- };
- }
-}());
-var assert = this.assert = {};
-var types = {};
-var core = {};
-var nodeunit = {};
-var reporter = {};
-/*global setTimeout: false, console: false */
-(function () {
-
- var async = {};
-
- // global on the server, window in the browser
- var root = this,
- previous_async = root.async;
-
- if (typeof module !== 'undefined' && module.exports) {
- module.exports = async;
- }
- else {
- root.async = async;
- }
-
- async.noConflict = function () {
- root.async = previous_async;
- return async;
- };
-
- //// cross-browser compatiblity functions ////
-
- var _forEach = function (arr, iterator) {
- if (arr.forEach) {
- return arr.forEach(iterator);
- }
- for (var i = 0; i < arr.length; i += 1) {
- iterator(arr[i], i, arr);
- }
- };
-
- var _map = function (arr, iterator) {
- if (arr.map) {
- return arr.map(iterator);
- }
- var results = [];
- _forEach(arr, function (x, i, a) {
- results.push(iterator(x, i, a));
- });
- return results;
- };
-
- var _reduce = function (arr, iterator, memo) {
- if (arr.reduce) {
- return arr.reduce(iterator, memo);
- }
- _forEach(arr, function (x, i, a) {
- memo = iterator(memo, x, i, a);
- });
- return memo;
- };
-
- var _keys = function (obj) {
- if (Object.keys) {
- return Object.keys(obj);
- }
- var keys = [];
- for (var k in obj) {
- if (obj.hasOwnProperty(k)) {
- keys.push(k);
- }
- }
- return keys;
- };
-
- var _indexOf = function (arr, item) {
- if (arr.indexOf) {
- return arr.indexOf(item);
- }
- for (var i = 0; i < arr.length; i += 1) {
- if (arr[i] === item) {
- return i;
- }
- }
- return -1;
- };
-
- //// exported async module functions ////
-
- //// nextTick implementation with browser-compatible fallback ////
- async.nextTick = function (fn) {
- if (typeof process === 'undefined' || !(process.nextTick)) {
- setTimeout(fn, 0);
- }
- else {
- process.nextTick(fn);
- }
- };
-
- async.forEach = function (arr, iterator, callback) {
- if (!arr.length) {
- return callback();
- }
- var completed = 0;
- _forEach(arr, function (x) {
- iterator(x, function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- if (completed === arr.length) {
- callback();
- }
- }
- });
- });
- };
-
- async.forEachSeries = function (arr, iterator, callback) {
- if (!arr.length) {
- return callback();
- }
- var completed = 0;
- var iterate = function () {
- iterator(arr[completed], function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- if (completed === arr.length) {
- callback();
- }
- else {
- iterate();
- }
- }
- });
- };
- iterate();
- };
-
-
- var doParallel = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- return fn.apply(null, [async.forEach].concat(args));
- };
- };
- var doSeries = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- return fn.apply(null, [async.forEachSeries].concat(args));
- };
- };
-
-
- var _asyncMap = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (err, v) {
- results[x.index] = v;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- };
- async.map = doParallel(_asyncMap);
- async.mapSeries = doSeries(_asyncMap);
-
-
- // reduce only has a series version, as doing reduce in parallel won't
- // work in many situations.
- async.reduce = function (arr, memo, iterator, callback) {
- async.forEachSeries(arr, function (x, callback) {
- iterator(memo, x, function (err, v) {
- memo = v;
- callback(err);
- });
- }, function (err) {
- callback(err, memo);
- });
- };
- // inject alias
- async.inject = async.reduce;
- // foldl alias
- async.foldl = async.reduce;
-
- async.reduceRight = function (arr, memo, iterator, callback) {
- var reversed = _map(arr, function (x) {
- return x;
- }).reverse();
- async.reduce(reversed, memo, iterator, callback);
- };
- // foldr alias
- async.foldr = async.reduceRight;
-
- var _filter = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (v) {
- if (v) {
- results.push(x);
- }
- callback();
- });
- }, function (err) {
- callback(_map(results.sort(function (a, b) {
- return a.index - b.index;
- }), function (x) {
- return x.value;
- }));
- });
- };
- async.filter = doParallel(_filter);
- async.filterSeries = doSeries(_filter);
- // select alias
- async.select = async.filter;
- async.selectSeries = async.filterSeries;
-
- var _reject = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (v) {
- if (!v) {
- results.push(x);
- }
- callback();
- });
- }, function (err) {
- callback(_map(results.sort(function (a, b) {
- return a.index - b.index;
- }), function (x) {
- return x.value;
- }));
- });
- };
- async.reject = doParallel(_reject);
- async.rejectSeries = doSeries(_reject);
-
- var _detect = function (eachfn, arr, iterator, main_callback) {
- eachfn(arr, function (x, callback) {
- iterator(x, function (result) {
- if (result) {
- main_callback(x);
- }
- else {
- callback();
- }
- });
- }, function (err) {
- main_callback();
- });
- };
- async.detect = doParallel(_detect);
- async.detectSeries = doSeries(_detect);
-
- async.some = function (arr, iterator, main_callback) {
- async.forEach(arr, function (x, callback) {
- iterator(x, function (v) {
- if (v) {
- main_callback(true);
- main_callback = function () {};
- }
- callback();
- });
- }, function (err) {
- main_callback(false);
- });
- };
- // any alias
- async.any = async.some;
-
- async.every = function (arr, iterator, main_callback) {
- async.forEach(arr, function (x, callback) {
- iterator(x, function (v) {
- if (!v) {
- main_callback(false);
- main_callback = function () {};
- }
- callback();
- });
- }, function (err) {
- main_callback(true);
- });
- };
- // all alias
- async.all = async.every;
-
- async.sortBy = function (arr, iterator, callback) {
- async.map(arr, function (x, callback) {
- iterator(x, function (err, criteria) {
- if (err) {
- callback(err);
- }
- else {
- callback(null, {value: x, criteria: criteria});
- }
- });
- }, function (err, results) {
- if (err) {
- return callback(err);
- }
- else {
- var fn = function (left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- };
- callback(null, _map(results.sort(fn), function (x) {
- return x.value;
- }));
- }
- });
- };
-
- async.auto = function (tasks, callback) {
- callback = callback || function () {};
- var keys = _keys(tasks);
- if (!keys.length) {
- return callback(null);
- }
-
- var completed = [];
-
- var listeners = [];
- var addListener = function (fn) {
- listeners.unshift(fn);
- };
- var removeListener = function (fn) {
- for (var i = 0; i < listeners.length; i += 1) {
- if (listeners[i] === fn) {
- listeners.splice(i, 1);
- return;
- }
- }
- };
- var taskComplete = function () {
- _forEach(listeners, function (fn) {
- fn();
- });
- };
-
- addListener(function () {
- if (completed.length === keys.length) {
- callback(null);
- }
- });
-
- _forEach(keys, function (k) {
- var task = (tasks[k] instanceof Function) ? [tasks[k]]: tasks[k];
- var taskCallback = function (err) {
- if (err) {
- callback(err);
- // stop subsequent errors hitting callback multiple times
- callback = function () {};
- }
- else {
- completed.push(k);
- taskComplete();
- }
- };
- var requires = task.slice(0, Math.abs(task.length - 1)) || [];
- var ready = function () {
- return _reduce(requires, function (a, x) {
- return (a && _indexOf(completed, x) !== -1);
- }, true);
- };
- if (ready()) {
- task[task.length - 1](taskCallback);
- }
- else {
- var listener = function () {
- if (ready()) {
- removeListener(listener);
- task[task.length - 1](taskCallback);
- }
- };
- addListener(listener);
- }
- });
- };
-
- async.waterfall = function (tasks, callback) {
- if (!tasks.length) {
- return callback();
- }
- callback = callback || function () {};
- var wrapIterator = function (iterator) {
- return function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- var args = Array.prototype.slice.call(arguments, 1);
- var next = iterator.next();
- if (next) {
- args.push(wrapIterator(next));
- }
- else {
- args.push(callback);
- }
- async.nextTick(function () {
- iterator.apply(null, args);
- });
- }
- };
- };
- wrapIterator(async.iterator(tasks))();
- };
-
- async.parallel = function (tasks, callback) {
- callback = callback || function () {};
- if (tasks.constructor === Array) {
- async.map(tasks, function (fn, callback) {
- if (fn) {
- fn(function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- callback.call(null, err, args || null);
- });
- }
- }, callback);
- }
- else {
- var results = {};
- async.forEach(_keys(tasks), function (k, callback) {
- tasks[k](function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- }
- };
-
- async.series = function (tasks, callback) {
- callback = callback || function () {};
- if (tasks.constructor === Array) {
- async.mapSeries(tasks, function (fn, callback) {
- if (fn) {
- fn(function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- callback.call(null, err, args || null);
- });
- }
- }, callback);
- }
- else {
- var results = {};
- async.forEachSeries(_keys(tasks), function (k, callback) {
- tasks[k](function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- }
- };
-
- async.iterator = function (tasks) {
- var makeCallback = function (index) {
- var fn = function () {
- if (tasks.length) {
- tasks[index].apply(null, arguments);
- }
- return fn.next();
- };
- fn.next = function () {
- return (index < tasks.length - 1) ? makeCallback(index + 1): null;
- };
- return fn;
- };
- return makeCallback(0);
- };
-
- async.apply = function (fn) {
- var args = Array.prototype.slice.call(arguments, 1);
- return function () {
- return fn.apply(
- null, args.concat(Array.prototype.slice.call(arguments))
- );
- };
- };
-
- var _concat = function (eachfn, arr, fn, callback) {
- var r = [];
- eachfn(arr, function (x, cb) {
- fn(x, function (err, y) {
- r = r.concat(y || []);
- cb(err);
- });
- }, function (err) {
- callback(err, r);
- });
- };
- async.concat = doParallel(_concat);
- async.concatSeries = doSeries(_concat);
-
- async.whilst = function (test, iterator, callback) {
- if (test()) {
- iterator(function (err) {
- if (err) {
- return callback(err);
- }
- async.whilst(test, iterator, callback);
- });
- }
- else {
- callback();
- }
- };
-
- async.until = function (test, iterator, callback) {
- if (!test()) {
- iterator(function (err) {
- if (err) {
- return callback(err);
- }
- async.until(test, iterator, callback);
- });
- }
- else {
- callback();
- }
- };
-
- async.queue = function (worker, concurrency) {
- var workers = 0;
- var tasks = [];
- var q = {
- concurrency: concurrency,
- push: function (data, callback) {
- tasks.push({data: data, callback: callback});
- async.nextTick(q.process);
- },
- process: function () {
- if (workers < q.concurrency && tasks.length) {
- var task = tasks.splice(0, 1)[0];
- workers += 1;
- worker(task.data, function () {
- workers -= 1;
- if (task.callback) {
- task.callback.apply(task, arguments);
- }
- q.process();
- });
- }
- },
- length: function () {
- return tasks.length;
- }
- };
- return q;
- };
-
- var _console_fn = function (name) {
- return function (fn) {
- var args = Array.prototype.slice.call(arguments, 1);
- fn.apply(null, args.concat([function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (typeof console !== 'undefined') {
- if (err) {
- if (console.error) {
- console.error(err);
- }
- }
- else if (console[name]) {
- _forEach(args, function (x) {
- console[name](x);
- });
- }
- }
- }]));
- };
- };
- async.log = _console_fn('log');
- async.dir = _console_fn('dir');
- /*async.info = _console_fn('info');
- async.warn = _console_fn('warn');
- async.error = _console_fn('error');*/
-
-}());
-(function(exports){
-/**
- * This file is based on the node.js assert module, but with some small
- * changes for browser-compatibility
- * THIS FILE SHOULD BE BROWSER-COMPATIBLE JS!
- */
-
-
-/**
- * Added for browser compatibility
- */
-
-var _keys = function(obj){
- if(Object.keys) return Object.keys(obj);
- var keys = [];
- for(var k in obj){
- if(obj.hasOwnProperty(k)) keys.push(k);
- }
- return keys;
-};
-
-
-
-// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
-//
-// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
-//
-// Originally from narwhal.js (http://narwhaljs.org)
-// Copyright (c) 2009 Thomas Robinson <280north.com>
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the 'Software'), to
-// deal in the Software without restriction, including without limitation the
-// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-// sell copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-var pSlice = Array.prototype.slice;
-
-// 1. The assert module provides functions that throw
-// AssertionError's when particular conditions are not met. The
-// assert module must conform to the following interface.
-
-var assert = exports;
-
-// 2. The AssertionError is defined in assert.
-// new assert.AssertionError({message: message, actual: actual, expected: expected})
-
-assert.AssertionError = function AssertionError (options) {
- this.name = "AssertionError";
- this.message = options.message;
- this.actual = options.actual;
- this.expected = options.expected;
- this.operator = options.operator;
- var stackStartFunction = options.stackStartFunction || fail;
-
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, stackStartFunction);
- }
-};
-// code from util.inherits in node
-assert.AssertionError.super_ = Error;
-
-
-// EDITED FOR BROWSER COMPATIBILITY: replaced Object.create call
-// TODO: test what effect this may have
-var ctor = function () { this.constructor = assert.AssertionError; };
-ctor.prototype = Error.prototype;
-assert.AssertionError.prototype = new ctor();
-
-
-assert.AssertionError.prototype.toString = function() {
- if (this.message) {
- return [this.name+":", this.message].join(' ');
- } else {
- return [ this.name+":"
- , JSON.stringify(this.expected )
- , this.operator
- , JSON.stringify(this.actual)
- ].join(" ");
- }
-};
-
-// assert.AssertionError instanceof Error
-
-assert.AssertionError.__proto__ = Error.prototype;
-
-// At present only the three keys mentioned above are used and
-// understood by the spec. Implementations or sub modules can pass
-// other keys to the AssertionError's constructor - they will be
-// ignored.
-
-// 3. All of the following functions must throw an AssertionError
-// when a corresponding condition is not met, with a message that
-// may be undefined if not provided. All assertion methods provide
-// both the actual and expected values to the assertion error for
-// display purposes.
-
-function fail(actual, expected, message, operator, stackStartFunction) {
- throw new assert.AssertionError({
- message: message,
- actual: actual,
- expected: expected,
- operator: operator,
- stackStartFunction: stackStartFunction
- });
-}
-
-// EXTENSION! allows for well behaved errors defined elsewhere.
-assert.fail = fail;
-
-// 4. Pure assertion tests whether a value is truthy, as determined
-// by !!guard.
-// assert.ok(guard, message_opt);
-// This statement is equivalent to assert.equal(true, guard,
-// message_opt);. To test strictly for the value true, use
-// assert.strictEqual(true, guard, message_opt);.
-
-assert.ok = function ok(value, message) {
- if (!!!value) fail(value, true, message, "==", assert.ok);
-};
-
-// 5. The equality assertion tests shallow, coercive equality with
-// ==.
-// assert.equal(actual, expected, message_opt);
-
-assert.equal = function equal(actual, expected, message) {
- if (actual != expected) fail(actual, expected, message, "==", assert.equal);
-};
-
-// 6. The non-equality assertion tests for whether two objects are not equal
-// with != assert.notEqual(actual, expected, message_opt);
-
-assert.notEqual = function notEqual(actual, expected, message) {
- if (actual == expected) {
- fail(actual, expected, message, "!=", assert.notEqual);
- }
-};
-
-// 7. The equivalence assertion tests a deep equality relation.
-// assert.deepEqual(actual, expected, message_opt);
-
-assert.deepEqual = function deepEqual(actual, expected, message) {
- if (!_deepEqual(actual, expected)) {
- fail(actual, expected, message, "deepEqual", assert.deepEqual);
- }
-};
-
-function _deepEqual(actual, expected) {
- // 7.1. All identical values are equivalent, as determined by ===.
- if (actual === expected) {
- return true;
- // 7.2. If the expected value is a Date object, the actual value is
- // equivalent if it is also a Date object that refers to the same time.
- } else if (actual instanceof Date && expected instanceof Date) {
- return actual.getTime() === expected.getTime();
-
- // 7.3. Other pairs that do not both pass typeof value == "object",
- // equivalence is determined by ==.
- } else if (typeof actual != 'object' && typeof expected != 'object') {
- return actual == expected;
-
- // 7.4. For all other Object pairs, including Array objects, equivalence is
- // determined by having the same number of owned properties (as verified
- // with Object.prototype.hasOwnProperty.call), the same set of keys
- // (although not necessarily the same order), equivalent values for every
- // corresponding key, and an identical "prototype" property. Note: this
- // accounts for both named and indexed properties on Arrays.
- } else {
- return objEquiv(actual, expected);
- }
-}
-
-function isUndefinedOrNull (value) {
- return value === null || value === undefined;
-}
-
-function isArguments (object) {
- return Object.prototype.toString.call(object) == '[object Arguments]';
-}
-
-function objEquiv (a, b) {
- if (isUndefinedOrNull(a) || isUndefinedOrNull(b))
- return false;
- // an identical "prototype" property.
- if (a.prototype !== b.prototype) return false;
- //~~~I've managed to break Object.keys through screwy arguments passing.
- // Converting to array solves the problem.
- if (isArguments(a)) {
- if (!isArguments(b)) {
- return false;
- }
- a = pSlice.call(a);
- b = pSlice.call(b);
- return _deepEqual(a, b);
- }
- try{
- var ka = _keys(a),
- kb = _keys(b),
- key, i;
- } catch (e) {//happens when one is a string literal and the other isn't
- return false;
- }
- // having the same number of owned properties (keys incorporates hasOwnProperty)
- if (ka.length != kb.length)
- return false;
- //the same set of keys (although not necessarily the same order),
- ka.sort();
- kb.sort();
- //~~~cheap key test
- for (i = ka.length - 1; i >= 0; i--) {
- if (ka[i] != kb[i])
- return false;
- }
- //equivalent values for every corresponding key, and
- //~~~possibly expensive deep test
- for (i = ka.length - 1; i >= 0; i--) {
- key = ka[i];
- if (!_deepEqual(a[key], b[key] ))
- return false;
- }
- return true;
-}
-
-// 8. The non-equivalence assertion tests for any deep inequality.
-// assert.notDeepEqual(actual, expected, message_opt);
-
-assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
- if (_deepEqual(actual, expected)) {
- fail(actual, expected, message, "notDeepEqual", assert.notDeepEqual);
- }
-};
-
-// 9. The strict equality assertion tests strict equality, as determined by ===.
-// assert.strictEqual(actual, expected, message_opt);
-
-assert.strictEqual = function strictEqual(actual, expected, message) {
- if (actual !== expected) {
- fail(actual, expected, message, "===", assert.strictEqual);
- }
-};
-
-// 10. The strict non-equality assertion tests for strict inequality, as determined by !==.
-// assert.notStrictEqual(actual, expected, message_opt);
-
-assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
- if (actual === expected) {
- fail(actual, expected, message, "!==", assert.notStrictEqual);
- }
-};
-
-function _throws (shouldThrow, block, err, message) {
- var exception = null,
- threw = false,
- typematters = true;
-
- message = message || "";
-
- //handle optional arguments
- if (arguments.length == 3) {
- if (typeof(err) == "string") {
- message = err;
- typematters = false;
- }
- } else if (arguments.length == 2) {
- typematters = false;
- }
-
- try {
- block();
- } catch (e) {
- threw = true;
- exception = e;
- }
-
- if (shouldThrow && !threw) {
- fail( "Missing expected exception"
- + (err && err.name ? " ("+err.name+")." : '.')
- + (message ? " " + message : "")
- );
- }
- if (!shouldThrow && threw && typematters && exception instanceof err) {
- fail( "Got unwanted exception"
- + (err && err.name ? " ("+err.name+")." : '.')
- + (message ? " " + message : "")
- );
- }
- if ((shouldThrow && threw && typematters && !(exception instanceof err)) ||
- (!shouldThrow && threw)) {
- throw exception;
- }
-};
-
-// 11. Expected to throw an error:
-// assert.throws(block, Error_opt, message_opt);
-
-assert.throws = function(block, /*optional*/error, /*optional*/message) {
- _throws.apply(this, [true].concat(pSlice.call(arguments)));
-};
-
-// EXTENSION! This is annoying to write outside this module.
-assert.doesNotThrow = function(block, /*optional*/error, /*optional*/message) {
- _throws.apply(this, [false].concat(pSlice.call(arguments)));
-};
-
-assert.ifError = function (err) { if (err) {throw err;}};
-})(assert);
-(function(exports){
-/*!
- * Nodeunit
- * Copyright (c) 2010 Caolan McMahon
- * MIT Licensed
- *
- * THIS FILE SHOULD BE BROWSER-COMPATIBLE JS!
- * Only code on that line will be removed, its mostly to avoid requiring code
- * that is node specific
- */
-
-/**
- * Module dependencies
- */
-
-
-
-/**
- * Creates assertion objects representing the result of an assert call.
- * Accepts an object or AssertionError as its argument.
- *
- * @param {object} obj
- * @api public
- */
-
-exports.assertion = function (obj) {
- return {
- method: obj.method || '',
- message: obj.message || (obj.error && obj.error.message) || '',
- error: obj.error,
- passed: function () {
- return !this.error;
- },
- failed: function () {
- return Boolean(this.error);
- }
- };
-};
-
-/**
- * Creates an assertion list object representing a group of assertions.
- * Accepts an array of assertion objects.
- *
- * @param {Array} arr
- * @param {Number} duration
- * @api public
- */
-
-exports.assertionList = function (arr, duration) {
- var that = arr || [];
- that.failures = function () {
- var failures = 0;
- for (var i=0; i<this.length; i++) {
- if (this[i].failed()) failures++;
- }
- return failures;
- };
- that.passes = function () {
- return that.length - that.failures();
- };
- that.duration = duration || 0;
- return that;
-};
-
-/**
- * Create a wrapper function for assert module methods. Executes a callback
- * after the it's complete with an assertion object representing the result.
- *
- * @param {Function} callback
- * @api private
- */
-
-var assertWrapper = function (callback) {
- return function (new_method, assert_method, arity) {
- return function () {
- var message = arguments[arity-1];
- var a = exports.assertion({method: new_method, message: message});
- try {
- assert[assert_method].apply(null, arguments);
- }
- catch (e) {
- a.error = e;
- }
- callback(a);
- };
- };
-};
-
-/**
- * Creates the 'test' object that gets passed to every test function.
- * Accepts the name of the test function as its first argument, followed by
- * the start time in ms, the options object and a callback function.
- *
- * @param {String} name
- * @param {Number} start
- * @param {Object} options
- * @param {Function} callback
- * @api public
- */
-
-exports.test = function (name, start, options, callback) {
- var expecting;
- var a_list = [];
-
- var wrapAssert = assertWrapper(function (a) {
- a_list.push(a);
- if (options.log) {
- async.nextTick(function () {
- options.log(a);
- });
- }
- });
-
- var test = {
- done: function (err) {
- if (expecting !== undefined && expecting !== a_list.length) {
- var e = new Error(
- 'Expected ' + expecting + ' assertions, ' +
- a_list.length + ' ran'
- );
- var a1 = exports.assertion({method: 'expect', error: e});
- a_list.push(a1);
- if (options.log) {
- async.nextTick(function () {
- options.log(a1);
- });
- }
- }
- if (err) {
- var a2 = exports.assertion({error: err});
- a_list.push(a2);
- if (options.log) {
- async.nextTick(function () {
- options.log(a2);
- });
- }
- }
- var end = new Date().getTime();
- async.nextTick(function () {
- var assertion_list = exports.assertionList(a_list, end - start);
- options.testDone(name, assertion_list);
- callback(null, a_list);
- });
- },
- ok: wrapAssert('ok', 'ok', 2),
- same: wrapAssert('same', 'deepEqual', 3),
- equals: wrapAssert('equals', 'equal', 3),
- expect: function (num) {
- expecting = num;
- },
- _assertion_list: a_list
- };
- // add all functions from the assert module
- for (var k in assert) {
- if (assert.hasOwnProperty(k)) {
- test[k] = wrapAssert(k, k, assert[k].length);
- }
- }
- return test;
-};
-
-/**
- * Ensures an options object has all callbacks, adding empty callback functions
- * if any are missing.
- *
- * @param {Object} opt
- * @return {Object}
- * @api public
- */
-
-exports.options = function (opt) {
- var optionalCallback = function (name) {
- opt[name] = opt[name] || function () {};
- };
-
- optionalCallback('moduleStart');
- optionalCallback('moduleDone');
- optionalCallback('testStart');
- optionalCallback('testDone');
- //optionalCallback('log');
-
- // 'done' callback is not optional.
-
- return opt;
-};
-})(types);
-(function(exports){
-/*!
- * Nodeunit
- * Copyright (c) 2010 Caolan McMahon
- * MIT Licensed
- *
- * THIS FILE SHOULD BE BROWSER-COMPATIBLE JS!
- * Only code on that line will be removed, its mostly to avoid requiring code
- * that is node specific
- */
-
-/**
- * Module dependencies
- */
-
-
-
-/**
- * Added for browser compatibility
- */
-
-var _keys = function(obj){
- if(Object.keys) return Object.keys(obj);
- var keys = [];
- for(var k in obj){
- if(obj.hasOwnProperty(k)) keys.push(k);
- }
- return keys;
-};
-
-
-/**
- * Runs a test function (fn) from a loaded module. After the test function
- * calls test.done(), the callback is executed with an assertionList as its
- * second argument.
- *
- * @param {String} name
- * @param {Function} fn
- * @param {Object} opt
- * @param {Function} callback
- * @api public
- */
-
-exports.runTest = function (name, fn, opt, callback) {
- var options = types.options(opt);
-
- options.testStart(name);
- var start = new Date().getTime();
- var test = types.test(name, start, options, callback);
-
- try {
- fn(test);
- }
- catch (e) {
- test.done(e);
- }
-};
-
-/**
- * Takes an object containing test functions or other test suites as properties
- * and runs each in series. After all tests have completed, the callback is
- * called with a list of all assertions as the second argument.
- *
- * If a name is passed to this function it is prepended to all test and suite
- * names that run within it.
- *
- * @param {String} name
- * @param {Object} suite
- * @param {Object} opt
- * @param {Function} callback
- * @api public
- */
-
-exports.runSuite = function (name, suite, opt, callback) {
- var keys = _keys(suite);
-
- async.concatSeries(keys, function (k, cb) {
- var prop = suite[k], _name;
-
- _name = name ? [].concat(name, k) : [k];
-
- _name.toString = function () {
- // fallback for old one
- return this.join(' - ');
- };
-
- if (typeof prop === 'function') {
- exports.runTest(_name, suite[k], opt, cb);
- }
- else {
- exports.runSuite(_name, suite[k], opt, cb);
- }
- }, callback);
-};
-
-/**
- * Run each exported test function or test suite from a loaded module.
- *
- * @param {String} name
- * @param {Object} mod
- * @param {Object} opt
- * @param {Function} callback
- * @api public
- */
-
-exports.runModule = function (name, mod, opt, callback) {
- var options = types.options(opt);
-
- options.moduleStart(name);
- var start = new Date().getTime();
-
- exports.runSuite(null, mod, opt, function (err, a_list) {
- var end = new Date().getTime();
- var assertion_list = types.assertionList(a_list, end - start);
- options.moduleDone(name, assertion_list);
- callback(null, a_list);
- });
-};
-
-/**
- * Treats an object literal as a list of modules keyed by name. Runs each
- * module and finished with calling 'done'. You can think of this as a browser
- * safe alternative to runFiles in the nodeunit module.
- *
- * @param {Object} modules
- * @param {Object} opt
- * @api public
- */
-
-// TODO: add proper unit tests for this function
-exports.runModules = function (modules, opt) {
- var all_assertions = [];
- var options = types.options(opt);
- var start = new Date().getTime();
-
- async.concatSeries(_keys(modules), function (k, cb) {
- exports.runModule(k, modules[k], options, cb);
- },
- function (err, all_assertions) {
- var end = new Date().getTime();
- options.done(types.assertionList(all_assertions, end - start));
- });
-};
-
-
-/**
- * Wraps a test function with setUp and tearDown functions.
- * Used by testCase.
- *
- * @param {Function} setUp
- * @param {Function} tearDown
- * @param {Function} fn
- * @api private
- */
-
-var wrapTest = function (setUp, tearDown, fn) {
- return function (test) {
- var context = {};
- if (tearDown) {
- var done = test.done;
- test.done = function (err) {
- try {
- tearDown.call(context, function (err2) {
- if (err && err2) {
- test._assertion_list.push(
- types.assertion({error: err})
- );
- return done(err2);
- }
- done(err || err2);
- });
- }
- catch (e) {
- done(e);
- }
- };
- }
- if (setUp) {
- setUp.call(context, function (err) {
- if (err) {
- return test.done(err);
- }
- fn.call(context, test);
- });
- }
- else {
- fn.call(context, test);
- }
- }
-};
-
-
-/**
- * Wraps a group of tests with setUp and tearDown functions.
- * Used by testCase.
- *
- * @param {Function} setUp
- * @param {Function} tearDown
- * @param {Object} group
- * @api private
- */
-
-var wrapGroup = function (setUp, tearDown, group) {
- var tests = {};
- var keys = _keys(group);
- for (var i=0; i<keys.length; i++) {
- var k = keys[i];
- if (typeof group[k] === 'function') {
- tests[k] = wrapTest(setUp, tearDown, group[k]);
- }
- else if (typeof group[k] === 'object') {
- tests[k] = wrapGroup(setUp, tearDown, group[k]);
- }
- }
- return tests;
-}
-
-
-/**
- * Utility for wrapping a suite of test functions with setUp and tearDown
- * functions.
- *
- * @param {Object} suite
- * @return {Object}
- * @api public
- */
-
-exports.testCase = function (suite) {
- var setUp = suite.setUp;
- var tearDown = suite.tearDown;
- delete suite.setUp;
- delete suite.tearDown;
- return wrapGroup(setUp, tearDown, suite);
-};
-})(core);
-(function(exports){
-/*!
- * Nodeunit
- * Copyright (c) 2010 Caolan McMahon
- * MIT Licensed
- *
- * THIS FILE SHOULD BE BROWSER-COMPATIBLE JS!
- * Only code on that line will be removed, its mostly to avoid requiring code
- * that is node specific
- */
-
-
-/**
- * NOTE: this test runner is not listed in index.js because it cannot be
- * used with the command-line tool, only inside the browser.
- */
-
-
-/**
- * Reporter info string
- */
-
-exports.info = "Browser-based test reporter";
-
-
-/**
- * Run all tests within each module, reporting the results
- *
- * @param {Array} files
- * @api public
- */
-
-exports.run = function (modules, options) {
- var start = new Date().getTime();
-
- function setText(el, txt) {
- if ('innerText' in el) {
- el.innerText = txt;
- }
- else if ('textContent' in el){
- el.textContent = txt;
- }
- }
-
- function getOrCreate(tag, id) {
- var el = document.getElementById(id);
- if (!el) {
- el = document.createElement(tag);
- el.id = id;
- document.body.appendChild(el);
- }
- return el;
- };
-
- var header = getOrCreate('h1', 'nodeunit-header');
- var banner = getOrCreate('h2', 'nodeunit-banner');
- var userAgent = getOrCreate('h2', 'nodeunit-userAgent');
- var tests = getOrCreate('ol', 'nodeunit-tests');
- var result = getOrCreate('p', 'nodeunit-testresult');
-
- setText(userAgent, navigator.userAgent);
-
- nodeunit.runModules(modules, {
- moduleStart: function (name) {
- /*var mheading = document.createElement('h2');
- mheading.innerText = name;
- results.appendChild(mheading);
- module = document.createElement('ol');
- results.appendChild(module);*/
- },
- testDone: function (name, assertions) {
- var test = document.createElement('li');
- var strong = document.createElement('strong');
- strong.innerHTML = name + ' <b style="color: black;">(' +
- '<b class="fail">' + assertions.failures() + '</b>, ' +
- '<b class="pass">' + assertions.passes() + '</b>, ' +
- assertions.length +
- ')</b>';
- test.className = assertions.failures() ? 'fail': 'pass';
- test.appendChild(strong);
-
- var aList = document.createElement('ol');
- aList.style.display = 'none';
- test.onclick = function () {
- var d = aList.style.display;
- aList.style.display = (d == 'none') ? 'block': 'none';
- };
- for (var i=0; i<assertions.length; i++) {
- var li = document.createElement('li');
- var a = assertions[i];
- if (a.failed()) {
- li.innerHTML = (a.message || a.method || 'no message') +
- '<pre>' + (a.error.stack || a.error) + '</pre>';
- li.className = 'fail';
- }
- else {
- li.innerHTML = a.message || a.method || 'no message';
- li.className = 'pass';
- }
- aList.appendChild(li);
- }
- test.appendChild(aList);
- tests.appendChild(test);
- },
- done: function (assertions) {
- var end = new Date().getTime();
- var duration = end - start;
-
- var failures = assertions.failures();
- banner.className = failures ? 'fail': 'pass';
-
- result.innerHTML = 'Tests completed in ' + duration +
- ' milliseconds.<br/><span class="passed">' +
- assertions.passes() + '</span> assertions of ' +
- '<span class="all">' + assertions.length + '<span> passed, ' +
- assertions.failures() + ' failed.';
- }
- });
-};
-})(reporter);
-nodeunit = core;
-nodeunit.assert = assert;
-nodeunit.reporter = reporter;
-nodeunit.run = reporter.run;
-return nodeunit; })();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/dist/async.min.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/dist/async.min.js
deleted file mode 100644
index f89741e36..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/dist/async.min.js
+++ /dev/null
@@ -1 +0,0 @@
-/*global setTimeout: false, console: false */(function(){var a={};var b=this,c=b.async;typeof module!=="undefined"&&module.exports?module.exports=a:b.async=a,a.noConflict=function(){b.async=c;return a};var d=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c+=1)b(a[c],c,a)};var e=function(a,b){if(a.map)return a.map(b);var c=[];d(a,function(a,d,e){c.push(b(a,d,e))});return c};var f=function(a,b,c){if(a.reduce)return a.reduce(b,c);d(a,function(a,d,e){c=b(c,a,d,e)});return c};var g=function(a){if(Object.keys)return Object.keys(a);var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b};var h=function(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0;c<a.length;c+=1)if(a[c]===b)return c;return-1};typeof process==="undefined"||!process.nextTick?a.nextTick=function(a){setTimeout(a,0)}:a.nextTick=process.nextTick,a.forEach=function(a,b,c){if(!a.length)return c();var e=0;d(a,function(d){b(d,function(b){b?(c(b),c=function(){}):(e+=1,e===a.length&&c())})})},a.forEachSeries=function(a,b,c){if(!a.length)return c();var d=0;var e=function(){b(a[d],function(b){b?(c(b),c=function(){}):(d+=1,d===a.length?c():e())})};e()};var i=function(b){return function(){var c=Array.prototype.slice.call(arguments);return b.apply(null,[a.forEach].concat(c))}};var j=function(b){return function(){var c=Array.prototype.slice.call(arguments);return b.apply(null,[a.forEachSeries].concat(c))}};var k=function(a,b,c,d){var f=[];b=e(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c,d){f[a.index]=d,b(c)})},function(a){d(a,f)})};a.map=i(k),a.mapSeries=j(k),a.reduce=function(b,c,d,e){a.forEachSeries(b,function(a,b){d(c,a,function(a,d){c=d,b(a)})},function(a){e(a,c)})},a.inject=a.reduce,a.foldl=a.reduce,a.reduceRight=function(b,c,d,f){var g=e(b,function(a){return a}).reverse();a.reduce(g,c,d,f)},a.foldr=a.reduceRight;var l=function(a,b,c,d){var f=[];b=e(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c&&f.push(a),b()})},function(a){d(e(f.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};a.filter=i(l),a.filterSeries=j(l),a.select=a.filter,a.selectSeries=a.filterSeries;var m=function(a,b,c,d){var f=[];b=e(b,function(a,b){return{index:b,value:a}}),a(b,function(a,b){c(a.value,function(c){c||f.push(a),b()})},function(a){d(e(f.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})};a.reject=i(m),a.rejectSeries=j(m);var n=function(a,b,c,d){a(b,function(a,b){c(a,function(c){c?d(a):b()})},function(a){d()})};a.detect=i(n),a.detectSeries=j(n),a.some=function(b,c,d){a.forEach(b,function(a,b){c(a,function(a){a&&(d(true),d=function(){}),b()})},function(a){d(false)})},a.any=a.some,a.every=function(b,c,d){a.forEach(b,function(a,b){c(a,function(a){a||(d(false),d=function(){}),b()})},function(a){d(true)})},a.all=a.every,a.sortBy=function(b,c,d){a.map(b,function(a,b){c(a,function(c,d){c?b(c):b(null,{value:a,criteria:d})})},function(a,b){if(a)return d(a);var c=function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0};d(null,e(b.sort(c),function(a){return a.value}))})},a.auto=function(a,b){b=b||function(){};var c=g(a);if(!c.length)return b(null);var e=[];var i=[];var j=function(a){i.unshift(a)};var k=function(a){for(var b=0;b<i.length;b+=1)if(i[b]===a){i.splice(b,1);return}};var l=function(){d(i,function(a){a()})};j(function(){e.length===c.length&&b(null)}),d(c,function(c){var d=a[c]instanceof Function?[a[c]]:a[c];var g=function(a){a?(b(a),b=function(){}):(e.push(c),l())};var i=d.slice(0,Math.abs(d.length-1))||[];var m=function(){return f(i,function(a,b){return a&&h(e,b)!==-1},true)};if(m())d[d.length-1](g);else{var n=function(){m()&&(k(n),d[d.length-1](g))};j(n)}})},a.waterfall=function(b,c){if(!b.length)return c();c=c||function(){};var d=function(b){return function(e){if(e)c(e),c=function(){};else{var f=Array.prototype.slice.call(arguments,1);var g=b.next();g?f.push(d(g)):f.push(c),a.nextTick(function(){b.apply(null,f)})}}};d(a.iterator(b))()},a.parallel=function(b,c){c=c||function(){};if(b.constructor===Array)a.map(b,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},c);else{var d={};a.forEach(g(b),function(a,c){b[a](function(b){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),d[a]=e,c(b)})},function(a){c(a,d)})}},a.series=function(b,c){c=c||function(){};if(b.constructor===Array)a.mapSeries(b,function(a,b){a&&a(function(a){var c=Array.prototype.slice.call(arguments,1);c.length<=1&&(c=c[0]),b.call(null,a,c)})},c);else{var d={};a.forEachSeries(g(b),function(a,c){b[a](function(b){var e=Array.prototype.slice.call(arguments,1);e.length<=1&&(e=e[0]),d[a]=e,c(b)})},function(a){c(a,d)})}},a.iterator=function(a){var b=function(c){var d=function(){a.length&&a[c].apply(null,arguments);return d.next()};d.next=function(){return c<a.length-1?b(c+1):null};return d};return b(0)},a.apply=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b.concat(Array.prototype.slice.call(arguments)))}};var o=function(a,b,c,d){var e=[];a(b,function(a,b){c(a,function(a,c){e=e.concat(c||[]),b(a)})},function(a){d(a,e)})};a.concat=i(o),a.concatSeries=j(o),a.whilst=function(b,c,d){b()?c(function(e){if(e)return d(e);a.whilst(b,c,d)}):d()},a.until=function(b,c,d){b()?d():c(function(e){if(e)return d(e);a.until(b,c,d)})},a.queue=function(b,c){var d=0;var e=[];var f={concurrency:c,saturated:null,empty:null,drain:null,push:function(b,d){e.push({data:b,callback:d}),f.saturated&&e.length==c&&f.saturated(),a.nextTick(f.process)},process:function(){if(d<f.concurrency&&e.length){var a=e.splice(0,1)[0];f.empty&&e.length==0&&f.empty(),d+=1,b(a.data,function(){d-=1,a.callback&&a.callback.apply(a,arguments),f.drain&&e.length+d==0&&f.drain(),f.process()})}},length:function(){return e.length},running:function(){return d}};return f};var p=function(a){return function(b){var c=Array.prototype.slice.call(arguments,1);b.apply(null,c.concat([function(b){var c=Array.prototype.slice.call(arguments,1);typeof console!=="undefined"&&(b?console.error&&console.error(b):console[a]&&d(c,function(b){console[a](b)}))}]))}};a.log=p("log"),a.dir=p("dir"),a.memoize=function(a,b){var c={};b=b||function(a){return a};return function(){var d=Array.prototype.slice.call(arguments);var e=d.pop();var f=b.apply(null,d);f in c?e.apply(null,c[f]):a.apply(null,d.concat([function(){c[f]=arguments,e.apply(null,arguments)}]))}}})() \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/index.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/index.js
deleted file mode 100644
index 8e238453e..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is just added for convenience so this repository can be
-// directly checked out into a project's deps folder
-module.exports = require('./lib/async');
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js
deleted file mode 100644
index 8c863ac85..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js
+++ /dev/null
@@ -1,632 +0,0 @@
-/*global setTimeout: false, console: false */
-(function () {
-
- var async = {};
-
- // global on the server, window in the browser
- var root = this,
- previous_async = root.async;
-
- if (typeof module !== 'undefined' && module.exports) {
- module.exports = async;
- }
- else {
- root.async = async;
- }
-
- async.noConflict = function () {
- root.async = previous_async;
- return async;
- };
-
- //// cross-browser compatiblity functions ////
-
- var _forEach = function (arr, iterator) {
- if (arr.forEach) {
- return arr.forEach(iterator);
- }
- for (var i = 0; i < arr.length; i += 1) {
- iterator(arr[i], i, arr);
- }
- };
-
- var _map = function (arr, iterator) {
- if (arr.map) {
- return arr.map(iterator);
- }
- var results = [];
- _forEach(arr, function (x, i, a) {
- results.push(iterator(x, i, a));
- });
- return results;
- };
-
- var _reduce = function (arr, iterator, memo) {
- if (arr.reduce) {
- return arr.reduce(iterator, memo);
- }
- _forEach(arr, function (x, i, a) {
- memo = iterator(memo, x, i, a);
- });
- return memo;
- };
-
- var _keys = function (obj) {
- if (Object.keys) {
- return Object.keys(obj);
- }
- var keys = [];
- for (var k in obj) {
- if (obj.hasOwnProperty(k)) {
- keys.push(k);
- }
- }
- return keys;
- };
-
- var _indexOf = function (arr, item) {
- if (arr.indexOf) {
- return arr.indexOf(item);
- }
- for (var i = 0; i < arr.length; i += 1) {
- if (arr[i] === item) {
- return i;
- }
- }
- return -1;
- };
-
- //// exported async module functions ////
-
- //// nextTick implementation with browser-compatible fallback ////
- if (typeof process === 'undefined' || !(process.nextTick)) {
- async.nextTick = function (fn) {
- setTimeout(fn, 0);
- };
- }
- else {
- async.nextTick = process.nextTick;
- }
-
- async.forEach = function (arr, iterator, callback) {
- if (!arr.length) {
- return callback();
- }
- var completed = 0;
- _forEach(arr, function (x) {
- iterator(x, function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- if (completed === arr.length) {
- callback();
- }
- }
- });
- });
- };
-
- async.forEachSeries = function (arr, iterator, callback) {
- if (!arr.length) {
- return callback();
- }
- var completed = 0;
- var iterate = function () {
- iterator(arr[completed], function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- completed += 1;
- if (completed === arr.length) {
- callback();
- }
- else {
- iterate();
- }
- }
- });
- };
- iterate();
- };
-
-
- var doParallel = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- return fn.apply(null, [async.forEach].concat(args));
- };
- };
- var doSeries = function (fn) {
- return function () {
- var args = Array.prototype.slice.call(arguments);
- return fn.apply(null, [async.forEachSeries].concat(args));
- };
- };
-
-
- var _asyncMap = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (err, v) {
- results[x.index] = v;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- };
- async.map = doParallel(_asyncMap);
- async.mapSeries = doSeries(_asyncMap);
-
-
- // reduce only has a series version, as doing reduce in parallel won't
- // work in many situations.
- async.reduce = function (arr, memo, iterator, callback) {
- async.forEachSeries(arr, function (x, callback) {
- iterator(memo, x, function (err, v) {
- memo = v;
- callback(err);
- });
- }, function (err) {
- callback(err, memo);
- });
- };
- // inject alias
- async.inject = async.reduce;
- // foldl alias
- async.foldl = async.reduce;
-
- async.reduceRight = function (arr, memo, iterator, callback) {
- var reversed = _map(arr, function (x) {
- return x;
- }).reverse();
- async.reduce(reversed, memo, iterator, callback);
- };
- // foldr alias
- async.foldr = async.reduceRight;
-
- var _filter = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (v) {
- if (v) {
- results.push(x);
- }
- callback();
- });
- }, function (err) {
- callback(_map(results.sort(function (a, b) {
- return a.index - b.index;
- }), function (x) {
- return x.value;
- }));
- });
- };
- async.filter = doParallel(_filter);
- async.filterSeries = doSeries(_filter);
- // select alias
- async.select = async.filter;
- async.selectSeries = async.filterSeries;
-
- var _reject = function (eachfn, arr, iterator, callback) {
- var results = [];
- arr = _map(arr, function (x, i) {
- return {index: i, value: x};
- });
- eachfn(arr, function (x, callback) {
- iterator(x.value, function (v) {
- if (!v) {
- results.push(x);
- }
- callback();
- });
- }, function (err) {
- callback(_map(results.sort(function (a, b) {
- return a.index - b.index;
- }), function (x) {
- return x.value;
- }));
- });
- };
- async.reject = doParallel(_reject);
- async.rejectSeries = doSeries(_reject);
-
- var _detect = function (eachfn, arr, iterator, main_callback) {
- eachfn(arr, function (x, callback) {
- iterator(x, function (result) {
- if (result) {
- main_callback(x);
- }
- else {
- callback();
- }
- });
- }, function (err) {
- main_callback();
- });
- };
- async.detect = doParallel(_detect);
- async.detectSeries = doSeries(_detect);
-
- async.some = function (arr, iterator, main_callback) {
- async.forEach(arr, function (x, callback) {
- iterator(x, function (v) {
- if (v) {
- main_callback(true);
- main_callback = function () {};
- }
- callback();
- });
- }, function (err) {
- main_callback(false);
- });
- };
- // any alias
- async.any = async.some;
-
- async.every = function (arr, iterator, main_callback) {
- async.forEach(arr, function (x, callback) {
- iterator(x, function (v) {
- if (!v) {
- main_callback(false);
- main_callback = function () {};
- }
- callback();
- });
- }, function (err) {
- main_callback(true);
- });
- };
- // all alias
- async.all = async.every;
-
- async.sortBy = function (arr, iterator, callback) {
- async.map(arr, function (x, callback) {
- iterator(x, function (err, criteria) {
- if (err) {
- callback(err);
- }
- else {
- callback(null, {value: x, criteria: criteria});
- }
- });
- }, function (err, results) {
- if (err) {
- return callback(err);
- }
- else {
- var fn = function (left, right) {
- var a = left.criteria, b = right.criteria;
- return a < b ? -1 : a > b ? 1 : 0;
- };
- callback(null, _map(results.sort(fn), function (x) {
- return x.value;
- }));
- }
- });
- };
-
- async.auto = function (tasks, callback) {
- callback = callback || function () {};
- var keys = _keys(tasks);
- if (!keys.length) {
- return callback(null);
- }
-
- var completed = [];
-
- var listeners = [];
- var addListener = function (fn) {
- listeners.unshift(fn);
- };
- var removeListener = function (fn) {
- for (var i = 0; i < listeners.length; i += 1) {
- if (listeners[i] === fn) {
- listeners.splice(i, 1);
- return;
- }
- }
- };
- var taskComplete = function () {
- _forEach(listeners, function (fn) {
- fn();
- });
- };
-
- addListener(function () {
- if (completed.length === keys.length) {
- callback(null);
- }
- });
-
- _forEach(keys, function (k) {
- var task = (tasks[k] instanceof Function) ? [tasks[k]]: tasks[k];
- var taskCallback = function (err) {
- if (err) {
- callback(err);
- // stop subsequent errors hitting callback multiple times
- callback = function () {};
- }
- else {
- completed.push(k);
- taskComplete();
- }
- };
- var requires = task.slice(0, Math.abs(task.length - 1)) || [];
- var ready = function () {
- return _reduce(requires, function (a, x) {
- return (a && _indexOf(completed, x) !== -1);
- }, true);
- };
- if (ready()) {
- task[task.length - 1](taskCallback);
- }
- else {
- var listener = function () {
- if (ready()) {
- removeListener(listener);
- task[task.length - 1](taskCallback);
- }
- };
- addListener(listener);
- }
- });
- };
-
- async.waterfall = function (tasks, callback) {
- if (!tasks.length) {
- return callback();
- }
- callback = callback || function () {};
- var wrapIterator = function (iterator) {
- return function (err) {
- if (err) {
- callback(err);
- callback = function () {};
- }
- else {
- var args = Array.prototype.slice.call(arguments, 1);
- var next = iterator.next();
- if (next) {
- args.push(wrapIterator(next));
- }
- else {
- args.push(callback);
- }
- async.nextTick(function () {
- iterator.apply(null, args);
- });
- }
- };
- };
- wrapIterator(async.iterator(tasks))();
- };
-
- async.parallel = function (tasks, callback) {
- callback = callback || function () {};
- if (tasks.constructor === Array) {
- async.map(tasks, function (fn, callback) {
- if (fn) {
- fn(function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- callback.call(null, err, args);
- });
- }
- }, callback);
- }
- else {
- var results = {};
- async.forEach(_keys(tasks), function (k, callback) {
- tasks[k](function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- }
- };
-
- async.series = function (tasks, callback) {
- callback = callback || function () {};
- if (tasks.constructor === Array) {
- async.mapSeries(tasks, function (fn, callback) {
- if (fn) {
- fn(function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- callback.call(null, err, args);
- });
- }
- }, callback);
- }
- else {
- var results = {};
- async.forEachSeries(_keys(tasks), function (k, callback) {
- tasks[k](function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (args.length <= 1) {
- args = args[0];
- }
- results[k] = args;
- callback(err);
- });
- }, function (err) {
- callback(err, results);
- });
- }
- };
-
- async.iterator = function (tasks) {
- var makeCallback = function (index) {
- var fn = function () {
- if (tasks.length) {
- tasks[index].apply(null, arguments);
- }
- return fn.next();
- };
- fn.next = function () {
- return (index < tasks.length - 1) ? makeCallback(index + 1): null;
- };
- return fn;
- };
- return makeCallback(0);
- };
-
- async.apply = function (fn) {
- var args = Array.prototype.slice.call(arguments, 1);
- return function () {
- return fn.apply(
- null, args.concat(Array.prototype.slice.call(arguments))
- );
- };
- };
-
- var _concat = function (eachfn, arr, fn, callback) {
- var r = [];
- eachfn(arr, function (x, cb) {
- fn(x, function (err, y) {
- r = r.concat(y || []);
- cb(err);
- });
- }, function (err) {
- callback(err, r);
- });
- };
- async.concat = doParallel(_concat);
- async.concatSeries = doSeries(_concat);
-
- async.whilst = function (test, iterator, callback) {
- if (test()) {
- iterator(function (err) {
- if (err) {
- return callback(err);
- }
- async.whilst(test, iterator, callback);
- });
- }
- else {
- callback();
- }
- };
-
- async.until = function (test, iterator, callback) {
- if (!test()) {
- iterator(function (err) {
- if (err) {
- return callback(err);
- }
- async.until(test, iterator, callback);
- });
- }
- else {
- callback();
- }
- };
-
- async.queue = function (worker, concurrency) {
- var workers = 0;
- var tasks = [];
- var q = {
- concurrency: concurrency,
- saturated: null,
- empty: null,
- drain: null,
- push: function (data, callback) {
- tasks.push({data: data, callback: callback});
- if(q.saturated && tasks.length == concurrency) q.saturated();
- async.nextTick(q.process);
- },
- process: function () {
- if (workers < q.concurrency && tasks.length) {
- var task = tasks.splice(0, 1)[0];
- if(q.empty && tasks.length == 0) q.empty();
- workers += 1;
- worker(task.data, function () {
- workers -= 1;
- if (task.callback) {
- task.callback.apply(task, arguments);
- }
- if(q.drain && tasks.length + workers == 0) q.drain();
- q.process();
- });
- }
- },
- length: function () {
- return tasks.length;
- },
- running: function () {
- return workers;
- }
- };
- return q;
- };
-
- var _console_fn = function (name) {
- return function (fn) {
- var args = Array.prototype.slice.call(arguments, 1);
- fn.apply(null, args.concat([function (err) {
- var args = Array.prototype.slice.call(arguments, 1);
- if (typeof console !== 'undefined') {
- if (err) {
- if (console.error) {
- console.error(err);
- }
- }
- else if (console[name]) {
- _forEach(args, function (x) {
- console[name](x);
- });
- }
- }
- }]));
- };
- };
- async.log = _console_fn('log');
- async.dir = _console_fn('dir');
- /*async.info = _console_fn('info');
- async.warn = _console_fn('warn');
- async.error = _console_fn('error');*/
-
- async.memoize = function (fn, hasher) {
- var memo = {};
- hasher = hasher || function (x) {
- return x;
- };
- return function () {
- var args = Array.prototype.slice.call(arguments);
- var callback = args.pop();
- var key = hasher.apply(null, args);
- if (key in memo) {
- callback.apply(null, memo[key]);
- }
- else {
- fn.apply(null, args.concat([function () {
- memo[key] = arguments;
- callback.apply(null, arguments);
- }]));
- }
- };
- };
-
-}());
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/nodelint.cfg b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/nodelint.cfg
deleted file mode 100644
index 457a967e0..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/nodelint.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-var options = {
- indent: 4,
- onevar: false
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/package.json b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/package.json
deleted file mode 100644
index e5646d728..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "async",
- "description": "Higher-order functions and common patterns for asynchronous code",
- "main": "./index",
- "author": {
- "name": "Caolan McMahon"
- },
- "version": "0.1.9",
- "repository": {
- "type": "git",
- "url": "git://github.com/caolan/async.git"
- },
- "bugs": {
- "url": "http://github.com/caolan/async/issues"
- },
- "licenses": [
- {
- "type": "MIT",
- "url": "http://github.com/caolan/async/raw/master/LICENSE"
- }
- ],
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
- },
- "_id": "async@0.1.9",
- "dependencies": {},
- "devDependencies": {},
- "optionalDependencies": {},
- "engines": {
- "node": "*"
- },
- "_engineSupported": true,
- "_npmVersion": "1.1.24",
- "_nodeVersion": "v0.8.1",
- "_defaultsLoaded": true,
- "dist": {
- "shasum": "fd9b6aca66495fd0f7e97f86e71c7706ca9ae754"
- },
- "_from": "async@0.1.9"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test-async.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test-async.js
deleted file mode 100644
index 8c2cebd5e..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test-async.js
+++ /dev/null
@@ -1,1367 +0,0 @@
-var async = require('../lib/async');
-
-
-exports['auto'] = function(test){
- var callOrder = [];
- var testdata = [{test: 'test'}];
- async.auto({
- task1: ['task2', function(callback){
- setTimeout(function(){
- callOrder.push('task1');
- callback();
- }, 25);
- }],
- task2: function(callback){
- setTimeout(function(){
- callOrder.push('task2');
- callback();
- }, 50);
- },
- task3: ['task2', function(callback){
- callOrder.push('task3');
- callback();
- }],
- task4: ['task1', 'task2', function(callback){
- callOrder.push('task4');
- callback();
- }]
- },
- function(err){
- test.same(callOrder, ['task2','task3','task1','task4']);
- test.done();
- });
-};
-
-exports['auto empty object'] = function(test){
- async.auto({}, function(err){
- test.done();
- });
-};
-
-exports['auto error'] = function(test){
- test.expect(1);
- async.auto({
- task1: function(callback){
- callback('testerror');
- },
- task2: ['task1', function(callback){
- test.ok(false, 'task2 should not be called');
- callback();
- }],
- task3: function(callback){
- callback('testerror2');
- }
- },
- function(err){
- test.equals(err, 'testerror');
- });
- setTimeout(test.done, 100);
-};
-
-exports['auto no callback'] = function(test){
- async.auto({
- task1: function(callback){callback();},
- task2: ['task1', function(callback){callback(); test.done();}]
- });
-};
-
-exports['waterfall'] = function(test){
- test.expect(6);
- var call_order = [];
- async.waterfall([
- function(callback){
- call_order.push('fn1');
- setTimeout(function(){callback(null, 'one', 'two');}, 0);
- },
- function(arg1, arg2, callback){
- call_order.push('fn2');
- test.equals(arg1, 'one');
- test.equals(arg2, 'two');
- setTimeout(function(){callback(null, arg1, arg2, 'three');}, 25);
- },
- function(arg1, arg2, arg3, callback){
- call_order.push('fn3');
- test.equals(arg1, 'one');
- test.equals(arg2, 'two');
- test.equals(arg3, 'three');
- callback(null, 'four');
- },
- function(arg4, callback){
- call_order.push('fn4');
- test.same(call_order, ['fn1','fn2','fn3','fn4']);
- callback(null, 'test');
- }
- ], function(err){
- test.done();
- });
-};
-
-exports['waterfall empty array'] = function(test){
- async.waterfall([], function(err){
- test.done();
- });
-};
-
-exports['waterfall no callback'] = function(test){
- async.waterfall([
- function(callback){callback();},
- function(callback){callback(); test.done();}
- ]);
-};
-
-exports['waterfall async'] = function(test){
- var call_order = [];
- async.waterfall([
- function(callback){
- call_order.push(1);
- callback();
- call_order.push(2);
- },
- function(callback){
- call_order.push(3);
- callback();
- },
- function(){
- test.same(call_order, [1,2,3]);
- test.done();
- }
- ]);
-};
-
-exports['waterfall error'] = function(test){
- test.expect(1);
- async.waterfall([
- function(callback){
- callback('error');
- },
- function(callback){
- test.ok(false, 'next function should not be called');
- callback();
- }
- ], function(err){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-};
-
-exports['waterfall multiple callback calls'] = function(test){
- var call_order = [];
- var arr = [
- function(callback){
- call_order.push(1);
- // call the callback twice. this should call function 2 twice
- callback(null, 'one', 'two');
- callback(null, 'one', 'two');
- },
- function(arg1, arg2, callback){
- call_order.push(2);
- callback(null, arg1, arg2, 'three');
- },
- function(arg1, arg2, arg3, callback){
- call_order.push(3);
- callback(null, 'four');
- },
- function(arg4){
- call_order.push(4);
- arr[3] = function(){
- call_order.push(4);
- test.same(call_order, [1,2,2,3,3,4,4]);
- test.done();
- };
- }
- ];
- async.waterfall(arr);
-};
-
-
-exports['parallel'] = function(test){
- var call_order = [];
- async.parallel([
- function(callback){
- setTimeout(function(){
- call_order.push(1);
- callback(null, 1);
- }, 25);
- },
- function(callback){
- setTimeout(function(){
- call_order.push(2);
- callback(null, 2);
- }, 50);
- },
- function(callback){
- setTimeout(function(){
- call_order.push(3);
- callback(null, 3,3);
- }, 15);
- }
- ],
- function(err, results){
- test.equals(err, null);
- test.same(call_order, [3,1,2]);
- test.same(results, [1,2,[3,3]]);
- test.done();
- });
-};
-
-exports['parallel empty array'] = function(test){
- async.parallel([], function(err, results){
- test.equals(err, null);
- test.same(results, []);
- test.done();
- });
-};
-
-exports['parallel error'] = function(test){
- async.parallel([
- function(callback){
- callback('error', 1);
- },
- function(callback){
- callback('error2', 2);
- }
- ],
- function(err, results){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 100);
-};
-
-exports['parallel no callback'] = function(test){
- async.parallel([
- function(callback){callback();},
- function(callback){callback(); test.done();},
- ]);
-};
-
-exports['parallel object'] = function(test){
- var call_order = [];
- async.parallel({
- one: function(callback){
- setTimeout(function(){
- call_order.push(1);
- callback(null, 1);
- }, 25);
- },
- two: function(callback){
- setTimeout(function(){
- call_order.push(2);
- callback(null, 2);
- }, 50);
- },
- three: function(callback){
- setTimeout(function(){
- call_order.push(3);
- callback(null, 3,3);
- }, 15);
- }
- },
- function(err, results){
- test.equals(err, null);
- test.same(call_order, [3,1,2]);
- test.same(results, {
- one: 1,
- two: 2,
- three: [3,3]
- });
- test.done();
- });
-};
-
-exports['series'] = function(test){
- var call_order = [];
- async.series([
- function(callback){
- setTimeout(function(){
- call_order.push(1);
- callback(null, 1);
- }, 25);
- },
- function(callback){
- setTimeout(function(){
- call_order.push(2);
- callback(null, 2);
- }, 50);
- },
- function(callback){
- setTimeout(function(){
- call_order.push(3);
- callback(null, 3,3);
- }, 15);
- }
- ],
- function(err, results){
- test.equals(err, null);
- test.same(results, [1,2,[3,3]]);
- test.same(call_order, [1,2,3]);
- test.done();
- });
-};
-
-exports['series empty array'] = function(test){
- async.series([], function(err, results){
- test.equals(err, null);
- test.same(results, []);
- test.done();
- });
-};
-
-exports['series error'] = function(test){
- test.expect(1);
- async.series([
- function(callback){
- callback('error', 1);
- },
- function(callback){
- test.ok(false, 'should not be called');
- callback('error2', 2);
- }
- ],
- function(err, results){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 100);
-};
-
-exports['series no callback'] = function(test){
- async.series([
- function(callback){callback();},
- function(callback){callback(); test.done();},
- ]);
-};
-
-exports['series object'] = function(test){
- var call_order = [];
- async.series({
- one: function(callback){
- setTimeout(function(){
- call_order.push(1);
- callback(null, 1);
- }, 25);
- },
- two: function(callback){
- setTimeout(function(){
- call_order.push(2);
- callback(null, 2);
- }, 50);
- },
- three: function(callback){
- setTimeout(function(){
- call_order.push(3);
- callback(null, 3,3);
- }, 15);
- }
- },
- function(err, results){
- test.equals(err, null);
- test.same(results, {
- one: 1,
- two: 2,
- three: [3,3]
- });
- test.same(call_order, [1,2,3]);
- test.done();
- });
-};
-
-exports['iterator'] = function(test){
- var call_order = [];
- var iterator = async.iterator([
- function(){call_order.push(1);},
- function(arg1){
- test.equals(arg1, 'arg1');
- call_order.push(2);
- },
- function(arg1, arg2){
- test.equals(arg1, 'arg1');
- test.equals(arg2, 'arg2');
- call_order.push(3);
- }
- ]);
- iterator();
- test.same(call_order, [1]);
- var iterator2 = iterator();
- test.same(call_order, [1,1]);
- var iterator3 = iterator2('arg1');
- test.same(call_order, [1,1,2]);
- var iterator4 = iterator3('arg1', 'arg2');
- test.same(call_order, [1,1,2,3]);
- test.equals(iterator4, undefined);
- test.done();
-};
-
-exports['iterator empty array'] = function(test){
- var iterator = async.iterator([]);
- test.equals(iterator(), undefined);
- test.equals(iterator.next(), undefined);
- test.done();
-};
-
-exports['iterator.next'] = function(test){
- var call_order = [];
- var iterator = async.iterator([
- function(){call_order.push(1);},
- function(arg1){
- test.equals(arg1, 'arg1');
- call_order.push(2);
- },
- function(arg1, arg2){
- test.equals(arg1, 'arg1');
- test.equals(arg2, 'arg2');
- call_order.push(3);
- }
- ]);
- var fn = iterator.next();
- var iterator2 = fn('arg1');
- test.same(call_order, [2]);
- iterator2('arg1','arg2');
- test.same(call_order, [2,3]);
- test.equals(iterator2.next(), undefined);
- test.done();
-};
-
-exports['forEach'] = function(test){
- var args = [];
- async.forEach([1,3,2], function(x, callback){
- setTimeout(function(){
- args.push(x);
- callback();
- }, x*25);
- }, function(err){
- test.same(args, [1,2,3]);
- test.done();
- });
-};
-
-exports['forEach empty array'] = function(test){
- test.expect(1);
- async.forEach([], function(x, callback){
- test.ok(false, 'iterator should not be called');
- callback();
- }, function(err){
- test.ok(true, 'should call callback');
- });
- setTimeout(test.done, 25);
-};
-
-exports['forEach error'] = function(test){
- test.expect(1);
- async.forEach([1,2,3], function(x, callback){
- callback('error');
- }, function(err){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-};
-
-exports['forEachSeries'] = function(test){
- var args = [];
- async.forEachSeries([1,3,2], function(x, callback){
- setTimeout(function(){
- args.push(x);
- callback();
- }, x*25);
- }, function(err){
- test.same(args, [1,3,2]);
- test.done();
- });
-};
-
-exports['forEachSeries empty array'] = function(test){
- test.expect(1);
- async.forEachSeries([], function(x, callback){
- test.ok(false, 'iterator should not be called');
- callback();
- }, function(err){
- test.ok(true, 'should call callback');
- });
- setTimeout(test.done, 25);
-};
-
-exports['forEachSeries error'] = function(test){
- test.expect(2);
- var call_order = [];
- async.forEachSeries([1,2,3], function(x, callback){
- call_order.push(x);
- callback('error');
- }, function(err){
- test.same(call_order, [1]);
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-};
-
-exports['map'] = function(test){
- var call_order = [];
- async.map([1,3,2], function(x, callback){
- setTimeout(function(){
- call_order.push(x);
- callback(null, x*2);
- }, x*25);
- }, function(err, results){
- test.same(call_order, [1,2,3]);
- test.same(results, [2,6,4]);
- test.done();
- });
-};
-
-exports['map original untouched'] = function(test){
- var a = [1,2,3];
- async.map(a, function(x, callback){
- callback(null, x*2);
- }, function(err, results){
- test.same(results, [2,4,6]);
- test.same(a, [1,2,3]);
- test.done();
- });
-};
-
-exports['map error'] = function(test){
- test.expect(1);
- async.map([1,2,3], function(x, callback){
- callback('error');
- }, function(err, results){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-};
-
-exports['mapSeries'] = function(test){
- var call_order = [];
- async.mapSeries([1,3,2], function(x, callback){
- setTimeout(function(){
- call_order.push(x);
- callback(null, x*2);
- }, x*25);
- }, function(err, results){
- test.same(call_order, [1,3,2]);
- test.same(results, [2,6,4]);
- test.done();
- });
-};
-
-exports['mapSeries error'] = function(test){
- test.expect(1);
- async.mapSeries([1,2,3], function(x, callback){
- callback('error');
- }, function(err, results){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-};
-
-exports['reduce'] = function(test){
- var call_order = [];
- async.reduce([1,2,3], 0, function(a, x, callback){
- call_order.push(x);
- callback(null, a + x);
- }, function(err, result){
- test.equals(result, 6);
- test.same(call_order, [1,2,3]);
- test.done();
- });
-};
-
-exports['reduce async with non-reference memo'] = function(test){
- async.reduce([1,3,2], 0, function(a, x, callback){
- setTimeout(function(){callback(null, a + x)}, Math.random()*100);
- }, function(err, result){
- test.equals(result, 6);
- test.done();
- });
-};
-
-exports['reduce error'] = function(test){
- test.expect(1);
- async.reduce([1,2,3], 0, function(a, x, callback){
- callback('error');
- }, function(err, result){
- test.equals(err, 'error');
- });
- setTimeout(test.done, 50);
-};
-
-exports['inject alias'] = function(test){
- test.equals(async.inject, async.reduce);
- test.done();
-};
-
-exports['foldl alias'] = function(test){
- test.equals(async.foldl, async.reduce);
- test.done();
-};
-
-exports['reduceRight'] = function(test){
- var call_order = [];
- var a = [1,2,3];
- async.reduceRight(a, 0, function(a, x, callback){
- call_order.push(x);
- callback(null, a + x);
- }, function(err, result){
- test.equals(result, 6);
- test.same(call_order, [3,2,1]);
- test.same(a, [1,2,3]);
- test.done();
- });
-};
-
-exports['foldr alias'] = function(test){
- test.equals(async.foldr, async.reduceRight);
- test.done();
-};
-
-exports['filter'] = function(test){
- async.filter([3,1,2], function(x, callback){
- setTimeout(function(){callback(x % 2);}, x*25);
- }, function(results){
- test.same(results, [3,1]);
- test.done();
- });
-};
-
-exports['filter original untouched'] = function(test){
- var a = [3,1,2];
- async.filter(a, function(x, callback){
- callback(x % 2);
- }, function(results){
- test.same(results, [3,1]);
- test.same(a, [3,1,2]);
- test.done();
- });
-};
-
-exports['filterSeries'] = function(test){
- async.filterSeries([3,1,2], function(x, callback){
- setTimeout(function(){callback(x % 2);}, x*25);
- }, function(results){
- test.same(results, [3,1]);
- test.done();
- });
-};
-
-exports['select alias'] = function(test){
- test.equals(async.select, async.filter);
- test.done();
-};
-
-exports['selectSeries alias'] = function(test){
- test.equals(async.selectSeries, async.filterSeries);
- test.done();
-};
-
-exports['reject'] = function(test){
- async.reject([3,1,2], function(x, callback){
- setTimeout(function(){callback(x % 2);}, x*25);
- }, function(results){
- test.same(results, [2]);
- test.done();
- });
-};
-
-exports['reject original untouched'] = function(test){
- var a = [3,1,2];
- async.reject(a, function(x, callback){
- callback(x % 2);
- }, function(results){
- test.same(results, [2]);
- test.same(a, [3,1,2]);
- test.done();
- });
-};
-
-exports['rejectSeries'] = function(test){
- async.rejectSeries([3,1,2], function(x, callback){
- setTimeout(function(){callback(x % 2);}, x*25);
- }, function(results){
- test.same(results, [2]);
- test.done();
- });
-};
-
-exports['some true'] = function(test){
- async.some([3,1,2], function(x, callback){
- setTimeout(function(){callback(x === 1);}, 0);
- }, function(result){
- test.equals(result, true);
- test.done();
- });
-};
-
-exports['some false'] = function(test){
- async.some([3,1,2], function(x, callback){
- setTimeout(function(){callback(x === 10);}, 0);
- }, function(result){
- test.equals(result, false);
- test.done();
- });
-};
-
-exports['some early return'] = function(test){
- var call_order = [];
- async.some([1,2,3], function(x, callback){
- setTimeout(function(){
- call_order.push(x);
- callback(x === 1);
- }, x*25);
- }, function(result){
- call_order.push('callback');
- });
- setTimeout(function(){
- test.same(call_order, [1,'callback',2,3]);
- test.done();
- }, 100);
-};
-
-exports['any alias'] = function(test){
- test.equals(async.any, async.some);
- test.done();
-};
-
-exports['every true'] = function(test){
- async.every([1,2,3], function(x, callback){
- setTimeout(function(){callback(true);}, 0);
- }, function(result){
- test.equals(result, true);
- test.done();
- });
-};
-
-exports['every false'] = function(test){
- async.every([1,2,3], function(x, callback){
- setTimeout(function(){callback(x % 2);}, 0);
- }, function(result){
- test.equals(result, false);
- test.done();
- });
-};
-
-exports['every early return'] = function(test){
- var call_order = [];
- async.every([1,2,3], function(x, callback){
- setTimeout(function(){
- call_order.push(x);
- callback(x === 1);
- }, x*25);
- }, function(result){
- call_order.push('callback');
- });
- setTimeout(function(){
- test.same(call_order, [1,2,'callback',3]);
- test.done();
- }, 100);
-};
-
-exports['all alias'] = function(test){
- test.equals(async.all, async.every);
- test.done();
-};
-
-exports['detect'] = function(test){
- var call_order = [];
- async.detect([3,2,1], function(x, callback){
- setTimeout(function(){
- call_order.push(x);
- callback(x == 2);
- }, x*25);
- }, function(result){
- call_order.push('callback');
- test.equals(result, 2);
- });
- setTimeout(function(){
- test.same(call_order, [1,2,'callback',3]);
- test.done();
- }, 100);
-};
-
-exports['detectSeries'] = function(test){
- var call_order = [];
- async.detectSeries([3,2,1], function(x, callback){
- setTimeout(function(){
- call_order.push(x);
- callback(x == 2);
- }, x*25);
- }, function(result){
- call_order.push('callback');
- test.equals(result, 2);
- });
- setTimeout(function(){
- test.same(call_order, [3,2,'callback']);
- test.done();
- }, 200);
-};
-
-exports['sortBy'] = function(test){
- async.sortBy([{a:1},{a:15},{a:6}], function(x, callback){
- setTimeout(function(){callback(null, x.a);}, 0);
- }, function(err, result){
- test.same(result, [{a:1},{a:6},{a:15}]);
- test.done();
- });
-};
-
-exports['apply'] = function(test){
- test.expect(6);
- var fn = function(){
- test.same(Array.prototype.slice.call(arguments), [1,2,3,4])
- };
- async.apply(fn, 1, 2, 3, 4)();
- async.apply(fn, 1, 2, 3)(4);
- async.apply(fn, 1, 2)(3, 4);
- async.apply(fn, 1)(2, 3, 4);
- async.apply(fn)(1, 2, 3, 4);
- test.equals(
- async.apply(function(name){return 'hello ' + name}, 'world')(),
- 'hello world'
- );
- test.done();
-};
-
-
-// generates tests for console functions such as async.log
-var console_fn_tests = function(name){
-
- if (typeof console !== 'undefined') {
- exports[name] = function(test){
- test.expect(5);
- var fn = function(arg1, callback){
- test.equals(arg1, 'one');
- setTimeout(function(){callback(null, 'test');}, 0);
- };
- var fn_err = function(arg1, callback){
- test.equals(arg1, 'one');
- setTimeout(function(){callback('error');}, 0);
- };
- var _console_fn = console[name];
- var _error = console.error;
- console[name] = function(val){
- test.equals(val, 'test');
- test.equals(arguments.length, 1);
- console.error = function(val){
- test.equals(val, 'error');
- console[name] = _console_fn;
- console.error = _error;
- test.done();
- };
- async[name](fn_err, 'one');
- };
- async[name](fn, 'one');
- };
-
- exports[name + ' with multiple result params'] = function(test){
- var fn = function(callback){callback(null,'one','two','three');};
- var _console_fn = console[name];
- var called_with = [];
- console[name] = function(x){
- called_with.push(x);
- };
- async[name](fn);
- test.same(called_with, ['one','two','three']);
- console[name] = _console_fn;
- test.done();
- };
- }
-
- // browser-only test
- exports[name + ' without console.' + name] = function(test){
- if (typeof window !== 'undefined') {
- var _console = window.console;
- window.console = undefined;
- var fn = function(callback){callback(null, 'val');};
- var fn_err = function(callback){callback('error');};
- async[name](fn);
- async[name](fn_err);
- window.console = _console;
- }
- test.done();
- };
-
-};
-
-console_fn_tests('log');
-console_fn_tests('dir');
-/*console_fn_tests('info');
-console_fn_tests('warn');
-console_fn_tests('error');*/
-
-exports['nextTick'] = function(test){
- var call_order = [];
- async.nextTick(function(){call_order.push('two');});
- call_order.push('one');
- setTimeout(function(){
- test.same(call_order, ['one','two']);
- test.done();
- }, 50);
-};
-
-exports['nextTick in the browser'] = function(test){
- if (typeof process !== 'undefined') {
- // skip this test in node
- return test.done();
- }
- test.expect(1);
-
- var call_order = [];
- async.nextTick(function(){call_order.push('two');});
-
- call_order.push('one');
- setTimeout(function(){
- if (typeof process !== 'undefined') {
- process.nextTick = _nextTick;
- }
- test.same(call_order, ['one','two']);
- }, 50);
- setTimeout(test.done, 100);
-};
-
-exports['noConflict - node only'] = function(test){
- if (typeof process !== 'undefined') {
- // node only test
- test.expect(3);
- var fs = require('fs');
- var filename = __dirname + '/../lib/async.js';
- fs.readFile(filename, function(err, content){
- if(err) return test.done();
- var Script = process.binding('evals').Script;
-
- var s = new Script(content, filename);
- var s2 = new Script(
- content + 'this.async2 = this.async.noConflict();',
- filename
- );
-
- var sandbox1 = {async: 'oldvalue'};
- s.runInNewContext(sandbox1);
- test.ok(sandbox1.async);
-
- var sandbox2 = {async: 'oldvalue'};
- s2.runInNewContext(sandbox2);
- test.equals(sandbox2.async, 'oldvalue');
- test.ok(sandbox2.async2);
-
- test.done();
- });
- }
- else test.done();
-};
-
-exports['concat'] = function(test){
- var call_order = [];
- var iterator = function (x, cb) {
- setTimeout(function(){
- call_order.push(x);
- var r = [];
- while (x > 0) {
- r.push(x);
- x--;
- }
- cb(null, r);
- }, x*25);
- };
- async.concat([1,3,2], iterator, function(err, results){
- test.same(results, [1,2,1,3,2,1]);
- test.same(call_order, [1,2,3]);
- test.ok(!err);
- test.done();
- });
-};
-
-exports['concat error'] = function(test){
- var iterator = function (x, cb) {
- cb(new Error('test error'));
- };
- async.concat([1,2,3], iterator, function(err, results){
- test.ok(err);
- test.done();
- });
-};
-
-exports['concatSeries'] = function(test){
- var call_order = [];
- var iterator = function (x, cb) {
- setTimeout(function(){
- call_order.push(x);
- var r = [];
- while (x > 0) {
- r.push(x);
- x--;
- }
- cb(null, r);
- }, x*25);
- };
- async.concatSeries([1,3,2], iterator, function(err, results){
- test.same(results, [1,3,2,1,2,1]);
- test.same(call_order, [1,3,2]);
- test.ok(!err);
- test.done();
- });
-};
-
-exports['until'] = function (test) {
- var call_order = [];
-
- var count = 0;
- async.until(
- function () {
- call_order.push(['test', count]);
- return (count == 5);
- },
- function (cb) {
- call_order.push(['iterator', count]);
- count++;
- cb();
- },
- function (err) {
- test.same(call_order, [
- ['test', 0],
- ['iterator', 0], ['test', 1],
- ['iterator', 1], ['test', 2],
- ['iterator', 2], ['test', 3],
- ['iterator', 3], ['test', 4],
- ['iterator', 4], ['test', 5],
- ]);
- test.equals(count, 5);
- test.done();
- }
- );
-};
-
-exports['whilst'] = function (test) {
- var call_order = [];
-
- var count = 0;
- async.whilst(
- function () {
- call_order.push(['test', count]);
- return (count < 5);
- },
- function (cb) {
- call_order.push(['iterator', count]);
- count++;
- cb();
- },
- function (err) {
- test.same(call_order, [
- ['test', 0],
- ['iterator', 0], ['test', 1],
- ['iterator', 1], ['test', 2],
- ['iterator', 2], ['test', 3],
- ['iterator', 3], ['test', 4],
- ['iterator', 4], ['test', 5],
- ]);
- test.equals(count, 5);
- test.done();
- }
- );
-};
-
-exports['queue'] = function (test) {
- var call_order = [],
- delays = [40,20,60,20];
-
- // worker1: --1-4
- // worker2: -2---3
- // order of completion: 2,1,4,3
-
- var q = async.queue(function (task, callback) {
- setTimeout(function () {
- call_order.push('process ' + task);
- callback('error', 'arg');
- }, delays.splice(0,1)[0]);
- }, 2);
-
- q.push(1, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 1);
- call_order.push('callback ' + 1);
- });
- q.push(2, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 2);
- call_order.push('callback ' + 2);
- });
- q.push(3, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 0);
- call_order.push('callback ' + 3);
- });
- q.push(4, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 0);
- call_order.push('callback ' + 4);
- });
- test.equal(q.length(), 4);
- test.equal(q.concurrency, 2);
-
- setTimeout(function () {
- test.same(call_order, [
- 'process 2', 'callback 2',
- 'process 1', 'callback 1',
- 'process 4', 'callback 4',
- 'process 3', 'callback 3'
- ]);
- test.equal(q.concurrency, 2);
- test.equal(q.length(), 0);
- test.done();
- }, 200);
-};
-
-exports['queue changing concurrency'] = function (test) {
- var call_order = [],
- delays = [40,20,60,20];
-
- // worker1: --1-2---3-4
- // order of completion: 1,2,3,4
-
- var q = async.queue(function (task, callback) {
- setTimeout(function () {
- call_order.push('process ' + task);
- callback('error', 'arg');
- }, delays.splice(0,1)[0]);
- }, 2);
-
- q.push(1, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 3);
- call_order.push('callback ' + 1);
- });
- q.push(2, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 2);
- call_order.push('callback ' + 2);
- });
- q.push(3, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 1);
- call_order.push('callback ' + 3);
- });
- q.push(4, function (err, arg) {
- test.equal(err, 'error');
- test.equal(arg, 'arg');
- test.equal(q.length(), 0);
- call_order.push('callback ' + 4);
- });
- test.equal(q.length(), 4);
- test.equal(q.concurrency, 2);
- q.concurrency = 1;
-
- setTimeout(function () {
- test.same(call_order, [
- 'process 1', 'callback 1',
- 'process 2', 'callback 2',
- 'process 3', 'callback 3',
- 'process 4', 'callback 4'
- ]);
- test.equal(q.concurrency, 1);
- test.equal(q.length(), 0);
- test.done();
- }, 250);
-};
-
-exports['queue push without callback'] = function (test) {
- var call_order = [],
- delays = [40,20,60,20];
-
- // worker1: --1-4
- // worker2: -2---3
- // order of completion: 2,1,4,3
-
- var q = async.queue(function (task, callback) {
- setTimeout(function () {
- call_order.push('process ' + task);
- callback('error', 'arg');
- }, delays.splice(0,1)[0]);
- }, 2);
-
- q.push(1);
- q.push(2);
- q.push(3);
- q.push(4);
-
- setTimeout(function () {
- test.same(call_order, [
- 'process 2',
- 'process 1',
- 'process 4',
- 'process 3'
- ]);
- test.done();
- }, 200);
-};
-
-exports['memoize'] = function (test) {
- test.expect(4);
- var call_order = [];
-
- var fn = function (arg1, arg2, callback) {
- call_order.push(['fn', arg1, arg2]);
- callback(null, arg1 + arg2);
- };
-
- var fn2 = async.memoize(fn);
- fn2(1, 2, function (err, result) {
- test.equal(result, 3);
- });
- fn2(1, 2, function (err, result) {
- test.equal(result, 3);
- });
- fn2(2, 2, function (err, result) {
- test.equal(result, 4);
- });
-
- test.same(call_order, [['fn',1,2], ['fn',2,2]]);
- test.done();
-};
-
-exports['memoize error'] = function (test) {
- test.expect(1);
- var testerr = new Error('test');
- var fn = function (arg1, arg2, callback) {
- callback(testerr, arg1 + arg2);
- };
- async.memoize(fn)(1, 2, function (err, result) {
- test.equal(err, testerr);
- });
- test.done();
-};
-
-exports['memoize custom hash function'] = function (test) {
- test.expect(2);
- var testerr = new Error('test');
-
- var fn = function (arg1, arg2, callback) {
- callback(testerr, arg1 + arg2);
- };
- var fn2 = async.memoize(fn, function () {
- return 'custom hash';
- });
- fn2(1, 2, function (err, result) {
- test.equal(result, 3);
- });
- fn2(2, 2, function (err, result) {
- test.equal(result, 3);
- });
- test.done();
-};
-
-// Issue 10 on github: https://github.com/caolan/async/issues#issue/10
-exports['falsy return values in series'] = function (test) {
- function taskFalse(callback) {
- async.nextTick(function() {
- callback(null, false);
- });
- };
- function taskUndefined(callback) {
- async.nextTick(function() {
- callback(null, undefined);
- });
- };
- function taskEmpty(callback) {
- async.nextTick(function() {
- callback(null);
- });
- };
- function taskNull(callback) {
- async.nextTick(function() {
- callback(null, null);
- });
- };
- async.series(
- [taskFalse, taskUndefined, taskEmpty, taskNull],
- function(err, results) {
- test.same(results, [false, undefined, undefined, null]);
- test.strictEqual(results[0], false);
- test.strictEqual(results[1], undefined);
- test.strictEqual(results[2], undefined);
- test.strictEqual(results[3], null);
- test.done();
- }
- );
-};
-
-// Issue 10 on github: https://github.com/caolan/async/issues#issue/10
-exports['falsy return values in parallel'] = function (test) {
- function taskFalse(callback) {
- async.nextTick(function() {
- callback(null, false);
- });
- };
- function taskUndefined(callback) {
- async.nextTick(function() {
- callback(null, undefined);
- });
- };
- function taskEmpty(callback) {
- async.nextTick(function() {
- callback(null);
- });
- };
- function taskNull(callback) {
- async.nextTick(function() {
- callback(null, null);
- });
- };
- async.parallel(
- [taskFalse, taskUndefined, taskEmpty, taskNull],
- function(err, results) {
- test.same(results, [false, undefined, undefined, null]);
- test.strictEqual(results[0], false);
- test.strictEqual(results[1], undefined);
- test.strictEqual(results[2], undefined);
- test.strictEqual(results[3], null);
- test.done();
- }
- );
-};
-
-exports['queue events'] = function(test) {
- var calls = [];
- var q = async.queue(function(task, cb) {
- // nop
- calls.push('process ' + task);
- cb();
- }, 3);
-
- q.saturated = function() {
- test.ok(q.length() == 3, 'queue should be saturated now');
- calls.push('saturated');
- };
- q.empty = function() {
- test.ok(q.length() == 0, 'queue should be empty now');
- calls.push('empty');
- };
- q.drain = function() {
- test.ok(
- q.length() == 0 && q.running() == 0,
- 'queue should be empty now and no more workers should be running'
- );
- calls.push('drain');
- test.same(calls, [
- 'saturated',
- 'process foo',
- 'foo cb',
- 'process bar',
- 'bar cb',
- 'process zoo',
- 'zoo cb',
- 'process poo',
- 'poo cb',
- 'empty',
- 'process moo',
- 'moo cb',
- 'drain',
- ]);
- test.done();
- };
- q.push('foo', function () {calls.push('foo cb');});
- q.push('bar', function () {calls.push('bar cb');});
- q.push('zoo', function () {calls.push('zoo cb');});
- q.push('poo', function () {calls.push('poo cb');});
- q.push('moo', function () {calls.push('moo cb');});
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test.html b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test.html
deleted file mode 100644
index 2450e2dcf..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/async/test/test.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
- <head>
- <title>Async.js Test Suite</title>
- <!--
- async must be included after nodeunit because nodeunit already uses
- the async lib internally and will overwrite the version we want to test
- -->
- <script src="../deps/nodeunit.js"></script>
- <script src="../lib/async.js"></script>
- <link rel="stylesheet" href="../deps/nodeunit.css" type="text/css" media="screen" />
- <script>
- var _async = this.async;
- this.require = function () { return _async; };
- this.exports = {};
- </script>
- <script src="test-async.js"></script>
- </head>
- <body>
- <h1 id="nodeunit-header">Async.js Test Suite</h1>
- <script>
- nodeunit.run({'test-async': exports});
- </script>
- </body>
-</html>
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/.npmignore
deleted file mode 100644
index aba34f012..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/.npmignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.un~
-/node_modules
-/test/tmp
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/License b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/License
deleted file mode 100644
index 4804b7ab4..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/License
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2011 Debuggable Limited <felix@debuggable.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Makefile b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Makefile
deleted file mode 100644
index b4ff85a33..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-SHELL := /bin/bash
-
-test:
- @./test/run.js
-
-.PHONY: test
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md
deleted file mode 100644
index 1a9999eb0..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/Readme.md
+++ /dev/null
@@ -1,132 +0,0 @@
-# combined-stream
-
-A stream that emits multiple other streams one after another.
-
-## Installation
-
-``` bash
-npm install combined-stream
-```
-
-## Usage
-
-Here is a simple example that shows how you can use combined-stream to combine
-two files into one:
-
-``` javascript
-var CombinedStream = require('combined-stream');
-var fs = require('fs');
-
-var combinedStream = CombinedStream.create();
-combinedStream.append(fs.createReadStream('file1.txt'));
-combinedStream.append(fs.createReadStream('file2.txt'));
-
-combinedStream.pipe(fs.createWriteStream('combined.txt'));
-```
-
-While the example above works great, it will pause all source streams until
-they are needed. If you don't want that to happen, you can set `pauseStreams`
-to `false`:
-
-``` javascript
-var CombinedStream = require('combined-stream');
-var fs = require('fs');
-
-var combinedStream = CombinedStream.create({pauseStreams: false});
-combinedStream.append(fs.createReadStream('file1.txt'));
-combinedStream.append(fs.createReadStream('file2.txt'));
-
-combinedStream.pipe(fs.createWriteStream('combined.txt'));
-```
-
-However, what if you don't have all the source streams yet, or you don't want
-to allocate the resources (file descriptors, memory, etc.) for them right away?
-Well, in that case you can simply provide a callback that supplies the stream
-by calling a `next()` function:
-
-``` javascript
-var CombinedStream = require('combined-stream');
-var fs = require('fs');
-
-var combinedStream = CombinedStream.create();
-combinedStream.append(function(next) {
- next(fs.createReadStream('file1.txt'));
-});
-combinedStream.append(function(next) {
- next(fs.createReadStream('file2.txt'));
-});
-
-combinedStream.pipe(fs.createWriteStream('combined.txt'));
-```
-
-## API
-
-### CombinedStream.create([options])
-
-Returns a new combined stream object. Available options are:
-
-* `maxDataSize`
-* `pauseStreams`
-
-The effect of those options is described below.
-
-### combinedStream.pauseStreams = true
-
-Whether to apply back pressure to the underlaying streams. If set to `false`,
-the underlaying streams will never be paused. If set to `true`, the
-underlaying streams will be paused right after being appended, as well as when
-`delayedStream.pipe()` wants to throttle.
-
-### combinedStream.maxDataSize = 2 * 1024 * 1024
-
-The maximum amount of bytes (or characters) to buffer for all source streams.
-If this value is exceeded, `combinedStream` emits an `'error'` event.
-
-### combinedStream.dataSize = 0
-
-The amount of bytes (or characters) currently buffered by `combinedStream`.
-
-### combinedStream.append(stream)
-
-Appends the given `stream` to the combinedStream object. If `pauseStreams` is
-set to `true, this stream will also be paused right away.
-
-`streams` can also be a function that takes one parameter called `next`. `next`
-is a function that must be invoked in order to provide the `next` stream, see
-example above.
-
-Regardless of how the `stream` is appended, combined-stream always attaches an
-`'error'` listener to it, so you don't have to do that manually.
-
-Special case: `stream` can also be a String or Buffer.
-
-### combinedStream.write(data)
-
-You should not call this, `combinedStream` takes care of piping the appended
-streams into itself for you.
-
-### combinedStream.resume()
-
-Causes `combinedStream` to start drain the streams it manages. The function is
-idempotent, and also emits a `'resume'` event each time which usually goes to
-the stream that is currently being drained.
-
-### combinedStream.pause();
-
-If `combinedStream.pauseStreams` is set to `false`, this does nothing.
-Otherwise a `'pause'` event is emitted, this goes to the stream that is
-currently being drained, so you can use it to apply back pressure.
-
-### combinedStream.end();
-
-Sets `combinedStream.writable` to false, emits an `'end'` event, and removes
-all streams from the queue.
-
-### combinedStream.destroy();
-
-Same as `combinedStream.end()`, except it emits a `'close'` event instead of
-`'end'`.
-
-## License
-
-combined-stream is licensed under the MIT license.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js
deleted file mode 100644
index 03754e6fc..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js
+++ /dev/null
@@ -1,183 +0,0 @@
-var util = require('util');
-var Stream = require('stream').Stream;
-var DelayedStream = require('delayed-stream');
-
-module.exports = CombinedStream;
-function CombinedStream() {
- this.writable = false;
- this.readable = true;
- this.dataSize = 0;
- this.maxDataSize = 2 * 1024 * 1024;
- this.pauseStreams = true;
-
- this._released = false;
- this._streams = [];
- this._currentStream = null;
-}
-util.inherits(CombinedStream, Stream);
-
-CombinedStream.create = function(options) {
- var combinedStream = new this();
-
- options = options || {};
- for (var option in options) {
- combinedStream[option] = options[option];
- }
-
- return combinedStream;
-};
-
-CombinedStream.isStreamLike = function(stream) {
- return (typeof stream !== 'function')
- && (typeof stream !== 'string')
- && (!Buffer.isBuffer(stream));
-};
-
-CombinedStream.prototype.append = function(stream) {
- var isStreamLike = CombinedStream.isStreamLike(stream);
-
- if (isStreamLike) {
- if (!(stream instanceof DelayedStream)) {
- stream.on('data', this._checkDataSize.bind(this));
-
- stream = DelayedStream.create(stream, {
- maxDataSize: Infinity,
- pauseStream: this.pauseStreams,
- });
- }
-
- this._handleErrors(stream);
-
- if (this.pauseStreams) {
- stream.pause();
- }
- }
-
- this._streams.push(stream);
- return this;
-};
-
-CombinedStream.prototype.pipe = function(dest, options) {
- Stream.prototype.pipe.call(this, dest, options);
- this.resume();
-};
-
-CombinedStream.prototype._getNext = function() {
- this._currentStream = null;
- var stream = this._streams.shift();
-
-
- if (!stream) {
- this.end();
- return;
- }
-
- if (typeof stream !== 'function') {
- this._pipeNext(stream);
- return;
- }
-
- var getStream = stream;
- getStream(function(stream) {
- var isStreamLike = CombinedStream.isStreamLike(stream);
- if (isStreamLike) {
- stream.on('data', this._checkDataSize.bind(this));
- this._handleErrors(stream);
- }
-
- this._pipeNext(stream);
- }.bind(this));
-};
-
-CombinedStream.prototype._pipeNext = function(stream) {
- this._currentStream = stream;
-
- var isStreamLike = CombinedStream.isStreamLike(stream);
- if (isStreamLike) {
- stream.on('end', this._getNext.bind(this))
- stream.pipe(this, {end: false});
- return;
- }
-
- var value = stream;
- this.write(value);
- this._getNext();
-};
-
-CombinedStream.prototype._handleErrors = function(stream) {
- var self = this;
- stream.on('error', function(err) {
- self._emitError(err);
- });
-};
-
-CombinedStream.prototype.write = function(data) {
- this.emit('data', data);
-};
-
-CombinedStream.prototype.pause = function() {
- if (!this.pauseStreams) {
- return;
- }
-
- this.emit('pause');
-};
-
-CombinedStream.prototype.resume = function() {
- if (!this._released) {
- this._released = true;
- this.writable = true;
- this._getNext();
- }
-
- this.emit('resume');
-};
-
-CombinedStream.prototype.end = function() {
- this._reset();
- this.emit('end');
-};
-
-CombinedStream.prototype.destroy = function() {
- this._reset();
- this.emit('close');
-};
-
-CombinedStream.prototype._reset = function() {
- this.writable = false;
- this._streams = [];
- this._currentStream = null;
-};
-
-CombinedStream.prototype._checkDataSize = function() {
- this._updateDataSize();
- if (this.dataSize <= this.maxDataSize) {
- return;
- }
-
- var message =
- 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'
- this._emitError(new Error(message));
-};
-
-CombinedStream.prototype._updateDataSize = function() {
- this.dataSize = 0;
-
- var self = this;
- this._streams.forEach(function(stream) {
- if (!stream.dataSize) {
- return;
- }
-
- self.dataSize += stream.dataSize;
- });
-
- if (this._currentStream && this._currentStream.dataSize) {
- this.dataSize += this._currentStream.dataSize;
- }
-};
-
-CombinedStream.prototype._emitError = function(err) {
- this._reset();
- this.emit('error', err);
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore
deleted file mode 100644
index 2fedb26cc..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.un~
-/node_modules/*
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License
deleted file mode 100644
index 4804b7ab4..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2011 Debuggable Limited <felix@debuggable.com>
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile
deleted file mode 100644
index b4ff85a33..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-SHELL := /bin/bash
-
-test:
- @./test/run.js
-
-.PHONY: test
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md
deleted file mode 100644
index 5cb5b35e5..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md
+++ /dev/null
@@ -1,154 +0,0 @@
-# delayed-stream
-
-Buffers events from a stream until you are ready to handle them.
-
-## Installation
-
-``` bash
-npm install delayed-stream
-```
-
-## Usage
-
-The following example shows how to write a http echo server that delays its
-response by 1000 ms.
-
-``` javascript
-var DelayedStream = require('delayed-stream');
-var http = require('http');
-
-http.createServer(function(req, res) {
- var delayed = DelayedStream.create(req);
-
- setTimeout(function() {
- res.writeHead(200);
- delayed.pipe(res);
- }, 1000);
-});
-```
-
-If you are not using `Stream#pipe`, you can also manually release the buffered
-events by calling `delayedStream.resume()`:
-
-``` javascript
-var delayed = DelayedStream.create(req);
-
-setTimeout(function() {
- // Emit all buffered events and resume underlaying source
- delayed.resume();
-}, 1000);
-```
-
-## Implementation
-
-In order to use this meta stream properly, here are a few things you should
-know about the implementation.
-
-### Event Buffering / Proxying
-
-All events of the `source` stream are hijacked by overwriting the `source.emit`
-method. Until node implements a catch-all event listener, this is the only way.
-
-However, delayed-stream still continues to emit all events it captures on the
-`source`, regardless of whether you have released the delayed stream yet or
-not.
-
-Upon creation, delayed-stream captures all `source` events and stores them in
-an internal event buffer. Once `delayedStream.release()` is called, all
-buffered events are emitted on the `delayedStream`, and the event buffer is
-cleared. After that, delayed-stream merely acts as a proxy for the underlaying
-source.
-
-### Error handling
-
-Error events on `source` are buffered / proxied just like any other events.
-However, `delayedStream.create` attaches a no-op `'error'` listener to the
-`source`. This way you only have to handle errors on the `delayedStream`
-object, rather than in two places.
-
-### Buffer limits
-
-delayed-stream provides a `maxDataSize` property that can be used to limit
-the amount of data being buffered. In order to protect you from bad `source`
-streams that don't react to `source.pause()`, this feature is enabled by
-default.
-
-## API
-
-### DelayedStream.create(source, [options])
-
-Returns a new `delayedStream`. Available options are:
-
-* `pauseStream`
-* `maxDataSize`
-
-The description for those properties can be found below.
-
-### delayedStream.source
-
-The `source` stream managed by this object. This is useful if you are
-passing your `delayedStream` around, and you still want to access properties
-on the `source` object.
-
-### delayedStream.pauseStream = true
-
-Whether to pause the underlaying `source` when calling
-`DelayedStream.create()`. Modifying this property afterwards has no effect.
-
-### delayedStream.maxDataSize = 1024 * 1024
-
-The amount of data to buffer before emitting an `error`.
-
-If the underlaying source is emitting `Buffer` objects, the `maxDataSize`
-refers to bytes.
-
-If the underlaying source is emitting JavaScript strings, the size refers to
-characters.
-
-If you know what you are doing, you can set this property to `Infinity` to
-disable this feature. You can also modify this property during runtime.
-
-### delayedStream.maxDataSize = 1024 * 1024
-
-The amount of data to buffer before emitting an `error`.
-
-If the underlaying source is emitting `Buffer` objects, the `maxDataSize`
-refers to bytes.
-
-If the underlaying source is emitting JavaScript strings, the size refers to
-characters.
-
-If you know what you are doing, you can set this property to `Infinity` to
-disable this feature.
-
-### delayedStream.dataSize = 0
-
-The amount of data buffered so far.
-
-### delayedStream.readable
-
-An ECMA5 getter that returns the value of `source.readable`.
-
-### delayedStream.resume()
-
-If the `delayedStream` has not been released so far, `delayedStream.release()`
-is called.
-
-In either case, `source.resume()` is called.
-
-### delayedStream.pause()
-
-Calls `source.pause()`.
-
-### delayedStream.pipe(dest)
-
-Calls `delayedStream.resume()` and then proxies the arguments to `source.pipe`.
-
-### delayedStream.release()
-
-Emits and clears all events that have been buffered up so far. This does not
-resume the underlaying source, use `delayedStream.resume()` instead.
-
-## License
-
-delayed-stream is licensed under the MIT license.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js
deleted file mode 100644
index 7c10d4825..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js
+++ /dev/null
@@ -1,99 +0,0 @@
-var Stream = require('stream').Stream;
-var util = require('util');
-
-module.exports = DelayedStream;
-function DelayedStream() {
- this.source = null;
- this.dataSize = 0;
- this.maxDataSize = 1024 * 1024;
- this.pauseStream = true;
-
- this._maxDataSizeExceeded = false;
- this._released = false;
- this._bufferedEvents = [];
-}
-util.inherits(DelayedStream, Stream);
-
-DelayedStream.create = function(source, options) {
- var delayedStream = new this();
-
- options = options || {};
- for (var option in options) {
- delayedStream[option] = options[option];
- }
-
- delayedStream.source = source;
-
- var realEmit = source.emit;
- source.emit = function() {
- delayedStream._handleEmit(arguments);
- return realEmit.apply(source, arguments);
- };
-
- source.on('error', function() {});
- if (delayedStream.pauseStream) {
- source.pause();
- }
-
- return delayedStream;
-};
-
-DelayedStream.prototype.__defineGetter__('readable', function() {
- return this.source.readable;
-});
-
-DelayedStream.prototype.resume = function() {
- if (!this._released) {
- this.release();
- }
-
- this.source.resume();
-};
-
-DelayedStream.prototype.pause = function() {
- this.source.pause();
-};
-
-DelayedStream.prototype.release = function() {
- this._released = true;
-
- this._bufferedEvents.forEach(function(args) {
- this.emit.apply(this, args);
- }.bind(this));
- this._bufferedEvents = [];
-};
-
-DelayedStream.prototype.pipe = function() {
- var r = Stream.prototype.pipe.apply(this, arguments);
- this.resume();
- return r;
-};
-
-DelayedStream.prototype._handleEmit = function(args) {
- if (this._released) {
- this.emit.apply(this, args);
- return;
- }
-
- if (args[0] === 'data') {
- this.dataSize += args[1].length;
- this._checkIfMaxDataSizeExceeded();
- }
-
- this._bufferedEvents.push(args);
-};
-
-DelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {
- if (this._maxDataSizeExceeded) {
- return;
- }
-
- if (this.dataSize <= this.maxDataSize) {
- return;
- }
-
- this._maxDataSizeExceeded = true;
- var message =
- 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'
- this.emit('error', new Error(message));
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json
deleted file mode 100644
index d394b9292..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "author": {
- "name": "Felix Geisendörfer",
- "email": "felix@debuggable.com",
- "url": "http://debuggable.com/"
- },
- "name": "delayed-stream",
- "description": "Buffers events from a stream until you are ready to handle them.",
- "version": "0.0.5",
- "homepage": "https://github.com/felixge/node-delayed-stream",
- "repository": {
- "type": "git",
- "url": "git://github.com/felixge/node-delayed-stream.git"
- },
- "main": "./lib/delayed_stream",
- "engines": {
- "node": ">=0.4.0"
- },
- "dependencies": {},
- "devDependencies": {
- "fake": "0.2.0",
- "far": "0.0.1"
- },
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
- },
- "_id": "delayed-stream@0.0.5",
- "optionalDependencies": {},
- "_engineSupported": true,
- "_npmVersion": "1.1.24",
- "_nodeVersion": "v0.8.1",
- "_defaultsLoaded": true,
- "dist": {
- "shasum": "56f46a53506f656e1a549c63d8794c6cf8b6e1fc"
- },
- "_from": "delayed-stream@0.0.5"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js
deleted file mode 100644
index 4d71b8a64..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var common = module.exports;
-
-common.DelayedStream = require('..');
-common.assert = require('assert');
-common.fake = require('fake');
-common.PORT = 49252;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js
deleted file mode 100644
index 9ecad5b8a..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js
+++ /dev/null
@@ -1,38 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var DelayedStream = common.DelayedStream;
-var http = require('http');
-
-var UPLOAD = new Buffer(10 * 1024 * 1024);
-
-var server = http.createServer(function(req, res) {
- var delayed = DelayedStream.create(req, {maxDataSize: UPLOAD.length});
-
- setTimeout(function() {
- res.writeHead(200);
- delayed.pipe(res);
- }, 10);
-});
-server.listen(common.PORT, function() {
- var request = http.request({
- method: 'POST',
- port: common.PORT,
- });
-
- request.write(UPLOAD);
- request.end();
-
- request.on('response', function(res) {
- var received = 0;
- res
- .on('data', function(chunk) {
- received += chunk.length;
- })
- .on('end', function() {
- assert.equal(received, UPLOAD.length);
- server.close();
- });
- });
-});
-
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js
deleted file mode 100644
index 6f417f3e9..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js
+++ /dev/null
@@ -1,21 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testAutoPause() {
- var source = new Stream();
-
- fake.expect(source, 'pause', 1);
- var delayedStream = DelayedStream.create(source);
- fake.verify();
-})();
-
-(function testDisableAutoPause() {
- var source = new Stream();
- fake.expect(source, 'pause', 0);
-
- var delayedStream = DelayedStream.create(source, {pauseStream: false});
- fake.verify();
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js
deleted file mode 100644
index b50c39783..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testDelayEventsUntilResume() {
- var source = new Stream();
- var delayedStream = DelayedStream.create(source, {pauseStream: false});
-
- fake.expect(source, 'pause');
- delayedStream.pause();
- fake.verify();
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js
deleted file mode 100644
index fc4047e08..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js
+++ /dev/null
@@ -1,48 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testDelayEventsUntilResume() {
- var source = new Stream();
- var delayedStream = DelayedStream.create(source, {pauseStream: false});
-
- // delayedStream must not emit until we resume
- fake.expect(delayedStream, 'emit', 0);
-
- // but our original source must emit
- var params = [];
- source.on('foo', function(param) {
- params.push(param);
- });
-
- source.emit('foo', 1);
- source.emit('foo', 2);
-
- // Make sure delayedStream did not emit, and source did
- assert.deepEqual(params, [1, 2]);
- fake.verify();
-
- // After resume, delayedStream must playback all events
- fake
- .stub(delayedStream, 'emit')
- .times(Infinity)
- .withArg(1, 'newListener');
- fake.expect(delayedStream, 'emit', ['foo', 1]);
- fake.expect(delayedStream, 'emit', ['foo', 2]);
- fake.expect(source, 'resume');
-
- delayedStream.resume();
- fake.verify();
-
- // Calling resume again will delegate to source
- fake.expect(source, 'resume');
- delayedStream.resume();
- fake.verify();
-
- // Emitting more events directly leads to them being emitted
- fake.expect(delayedStream, 'emit', ['foo', 3]);
- source.emit('foo', 3);
- fake.verify();
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js
deleted file mode 100644
index a9d35e72c..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testHandleSourceErrors() {
- var source = new Stream();
- var delayedStream = DelayedStream.create(source, {pauseStream: false});
-
- // We deal with this by attaching a no-op listener to 'error' on the source
- // when creating a new DelayedStream. This way error events on the source
- // won't throw.
- source.emit('error', new Error('something went wrong'));
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js
deleted file mode 100644
index 7638a2bf0..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testMaxDataSize() {
- var source = new Stream();
- var delayedStream = DelayedStream.create(source, {maxDataSize: 1024, pauseStream: false});
-
- source.emit('data', new Buffer(1024));
-
- fake
- .expect(delayedStream, 'emit')
- .withArg(1, 'error');
- source.emit('data', new Buffer(1));
- fake.verify();
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js
deleted file mode 100644
index 7d312ab1f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testPipeReleases() {
- var source = new Stream();
- var delayedStream = DelayedStream.create(source, {pauseStream: false});
-
- fake.expect(delayedStream, 'resume');
- delayedStream.pipe(new Stream());
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js
deleted file mode 100644
index d436163b7..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var fake = common.fake.create();
-var DelayedStream = common.DelayedStream;
-var Stream = require('stream').Stream;
-
-(function testProxyReadableProperty() {
- var source = new Stream();
- var delayedStream = DelayedStream.create(source, {pauseStream: false});
-
- source.readable = fake.value('source.readable');
- assert.strictEqual(delayedStream.readable, source.readable);
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js
deleted file mode 100755
index 0bb8e8224..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-var far = require('far').create();
-
-far.add(__dirname);
-far.include(/test-.*\.js$/);
-
-far.execute();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json
deleted file mode 100644
index 7bb0fcf9e..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/package.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "author": {
- "name": "Felix Geisendörfer",
- "email": "felix@debuggable.com",
- "url": "http://debuggable.com/"
- },
- "name": "combined-stream",
- "description": "A stream that emits multiple other streams one after another.",
- "version": "0.0.3",
- "homepage": "https://github.com/felixge/node-combined-stream",
- "repository": {
- "type": "git",
- "url": "git://github.com/felixge/node-combined-stream.git"
- },
- "main": "./lib/combined_stream",
- "engines": {
- "node": "*"
- },
- "dependencies": {
- "delayed-stream": "0.0.5"
- },
- "devDependencies": {
- "far": "0.0.1"
- },
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
- },
- "_id": "combined-stream@0.0.3",
- "optionalDependencies": {},
- "_engineSupported": true,
- "_npmVersion": "1.1.24",
- "_nodeVersion": "v0.8.1",
- "_defaultsLoaded": true,
- "dist": {
- "shasum": "c41c9899277b587901bb6ce4bf458b94693afafa"
- },
- "_from": "combined-stream@0.0.3"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/common.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/common.js
deleted file mode 100644
index aa9ab3a60..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/common.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var common = module.exports;
-
-var path = require('path');
-var root = path.join(__dirname, '..');
-
-common.dir = {
- fixture: root + '/test/fixture',
- tmp: root + '/test/tmp',
-};
-
-common.CombinedStream = require(root);
-common.assert = require('assert');
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file1.txt b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file1.txt
deleted file mode 100644
index 50e0218df..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file1.txt
+++ /dev/null
@@ -1,256 +0,0 @@
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
-10101010101010101010101010101010101010101010101010101010101010101010101010101010
-01010101010101010101010101010101010101010101010101010101010101010101010101010101
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file2.txt b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file2.txt
deleted file mode 100644
index da1d821fe..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/fixture/file2.txt
+++ /dev/null
@@ -1,256 +0,0 @@
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
-20202020202020202020202020202020202020202020202020202020202020202020202020202020
-02020202020202020202020202020202020202020202020202020202020202020202020202020202
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-callback-streams.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-callback-streams.js
deleted file mode 100644
index 44ecabab6..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-callback-streams.js
+++ /dev/null
@@ -1,27 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var CombinedStream = common.CombinedStream;
-var fs = require('fs');
-
-var FILE1 = common.dir.fixture + '/file1.txt';
-var FILE2 = common.dir.fixture + '/file2.txt';
-var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2);
-
-(function testDelayedStreams() {
- var combinedStream = CombinedStream.create();
- combinedStream.append(function(next) {
- next(fs.createReadStream(FILE1));
- });
- combinedStream.append(function(next) {
- next(fs.createReadStream(FILE2));
- });
-
- var tmpFile = common.dir.tmp + '/combined.txt';
- var dest = fs.createWriteStream(tmpFile);
- combinedStream.pipe(dest);
-
- dest.on('end', function() {
- var written = fs.readFileSync(tmpFile, 'utf8');
- assert.strictEqual(written, EXPECTED);
- });
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-data-size.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-data-size.js
deleted file mode 100644
index e3fbd1842..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-data-size.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var CombinedStream = common.CombinedStream;
-
-(function testDataSizeGetter() {
- var combinedStream = CombinedStream.create();
-
- assert.strictEqual(combinedStream.dataSize, 0);
-
- // Test one stream
- combinedStream._streams.push({dataSize: 10});
- combinedStream._updateDataSize();
- assert.strictEqual(combinedStream.dataSize, 10);
-
- // Test two streams
- combinedStream._streams.push({dataSize: 23});
- combinedStream._updateDataSize();
- assert.strictEqual(combinedStream.dataSize, 33);
-
- // Test currentStream
- combinedStream._currentStream = {dataSize: 20};
- combinedStream._updateDataSize();
- assert.strictEqual(combinedStream.dataSize, 53);
-
- // Test currentStream without dataSize
- combinedStream._currentStream = {};
- combinedStream._updateDataSize();
- assert.strictEqual(combinedStream.dataSize, 33);
-
- // Test stream function
- combinedStream._streams.push(function() {});
- combinedStream._updateDataSize();
- assert.strictEqual(combinedStream.dataSize, 33);
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams-and-buffers-and-strings.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams-and-buffers-and-strings.js
deleted file mode 100644
index c678575c0..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams-and-buffers-and-strings.js
+++ /dev/null
@@ -1,38 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var CombinedStream = common.CombinedStream;
-var fs = require('fs');
-
-var FILE1 = common.dir.fixture + '/file1.txt';
-var BUFFER = new Buffer('Bacon is delicious');
-var FILE2 = common.dir.fixture + '/file2.txt';
-var STRING = 'The € kicks the $\'s ass!';
-
-var EXPECTED =
- fs.readFileSync(FILE1)
- + BUFFER
- + fs.readFileSync(FILE2)
- + STRING;
-var GOT;
-
-(function testDelayedStreams() {
- var combinedStream = CombinedStream.create();
- combinedStream.append(fs.createReadStream(FILE1));
- combinedStream.append(BUFFER);
- combinedStream.append(fs.createReadStream(FILE2));
- combinedStream.append(function(next) {
- next(STRING);
- });
-
- var tmpFile = common.dir.tmp + '/combined-file1-buffer-file2-string.txt';
- var dest = fs.createWriteStream(tmpFile);
- combinedStream.pipe(dest);
-
- dest.on('close', function() {
- GOT = fs.readFileSync(tmpFile, 'utf8');
- });
-})();
-
-process.on('exit', function() {
- assert.strictEqual(GOT, EXPECTED);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams.js
deleted file mode 100644
index 263cfdf72..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams.js
+++ /dev/null
@@ -1,35 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var CombinedStream = common.CombinedStream;
-var fs = require('fs');
-
-var FILE1 = common.dir.fixture + '/file1.txt';
-var FILE2 = common.dir.fixture + '/file2.txt';
-var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2);
-var GOT;
-
-(function testDelayedStreams() {
- var combinedStream = CombinedStream.create();
- combinedStream.append(fs.createReadStream(FILE1));
- combinedStream.append(fs.createReadStream(FILE2));
-
- var stream1 = combinedStream._streams[0];
- var stream2 = combinedStream._streams[1];
-
- stream1.on('end', function() {
- assert.equal(stream2.dataSize, 0);
- });
-
- var tmpFile = common.dir.tmp + '/combined.txt';
- var dest = fs.createWriteStream(tmpFile);
- combinedStream.pipe(dest);
-
- dest.on('close', function() {
- GOT = fs.readFileSync(tmpFile, 'utf8');
- });
-})();
-
-process.on('exit', function() {
- console.error(GOT.length, EXPECTED.length);
- assert.strictEqual(GOT, EXPECTED);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-max-data-size.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-max-data-size.js
deleted file mode 100644
index 25f47a47c..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-max-data-size.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var CombinedStream = common.CombinedStream;
-var fs = require('fs');
-
-var FILE1 = common.dir.fixture + '/file1.txt';
-var FILE2 = common.dir.fixture + '/file2.txt';
-var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2);
-
-(function testDelayedStreams() {
- var combinedStream = CombinedStream.create({pauseStreams: false, maxDataSize: 20736});
- combinedStream.append(fs.createReadStream(FILE1));
- combinedStream.append(fs.createReadStream(FILE2));
-
- var gotErr = null;
- combinedStream.on('error', function(err) {
- gotErr = err;
- });
-
- process.on('exit', function() {
- assert.ok(gotErr);
- assert.ok(gotErr.message.match(/bytes/));
- });
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-unpaused-streams.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-unpaused-streams.js
deleted file mode 100644
index 30a3a6f84..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/integration/test-unpaused-streams.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var CombinedStream = common.CombinedStream;
-var fs = require('fs');
-
-var FILE1 = common.dir.fixture + '/file1.txt';
-var FILE2 = common.dir.fixture + '/file2.txt';
-var EXPECTED = fs.readFileSync(FILE1) + fs.readFileSync(FILE2);
-
-(function testDelayedStreams() {
- var combinedStream = CombinedStream.create({pauseStreams: false});
- combinedStream.append(fs.createReadStream(FILE1));
- combinedStream.append(fs.createReadStream(FILE2));
-
- var stream1 = combinedStream._streams[0];
- var stream2 = combinedStream._streams[1];
-
- stream1.on('end', function() {
- assert.ok(stream2.dataSize > 0);
- });
-
- var tmpFile = common.dir.tmp + '/combined.txt';
- var dest = fs.createWriteStream(tmpFile);
- combinedStream.pipe(dest);
-
- dest.on('end', function() {
- var written = fs.readFileSync(tmpFile, 'utf8');
- assert.strictEqual(written, EXPECTED);
- });
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/run.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/run.js
deleted file mode 100755
index 0bb8e8224..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/test/run.js
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-var far = require('far').create();
-
-far.add(__dirname);
-far.include(/test-.*\.js$/);
-
-far.execute();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/package.json b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/package.json
deleted file mode 100644
index 1948a5ea7..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "author": {
- "name": "Felix Geisendörfer",
- "email": "felix@debuggable.com",
- "url": "http://debuggable.com/"
- },
- "name": "form-data",
- "description": "A module to create readable `\"multipart/form-data\"` streams. Can be used to submit forms and file uploads to other web applications.",
- "version": "0.0.3",
- "repository": {
- "type": "git",
- "url": "git://github.com/felixge/node-form-data.git"
- },
- "main": "./lib/form_data",
- "engines": {
- "node": "*"
- },
- "dependencies": {
- "combined-stream": "0.0.3",
- "mime": "~1.2.2",
- "async": "~0.1.9"
- },
- "devDependencies": {
- "fake": "0.2.1",
- "far": "0.0.1",
- "formidable": "1.0.2",
- "request": "~2.9.203"
- },
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
- },
- "_id": "form-data@0.0.3",
- "optionalDependencies": {},
- "_engineSupported": true,
- "_npmVersion": "1.1.24",
- "_nodeVersion": "v0.8.1",
- "_defaultsLoaded": true,
- "dist": {
- "shasum": "6eea17b45790b42d779a1d581d1b3600fe0c7c0d"
- },
- "_from": "form-data"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/common.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/common.js
deleted file mode 100644
index 8a26482e1..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/common.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var common = module.exports;
-var path = require('path');
-
-var rootDir = path.join(__dirname, '..');
-common.dir = {
- lib: rootDir + '/lib',
- fixture: rootDir + '/test/fixture',
- tmp: rootDir + '/test/tmp',
-};
-
-common.assert = require('assert');
-common.fake = require('fake');
-
-common.port = 8432;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/bacon.txt b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/bacon.txt
deleted file mode 100644
index 9804bbdc6..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/bacon.txt
+++ /dev/null
@@ -1 +0,0 @@
-Bacon is delicious.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/unicycle.jpg b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/unicycle.jpg
deleted file mode 100644
index 7cea4dd71..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/fixture/unicycle.jpg
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-form-get-length.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-form-get-length.js
deleted file mode 100644
index 44d3b4dc2..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-form-get-length.js
+++ /dev/null
@@ -1,93 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var FormData = require(common.dir.lib + '/form_data');
-var fake = require('fake').create();
-var fs = require('fs');
-
-(function testEmptyForm() {
- var form = new FormData();
- var callback = fake.callback(arguments.callee.name + '-getLength');
- var calls = fake.expectAnytime(callback, [null, 0]).calls;
-
- form.getLength(callback);
-
- // Make sure our response is async
- assert.strictEqual(calls.length, 0);
-})();
-
-(function testUtf8String() {
- var FIELD = 'my_field';
- var VALUE = 'May the € be with you';
-
- var form = new FormData();
- form.append(FIELD, VALUE);
- var callback = fake.callback(arguments.callee.name + '-getLength');
-
- var expectedLength =
- form._overheadLength +
- Buffer.byteLength(VALUE) +
- form._lastBoundary().length;
-
- fake.expectAnytime(callback, [null, expectedLength]);
- form.getLength(callback);
-})();
-
-(function testBuffer() {
- var FIELD = 'my_field';
- var VALUE = new Buffer(23);
-
- var form = new FormData();
- form.append(FIELD, VALUE);
- var callback = fake.callback(arguments.callee.name + '-getLength');
-
- var expectedLength =
- form._overheadLength +
- VALUE.length +
- form._lastBoundary().length;
-
- fake.expectAnytime(callback, [null, expectedLength]);
- form.getLength(callback);
-})();
-
-
-(function testStringFileBufferFile() {
- var fields = [
- {
- name: 'my_field',
- value: 'Test 123',
- },
- {
- name: 'my_image',
- value: fs.createReadStream(common.dir.fixture + '/unicycle.jpg'),
- },
- {
- name: 'my_buffer',
- value: new Buffer('123'),
- },
- {
- name: 'my_txt',
- value: fs.createReadStream(common.dir.fixture + '/bacon.txt'),
- },
- ];
-
- var form = new FormData();
- var expectedLength = 0;
-
- fields.forEach(function(field) {
- form.append(field.name, field.value);
- if (field.value.path) {
- var stat = fs.statSync(field.value.path);
- expectedLength += stat.size;
- } else {
- expectedLength += field.value.length;
- }
- });
-
- expectedLength += form._overheadLength + form._lastBoundary().length;
-
- var callback = fake.callback(arguments.callee.name + '-getLength');
- fake.expectAnytime(callback, [null, expectedLength]);
- form.getLength(callback);
-})();
-
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-get-boundary.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-get-boundary.js
deleted file mode 100644
index 6dc2fb2bd..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-get-boundary.js
+++ /dev/null
@@ -1,18 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-
-var FormData = require(common.dir.lib + '/form_data');
-
-(function testOneBoundaryPerForm() {
- var form = new FormData();
- var boundary = form.getBoundary();
-
- assert.equal(boundary, form.getBoundary());
- assert.equal(boundary.length, 50);
-})();
-
-(function testUniqueBoundaryPerForm() {
- var formA = new FormData();
- var formB = new FormData();
- assert.notEqual(formA.getBoundary(), formB.getBoundary());
-})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-http-response.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-http-response.js
deleted file mode 100644
index 8e183fed3..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-http-response.js
+++ /dev/null
@@ -1,121 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var http = require('http');
-var path = require('path');
-var mime = require('mime');
-var request = require('request');
-var parseUrl = require('url').parse;
-var fs = require('fs');
-var FormData = require(common.dir.lib + '/form_data');
-var IncomingForm = require('formidable').IncomingForm;
-
-var remoteFile = 'http://nodejs.org/images/logo.png';
-
-var FIELDS;
-var server;
-
-var parsedUrl = parseUrl(remoteFile)
- , options = {
- method: 'get',
- port: parsedUrl.port || 80,
- path: parsedUrl.pathname,
- host: parsedUrl.hostname
- }
- ;
-
-http.request(options, function(res) {
-
- FIELDS = [
- {name: 'my_field', value: 'my_value'},
- {name: 'my_buffer', value: new Buffer([1, 2, 3])},
- {name: 'remote_file', value: res }
- ];
-
- var form = new FormData();
- FIELDS.forEach(function(field) {
- form.append(field.name, field.value);
- });
-
- server.listen(common.port, function() {
-
- form.submit('http://localhost:' + common.port + '/', function(err, res) {
-
- if (err) {
- throw err;
- }
-
- assert.strictEqual(res.statusCode, 200);
- server.close();
- });
-
- });
-
-
-}).end();
-
-server = http.createServer(function(req, res) {
-
- // formidable is broken so let's do it manual way
- //
- // var form = new IncomingForm();
- // form.uploadDir = common.dir.tmp;
- // form.parse(req);
- // form
- // .on('field', function(name, value) {
- // var field = FIELDS.shift();
- // assert.strictEqual(name, field.name);
- // assert.strictEqual(value, field.value+'');
- // })
- // .on('file', function(name, file) {
- // var field = FIELDS.shift();
- // assert.strictEqual(name, field.name);
- // assert.strictEqual(file.name, path.basename(field.value.path));
- // // mime.lookup file.NAME == 'my_file' ?
- // assert.strictEqual(file.type, mime.lookup(file.name));
- // })
- // .on('end', function() {
- // res.writeHead(200);
- // res.end('done');
- // });
-
- // temp workaround
- var data = '';
- req.setEncoding('utf8');
-
- req.on('data', function(d) {
- data += d;
- });
-
- req.on('end', function() {
-
- // check for the fields' traces
-
- // 1st field : my_field
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 2nd field : my_buffer
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 3rd field : remote_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(remoteFile)+'"') != -1 );
- // check for http://nodejs.org/images/logo.png traces
- assert.ok( data.indexOf('ImageReady') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(remoteFile) ) != -1 );
-
- res.writeHead(200);
- res.end('done');
-
- });
-
-});
-
-
-process.on('exit', function() {
- assert.strictEqual(FIELDS.length, 0);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-pipe.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-pipe.js
deleted file mode 100644
index acc39df0f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-pipe.js
+++ /dev/null
@@ -1,111 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var http = require('http');
-var path = require('path');
-var mime = require('mime');
-var request = require('request');
-var fs = require('fs');
-var FormData = require(common.dir.lib + '/form_data');
-var IncomingForm = require('formidable').IncomingForm;
-
-var remoteFile = 'http://nodejs.org/images/logo.png';
-
-var FIELDS = [
- {name: 'my_field', value: 'my_value'},
- {name: 'my_buffer', value: new Buffer([1, 2, 3])},
- {name: 'my_file', value: fs.createReadStream(common.dir.fixture + '/unicycle.jpg')},
- {name: 'remote_file', value: request(remoteFile) }
-];
-
-var server = http.createServer(function(req, res) {
-
- // formidable is broken so let's do it manual way
- //
- // var form = new IncomingForm();
- // form.uploadDir = common.dir.tmp;
- // form.parse(req);
- // form
- // .on('field', function(name, value) {
- // var field = FIELDS.shift();
- // assert.strictEqual(name, field.name);
- // assert.strictEqual(value, field.value+'');
- // })
- // .on('file', function(name, file) {
- // var field = FIELDS.shift();
- // assert.strictEqual(name, field.name);
- // assert.strictEqual(file.name, path.basename(field.value.path));
- // assert.strictEqual(file.type, mime.lookup(file.name));
- // })
- // .on('end', function() {
- // res.writeHead(200);
- // res.end('done');
- // });
-
- // temp workaround
- var data = '';
- req.setEncoding('utf8');
-
- req.on('data', function(d) {
- data += d;
- });
-
- req.on('end', function() {
- // check for the fields' traces
-
- // 1st field : my_field
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 2nd field : my_buffer
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 3rd field : my_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(field.value.path)+'"') != -1 );
- // check for unicycle.jpg traces
- assert.ok( data.indexOf('2005:06:21 01:44:12') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(field.value.path) ) != -1 );
-
- // 4th field : remote_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(field.value.path)+'"') != -1 );
- // check for http://nodejs.org/images/logo.png traces
- assert.ok( data.indexOf('ImageReady') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(remoteFile) ) != -1 );
-
- res.writeHead(200);
- res.end('done');
-
- });
-
-
-});
-
-server.listen(common.port, function() {
- var form = new FormData();
- FIELDS.forEach(function(field) {
- form.append(field.name, field.value);
- });
-
- var request = http.request({
- method: 'post',
- port: common.port,
- path: '/upload',
- headers: form.getHeaders()
- });
-
- form.pipe(request);
-
- request.on('response', function(res) {
- server.close();
- });
-});
-
-process.on('exit', function() {
- assert.strictEqual(FIELDS.length, 0);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-submit.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-submit.js
deleted file mode 100644
index c40e88f3d..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/integration/test-submit.js
+++ /dev/null
@@ -1,107 +0,0 @@
-var common = require('../common');
-var assert = common.assert;
-var http = require('http');
-var path = require('path');
-var mime = require('mime');
-var request = require('request');
-var fs = require('fs');
-var FormData = require(common.dir.lib + '/form_data');
-var IncomingForm = require('formidable').IncomingForm;
-
-var remoteFile = 'http://nodejs.org/images/logo.png';
-
-var FIELDS = [
- {name: 'my_field', value: 'my_value'},
- {name: 'my_buffer', value: new Buffer([1, 2, 3])},
- {name: 'my_file', value: fs.createReadStream(common.dir.fixture + '/unicycle.jpg') },
- {name: 'remote_file', value: request(remoteFile) }
-];
-
-var server = http.createServer(function(req, res) {
-
- // formidable is broken so let's do it manual way
- //
- // var form = new IncomingForm();
- // form.uploadDir = common.dir.tmp;
- // form.parse(req);
- // form
- // .on('field', function(name, value) {
- // var field = FIELDS.shift();
- // assert.strictEqual(name, field.name);
- // assert.strictEqual(value, field.value+'');
- // })
- // .on('file', function(name, file) {
- // var field = FIELDS.shift();
- // assert.strictEqual(name, field.name);
- // assert.strictEqual(file.name, path.basename(field.value.path));
- // // mime.lookup file.NAME == 'my_file' ?
- // assert.strictEqual(file.type, mime.lookup(file.name));
- // })
- // .on('end', function() {
- // res.writeHead(200);
- // res.end('done');
- // });
-
- // temp workaround
- var data = '';
- req.setEncoding('utf8');
- req.on('data', function(d) {
- data += d;
- });
- req.on('end', function() {
- // check for the fields' traces
-
- // 1st field : my_field
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 2nd field : my_buffer
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 3rd field : my_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(field.value.path)+'"') != -1 );
- // check for unicycle.jpg traces
- assert.ok( data.indexOf('2005:06:21 01:44:12') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(field.value.path) ) != -1 );
-
- // 4th field : remote_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(field.value.path)+'"') != -1 );
- // check for http://nodejs.org/images/logo.png traces
- assert.ok( data.indexOf('ImageReady') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(remoteFile) ) != -1 );
-
- res.writeHead(200);
- res.end('done');
-
- });
-
-});
-
-server.listen(common.port, function() {
- var form = new FormData();
- FIELDS.forEach(function(field) {
- form.append(field.name, field.value);
- });
-
- form.submit('http://localhost:' + common.port + '/', function(err, res) {
-
- if (err) {
- throw err;
- }
-
- assert.strictEqual(res.statusCode, 200);
- server.close();
- });
-
-});
-
-process.on('exit', function() {
- assert.strictEqual(FIELDS.length, 0);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/run.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/run.js
deleted file mode 100755
index 0bb8e8224..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/form-data/test/run.js
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env node
-var far = require('far').create();
-
-far.add(__dirname);
-far.include(/test-.*\.js$/);
-
-far.execute();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/LICENSE
deleted file mode 100644
index 451fc4550..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2010 Benjamin Thomas, Robert Kieffer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/README.md b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/README.md
deleted file mode 100644
index b90552a3b..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/README.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# mime
-
-Comprehensive MIME type mapping API. Includes all 600+ types and 800+ extensions defined by the Apache project, plus additional types submitted by the node.js community.
-
-## Install
-
-Install with [npm](http://github.com/isaacs/npm):
-
- npm install mime
-
-## API - Queries
-
-### mime.lookup(path)
-Get the mime type associated with a file. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.'). E.g.
-
- var mime = require('mime');
-
- mime.lookup('/path/to/file.txt'); // => 'text/plain'
- mime.lookup('file.txt'); // => 'text/plain'
- mime.lookup('.TXT'); // => 'text/plain'
- mime.lookup('htm'); // => 'text/html'
-
-### mime.extension(type)
-Get the default extension for `type`
-
- mime.extension('text/html'); // => 'html'
- mime.extension('application/octet-stream'); // => 'bin'
-
-### mime.charsets.lookup()
-
-Map mime-type to charset
-
- mime.charsets.lookup('text/plain'); // => 'UTF-8'
-
-(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)
-
-## API - Defining Custom Types
-
-The following APIs allow you to add your own type mappings within your project. If you feel a type should be included as part of node-mime, see [requesting new types](https://github.com/broofa/node-mime/wiki/Requesting-New-Types).
-
-### mime.define()
-
-Add custom mime/extension mappings
-
- mime.define({
- 'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
- 'application/x-my-type': ['x-mt', 'x-mtt'],
- // etc ...
- });
-
- mime.lookup('x-sft'); // => 'text/x-some-format'
-
-The first entry in the extensions array is returned by `mime.extension()`. E.g.
-
- mime.extension('text/x-some-format'); // => 'x-sf'
-
-### mime.load(filepath)
-
-Load mappings from an Apache ".types" format file
-
- mime.load('./my_project.types');
-
-The .types file format is simple - See the `types` dir for examples.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/mime.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/mime.js
deleted file mode 100644
index 1e00585d3..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/mime.js
+++ /dev/null
@@ -1,104 +0,0 @@
-var path = require('path');
-var fs = require('fs');
-
-function Mime() {
- // Map of extension -> mime type
- this.types = Object.create(null);
-
- // Map of mime type -> extension
- this.extensions = Object.create(null);
-}
-
-/**
- * Define mimetype -> extension mappings. Each key is a mime-type that maps
- * to an array of extensions associated with the type. The first extension is
- * used as the default extension for the type.
- *
- * e.g. mime.define({'audio/ogg', ['oga', 'ogg', 'spx']});
- *
- * @param map (Object) type definitions
- */
-Mime.prototype.define = function (map) {
- for (var type in map) {
- var exts = map[type];
-
- for (var i = 0; i < exts.length; i++) {
- this.types[exts[i]] = type;
- }
-
- // Default extension is the first one we encounter
- if (!this.extensions[type]) {
- this.extensions[type] = exts[0];
- }
- }
-};
-
-/**
- * Load an Apache2-style ".types" file
- *
- * This may be called multiple times (it's expected). Where files declare
- * overlapping types/extensions, the last file wins.
- *
- * @param file (String) path of file to load.
- */
-Mime.prototype.load = function(file) {
- // Read file and split into lines
- var map = {},
- content = fs.readFileSync(file, 'ascii'),
- lines = content.split(/[\r\n]+/);
-
- lines.forEach(function(line) {
- // Clean up whitespace/comments, and split into fields
- var fields = line.replace(/\s*#.*|^\s*|\s*$/g, '').split(/\s+/);
- map[fields.shift()] = fields;
- });
-
- this.define(map);
-};
-
-/**
- * Lookup a mime type based on extension
- */
-Mime.prototype.lookup = function(path, fallback) {
- var ext = path.replace(/.*[\.\/]/, '').toLowerCase();
-
- return this.types[ext] || fallback || this.default_type;
-};
-
-/**
- * Return file extension associated with a mime type
- */
-Mime.prototype.extension = function(mimeType) {
- return this.extensions[mimeType];
-};
-
-// Default instance
-var mime = new Mime();
-
-// Load local copy of
-// http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types
-mime.load(path.join(__dirname, 'types/mime.types'));
-
-// Load additional types from node.js community
-mime.load(path.join(__dirname, 'types/node.types'));
-
-// Default type
-mime.default_type = mime.lookup('bin');
-
-//
-// Additional API specific to the default instance
-//
-
-mime.Mime = Mime;
-
-/**
- * Lookup a charset based on mime type.
- */
-mime.charsets = {
- lookup: function(mimeType, fallback) {
- // Assume text types are utf8
- return (/^text\//).test(mimeType) ? 'UTF-8' : fallback;
- }
-}
-
-module.exports = mime;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/package.json b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/package.json
deleted file mode 100644
index 06e2ee5a2..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "author": {
- "name": "Robert Kieffer",
- "email": "robert@broofa.com",
- "url": "http://github.com/broofa"
- },
- "contributors": [
- {
- "name": "Benjamin Thomas",
- "email": "benjamin@benjaminthomas.org",
- "url": "http://github.com/bentomas"
- }
- ],
- "dependencies": {},
- "description": "A comprehensive library for mime-type mapping",
- "devDependencies": {},
- "keywords": [
- "util",
- "mime"
- ],
- "main": "mime.js",
- "name": "mime",
- "repository": {
- "url": "git://github.com/broofa/node-mime.git",
- "type": "git"
- },
- "version": "1.2.7",
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
- },
- "_id": "mime@1.2.7",
- "optionalDependencies": {},
- "engines": {
- "node": "*"
- },
- "_engineSupported": true,
- "_npmVersion": "1.1.24",
- "_nodeVersion": "v0.8.1",
- "_defaultsLoaded": true,
- "_from": "mime"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/test.js b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/test.js
deleted file mode 100644
index cbad034a1..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/test.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Usage: node test.js
- */
-
-var mime = require('./mime');
-var assert = require('assert');
-
-function eq(a, b) {
- console.log('Test: ' + a + ' === ' + b);
- assert.strictEqual.apply(null, arguments);
-}
-
-console.log(Object.keys(mime.extensions).length + ' types');
-console.log(Object.keys(mime.types).length + ' extensions\n');
-
-//
-// Test mime lookups
-//
-
-eq('text/plain', mime.lookup('text.txt'));
-eq('text/plain', mime.lookup('.text.txt'));
-eq('text/plain', mime.lookup('.txt'));
-eq('text/plain', mime.lookup('txt'));
-eq('application/octet-stream', mime.lookup('text.nope'));
-eq('fallback', mime.lookup('text.fallback', 'fallback'));
-eq('application/octet-stream', mime.lookup('constructor'));
-eq('text/plain', mime.lookup('TEXT.TXT'));
-eq('text/event-stream', mime.lookup('text/event-stream'));
-eq('application/x-web-app-manifest+json', mime.lookup('text.webapp'));
-
-//
-// Test extensions
-//
-
-eq('txt', mime.extension(mime.types.text));
-eq('html', mime.extension(mime.types.htm));
-eq('bin', mime.extension('application/octet-stream'));
-eq(undefined, mime.extension('constructor'));
-
-//
-// Test node types
-//
-
-eq('application/octet-stream', mime.lookup('file.buffer'));
-eq('audio/mp4', mime.lookup('file.m4a'));
-
-//
-// Test charsets
-//
-
-eq('UTF-8', mime.charsets.lookup('text/plain'));
-eq(undefined, mime.charsets.lookup(mime.types.js));
-eq('fallback', mime.charsets.lookup('application/octet-stream', 'fallback'));
-
-console.log('\nOK');
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/mime.types b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/mime.types
deleted file mode 100644
index b90b16587..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/mime.types
+++ /dev/null
@@ -1,1588 +0,0 @@
-# This file maps Internet media types to unique file extension(s).
-# Although created for httpd, this file is used by many software systems
-# and has been placed in the public domain for unlimited redisribution.
-#
-# The table below contains both registered and (common) unregistered types.
-# A type that has no unique extension can be ignored -- they are listed
-# here to guide configurations toward known types and to make it easier to
-# identify "new" types. File extensions are also commonly used to indicate
-# content languages and encodings, so choose them carefully.
-#
-# Internet media types should be registered as described in RFC 4288.
-# The registry is at <http://www.iana.org/assignments/media-types/>.
-#
-# MIME type (lowercased) Extensions
-# ============================================ ==========
-# application/1d-interleaved-parityfec
-# application/3gpp-ims+xml
-# application/activemessage
-application/andrew-inset ez
-# application/applefile
-application/applixware aw
-application/atom+xml atom
-application/atomcat+xml atomcat
-# application/atomicmail
-application/atomsvc+xml atomsvc
-# application/auth-policy+xml
-# application/batch-smtp
-# application/beep+xml
-# application/calendar+xml
-# application/cals-1840
-# application/ccmp+xml
-application/ccxml+xml ccxml
-application/cdmi-capability cdmia
-application/cdmi-container cdmic
-application/cdmi-domain cdmid
-application/cdmi-object cdmio
-application/cdmi-queue cdmiq
-# application/cea-2018+xml
-# application/cellml+xml
-# application/cfw
-# application/cnrp+xml
-# application/commonground
-# application/conference-info+xml
-# application/cpl+xml
-# application/csta+xml
-# application/cstadata+xml
-application/cu-seeme cu
-# application/cybercash
-application/davmount+xml davmount
-# application/dca-rft
-# application/dec-dx
-# application/dialog-info+xml
-# application/dicom
-# application/dns
-application/docbook+xml dbk
-# application/dskpp+xml
-application/dssc+der dssc
-application/dssc+xml xdssc
-# application/dvcs
-application/ecmascript ecma
-# application/edi-consent
-# application/edi-x12
-# application/edifact
-application/emma+xml emma
-# application/epp+xml
-application/epub+zip epub
-# application/eshop
-# application/example
-application/exi exi
-# application/fastinfoset
-# application/fastsoap
-# application/fits
-application/font-tdpfr pfr
-# application/framework-attributes+xml
-application/gml+xml gml
-application/gpx+xml gpx
-application/gxf gxf
-# application/h224
-# application/held+xml
-# application/http
-application/hyperstudio stk
-# application/ibe-key-request+xml
-# application/ibe-pkg-reply+xml
-# application/ibe-pp-data
-# application/iges
-# application/im-iscomposing+xml
-# application/index
-# application/index.cmd
-# application/index.obj
-# application/index.response
-# application/index.vnd
-application/inkml+xml ink inkml
-# application/iotp
-application/ipfix ipfix
-# application/ipp
-# application/isup
-application/java-archive jar
-application/java-serialized-object ser
-application/java-vm class
-application/javascript js
-application/json json
-application/jsonml+json jsonml
-# application/kpml-request+xml
-# application/kpml-response+xml
-application/lost+xml lostxml
-application/mac-binhex40 hqx
-application/mac-compactpro cpt
-# application/macwriteii
-application/mads+xml mads
-application/marc mrc
-application/marcxml+xml mrcx
-application/mathematica ma nb mb
-# application/mathml-content+xml
-# application/mathml-presentation+xml
-application/mathml+xml mathml
-# application/mbms-associated-procedure-description+xml
-# application/mbms-deregister+xml
-# application/mbms-envelope+xml
-# application/mbms-msk+xml
-# application/mbms-msk-response+xml
-# application/mbms-protection-description+xml
-# application/mbms-reception-report+xml
-# application/mbms-register+xml
-# application/mbms-register-response+xml
-# application/mbms-user-service-description+xml
-application/mbox mbox
-# application/media_control+xml
-application/mediaservercontrol+xml mscml
-application/metalink+xml metalink
-application/metalink4+xml meta4
-application/mets+xml mets
-# application/mikey
-application/mods+xml mods
-# application/moss-keys
-# application/moss-signature
-# application/mosskey-data
-# application/mosskey-request
-application/mp21 m21 mp21
-application/mp4 mp4s
-# application/mpeg4-generic
-# application/mpeg4-iod
-# application/mpeg4-iod-xmt
-# application/msc-ivr+xml
-# application/msc-mixer+xml
-application/msword doc dot
-application/mxf mxf
-# application/nasdata
-# application/news-checkgroups
-# application/news-groupinfo
-# application/news-transmission
-# application/nss
-# application/ocsp-request
-# application/ocsp-response
-application/octet-stream bin dms lrf mar so dist distz pkg bpk dump elc deploy
-application/oda oda
-application/oebps-package+xml opf
-application/ogg ogx
-application/omdoc+xml omdoc
-application/onenote onetoc onetoc2 onetmp onepkg
-application/oxps oxps
-# application/parityfec
-application/patch-ops-error+xml xer
-application/pdf pdf
-application/pgp-encrypted pgp
-# application/pgp-keys
-application/pgp-signature asc sig
-application/pics-rules prf
-# application/pidf+xml
-# application/pidf-diff+xml
-application/pkcs10 p10
-application/pkcs7-mime p7m p7c
-application/pkcs7-signature p7s
-application/pkcs8 p8
-application/pkix-attr-cert ac
-application/pkix-cert cer
-application/pkix-crl crl
-application/pkix-pkipath pkipath
-application/pkixcmp pki
-application/pls+xml pls
-# application/poc-settings+xml
-application/postscript ai eps ps
-# application/prs.alvestrand.titrax-sheet
-application/prs.cww cww
-# application/prs.nprend
-# application/prs.plucker
-# application/prs.rdf-xml-crypt
-# application/prs.xsf+xml
-application/pskc+xml pskcxml
-# application/qsig
-application/rdf+xml rdf
-application/reginfo+xml rif
-application/relax-ng-compact-syntax rnc
-# application/remote-printing
-application/resource-lists+xml rl
-application/resource-lists-diff+xml rld
-# application/riscos
-# application/rlmi+xml
-application/rls-services+xml rs
-application/rpki-ghostbusters gbr
-application/rpki-manifest mft
-application/rpki-roa roa
-# application/rpki-updown
-application/rsd+xml rsd
-application/rss+xml rss
-application/rtf rtf
-# application/rtx
-# application/samlassertion+xml
-# application/samlmetadata+xml
-application/sbml+xml sbml
-application/scvp-cv-request scq
-application/scvp-cv-response scs
-application/scvp-vp-request spq
-application/scvp-vp-response spp
-application/sdp sdp
-# application/set-payment
-application/set-payment-initiation setpay
-# application/set-registration
-application/set-registration-initiation setreg
-# application/sgml
-# application/sgml-open-catalog
-application/shf+xml shf
-# application/sieve
-# application/simple-filter+xml
-# application/simple-message-summary
-# application/simplesymbolcontainer
-# application/slate
-# application/smil
-application/smil+xml smi smil
-# application/soap+fastinfoset
-# application/soap+xml
-application/sparql-query rq
-application/sparql-results+xml srx
-# application/spirits-event+xml
-application/srgs gram
-application/srgs+xml grxml
-application/sru+xml sru
-application/ssdl+xml ssdl
-application/ssml+xml ssml
-# application/tamp-apex-update
-# application/tamp-apex-update-confirm
-# application/tamp-community-update
-# application/tamp-community-update-confirm
-# application/tamp-error
-# application/tamp-sequence-adjust
-# application/tamp-sequence-adjust-confirm
-# application/tamp-status-query
-# application/tamp-status-response
-# application/tamp-update
-# application/tamp-update-confirm
-application/tei+xml tei teicorpus
-application/thraud+xml tfi
-# application/timestamp-query
-# application/timestamp-reply
-application/timestamped-data tsd
-# application/tve-trigger
-# application/ulpfec
-# application/vcard+xml
-# application/vemmi
-# application/vividence.scriptfile
-# application/vnd.3gpp.bsf+xml
-application/vnd.3gpp.pic-bw-large plb
-application/vnd.3gpp.pic-bw-small psb
-application/vnd.3gpp.pic-bw-var pvb
-# application/vnd.3gpp.sms
-# application/vnd.3gpp2.bcmcsinfo+xml
-# application/vnd.3gpp2.sms
-application/vnd.3gpp2.tcap tcap
-application/vnd.3m.post-it-notes pwn
-application/vnd.accpac.simply.aso aso
-application/vnd.accpac.simply.imp imp
-application/vnd.acucobol acu
-application/vnd.acucorp atc acutc
-application/vnd.adobe.air-application-installer-package+zip air
-application/vnd.adobe.formscentral.fcdt fcdt
-application/vnd.adobe.fxp fxp fxpl
-# application/vnd.adobe.partial-upload
-application/vnd.adobe.xdp+xml xdp
-application/vnd.adobe.xfdf xfdf
-# application/vnd.aether.imp
-# application/vnd.ah-barcode
-application/vnd.ahead.space ahead
-application/vnd.airzip.filesecure.azf azf
-application/vnd.airzip.filesecure.azs azs
-application/vnd.amazon.ebook azw
-application/vnd.americandynamics.acc acc
-application/vnd.amiga.ami ami
-# application/vnd.amundsen.maze+xml
-application/vnd.android.package-archive apk
-application/vnd.anser-web-certificate-issue-initiation cii
-application/vnd.anser-web-funds-transfer-initiation fti
-application/vnd.antix.game-component atx
-application/vnd.apple.installer+xml mpkg
-application/vnd.apple.mpegurl m3u8
-# application/vnd.arastra.swi
-application/vnd.aristanetworks.swi swi
-application/vnd.astraea-software.iota iota
-application/vnd.audiograph aep
-# application/vnd.autopackage
-# application/vnd.avistar+xml
-application/vnd.blueice.multipass mpm
-# application/vnd.bluetooth.ep.oob
-application/vnd.bmi bmi
-application/vnd.businessobjects rep
-# application/vnd.cab-jscript
-# application/vnd.canon-cpdl
-# application/vnd.canon-lips
-# application/vnd.cendio.thinlinc.clientconf
-application/vnd.chemdraw+xml cdxml
-application/vnd.chipnuts.karaoke-mmd mmd
-application/vnd.cinderella cdy
-# application/vnd.cirpack.isdn-ext
-application/vnd.claymore cla
-application/vnd.cloanto.rp9 rp9
-application/vnd.clonk.c4group c4g c4d c4f c4p c4u
-application/vnd.cluetrust.cartomobile-config c11amc
-application/vnd.cluetrust.cartomobile-config-pkg c11amz
-# application/vnd.collection+json
-# application/vnd.commerce-battelle
-application/vnd.commonspace csp
-application/vnd.contact.cmsg cdbcmsg
-application/vnd.cosmocaller cmc
-application/vnd.crick.clicker clkx
-application/vnd.crick.clicker.keyboard clkk
-application/vnd.crick.clicker.palette clkp
-application/vnd.crick.clicker.template clkt
-application/vnd.crick.clicker.wordbank clkw
-application/vnd.criticaltools.wbs+xml wbs
-application/vnd.ctc-posml pml
-# application/vnd.ctct.ws+xml
-# application/vnd.cups-pdf
-# application/vnd.cups-postscript
-application/vnd.cups-ppd ppd
-# application/vnd.cups-raster
-# application/vnd.cups-raw
-# application/vnd.curl
-application/vnd.curl.car car
-application/vnd.curl.pcurl pcurl
-# application/vnd.cybank
-application/vnd.dart dart
-application/vnd.data-vision.rdz rdz
-application/vnd.dece.data uvf uvvf uvd uvvd
-application/vnd.dece.ttml+xml uvt uvvt
-application/vnd.dece.unspecified uvx uvvx
-application/vnd.dece.zip uvz uvvz
-application/vnd.denovo.fcselayout-link fe_launch
-# application/vnd.dir-bi.plate-dl-nosuffix
-application/vnd.dna dna
-application/vnd.dolby.mlp mlp
-# application/vnd.dolby.mobile.1
-# application/vnd.dolby.mobile.2
-application/vnd.dpgraph dpg
-application/vnd.dreamfactory dfac
-application/vnd.ds-keypoint kpxx
-application/vnd.dvb.ait ait
-# application/vnd.dvb.dvbj
-# application/vnd.dvb.esgcontainer
-# application/vnd.dvb.ipdcdftnotifaccess
-# application/vnd.dvb.ipdcesgaccess
-# application/vnd.dvb.ipdcesgaccess2
-# application/vnd.dvb.ipdcesgpdd
-# application/vnd.dvb.ipdcroaming
-# application/vnd.dvb.iptv.alfec-base
-# application/vnd.dvb.iptv.alfec-enhancement
-# application/vnd.dvb.notif-aggregate-root+xml
-# application/vnd.dvb.notif-container+xml
-# application/vnd.dvb.notif-generic+xml
-# application/vnd.dvb.notif-ia-msglist+xml
-# application/vnd.dvb.notif-ia-registration-request+xml
-# application/vnd.dvb.notif-ia-registration-response+xml
-# application/vnd.dvb.notif-init+xml
-# application/vnd.dvb.pfr
-application/vnd.dvb.service svc
-# application/vnd.dxr
-application/vnd.dynageo geo
-# application/vnd.easykaraoke.cdgdownload
-# application/vnd.ecdis-update
-application/vnd.ecowin.chart mag
-# application/vnd.ecowin.filerequest
-# application/vnd.ecowin.fileupdate
-# application/vnd.ecowin.series
-# application/vnd.ecowin.seriesrequest
-# application/vnd.ecowin.seriesupdate
-# application/vnd.emclient.accessrequest+xml
-application/vnd.enliven nml
-# application/vnd.eprints.data+xml
-application/vnd.epson.esf esf
-application/vnd.epson.msf msf
-application/vnd.epson.quickanime qam
-application/vnd.epson.salt slt
-application/vnd.epson.ssf ssf
-# application/vnd.ericsson.quickcall
-application/vnd.eszigno3+xml es3 et3
-# application/vnd.etsi.aoc+xml
-# application/vnd.etsi.cug+xml
-# application/vnd.etsi.iptvcommand+xml
-# application/vnd.etsi.iptvdiscovery+xml
-# application/vnd.etsi.iptvprofile+xml
-# application/vnd.etsi.iptvsad-bc+xml
-# application/vnd.etsi.iptvsad-cod+xml
-# application/vnd.etsi.iptvsad-npvr+xml
-# application/vnd.etsi.iptvservice+xml
-# application/vnd.etsi.iptvsync+xml
-# application/vnd.etsi.iptvueprofile+xml
-# application/vnd.etsi.mcid+xml
-# application/vnd.etsi.overload-control-policy-dataset+xml
-# application/vnd.etsi.sci+xml
-# application/vnd.etsi.simservs+xml
-# application/vnd.etsi.tsl+xml
-# application/vnd.etsi.tsl.der
-# application/vnd.eudora.data
-application/vnd.ezpix-album ez2
-application/vnd.ezpix-package ez3
-# application/vnd.f-secure.mobile
-application/vnd.fdf fdf
-application/vnd.fdsn.mseed mseed
-application/vnd.fdsn.seed seed dataless
-# application/vnd.ffsns
-# application/vnd.fints
-application/vnd.flographit gph
-application/vnd.fluxtime.clip ftc
-# application/vnd.font-fontforge-sfd
-application/vnd.framemaker fm frame maker book
-application/vnd.frogans.fnc fnc
-application/vnd.frogans.ltf ltf
-application/vnd.fsc.weblaunch fsc
-application/vnd.fujitsu.oasys oas
-application/vnd.fujitsu.oasys2 oa2
-application/vnd.fujitsu.oasys3 oa3
-application/vnd.fujitsu.oasysgp fg5
-application/vnd.fujitsu.oasysprs bh2
-# application/vnd.fujixerox.art-ex
-# application/vnd.fujixerox.art4
-# application/vnd.fujixerox.hbpl
-application/vnd.fujixerox.ddd ddd
-application/vnd.fujixerox.docuworks xdw
-application/vnd.fujixerox.docuworks.binder xbd
-# application/vnd.fut-misnet
-application/vnd.fuzzysheet fzs
-application/vnd.genomatix.tuxedo txd
-# application/vnd.geocube+xml
-application/vnd.geogebra.file ggb
-application/vnd.geogebra.tool ggt
-application/vnd.geometry-explorer gex gre
-application/vnd.geonext gxt
-application/vnd.geoplan g2w
-application/vnd.geospace g3w
-# application/vnd.globalplatform.card-content-mgt
-# application/vnd.globalplatform.card-content-mgt-response
-application/vnd.gmx gmx
-application/vnd.google-earth.kml+xml kml
-application/vnd.google-earth.kmz kmz
-application/vnd.grafeq gqf gqs
-# application/vnd.gridmp
-application/vnd.groove-account gac
-application/vnd.groove-help ghf
-application/vnd.groove-identity-message gim
-application/vnd.groove-injector grv
-application/vnd.groove-tool-message gtm
-application/vnd.groove-tool-template tpl
-application/vnd.groove-vcard vcg
-# application/vnd.hal+json
-application/vnd.hal+xml hal
-application/vnd.handheld-entertainment+xml zmm
-application/vnd.hbci hbci
-# application/vnd.hcl-bireports
-application/vnd.hhe.lesson-player les
-application/vnd.hp-hpgl hpgl
-application/vnd.hp-hpid hpid
-application/vnd.hp-hps hps
-application/vnd.hp-jlyt jlt
-application/vnd.hp-pcl pcl
-application/vnd.hp-pclxl pclxl
-# application/vnd.httphone
-application/vnd.hydrostatix.sof-data sfd-hdstx
-# application/vnd.hzn-3d-crossword
-# application/vnd.ibm.afplinedata
-# application/vnd.ibm.electronic-media
-application/vnd.ibm.minipay mpy
-application/vnd.ibm.modcap afp listafp list3820
-application/vnd.ibm.rights-management irm
-application/vnd.ibm.secure-container sc
-application/vnd.iccprofile icc icm
-application/vnd.igloader igl
-application/vnd.immervision-ivp ivp
-application/vnd.immervision-ivu ivu
-# application/vnd.informedcontrol.rms+xml
-# application/vnd.informix-visionary
-# application/vnd.infotech.project
-# application/vnd.infotech.project+xml
-# application/vnd.innopath.wamp.notification
-application/vnd.insors.igm igm
-application/vnd.intercon.formnet xpw xpx
-application/vnd.intergeo i2g
-# application/vnd.intertrust.digibox
-# application/vnd.intertrust.nncp
-application/vnd.intu.qbo qbo
-application/vnd.intu.qfx qfx
-# application/vnd.iptc.g2.conceptitem+xml
-# application/vnd.iptc.g2.knowledgeitem+xml
-# application/vnd.iptc.g2.newsitem+xml
-# application/vnd.iptc.g2.newsmessage+xml
-# application/vnd.iptc.g2.packageitem+xml
-# application/vnd.iptc.g2.planningitem+xml
-application/vnd.ipunplugged.rcprofile rcprofile
-application/vnd.irepository.package+xml irp
-application/vnd.is-xpr xpr
-application/vnd.isac.fcs fcs
-application/vnd.jam jam
-# application/vnd.japannet-directory-service
-# application/vnd.japannet-jpnstore-wakeup
-# application/vnd.japannet-payment-wakeup
-# application/vnd.japannet-registration
-# application/vnd.japannet-registration-wakeup
-# application/vnd.japannet-setstore-wakeup
-# application/vnd.japannet-verification
-# application/vnd.japannet-verification-wakeup
-application/vnd.jcp.javame.midlet-rms rms
-application/vnd.jisp jisp
-application/vnd.joost.joda-archive joda
-application/vnd.kahootz ktz ktr
-application/vnd.kde.karbon karbon
-application/vnd.kde.kchart chrt
-application/vnd.kde.kformula kfo
-application/vnd.kde.kivio flw
-application/vnd.kde.kontour kon
-application/vnd.kde.kpresenter kpr kpt
-application/vnd.kde.kspread ksp
-application/vnd.kde.kword kwd kwt
-application/vnd.kenameaapp htke
-application/vnd.kidspiration kia
-application/vnd.kinar kne knp
-application/vnd.koan skp skd skt skm
-application/vnd.kodak-descriptor sse
-application/vnd.las.las+xml lasxml
-# application/vnd.liberty-request+xml
-application/vnd.llamagraphics.life-balance.desktop lbd
-application/vnd.llamagraphics.life-balance.exchange+xml lbe
-application/vnd.lotus-1-2-3 123
-application/vnd.lotus-approach apr
-application/vnd.lotus-freelance pre
-application/vnd.lotus-notes nsf
-application/vnd.lotus-organizer org
-application/vnd.lotus-screencam scm
-application/vnd.lotus-wordpro lwp
-application/vnd.macports.portpkg portpkg
-# application/vnd.marlin.drm.actiontoken+xml
-# application/vnd.marlin.drm.conftoken+xml
-# application/vnd.marlin.drm.license+xml
-# application/vnd.marlin.drm.mdcf
-application/vnd.mcd mcd
-application/vnd.medcalcdata mc1
-application/vnd.mediastation.cdkey cdkey
-# application/vnd.meridian-slingshot
-application/vnd.mfer mwf
-application/vnd.mfmp mfm
-application/vnd.micrografx.flo flo
-application/vnd.micrografx.igx igx
-application/vnd.mif mif
-# application/vnd.minisoft-hp3000-save
-# application/vnd.mitsubishi.misty-guard.trustweb
-application/vnd.mobius.daf daf
-application/vnd.mobius.dis dis
-application/vnd.mobius.mbk mbk
-application/vnd.mobius.mqy mqy
-application/vnd.mobius.msl msl
-application/vnd.mobius.plc plc
-application/vnd.mobius.txf txf
-application/vnd.mophun.application mpn
-application/vnd.mophun.certificate mpc
-# application/vnd.motorola.flexsuite
-# application/vnd.motorola.flexsuite.adsi
-# application/vnd.motorola.flexsuite.fis
-# application/vnd.motorola.flexsuite.gotap
-# application/vnd.motorola.flexsuite.kmr
-# application/vnd.motorola.flexsuite.ttc
-# application/vnd.motorola.flexsuite.wem
-# application/vnd.motorola.iprm
-application/vnd.mozilla.xul+xml xul
-application/vnd.ms-artgalry cil
-# application/vnd.ms-asf
-application/vnd.ms-cab-compressed cab
-# application/vnd.ms-color.iccprofile
-application/vnd.ms-excel xls xlm xla xlc xlt xlw
-application/vnd.ms-excel.addin.macroenabled.12 xlam
-application/vnd.ms-excel.sheet.binary.macroenabled.12 xlsb
-application/vnd.ms-excel.sheet.macroenabled.12 xlsm
-application/vnd.ms-excel.template.macroenabled.12 xltm
-application/vnd.ms-fontobject eot
-application/vnd.ms-htmlhelp chm
-application/vnd.ms-ims ims
-application/vnd.ms-lrm lrm
-# application/vnd.ms-office.activex+xml
-application/vnd.ms-officetheme thmx
-# application/vnd.ms-opentype
-# application/vnd.ms-package.obfuscated-opentype
-application/vnd.ms-pki.seccat cat
-application/vnd.ms-pki.stl stl
-# application/vnd.ms-playready.initiator+xml
-application/vnd.ms-powerpoint ppt pps pot
-application/vnd.ms-powerpoint.addin.macroenabled.12 ppam
-application/vnd.ms-powerpoint.presentation.macroenabled.12 pptm
-application/vnd.ms-powerpoint.slide.macroenabled.12 sldm
-application/vnd.ms-powerpoint.slideshow.macroenabled.12 ppsm
-application/vnd.ms-powerpoint.template.macroenabled.12 potm
-# application/vnd.ms-printing.printticket+xml
-application/vnd.ms-project mpp mpt
-# application/vnd.ms-tnef
-# application/vnd.ms-wmdrm.lic-chlg-req
-# application/vnd.ms-wmdrm.lic-resp
-# application/vnd.ms-wmdrm.meter-chlg-req
-# application/vnd.ms-wmdrm.meter-resp
-application/vnd.ms-word.document.macroenabled.12 docm
-application/vnd.ms-word.template.macroenabled.12 dotm
-application/vnd.ms-works wps wks wcm wdb
-application/vnd.ms-wpl wpl
-application/vnd.ms-xpsdocument xps
-application/vnd.mseq mseq
-# application/vnd.msign
-# application/vnd.multiad.creator
-# application/vnd.multiad.creator.cif
-# application/vnd.music-niff
-application/vnd.musician mus
-application/vnd.muvee.style msty
-application/vnd.mynfc taglet
-# application/vnd.ncd.control
-# application/vnd.ncd.reference
-# application/vnd.nervana
-# application/vnd.netfpx
-application/vnd.neurolanguage.nlu nlu
-application/vnd.nitf ntf nitf
-application/vnd.noblenet-directory nnd
-application/vnd.noblenet-sealer nns
-application/vnd.noblenet-web nnw
-# application/vnd.nokia.catalogs
-# application/vnd.nokia.conml+wbxml
-# application/vnd.nokia.conml+xml
-# application/vnd.nokia.isds-radio-presets
-# application/vnd.nokia.iptv.config+xml
-# application/vnd.nokia.landmark+wbxml
-# application/vnd.nokia.landmark+xml
-# application/vnd.nokia.landmarkcollection+xml
-# application/vnd.nokia.n-gage.ac+xml
-application/vnd.nokia.n-gage.data ngdat
-application/vnd.nokia.n-gage.symbian.install n-gage
-# application/vnd.nokia.ncd
-# application/vnd.nokia.pcd+wbxml
-# application/vnd.nokia.pcd+xml
-application/vnd.nokia.radio-preset rpst
-application/vnd.nokia.radio-presets rpss
-application/vnd.novadigm.edm edm
-application/vnd.novadigm.edx edx
-application/vnd.novadigm.ext ext
-# application/vnd.ntt-local.file-transfer
-# application/vnd.ntt-local.sip-ta_remote
-# application/vnd.ntt-local.sip-ta_tcp_stream
-application/vnd.oasis.opendocument.chart odc
-application/vnd.oasis.opendocument.chart-template otc
-application/vnd.oasis.opendocument.database odb
-application/vnd.oasis.opendocument.formula odf
-application/vnd.oasis.opendocument.formula-template odft
-application/vnd.oasis.opendocument.graphics odg
-application/vnd.oasis.opendocument.graphics-template otg
-application/vnd.oasis.opendocument.image odi
-application/vnd.oasis.opendocument.image-template oti
-application/vnd.oasis.opendocument.presentation odp
-application/vnd.oasis.opendocument.presentation-template otp
-application/vnd.oasis.opendocument.spreadsheet ods
-application/vnd.oasis.opendocument.spreadsheet-template ots
-application/vnd.oasis.opendocument.text odt
-application/vnd.oasis.opendocument.text-master odm
-application/vnd.oasis.opendocument.text-template ott
-application/vnd.oasis.opendocument.text-web oth
-# application/vnd.obn
-# application/vnd.oftn.l10n+json
-# application/vnd.oipf.contentaccessdownload+xml
-# application/vnd.oipf.contentaccessstreaming+xml
-# application/vnd.oipf.cspg-hexbinary
-# application/vnd.oipf.dae.svg+xml
-# application/vnd.oipf.dae.xhtml+xml
-# application/vnd.oipf.mippvcontrolmessage+xml
-# application/vnd.oipf.pae.gem
-# application/vnd.oipf.spdiscovery+xml
-# application/vnd.oipf.spdlist+xml
-# application/vnd.oipf.ueprofile+xml
-# application/vnd.oipf.userprofile+xml
-application/vnd.olpc-sugar xo
-# application/vnd.oma-scws-config
-# application/vnd.oma-scws-http-request
-# application/vnd.oma-scws-http-response
-# application/vnd.oma.bcast.associated-procedure-parameter+xml
-# application/vnd.oma.bcast.drm-trigger+xml
-# application/vnd.oma.bcast.imd+xml
-# application/vnd.oma.bcast.ltkm
-# application/vnd.oma.bcast.notification+xml
-# application/vnd.oma.bcast.provisioningtrigger
-# application/vnd.oma.bcast.sgboot
-# application/vnd.oma.bcast.sgdd+xml
-# application/vnd.oma.bcast.sgdu
-# application/vnd.oma.bcast.simple-symbol-container
-# application/vnd.oma.bcast.smartcard-trigger+xml
-# application/vnd.oma.bcast.sprov+xml
-# application/vnd.oma.bcast.stkm
-# application/vnd.oma.cab-address-book+xml
-# application/vnd.oma.cab-feature-handler+xml
-# application/vnd.oma.cab-pcc+xml
-# application/vnd.oma.cab-user-prefs+xml
-# application/vnd.oma.dcd
-# application/vnd.oma.dcdc
-application/vnd.oma.dd2+xml dd2
-# application/vnd.oma.drm.risd+xml
-# application/vnd.oma.group-usage-list+xml
-# application/vnd.oma.pal+xml
-# application/vnd.oma.poc.detailed-progress-report+xml
-# application/vnd.oma.poc.final-report+xml
-# application/vnd.oma.poc.groups+xml
-# application/vnd.oma.poc.invocation-descriptor+xml
-# application/vnd.oma.poc.optimized-progress-report+xml
-# application/vnd.oma.push
-# application/vnd.oma.scidm.messages+xml
-# application/vnd.oma.xcap-directory+xml
-# application/vnd.omads-email+xml
-# application/vnd.omads-file+xml
-# application/vnd.omads-folder+xml
-# application/vnd.omaloc-supl-init
-application/vnd.openofficeorg.extension oxt
-# application/vnd.openxmlformats-officedocument.custom-properties+xml
-# application/vnd.openxmlformats-officedocument.customxmlproperties+xml
-# application/vnd.openxmlformats-officedocument.drawing+xml
-# application/vnd.openxmlformats-officedocument.drawingml.chart+xml
-# application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml
-# application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml
-# application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml
-# application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml
-# application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml
-# application/vnd.openxmlformats-officedocument.extended-properties+xml
-# application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml
-# application/vnd.openxmlformats-officedocument.presentationml.comments+xml
-# application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml
-# application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml
-# application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml
-application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
-# application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml
-# application/vnd.openxmlformats-officedocument.presentationml.presprops+xml
-application/vnd.openxmlformats-officedocument.presentationml.slide sldx
-# application/vnd.openxmlformats-officedocument.presentationml.slide+xml
-# application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml
-# application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml
-application/vnd.openxmlformats-officedocument.presentationml.slideshow ppsx
-# application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml
-# application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml
-# application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml
-# application/vnd.openxmlformats-officedocument.presentationml.tags+xml
-application/vnd.openxmlformats-officedocument.presentationml.template potx
-# application/vnd.openxmlformats-officedocument.presentationml.template.main+xml
-# application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx
-# application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml
-application/vnd.openxmlformats-officedocument.spreadsheetml.template xltx
-# application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml
-# application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
-# application/vnd.openxmlformats-officedocument.theme+xml
-# application/vnd.openxmlformats-officedocument.themeoverride+xml
-# application/vnd.openxmlformats-officedocument.vmldrawing
-# application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml
-application/vnd.openxmlformats-officedocument.wordprocessingml.document docx
-# application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml
-application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx
-# application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml
-# application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml
-# application/vnd.openxmlformats-package.core-properties+xml
-# application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
-# application/vnd.openxmlformats-package.relationships+xml
-# application/vnd.quobject-quoxdocument
-# application/vnd.osa.netdeploy
-application/vnd.osgeo.mapguide.package mgp
-# application/vnd.osgi.bundle
-application/vnd.osgi.dp dp
-application/vnd.osgi.subsystem esa
-# application/vnd.otps.ct-kip+xml
-application/vnd.palm pdb pqa oprc
-# application/vnd.paos.xml
-application/vnd.pawaafile paw
-application/vnd.pg.format str
-application/vnd.pg.osasli ei6
-# application/vnd.piaccess.application-licence
-application/vnd.picsel efif
-application/vnd.pmi.widget wg
-# application/vnd.poc.group-advertisement+xml
-application/vnd.pocketlearn plf
-application/vnd.powerbuilder6 pbd
-# application/vnd.powerbuilder6-s
-# application/vnd.powerbuilder7
-# application/vnd.powerbuilder7-s
-# application/vnd.powerbuilder75
-# application/vnd.powerbuilder75-s
-# application/vnd.preminet
-application/vnd.previewsystems.box box
-application/vnd.proteus.magazine mgz
-application/vnd.publishare-delta-tree qps
-application/vnd.pvi.ptid1 ptid
-# application/vnd.pwg-multiplexed
-# application/vnd.pwg-xhtml-print+xml
-# application/vnd.qualcomm.brew-app-res
-application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb
-# application/vnd.radisys.moml+xml
-# application/vnd.radisys.msml+xml
-# application/vnd.radisys.msml-audit+xml
-# application/vnd.radisys.msml-audit-conf+xml
-# application/vnd.radisys.msml-audit-conn+xml
-# application/vnd.radisys.msml-audit-dialog+xml
-# application/vnd.radisys.msml-audit-stream+xml
-# application/vnd.radisys.msml-conf+xml
-# application/vnd.radisys.msml-dialog+xml
-# application/vnd.radisys.msml-dialog-base+xml
-# application/vnd.radisys.msml-dialog-fax-detect+xml
-# application/vnd.radisys.msml-dialog-fax-sendrecv+xml
-# application/vnd.radisys.msml-dialog-group+xml
-# application/vnd.radisys.msml-dialog-speech+xml
-# application/vnd.radisys.msml-dialog-transform+xml
-# application/vnd.rainstor.data
-# application/vnd.rapid
-application/vnd.realvnc.bed bed
-application/vnd.recordare.musicxml mxl
-application/vnd.recordare.musicxml+xml musicxml
-# application/vnd.renlearn.rlprint
-application/vnd.rig.cryptonote cryptonote
-application/vnd.rim.cod cod
-application/vnd.rn-realmedia rm
-application/vnd.rn-realmedia-vbr rmvb
-application/vnd.route66.link66+xml link66
-# application/vnd.rs-274x
-# application/vnd.ruckus.download
-# application/vnd.s3sms
-application/vnd.sailingtracker.track st
-# application/vnd.sbm.cid
-# application/vnd.sbm.mid2
-# application/vnd.scribus
-# application/vnd.sealed.3df
-# application/vnd.sealed.csf
-# application/vnd.sealed.doc
-# application/vnd.sealed.eml
-# application/vnd.sealed.mht
-# application/vnd.sealed.net
-# application/vnd.sealed.ppt
-# application/vnd.sealed.tiff
-# application/vnd.sealed.xls
-# application/vnd.sealedmedia.softseal.html
-# application/vnd.sealedmedia.softseal.pdf
-application/vnd.seemail see
-application/vnd.sema sema
-application/vnd.semd semd
-application/vnd.semf semf
-application/vnd.shana.informed.formdata ifm
-application/vnd.shana.informed.formtemplate itp
-application/vnd.shana.informed.interchange iif
-application/vnd.shana.informed.package ipk
-application/vnd.simtech-mindmapper twd twds
-application/vnd.smaf mmf
-# application/vnd.smart.notebook
-application/vnd.smart.teacher teacher
-# application/vnd.software602.filler.form+xml
-# application/vnd.software602.filler.form-xml-zip
-application/vnd.solent.sdkm+xml sdkm sdkd
-application/vnd.spotfire.dxp dxp
-application/vnd.spotfire.sfs sfs
-# application/vnd.sss-cod
-# application/vnd.sss-dtf
-# application/vnd.sss-ntf
-application/vnd.stardivision.calc sdc
-application/vnd.stardivision.draw sda
-application/vnd.stardivision.impress sdd
-application/vnd.stardivision.math smf
-application/vnd.stardivision.writer sdw vor
-application/vnd.stardivision.writer-global sgl
-application/vnd.stepmania.package smzip
-application/vnd.stepmania.stepchart sm
-# application/vnd.street-stream
-application/vnd.sun.xml.calc sxc
-application/vnd.sun.xml.calc.template stc
-application/vnd.sun.xml.draw sxd
-application/vnd.sun.xml.draw.template std
-application/vnd.sun.xml.impress sxi
-application/vnd.sun.xml.impress.template sti
-application/vnd.sun.xml.math sxm
-application/vnd.sun.xml.writer sxw
-application/vnd.sun.xml.writer.global sxg
-application/vnd.sun.xml.writer.template stw
-# application/vnd.sun.wadl+xml
-application/vnd.sus-calendar sus susp
-application/vnd.svd svd
-# application/vnd.swiftview-ics
-application/vnd.symbian.install sis sisx
-application/vnd.syncml+xml xsm
-application/vnd.syncml.dm+wbxml bdm
-application/vnd.syncml.dm+xml xdm
-# application/vnd.syncml.dm.notification
-# application/vnd.syncml.ds.notification
-application/vnd.tao.intent-module-archive tao
-application/vnd.tcpdump.pcap pcap cap dmp
-application/vnd.tmobile-livetv tmo
-application/vnd.trid.tpt tpt
-application/vnd.triscape.mxs mxs
-application/vnd.trueapp tra
-# application/vnd.truedoc
-# application/vnd.ubisoft.webplayer
-application/vnd.ufdl ufd ufdl
-application/vnd.uiq.theme utz
-application/vnd.umajin umj
-application/vnd.unity unityweb
-application/vnd.uoml+xml uoml
-# application/vnd.uplanet.alert
-# application/vnd.uplanet.alert-wbxml
-# application/vnd.uplanet.bearer-choice
-# application/vnd.uplanet.bearer-choice-wbxml
-# application/vnd.uplanet.cacheop
-# application/vnd.uplanet.cacheop-wbxml
-# application/vnd.uplanet.channel
-# application/vnd.uplanet.channel-wbxml
-# application/vnd.uplanet.list
-# application/vnd.uplanet.list-wbxml
-# application/vnd.uplanet.listcmd
-# application/vnd.uplanet.listcmd-wbxml
-# application/vnd.uplanet.signal
-application/vnd.vcx vcx
-# application/vnd.vd-study
-# application/vnd.vectorworks
-# application/vnd.verimatrix.vcas
-# application/vnd.vidsoft.vidconference
-application/vnd.visio vsd vst vss vsw
-application/vnd.visionary vis
-# application/vnd.vividence.scriptfile
-application/vnd.vsf vsf
-# application/vnd.wap.sic
-# application/vnd.wap.slc
-application/vnd.wap.wbxml wbxml
-application/vnd.wap.wmlc wmlc
-application/vnd.wap.wmlscriptc wmlsc
-application/vnd.webturbo wtb
-# application/vnd.wfa.wsc
-# application/vnd.wmc
-# application/vnd.wmf.bootstrap
-# application/vnd.wolfram.mathematica
-# application/vnd.wolfram.mathematica.package
-application/vnd.wolfram.player nbp
-application/vnd.wordperfect wpd
-application/vnd.wqd wqd
-# application/vnd.wrq-hp3000-labelled
-application/vnd.wt.stf stf
-# application/vnd.wv.csp+wbxml
-# application/vnd.wv.csp+xml
-# application/vnd.wv.ssp+xml
-application/vnd.xara xar
-application/vnd.xfdl xfdl
-# application/vnd.xfdl.webform
-# application/vnd.xmi+xml
-# application/vnd.xmpie.cpkg
-# application/vnd.xmpie.dpkg
-# application/vnd.xmpie.plan
-# application/vnd.xmpie.ppkg
-# application/vnd.xmpie.xlim
-application/vnd.yamaha.hv-dic hvd
-application/vnd.yamaha.hv-script hvs
-application/vnd.yamaha.hv-voice hvp
-application/vnd.yamaha.openscoreformat osf
-application/vnd.yamaha.openscoreformat.osfpvg+xml osfpvg
-# application/vnd.yamaha.remote-setup
-application/vnd.yamaha.smaf-audio saf
-application/vnd.yamaha.smaf-phrase spf
-# application/vnd.yamaha.through-ngn
-# application/vnd.yamaha.tunnel-udpencap
-application/vnd.yellowriver-custom-menu cmp
-application/vnd.zul zir zirz
-application/vnd.zzazz.deck+xml zaz
-application/voicexml+xml vxml
-# application/vq-rtcpxr
-# application/watcherinfo+xml
-# application/whoispp-query
-# application/whoispp-response
-application/widget wgt
-application/winhlp hlp
-# application/wita
-# application/wordperfect5.1
-application/wsdl+xml wsdl
-application/wspolicy+xml wspolicy
-application/x-7z-compressed 7z
-application/x-abiword abw
-application/x-ace-compressed ace
-# application/x-amf
-application/x-apple-diskimage dmg
-application/x-authorware-bin aab x32 u32 vox
-application/x-authorware-map aam
-application/x-authorware-seg aas
-application/x-bcpio bcpio
-application/x-bittorrent torrent
-application/x-blorb blb blorb
-application/x-bzip bz
-application/x-bzip2 bz2 boz
-application/x-cbr cbr cba cbt cbz cb7
-application/x-cdlink vcd
-application/x-cfs-compressed cfs
-application/x-chat chat
-application/x-chess-pgn pgn
-application/x-conference nsc
-# application/x-compress
-application/x-cpio cpio
-application/x-csh csh
-application/x-debian-package deb udeb
-application/x-dgc-compressed dgc
-application/x-director dir dcr dxr cst cct cxt w3d fgd swa
-application/x-doom wad
-application/x-dtbncx+xml ncx
-application/x-dtbook+xml dtb
-application/x-dtbresource+xml res
-application/x-dvi dvi
-application/x-envoy evy
-application/x-eva eva
-application/x-font-bdf bdf
-# application/x-font-dos
-# application/x-font-framemaker
-application/x-font-ghostscript gsf
-# application/x-font-libgrx
-application/x-font-linux-psf psf
-application/x-font-otf otf
-application/x-font-pcf pcf
-application/x-font-snf snf
-# application/x-font-speedo
-# application/x-font-sunos-news
-application/x-font-ttf ttf ttc
-application/x-font-type1 pfa pfb pfm afm
-application/x-font-woff woff
-# application/x-font-vfont
-application/x-freearc arc
-application/x-futuresplash spl
-application/x-gca-compressed gca
-application/x-glulx ulx
-application/x-gnumeric gnumeric
-application/x-gramps-xml gramps
-application/x-gtar gtar
-# application/x-gzip
-application/x-hdf hdf
-application/x-install-instructions install
-application/x-iso9660-image iso
-application/x-java-jnlp-file jnlp
-application/x-latex latex
-application/x-lzh-compressed lzh lha
-application/x-mie mie
-application/x-mobipocket-ebook prc mobi
-application/x-ms-application application
-application/x-ms-shortcut lnk
-application/x-ms-wmd wmd
-application/x-ms-wmz wmz
-application/x-ms-xbap xbap
-application/x-msaccess mdb
-application/x-msbinder obd
-application/x-mscardfile crd
-application/x-msclip clp
-application/x-msdownload exe dll com bat msi
-application/x-msmediaview mvb m13 m14
-application/x-msmetafile wmf wmz emf emz
-application/x-msmoney mny
-application/x-mspublisher pub
-application/x-msschedule scd
-application/x-msterminal trm
-application/x-mswrite wri
-application/x-netcdf nc cdf
-application/x-nzb nzb
-application/x-pkcs12 p12 pfx
-application/x-pkcs7-certificates p7b spc
-application/x-pkcs7-certreqresp p7r
-application/x-rar-compressed rar
-application/x-research-info-systems ris
-application/x-sh sh
-application/x-shar shar
-application/x-shockwave-flash swf
-application/x-silverlight-app xap
-application/x-sql sql
-application/x-stuffit sit
-application/x-stuffitx sitx
-application/x-subrip srt
-application/x-sv4cpio sv4cpio
-application/x-sv4crc sv4crc
-application/x-t3vm-image t3
-application/x-tads gam
-application/x-tar tar
-application/x-tcl tcl
-application/x-tex tex
-application/x-tex-tfm tfm
-application/x-texinfo texinfo texi
-application/x-tgif obj
-application/x-ustar ustar
-application/x-wais-source src
-application/x-x509-ca-cert der crt
-application/x-xfig fig
-application/x-xliff+xml xlf
-application/x-xpinstall xpi
-application/x-xz xz
-application/x-zmachine z1 z2 z3 z4 z5 z6 z7 z8
-# application/x400-bp
-application/xaml+xml xaml
-# application/xcap-att+xml
-# application/xcap-caps+xml
-application/xcap-diff+xml xdf
-# application/xcap-el+xml
-# application/xcap-error+xml
-# application/xcap-ns+xml
-# application/xcon-conference-info-diff+xml
-# application/xcon-conference-info+xml
-application/xenc+xml xenc
-application/xhtml+xml xhtml xht
-# application/xhtml-voice+xml
-application/xml xml xsl
-application/xml-dtd dtd
-# application/xml-external-parsed-entity
-# application/xmpp+xml
-application/xop+xml xop
-application/xproc+xml xpl
-application/xslt+xml xslt
-application/xspf+xml xspf
-application/xv+xml mxml xhvml xvml xvm
-application/yang yang
-application/yin+xml yin
-application/zip zip
-# audio/1d-interleaved-parityfec
-# audio/32kadpcm
-# audio/3gpp
-# audio/3gpp2
-# audio/ac3
-audio/adpcm adp
-# audio/amr
-# audio/amr-wb
-# audio/amr-wb+
-# audio/asc
-# audio/atrac-advanced-lossless
-# audio/atrac-x
-# audio/atrac3
-audio/basic au snd
-# audio/bv16
-# audio/bv32
-# audio/clearmode
-# audio/cn
-# audio/dat12
-# audio/dls
-# audio/dsr-es201108
-# audio/dsr-es202050
-# audio/dsr-es202211
-# audio/dsr-es202212
-# audio/dv
-# audio/dvi4
-# audio/eac3
-# audio/evrc
-# audio/evrc-qcp
-# audio/evrc0
-# audio/evrc1
-# audio/evrcb
-# audio/evrcb0
-# audio/evrcb1
-# audio/evrcwb
-# audio/evrcwb0
-# audio/evrcwb1
-# audio/example
-# audio/fwdred
-# audio/g719
-# audio/g722
-# audio/g7221
-# audio/g723
-# audio/g726-16
-# audio/g726-24
-# audio/g726-32
-# audio/g726-40
-# audio/g728
-# audio/g729
-# audio/g7291
-# audio/g729d
-# audio/g729e
-# audio/gsm
-# audio/gsm-efr
-# audio/gsm-hr-08
-# audio/ilbc
-# audio/ip-mr_v2.5
-# audio/isac
-# audio/l16
-# audio/l20
-# audio/l24
-# audio/l8
-# audio/lpc
-audio/midi mid midi kar rmi
-# audio/mobile-xmf
-audio/mp4 mp4a
-# audio/mp4a-latm
-# audio/mpa
-# audio/mpa-robust
-audio/mpeg mpga mp2 mp2a mp3 m2a m3a
-# audio/mpeg4-generic
-# audio/musepack
-audio/ogg oga ogg spx
-# audio/opus
-# audio/parityfec
-# audio/pcma
-# audio/pcma-wb
-# audio/pcmu-wb
-# audio/pcmu
-# audio/prs.sid
-# audio/qcelp
-# audio/red
-# audio/rtp-enc-aescm128
-# audio/rtp-midi
-# audio/rtx
-audio/s3m s3m
-audio/silk sil
-# audio/smv
-# audio/smv0
-# audio/smv-qcp
-# audio/sp-midi
-# audio/speex
-# audio/t140c
-# audio/t38
-# audio/telephone-event
-# audio/tone
-# audio/uemclip
-# audio/ulpfec
-# audio/vdvi
-# audio/vmr-wb
-# audio/vnd.3gpp.iufp
-# audio/vnd.4sb
-# audio/vnd.audiokoz
-# audio/vnd.celp
-# audio/vnd.cisco.nse
-# audio/vnd.cmles.radio-events
-# audio/vnd.cns.anp1
-# audio/vnd.cns.inf1
-audio/vnd.dece.audio uva uvva
-audio/vnd.digital-winds eol
-# audio/vnd.dlna.adts
-# audio/vnd.dolby.heaac.1
-# audio/vnd.dolby.heaac.2
-# audio/vnd.dolby.mlp
-# audio/vnd.dolby.mps
-# audio/vnd.dolby.pl2
-# audio/vnd.dolby.pl2x
-# audio/vnd.dolby.pl2z
-# audio/vnd.dolby.pulse.1
-audio/vnd.dra dra
-audio/vnd.dts dts
-audio/vnd.dts.hd dtshd
-# audio/vnd.dvb.file
-# audio/vnd.everad.plj
-# audio/vnd.hns.audio
-audio/vnd.lucent.voice lvp
-audio/vnd.ms-playready.media.pya pya
-# audio/vnd.nokia.mobile-xmf
-# audio/vnd.nortel.vbk
-audio/vnd.nuera.ecelp4800 ecelp4800
-audio/vnd.nuera.ecelp7470 ecelp7470
-audio/vnd.nuera.ecelp9600 ecelp9600
-# audio/vnd.octel.sbc
-# audio/vnd.qcelp
-# audio/vnd.rhetorex.32kadpcm
-audio/vnd.rip rip
-# audio/vnd.sealedmedia.softseal.mpeg
-# audio/vnd.vmx.cvsd
-# audio/vorbis
-# audio/vorbis-config
-audio/webm weba
-audio/x-aac aac
-audio/x-aiff aif aiff aifc
-audio/x-caf caf
-audio/x-flac flac
-audio/x-matroska mka
-audio/x-mpegurl m3u
-audio/x-ms-wax wax
-audio/x-ms-wma wma
-audio/x-pn-realaudio ram ra
-audio/x-pn-realaudio-plugin rmp
-# audio/x-tta
-audio/x-wav wav
-audio/xm xm
-chemical/x-cdx cdx
-chemical/x-cif cif
-chemical/x-cmdf cmdf
-chemical/x-cml cml
-chemical/x-csml csml
-# chemical/x-pdb
-chemical/x-xyz xyz
-image/bmp bmp
-image/cgm cgm
-# image/example
-# image/fits
-image/g3fax g3
-image/gif gif
-image/ief ief
-# image/jp2
-image/jpeg jpeg jpg jpe
-# image/jpm
-# image/jpx
-image/ktx ktx
-# image/naplps
-image/png png
-image/prs.btif btif
-# image/prs.pti
-image/sgi sgi
-image/svg+xml svg svgz
-# image/t38
-image/tiff tiff tif
-# image/tiff-fx
-image/vnd.adobe.photoshop psd
-# image/vnd.cns.inf2
-image/vnd.dece.graphic uvi uvvi uvg uvvg
-image/vnd.dvb.subtitle sub
-image/vnd.djvu djvu djv
-image/vnd.dwg dwg
-image/vnd.dxf dxf
-image/vnd.fastbidsheet fbs
-image/vnd.fpx fpx
-image/vnd.fst fst
-image/vnd.fujixerox.edmics-mmr mmr
-image/vnd.fujixerox.edmics-rlc rlc
-# image/vnd.globalgraphics.pgb
-# image/vnd.microsoft.icon
-# image/vnd.mix
-image/vnd.ms-modi mdi
-image/vnd.ms-photo wdp
-image/vnd.net-fpx npx
-# image/vnd.radiance
-# image/vnd.sealed.png
-# image/vnd.sealedmedia.softseal.gif
-# image/vnd.sealedmedia.softseal.jpg
-# image/vnd.svf
-image/vnd.wap.wbmp wbmp
-image/vnd.xiff xif
-image/webp webp
-image/x-3ds 3ds
-image/x-cmu-raster ras
-image/x-cmx cmx
-image/x-freehand fh fhc fh4 fh5 fh7
-image/x-icon ico
-image/x-mrsid-image sid
-image/x-pcx pcx
-image/x-pict pic pct
-image/x-portable-anymap pnm
-image/x-portable-bitmap pbm
-image/x-portable-graymap pgm
-image/x-portable-pixmap ppm
-image/x-rgb rgb
-image/x-tga tga
-image/x-xbitmap xbm
-image/x-xpixmap xpm
-image/x-xwindowdump xwd
-# message/cpim
-# message/delivery-status
-# message/disposition-notification
-# message/example
-# message/external-body
-# message/feedback-report
-# message/global
-# message/global-delivery-status
-# message/global-disposition-notification
-# message/global-headers
-# message/http
-# message/imdn+xml
-# message/news
-# message/partial
-message/rfc822 eml mime
-# message/s-http
-# message/sip
-# message/sipfrag
-# message/tracking-status
-# message/vnd.si.simp
-# model/example
-model/iges igs iges
-model/mesh msh mesh silo
-model/vnd.collada+xml dae
-model/vnd.dwf dwf
-# model/vnd.flatland.3dml
-model/vnd.gdl gdl
-# model/vnd.gs-gdl
-# model/vnd.gs.gdl
-model/vnd.gtw gtw
-# model/vnd.moml+xml
-model/vnd.mts mts
-# model/vnd.parasolid.transmit.binary
-# model/vnd.parasolid.transmit.text
-model/vnd.vtu vtu
-model/vrml wrl vrml
-model/x3d+binary x3db x3dbz
-model/x3d+vrml x3dv x3dvz
-model/x3d+xml x3d x3dz
-# multipart/alternative
-# multipart/appledouble
-# multipart/byteranges
-# multipart/digest
-# multipart/encrypted
-# multipart/example
-# multipart/form-data
-# multipart/header-set
-# multipart/mixed
-# multipart/parallel
-# multipart/related
-# multipart/report
-# multipart/signed
-# multipart/voice-message
-# text/1d-interleaved-parityfec
-text/cache-manifest appcache
-text/calendar ics ifb
-text/css css
-text/csv csv
-# text/directory
-# text/dns
-# text/ecmascript
-# text/enriched
-# text/example
-# text/fwdred
-text/html html htm
-# text/javascript
-text/n3 n3
-# text/parityfec
-text/plain txt text conf def list log in
-# text/prs.fallenstein.rst
-text/prs.lines.tag dsc
-# text/vnd.radisys.msml-basic-layout
-# text/red
-# text/rfc822-headers
-text/richtext rtx
-# text/rtf
-# text/rtp-enc-aescm128
-# text/rtx
-text/sgml sgml sgm
-# text/t140
-text/tab-separated-values tsv
-text/troff t tr roff man me ms
-text/turtle ttl
-# text/ulpfec
-text/uri-list uri uris urls
-text/vcard vcard
-# text/vnd.abc
-text/vnd.curl curl
-text/vnd.curl.dcurl dcurl
-text/vnd.curl.scurl scurl
-text/vnd.curl.mcurl mcurl
-# text/vnd.dmclientscript
-text/vnd.dvb.subtitle sub
-# text/vnd.esmertec.theme-descriptor
-text/vnd.fly fly
-text/vnd.fmi.flexstor flx
-text/vnd.graphviz gv
-text/vnd.in3d.3dml 3dml
-text/vnd.in3d.spot spot
-# text/vnd.iptc.newsml
-# text/vnd.iptc.nitf
-# text/vnd.latex-z
-# text/vnd.motorola.reflex
-# text/vnd.ms-mediapackage
-# text/vnd.net2phone.commcenter.command
-# text/vnd.si.uricatalogue
-text/vnd.sun.j2me.app-descriptor jad
-# text/vnd.trolltech.linguist
-# text/vnd.wap.si
-# text/vnd.wap.sl
-text/vnd.wap.wml wml
-text/vnd.wap.wmlscript wmls
-text/x-asm s asm
-text/x-c c cc cxx cpp h hh dic
-text/x-fortran f for f77 f90
-text/x-java-source java
-text/x-opml opml
-text/x-pascal p pas
-text/x-nfo nfo
-text/x-setext etx
-text/x-sfv sfv
-text/x-uuencode uu
-text/x-vcalendar vcs
-text/x-vcard vcf
-# text/xml
-# text/xml-external-parsed-entity
-# video/1d-interleaved-parityfec
-video/3gpp 3gp
-# video/3gpp-tt
-video/3gpp2 3g2
-# video/bmpeg
-# video/bt656
-# video/celb
-# video/dv
-# video/example
-video/h261 h261
-video/h263 h263
-# video/h263-1998
-# video/h263-2000
-video/h264 h264
-# video/h264-rcdo
-# video/h264-svc
-video/jpeg jpgv
-# video/jpeg2000
-video/jpm jpm jpgm
-video/mj2 mj2 mjp2
-# video/mp1s
-# video/mp2p
-# video/mp2t
-video/mp4 mp4 mp4v mpg4
-# video/mp4v-es
-video/mpeg mpeg mpg mpe m1v m2v
-# video/mpeg4-generic
-# video/mpv
-# video/nv
-video/ogg ogv
-# video/parityfec
-# video/pointer
-video/quicktime qt mov
-# video/raw
-# video/rtp-enc-aescm128
-# video/rtx
-# video/smpte292m
-# video/ulpfec
-# video/vc1
-# video/vnd.cctv
-video/vnd.dece.hd uvh uvvh
-video/vnd.dece.mobile uvm uvvm
-# video/vnd.dece.mp4
-video/vnd.dece.pd uvp uvvp
-video/vnd.dece.sd uvs uvvs
-video/vnd.dece.video uvv uvvv
-# video/vnd.directv.mpeg
-# video/vnd.directv.mpeg-tts
-# video/vnd.dlna.mpeg-tts
-video/vnd.dvb.file dvb
-video/vnd.fvt fvt
-# video/vnd.hns.video
-# video/vnd.iptvforum.1dparityfec-1010
-# video/vnd.iptvforum.1dparityfec-2005
-# video/vnd.iptvforum.2dparityfec-1010
-# video/vnd.iptvforum.2dparityfec-2005
-# video/vnd.iptvforum.ttsavc
-# video/vnd.iptvforum.ttsmpeg2
-# video/vnd.motorola.video
-# video/vnd.motorola.videop
-video/vnd.mpegurl mxu m4u
-video/vnd.ms-playready.media.pyv pyv
-# video/vnd.nokia.interleaved-multimedia
-# video/vnd.nokia.videovoip
-# video/vnd.objectvideo
-# video/vnd.sealed.mpeg1
-# video/vnd.sealed.mpeg4
-# video/vnd.sealed.swf
-# video/vnd.sealedmedia.softseal.mov
-video/vnd.uvvu.mp4 uvu uvvu
-video/vnd.vivo viv
-video/webm webm
-video/x-f4v f4v
-video/x-fli fli
-video/x-flv flv
-video/x-m4v m4v
-video/x-matroska mkv mk3d mks
-video/x-mng mng
-video/x-ms-asf asf asx
-video/x-ms-vob vob
-video/x-ms-wm wm
-video/x-ms-wmv wmv
-video/x-ms-wmx wmx
-video/x-ms-wvx wvx
-video/x-msvideo avi
-video/x-sgi-movie movie
-video/x-smv smv
-x-conference/x-cooltalk ice
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/node.types b/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/node.types
deleted file mode 100644
index 9097334a1..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/node_modules/mime/types/node.types
+++ /dev/null
@@ -1,59 +0,0 @@
-# What: Google Chrome Extension
-# Why: To allow apps to (work) be served with the right content type header.
-# http://codereview.chromium.org/2830017
-# Added by: niftylettuce
-application/x-chrome-extension crx
-
-# What: OTF Message Silencer
-# Why: To silence the "Resource interpreted as font but transferred with MIME
-# type font/otf" message that occurs in Google Chrome
-# Added by: niftylettuce
-font/opentype otf
-
-# What: HTC support
-# Why: To properly render .htc files such as CSS3PIE
-# Added by: niftylettuce
-text/x-component htc
-
-# What: HTML5 application cache manifest
-# Why: De-facto standard. Required by Mozilla browser when serving HTML5 apps
-# per https://developer.mozilla.org/en/offline_resources_in_firefox
-# Added by: louisremi
-text/cache-manifest appcache manifest
-
-# What: node binary buffer format
-# Why: semi-standard extension w/in the node community
-# Added by: tootallnate
-application/octet-stream buffer
-
-# What: The "protected" MP-4 formats used by iTunes.
-# Why: Required for streaming music to browsers (?)
-# Added by: broofa
-application/mp4 m4p
-audio/mp4 m4a
-
-# What: Music playlist format (http://en.wikipedia.org/wiki/M3U)
-# Why: See https://github.com/bentomas/node-mime/pull/6
-# Added by: mjrusso
-application/x-mpegURL m3u8
-
-# What: Video format, Part of RFC1890
-# Why: See https://github.com/bentomas/node-mime/pull/6
-# Added by: mjrusso
-video/MP2T ts
-
-# What: The FLAC lossless codec format
-# Why: Streaming and serving FLAC audio
-# Added by: jacobrask
-audio/flac flac
-
-# What: EventSource mime type
-# Why: mime type of Server-Sent Events stream
-# http://www.w3.org/TR/eventsource/#text-event-stream
-# Added by: francois2metz
-text/event-stream event-stream
-
-# What: Mozilla App manifest mime type
-# Why: https://developer.mozilla.org/en/Apps/Manifest#Serving_manifests
-# Added by: ednapiranha
-application/x-web-app-manifest+json webapp
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/oauth.js b/deps/npm/node_modules/node-gyp/node_modules/request/oauth.js
deleted file mode 100644
index e35bfa670..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/oauth.js
+++ /dev/null
@@ -1,43 +0,0 @@
-var crypto = require('crypto')
- , qs = require('querystring')
- ;
-
-function sha1 (key, body) {
- return crypto.createHmac('sha1', key).update(body).digest('base64')
-}
-
-function rfc3986 (str) {
- return encodeURIComponent(str)
- .replace(/!/g,'%21')
- .replace(/\*/g,'%2A')
- .replace(/\(/g,'%28')
- .replace(/\)/g,'%29')
- .replace(/'/g,'%27')
- ;
-}
-
-function hmacsign (httpMethod, base_uri, params, consumer_secret, token_secret) {
- // adapted from https://dev.twitter.com/docs/auth/oauth and
- // https://dev.twitter.com/docs/auth/creating-signature
-
- var querystring = Object.keys(params).sort().map(function(key){
- // big WTF here with the escape + encoding but it's what twitter wants
- return escape(rfc3986(key)) + "%3D" + escape(rfc3986(params[key]))
- }).join('%26')
-
- var base = [
- httpMethod ? httpMethod.toUpperCase() : 'GET',
- rfc3986(base_uri),
- querystring
- ].join('&')
-
- var key = [
- consumer_secret,
- token_secret || ''
- ].map(rfc3986).join('&')
-
- return sha1(key, base)
-}
-
-exports.hmacsign = hmacsign
-exports.rfc3986 = rfc3986
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/package.json b/deps/npm/node_modules/node-gyp/node_modules/request/package.json
deleted file mode 100644
index 5a4850cc5..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "request",
- "description": "Simplified HTTP request client.",
- "tags": [
- "http",
- "simple",
- "util",
- "utility"
- ],
- "version": "2.12.0",
- "author": {
- "name": "Mikeal Rogers",
- "email": "mikeal.rogers@gmail.com"
- },
- "repository": {
- "type": "git",
- "url": "http://github.com/mikeal/request.git"
- },
- "bugs": {
- "url": "http://github.com/mikeal/request/issues"
- },
- "engines": [
- "node >= 0.3.6"
- ],
- "main": "./main",
- "dependencies": {
- "form-data": "~0.0.3",
- "mime": "~1.2.7"
- },
- "bundleDependencies": [
- "form-data",
- "mime"
- ],
- "scripts": {
- "test": "node tests/run.js"
- },
- "readme": "# Request -- Simplified HTTP request method\n\n## Install\n\n<pre>\n npm install request\n</pre>\n\nOr from source:\n\n<pre>\n git clone git://github.com/mikeal/request.git \n cd request\n npm link\n</pre>\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require('request');\nrequest('http://www.google.com', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))\n```\n\nNow let's get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === '/doodle.png') {\n if (req.method === 'PUT') {\n req.pipe(request.put('http://mysite.com/doodle.png'))\n } else if (req.method === 'GET' || req.method === 'HEAD') {\n request.get('http://mysite.com/doodle.png').pipe(resp)\n } \n }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don't really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === '/doodle.png') {\n var x = request('http://mysite.com/doodle.png')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request('http://mysite.com/doodle.png')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({'proxy':'http://localproxy.com'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === '/doodle.png') {\n r.get('http://google.com/doodle.png').pipe(resp)\n }\n})\n```\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nUrl encoded forms are simple\n\n```javascript\nrequest.post('http://service.com/upload', {form:{key:'value'}})\n// or\nrequest.post('http://service.com/upload').form({key:'value'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don't need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post('http://service.com/upload')\nvar form = r.form()\nform.append('my_field', 'my_value')\nform.append('my_buffer', new Buffer([1, 2, 3]))\nform.append('my_file', fs.createReadStream(path.join(__dirname, 'doodle.png'))\nform.append('remote_file', request('http://google.com/doodle.png'))\n```\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require('querystring')\n , oauth =\n { callback: 'http://mysite.com/callback/'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = 'https://api.twitter.com/oauth/request_token'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Assume by some stretch of magic you aquired the verifier\n var access_token = qs.parse(body)\n , oauth = \n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: VERIFIER\n , token_secret: access_token.oauth_token_secret\n }\n , url = 'https://api.twitter.com/oauth/access_token'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth = \n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = 'https://api.twitter.com/1/users/show.json?'\n , params = \n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for POST and PUT requests. Must be buffer or string.\n* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as json.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node's default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\t\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it's supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `false` if you don't want cookies to be remembered for future use or define your custom cookie jar (see examples section)\n* `aws` - object containing aws signing information, should have the properties `key` and `secret` as well as `bucket` unless you're specifying your bucket as part of the path, or you are making a request that doesn't use a bucket (i.e. GET Services)\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second in an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options) \n \nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: \"PUT\"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: \"POST\"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: \"HEAD\"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: \"DELETE\"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie('cookie_string_here')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require('request')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: 'PUT'\n , uri: 'http://mikeal.iriscouch.com/testjs/' + rand\n , multipart: \n [ { 'content-type': 'application/json'\n , body: JSON.stringify({foo: 'bar', _attachments: {'message.txt': {follows: true, length: 18, 'content_type': 'text/plain' }}})\n }\n , { body: 'I am an attachment' }\n ] \n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log('document saved as: http://mikeal.iriscouch.com/testjs/'+ rand)\n } else {\n console.log('error: '+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\nCookies are enabled by default (so they can be used in subsequent requests). To disable cookies set jar to false (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: false})\nrequest('http://www.google.com', function () {\n request('http://images.google.com')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest('http://www.google.com', function () {\n request('http://images.google.com')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie('your_cookie_here')\nj.add(cookie)\nrequest({url: 'http://www.google.com', jar: j}, function () {\n request('http://images.google.com')\n})\n```\n",
- "readmeFilename": "README.md",
- "_id": "request@2.12.0",
- "dist": {
- "shasum": "ff89254ae367bb5b470abbabc89274f5294ee2b0"
- },
- "_from": "request@>= 2 && <= 2.14",
- "_resolved": "https://registry.npmjs.org/request/-/request-2.12.0.tgz"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/googledoodle.png b/deps/npm/node_modules/node-gyp/node_modules/request/tests/googledoodle.png
deleted file mode 100644
index f80c9c52d..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/googledoodle.png
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/run.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/run.js
deleted file mode 100644
index 538a65cd0..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/run.js
+++ /dev/null
@@ -1,45 +0,0 @@
-var spawn = require('child_process').spawn
- , exitCode = 0
- ;
-
-var tests = [
- 'test-body.js'
- , 'test-cookie.js'
- , 'test-cookiejar.js'
- , 'test-defaults.js'
- , 'test-errors.js'
- , 'test-form.js'
- , 'test-follow-all-303.js'
- , 'test-follow-all.js'
- , 'test-headers.js'
- , 'test-httpModule.js'
- , 'test-https.js'
- , 'test-https-strict.js'
- , 'test-oauth.js'
- , 'test-params.js'
- , 'test-pipes.js'
- , 'test-pool.js'
- , 'test-protocol-changing-redirect.js'
- , 'test-proxy.js'
- , 'test-piped-redirect.js'
- , 'test-qs.js'
- , 'test-redirect.js'
- , 'test-timeout.js'
- , 'test-toJSON.js'
- , 'test-tunnel.js'
-]
-
-var next = function () {
- if (tests.length === 0) process.exit(exitCode);
-
- var file = tests.shift()
- console.log(file)
- var proc = spawn('node', [ 'tests/' + file ])
- proc.stdout.pipe(process.stdout)
- proc.stderr.pipe(process.stderr)
- proc.on('exit', function (code) {
- exitCode += code || 0
- next()
- })
-}
-next()
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/server.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/server.js
deleted file mode 100644
index b6eacbadc..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/server.js
+++ /dev/null
@@ -1,90 +0,0 @@
-var fs = require('fs')
- , http = require('http')
- , path = require('path')
- , https = require('https')
- , events = require('events')
- , stream = require('stream')
- , assert = require('assert')
- ;
-
-exports.createServer = function (port) {
- port = port || 6767
- var s = http.createServer(function (req, resp) {
- s.emit(req.url, req, resp);
- })
- s.port = port
- s.url = 'http://localhost:'+port
- return s;
-}
-
-exports.createSSLServer = function(port, opts) {
- port = port || 16767
-
- var options = { 'key' : path.join(__dirname, 'ssl', 'test.key')
- , 'cert': path.join(__dirname, 'ssl', 'test.crt')
- }
- if (opts) {
- for (var i in opts) options[i] = opts[i]
- }
-
- for (var i in options) {
- options[i] = fs.readFileSync(options[i])
- }
-
- var s = https.createServer(options, function (req, resp) {
- s.emit(req.url, req, resp);
- })
- s.port = port
- s.url = 'https://localhost:'+port
- return s;
-}
-
-exports.createPostStream = function (text) {
- var postStream = new stream.Stream();
- postStream.writeable = true;
- postStream.readable = true;
- setTimeout(function () {postStream.emit('data', new Buffer(text)); postStream.emit('end')}, 0);
- return postStream;
-}
-exports.createPostValidator = function (text, reqContentType) {
- var l = function (req, resp) {
- var r = '';
- req.on('data', function (chunk) {r += chunk})
- req.on('end', function () {
- if (req.headers['content-type'] && req.headers['content-type'].indexOf('boundary=') >= 0) {
- var boundary = req.headers['content-type'].split('boundary=')[1];
- text = text.replace(/__BOUNDARY__/g, boundary);
- }
- if (r !== text) console.log(r, text);
- assert.equal(r, text)
- if (reqContentType) {
- assert.ok(req.headers['content-type'])
- assert.ok(~req.headers['content-type'].indexOf(reqContentType))
- }
- resp.writeHead(200, {'content-type':'text/plain'})
- resp.write('OK')
- resp.end()
- })
- }
- return l;
-}
-exports.createGetResponse = function (text, contentType) {
- var l = function (req, resp) {
- contentType = contentType || 'text/plain'
- resp.writeHead(200, {'content-type':contentType})
- resp.write(text)
- resp.end()
- }
- return l;
-}
-exports.createChunkResponse = function (chunks, contentType) {
- var l = function (req, resp) {
- contentType = contentType || 'text/plain'
- resp.writeHead(200, {'content-type':contentType})
- chunks.forEach(function (chunk) {
- resp.write(chunk)
- })
- resp.end()
- }
- return l;
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/squid.conf b/deps/npm/node_modules/node-gyp/node_modules/request/tests/squid.conf
deleted file mode 100644
index 0d4a3b6fe..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/squid.conf
+++ /dev/null
@@ -1,77 +0,0 @@
-#
-# Recommended minimum configuration:
-#
-acl manager proto cache_object
-acl localhost src 127.0.0.1/32 ::1
-acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
-
-# Example rule allowing access from your local networks.
-# Adapt to list your (internal) IP networks from where browsing
-# should be allowed
-acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
-acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
-acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
-acl localnet src fc00::/7 # RFC 4193 local private network range
-acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
-
-acl SSL_ports port 443
-acl Safe_ports port 80 # http
-acl Safe_ports port 21 # ftp
-acl Safe_ports port 443 # https
-acl Safe_ports port 70 # gopher
-acl Safe_ports port 210 # wais
-acl Safe_ports port 1025-65535 # unregistered ports
-acl Safe_ports port 280 # http-mgmt
-acl Safe_ports port 488 # gss-http
-acl Safe_ports port 591 # filemaker
-acl Safe_ports port 777 # multiling http
-acl CONNECT method CONNECT
-
-#
-# Recommended minimum Access Permission configuration:
-#
-# Only allow cachemgr access from localhost
-http_access allow manager localhost
-http_access deny manager
-
-# Deny requests to certain unsafe ports
-http_access deny !Safe_ports
-
-# Deny CONNECT to other than secure SSL ports
-#http_access deny CONNECT !SSL_ports
-
-# We strongly recommend the following be uncommented to protect innocent
-# web applications running on the proxy server who think the only
-# one who can access services on "localhost" is a local user
-#http_access deny to_localhost
-
-#
-# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
-#
-
-# Example rule allowing access from your local networks.
-# Adapt localnet in the ACL section to list your (internal) IP networks
-# from where browsing should be allowed
-http_access allow localnet
-http_access allow localhost
-
-# And finally deny all other access to this proxy
-http_access deny all
-
-# Squid normally listens to port 3128
-http_port 3128
-
-# We recommend you to use at least the following line.
-hierarchy_stoplist cgi-bin ?
-
-# Uncomment and adjust the following to add a disk cache directory.
-#cache_dir ufs /usr/local/var/cache 100 16 256
-
-# Leave coredumps in the first cache dir
-coredump_dir /usr/local/var/cache
-
-# Add any of your own refresh_pattern entries above these.
-refresh_pattern ^ftp: 1440 20% 10080
-refresh_pattern ^gopher: 1440 0% 1440
-refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
-refresh_pattern . 0 20% 4320
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.cnf b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.cnf
deleted file mode 100644
index 425a88915..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.cnf
+++ /dev/null
@@ -1,20 +0,0 @@
-[ req ]
-default_bits = 1024
-days = 3650
-distinguished_name = req_distinguished_name
-attributes = req_attributes
-prompt = no
-output_password = password
-
-[ req_distinguished_name ]
-C = US
-ST = CA
-L = Oakland
-O = request
-OU = request Certificate Authority
-CN = requestCA
-emailAddress = mikeal@mikealrogers.com
-
-[ req_attributes ]
-challengePassword = password challenge
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crl b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crl
deleted file mode 100644
index e69de29bb..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crl
+++ /dev/null
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crt b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crt
deleted file mode 100644
index b4524e44b..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.crt
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICvTCCAiYCCQDn+P/MSbDsWjANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC
-VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMRAwDgYDVQQKEwdyZXF1
-ZXN0MSYwJAYDVQQLEx1yZXF1ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTESMBAG
-A1UEAxMJcmVxdWVzdENBMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlrZWFscm9n
-ZXJzLmNvbTAeFw0xMjAzMDEyMjUwNTZaFw0yMjAyMjcyMjUwNTZaMIGiMQswCQYD
-VQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB09ha2xhbmQxEDAOBgNVBAoT
-B3JlcXVlc3QxJjAkBgNVBAsTHXJlcXVlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
-MRIwEAYDVQQDEwlyZXF1ZXN0Q0ExJjAkBgkqhkiG9w0BCQEWF21pa2VhbEBtaWtl
-YWxyb2dlcnMuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7t9pQUAK4
-5XJYTI6NrF0n3G2HZsfN+rPYSVzzL8SuVyb1tHXos+vbPm3NKI4E8X1yVAXU8CjJ
-5SqXnp4DAypAhaseho81cbhk7LXUhFz78OvAa+OD+xTAEAnNQ8tGUr4VGyplEjfD
-xsBVuqV2j8GPNTftr+drOCFlqfAgMrBn4wIDAQABMA0GCSqGSIb3DQEBBQUAA4GB
-ADVdTlVAL45R+PACNS7Gs4o81CwSclukBu4FJbxrkd4xGQmurgfRrYYKjtqiopQm
-D7ysRamS3HMN9/VKq2T7r3z1PMHPAy7zM4uoXbbaTKwlnX4j/8pGPn8Ca3qHXYlo
-88L/OOPc6Di7i7qckS3HFbXQCTiULtxWmy97oEuTwrAj
------END CERTIFICATE-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.csr b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.csr
deleted file mode 100644
index e48c56eef..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.csr
+++ /dev/null
@@ -1,13 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICBjCCAW8CAQAwgaIxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE
-BxMHT2FrbGFuZDEQMA4GA1UEChMHcmVxdWVzdDEmMCQGA1UECxMdcmVxdWVzdCBD
-ZXJ0aWZpY2F0ZSBBdXRob3JpdHkxEjAQBgNVBAMTCXJlcXVlc3RDQTEmMCQGCSqG
-SIb3DQEJARYXbWlrZWFsQG1pa2VhbHJvZ2Vycy5jb20wgZ8wDQYJKoZIhvcNAQEB
-BQADgY0AMIGJAoGBALu32lBQArjlclhMjo2sXSfcbYdmx836s9hJXPMvxK5XJvW0
-deiz69s+bc0ojgTxfXJUBdTwKMnlKpeengMDKkCFqx6GjzVxuGTstdSEXPvw68Br
-44P7FMAQCc1Dy0ZSvhUbKmUSN8PGwFW6pXaPwY81N+2v52s4IWWp8CAysGfjAgMB
-AAGgIzAhBgkqhkiG9w0BCQcxFBMScGFzc3dvcmQgY2hhbGxlbmdlMA0GCSqGSIb3
-DQEBBQUAA4GBAGJO7grHeVHXetjHEK8urIxdnvfB2qeZeObz4GPKIkqUurjr0rfj
-bA3EK1kDMR5aeQWR8RunixdM16Q6Ry0lEdLVWkdSwRN9dmirIHT9cypqnD/FYOia
-SdezZ0lUzXgmJIwRYRwB1KSMMocIf52ll/xC2bEGg7/ZAEuAyAgcZV3X
------END CERTIFICATE REQUEST-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.key b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.key
deleted file mode 100644
index a53e7f75d..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.key
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,C8B5887048377F02
-
-nyD5ZH0Wup2uWsDvurq5mKDaDrf8lvNn9w0SH/ZkVnfR1/bkwqrFriqJWvZNUG+q
-nS0iBYczsWLJnbub9a1zLOTENWUKVD5uqbC3aGHhnoUTNSa27DONgP8gHOn6JgR+
-GAKo01HCSTiVT4LjkwN337QKHnMP2fTzg+IoC/CigvMcq09hRLwU1/guq0GJKGwH
-gTxYNuYmQC4Tjh8vdS4liF+Ve/P3qPR2CehZrIOkDT8PHJBGQJRo4xGUIB7Tpk38
-VCk+UZ0JCS2coY8VkY/9tqFJp/ZnnQQVmaNbdRqg7ECKL+bXnNo7yjzmazPZmPe3
-/ShbE0+CTt7LrjCaQAxWbeDzqfo1lQfgN1LulTm8MCXpQaJpv7v1VhIhQ7afjMYb
-4thW/ypHPiYS2YJCAkAVlua9Oxzzh1qJoh8Df19iHtpd79Q77X/qf+1JvITlMu0U
-gi7yEatmQcmYNws1mtTC1q2DXrO90c+NZ0LK/Alse6NRL/xiUdjug2iHeTf/idOR
-Gg/5dSZbnnlj1E5zjSMDkzg6EHAFmHV4jYGSAFLEQgp4V3ZhMVoWZrvvSHgKV/Qh
-FqrAK4INr1G2+/QTd09AIRzfy3/j6yD4A9iNaOsEf9Ua7Qh6RcALRCAZTWR5QtEf
-dX+iSNJ4E85qXs0PqwkMDkoaxIJ+tmIRJY7y8oeylV8cfGAi8Soubt/i3SlR8IHC
-uDMas/2OnwafK3N7ODeE1i7r7wkzQkSHaEz0TrF8XRnP25jAICCSLiMdAAjKfxVb
-EvzsFSuAy3Jt6bU3hSLY9o4YVYKE+68ITMv9yNjvTsEiW+T+IbN34w==
------END RSA PRIVATE KEY-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.srl b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.srl
deleted file mode 100644
index 17128db3a..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/ca.srl
+++ /dev/null
@@ -1 +0,0 @@
-ADF62016AA40C9C3
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.cnf b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.cnf
deleted file mode 100644
index cd1fd1e39..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.cnf
+++ /dev/null
@@ -1,19 +0,0 @@
-[ req ]
-default_bits = 1024
-days = 3650
-distinguished_name = req_distinguished_name
-attributes = req_attributes
-prompt = no
-
-[ req_distinguished_name ]
-C = US
-ST = CA
-L = Oakland
-O = request
-OU = testing
-CN = testing.request.mikealrogers.com
-emailAddress = mikeal@mikealrogers.com
-
-[ req_attributes ]
-challengePassword = password challenge
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.crt b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.crt
deleted file mode 100644
index efe96cefc..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.crt
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICejCCAeMCCQCt9iAWqkDJwzANBgkqhkiG9w0BAQUFADCBojELMAkGA1UEBhMC
-VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMRAwDgYDVQQKEwdyZXF1
-ZXN0MSYwJAYDVQQLEx1yZXF1ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTESMBAG
-A1UEAxMJcmVxdWVzdENBMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlrZWFscm9n
-ZXJzLmNvbTAeFw0xMjAzMDEyMjUwNTZaFw0yMjAyMjcyMjUwNTZaMIGjMQswCQYD
-VQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNVBAcTB09ha2xhbmQxEDAOBgNVBAoT
-B3JlcXVlc3QxEDAOBgNVBAsTB3Rlc3RpbmcxKTAnBgNVBAMTIHRlc3RpbmcucmVx
-dWVzdC5taWtlYWxyb2dlcnMuY29tMSYwJAYJKoZIhvcNAQkBFhdtaWtlYWxAbWlr
-ZWFscm9nZXJzLmNvbTBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQDgVl0jMumvOpmM
-20W5v9yhGgZj8hPhEQF/N7yCBVBn/rWGYm70IHC8T/pR5c0LkWc5gdnCJEvKWQjh
-DBKxZD8FAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEABShRkNgFbgs4vUWW9R9deNJj
-7HJoiTmvkmoOC7QzcYkjdgHbOxsSq3rBnwxsVjY9PAtPwBn0GRspOeG7KzKRgySB
-kb22LyrCFKbEOfKO/+CJc80ioK9zEPVjGsFMyAB+ftYRqM+s/4cQlTg/m89l01wC
-yapjN3RxZbInGhWR+jA=
------END CERTIFICATE-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.csr b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.csr
deleted file mode 100644
index a8e7595a5..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.csr
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIIBgjCCASwCAQAwgaMxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UE
-BxMHT2FrbGFuZDEQMA4GA1UEChMHcmVxdWVzdDEQMA4GA1UECxMHdGVzdGluZzEp
-MCcGA1UEAxMgdGVzdGluZy5yZXF1ZXN0Lm1pa2VhbHJvZ2Vycy5jb20xJjAkBgkq
-hkiG9w0BCQEWF21pa2VhbEBtaWtlYWxyb2dlcnMuY29tMFwwDQYJKoZIhvcNAQEB
-BQADSwAwSAJBAOBWXSMy6a86mYzbRbm/3KEaBmPyE+ERAX83vIIFUGf+tYZibvQg
-cLxP+lHlzQuRZzmB2cIkS8pZCOEMErFkPwUCAwEAAaAjMCEGCSqGSIb3DQEJBzEU
-ExJwYXNzd29yZCBjaGFsbGVuZ2UwDQYJKoZIhvcNAQEFBQADQQBD3E5WekQzCEJw
-7yOcqvtPYIxGaX8gRKkYfLPoj3pm3GF5SGqtJKhylKfi89szHXgktnQgzff9FN+A
-HidVJ/3u
------END CERTIFICATE REQUEST-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.js
deleted file mode 100644
index 05e21c116..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var fs = require("fs")
-var https = require("https")
-var options = { key: fs.readFileSync("./server.key")
- , cert: fs.readFileSync("./server.crt") }
-
-var server = https.createServer(options, function (req, res) {
- res.writeHead(200)
- res.end()
- server.close()
-})
-server.listen(1337)
-
-var ca = fs.readFileSync("./ca.crt")
-var agent = new https.Agent({ host: "localhost", port: 1337, ca: ca })
-
-https.request({ host: "localhost"
- , method: "HEAD"
- , port: 1337
- , headers: { host: "testing.request.mikealrogers.com" }
- , agent: agent
- , ca: [ ca ]
- , path: "/" }, function (res) {
- if (res.client.authorized) {
- console.log("node test: OK")
- } else {
- throw new Error(res.client.authorizationError)
- }
-}).end()
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.key b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.key
deleted file mode 100644
index 72d86984f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/ca/server.key
+++ /dev/null
@@ -1,9 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIBOwIBAAJBAOBWXSMy6a86mYzbRbm/3KEaBmPyE+ERAX83vIIFUGf+tYZibvQg
-cLxP+lHlzQuRZzmB2cIkS8pZCOEMErFkPwUCAwEAAQJAK+r8ZM2sze8s7FRo/ApB
-iRBtO9fCaIdJwbwJnXKo4RKwZDt1l2mm+fzZ+/QaQNjY1oTROkIIXmnwRvZWfYlW
-gQIhAPKYsG+YSBN9o8Sdp1DMyZ/rUifKX3OE6q9tINkgajDVAiEA7Ltqh01+cnt0
-JEnud/8HHcuehUBLMofeg0G+gCnSbXECIQCqDvkXsWNNLnS/3lgsnvH0Baz4sbeJ
-rjIpuVEeg8eM5QIgbu0+9JmOV6ybdmmiMV4yAncoF35R/iKGVHDZCAsQzDECIQDZ
-0jGz22tlo5YMcYSqrdD3U4sds1pwiAaWFRbCunoUJw==
------END RSA PRIVATE KEY-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/npm-ca.crt b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/npm-ca.crt
deleted file mode 100644
index fde2fe933..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/npm-ca.crt
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIChzCCAfACCQDauvz/KHp8ejANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMC
-VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMQwwCgYDVQQKEwNucG0x
-IjAgBgNVBAsTGW5wbSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxDjAMBgNVBAMTBW5w
-bUNBMRcwFQYJKoZIhvcNAQkBFghpQGl6cy5tZTAeFw0xMTA5MDUwMTQ3MTdaFw0y
-MTA5MDIwMTQ3MTdaMIGHMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExEDAOBgNV
-BAcTB09ha2xhbmQxDDAKBgNVBAoTA25wbTEiMCAGA1UECxMZbnBtIENlcnRpZmlj
-YXRlIEF1dGhvcml0eTEOMAwGA1UEAxMFbnBtQ0ExFzAVBgkqhkiG9w0BCQEWCGlA
-aXpzLm1lMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLI4tIqPpRW+ACw9GE
-OgBlJZwK5f8nnKCLK629Pv5yJpQKs3DENExAyOgDcyaF0HD0zk8zTp+ZsLaNdKOz
-Gn2U181KGprGKAXP6DU6ByOJDWmTlY6+Ad1laYT0m64fERSpHw/hjD3D+iX4aMOl
-y0HdbT5m1ZGh6SJz3ZqxavhHLQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAC4ySDbC
-l7W1WpLmtLGEQ/yuMLUf6Jy/vr+CRp4h+UzL+IQpCv8FfxsYE7dhf/bmWTEupBkv
-yNL18lipt2jSvR3v6oAHAReotvdjqhxddpe5Holns6EQd1/xEZ7sB1YhQKJtvUrl
-ZNufy1Jf1r0ldEGeA+0ISck7s+xSh9rQD2Op
------END CERTIFICATE-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.crt b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.crt
deleted file mode 100644
index b357f8641..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.crt
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICQzCCAawCCQCO/XWtRFck1jANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJU
-SDEQMA4GA1UECBMHQmFuZ2tvazEOMAwGA1UEBxMFU2lsb20xGzAZBgNVBAoTElRo
-ZSBSZXF1ZXN0IE1vZHVsZTEYMBYGA1UEAxMPcmVxdWVzdC5leGFtcGxlMB4XDTEx
-MTIwMzAyMjkyM1oXDTIxMTEzMDAyMjkyM1owZjELMAkGA1UEBhMCVEgxEDAOBgNV
-BAgTB0Jhbmdrb2sxDjAMBgNVBAcTBVNpbG9tMRswGQYDVQQKExJUaGUgUmVxdWVz
-dCBNb2R1bGUxGDAWBgNVBAMTD3JlcXVlc3QuZXhhbXBsZTCBnzANBgkqhkiG9w0B
-AQEFAAOBjQAwgYkCgYEAwmctddZqlA48+NXs0yOy92DijcQV1jf87zMiYAIlNUto
-wghVbTWgJU5r0pdKrD16AptnWJTzKanhItEX8XCCPgsNkq1afgTtJP7rNkwu3xcj
-eIMkhJg/ay4ZnkbnhYdsii5VTU5prix6AqWRAhbkBgoA+iVyHyof8wvZyKBoFTMC
-AwEAATANBgkqhkiG9w0BAQUFAAOBgQB6BybMJbpeiABgihDfEVBcAjDoQ8gUMgwV
-l4NulugfKTDmArqnR9aPd4ET5jX5dkMP4bwCHYsvrcYDeWEQy7x5WWuylOdKhua4
-L4cEi2uDCjqEErIG3cc1MCOk6Cl6Ld6tkIzQSf953qfdEACRytOeUqLNQcrXrqeE
-c7U8F6MWLQ==
------END CERTIFICATE-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.key b/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.key
deleted file mode 100644
index b85810dda..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/ssl/test.key
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXgIBAAKBgQDCZy111mqUDjz41ezTI7L3YOKNxBXWN/zvMyJgAiU1S2jCCFVt
-NaAlTmvSl0qsPXoCm2dYlPMpqeEi0RfxcII+Cw2SrVp+BO0k/us2TC7fFyN4gySE
-mD9rLhmeRueFh2yKLlVNTmmuLHoCpZECFuQGCgD6JXIfKh/zC9nIoGgVMwIDAQAB
-AoGBALXFwfUf8vHTSmGlrdZS2AGFPvEtuvldyoxi9K5u8xmdFCvxnOcLsF2RsTHt
-Mu5QYWhUpNJoG+IGLTPf7RJdj/kNtEs7xXqWy4jR36kt5z5MJzqiK+QIgiO9UFWZ
-fjUb6oeDnTIJA9YFBdYi97MDuL89iU/UK3LkJN3hd4rciSbpAkEA+MCkowF5kSFb
-rkOTBYBXZfiAG78itDXN6DXmqb9XYY+YBh3BiQM28oxCeQYyFy6pk/nstnd4TXk6
-V/ryA2g5NwJBAMgRKTY9KvxJWbESeMEFe2iBIV0c26/72Amgi7ZKUCLukLfD4tLF
-+WSZdmTbbqI1079YtwaiOVfiLm45Q/3B0eUCQAaQ/0eWSGE+Yi8tdXoVszjr4GXb
-G81qBi91DMu6U1It+jNfIba+MPsiHLcZJMVb4/oWBNukN7bD1nhwFWdlnu0CQQCf
-Is9WHkdvz2RxbZDxb8verz/7kXXJQJhx5+rZf7jIYFxqX3yvTNv3wf2jcctJaWlZ
-fVZwB193YSivcgt778xlAkEAprYUz3jczjF5r2hrgbizPzPDR94tM5BTO3ki2v3w
-kbf+j2g7FNAx6kZiVN8XwfLc8xEeUGiPKwtq3ddPDFh17w==
------END RSA PRIVATE KEY-----
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-body.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-body.js
deleted file mode 100644
index a624397d7..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-body.js
+++ /dev/null
@@ -1,117 +0,0 @@
-var server = require('./server')
- , events = require('events')
- , stream = require('stream')
- , assert = require('assert')
- , request = require('../main.js')
- ;
-
-var s = server.createServer();
-
-var tests =
- { testGet :
- { resp : server.createGetResponse("TESTING!")
- , expectBody: "TESTING!"
- }
- , testGetChunkBreak :
- { resp : server.createChunkResponse(
- [ new Buffer([239])
- , new Buffer([163])
- , new Buffer([191])
- , new Buffer([206])
- , new Buffer([169])
- , new Buffer([226])
- , new Buffer([152])
- , new Buffer([131])
- ])
- , expectBody: "Ω☃"
- }
- , testGetBuffer :
- { resp : server.createGetResponse(new Buffer("TESTING!"))
- , encoding: null
- , expectBody: new Buffer("TESTING!")
- }
- , testGetEncoding :
- { resp : server.createGetResponse(new Buffer('efa3bfcea9e29883', 'hex'))
- , encoding: 'hex'
- , expectBody: "efa3bfcea9e29883"
- }
- , testGetJSON :
- { resp : server.createGetResponse('{"test":true}', 'application/json')
- , json : true
- , expectBody: {"test":true}
- }
- , testPutString :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : "PUTTINGDATA"
- }
- , testPutBuffer :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : new Buffer("PUTTINGDATA")
- }
- , testPutJSON :
- { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
- , method: "PUT"
- , json: {foo: 'bar'}
- }
- , testPutMultipart :
- { resp: server.createPostValidator(
- '--__BOUNDARY__\r\n' +
- 'content-type: text/html\r\n' +
- '\r\n' +
- '<html><body>Oh hi.</body></html>' +
- '\r\n--__BOUNDARY__\r\n\r\n' +
- 'Oh hi.' +
- '\r\n--__BOUNDARY__--'
- )
- , method: "PUT"
- , multipart:
- [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
- , {'body': 'Oh hi.'}
- ]
- }
- , testPutMultipartPreambleCRLF :
- { resp: server.createPostValidator(
- '\r\n--__BOUNDARY__\r\n' +
- 'content-type: text/html\r\n' +
- '\r\n' +
- '<html><body>Oh hi.</body></html>' +
- '\r\n--__BOUNDARY__\r\n\r\n' +
- 'Oh hi.' +
- '\r\n--__BOUNDARY__--'
- )
- , method: "PUT"
- , preambleCRLF: true
- , multipart:
- [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
- , {'body': 'Oh hi.'}
- ]
- }
- }
-
-s.listen(s.port, function () {
-
- var counter = 0
-
- for (i in tests) {
- (function () {
- var test = tests[i]
- s.on('/'+i, test.resp)
- test.uri = s.url + '/' + i
- request(test, function (err, resp, body) {
- if (err) throw err
- if (test.expectBody) {
- assert.deepEqual(test.expectBody, body)
- }
- counter = counter - 1;
- if (counter === 0) {
- console.log(Object.keys(tests).length+" tests passed.")
- s.close()
- }
- })
- counter++
- })()
- }
-})
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookie.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookie.js
deleted file mode 100644
index 6c6a7a779..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookie.js
+++ /dev/null
@@ -1,29 +0,0 @@
-var Cookie = require('../vendor/cookie')
- , assert = require('assert');
-
-var str = 'Sid="s543qactge.wKE61E01Bs%2BKhzmxrwrnug="; Path=/; httpOnly; Expires=Sat, 04 Dec 2010 23:27:28 GMT';
-var cookie = new Cookie(str);
-
-// test .toString()
-assert.equal(cookie.toString(), str);
-
-// test .path
-assert.equal(cookie.path, '/');
-
-// test .httpOnly
-assert.equal(cookie.httpOnly, true);
-
-// test .name
-assert.equal(cookie.name, 'Sid');
-
-// test .value
-assert.equal(cookie.value, '"s543qactge.wKE61E01Bs%2BKhzmxrwrnug="');
-
-// test .expires
-assert.equal(cookie.expires instanceof Date, true);
-
-// test .path default
-var cookie = new Cookie('foo=bar', { url: 'http://foo.com/bar' });
-assert.equal(cookie.path, '/bar');
-
-console.log('All tests passed');
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookiejar.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookiejar.js
deleted file mode 100644
index 76fcd7161..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-cookiejar.js
+++ /dev/null
@@ -1,90 +0,0 @@
-var Cookie = require('../vendor/cookie')
- , Jar = require('../vendor/cookie/jar')
- , assert = require('assert');
-
-function expires(ms) {
- return new Date(Date.now() + ms).toUTCString();
-}
-
-// test .get() expiration
-(function() {
- var jar = new Jar;
- var cookie = new Cookie('sid=1234; path=/; expires=' + expires(1000));
- jar.add(cookie);
- setTimeout(function(){
- var cookies = jar.get({ url: 'http://foo.com/foo' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], cookie);
- setTimeout(function(){
- var cookies = jar.get({ url: 'http://foo.com/foo' });
- assert.equal(cookies.length, 0);
- }, 1000);
- }, 5);
-})();
-
-// test .get() path support
-(function() {
- var jar = new Jar;
- var a = new Cookie('sid=1234; path=/');
- var b = new Cookie('sid=1111; path=/foo/bar');
- var c = new Cookie('sid=2222; path=/');
- jar.add(a);
- jar.add(b);
- jar.add(c);
-
- // should remove the duplicates
- assert.equal(jar.cookies.length, 2);
-
- // same name, same path, latter prevails
- var cookies = jar.get({ url: 'http://foo.com/' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], c);
-
- // same name, diff path, path specifity prevails, latter prevails
- var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], b);
-
- var jar = new Jar;
- var a = new Cookie('sid=1111; path=/foo/bar');
- var b = new Cookie('sid=1234; path=/');
- jar.add(a);
- jar.add(b);
-
- var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], a);
-
- var cookies = jar.get({ url: 'http://foo.com/' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], b);
-
- var jar = new Jar;
- var a = new Cookie('sid=1111; path=/foo/bar');
- var b = new Cookie('sid=3333; path=/foo/bar');
- var c = new Cookie('pid=3333; path=/foo/bar');
- var d = new Cookie('sid=2222; path=/foo/');
- var e = new Cookie('sid=1234; path=/');
- jar.add(a);
- jar.add(b);
- jar.add(c);
- jar.add(d);
- jar.add(e);
-
- var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
- assert.equal(cookies.length, 2);
- assert.equal(cookies[0], b);
- assert.equal(cookies[1], c);
-
- var cookies = jar.get({ url: 'http://foo.com/foo/' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], d);
-
- var cookies = jar.get({ url: 'http://foo.com/' });
- assert.equal(cookies.length, 1);
- assert.equal(cookies[0], e);
-})();
-
-setTimeout(function() {
- console.log('All tests passed');
-}, 1200);
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-defaults.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-defaults.js
deleted file mode 100644
index ba0941850..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-defaults.js
+++ /dev/null
@@ -1,114 +0,0 @@
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- ;
-
-var s = server.createServer();
-
-s.listen(s.port, function () {
- var counter = 0;
- s.on('/get', function (req, resp) {
- assert.equal(req.headers.foo, 'bar');
- assert.equal(req.method, 'GET')
- resp.writeHead(200, {'Content-Type': 'text/plain'});
- resp.end('TESTING!');
- });
-
- // test get(string, function)
- request.defaults({headers:{foo:"bar"}})(s.url + '/get', function (e, r, b){
- if (e) throw e;
- assert.deepEqual("TESTING!", b);
- counter += 1;
- });
-
- s.on('/post', function (req, resp) {
- assert.equal(req.headers.foo, 'bar');
- assert.equal(req.headers['content-type'], null);
- assert.equal(req.method, 'POST')
- resp.writeHead(200, {'Content-Type': 'application/json'});
- resp.end(JSON.stringify({foo:'bar'}));
- });
-
- // test post(string, object, function)
- request.defaults({headers:{foo:"bar"}}).post(s.url + '/post', {json: true}, function (e, r, b){
- if (e) throw e;
- assert.deepEqual('bar', b.foo);
- counter += 1;
- });
-
- s.on('/post-body', function (req, resp) {
- assert.equal(req.headers.foo, 'bar');
- assert.equal(req.headers['content-type'], 'application/json');
- assert.equal(req.method, 'POST')
- resp.writeHead(200, {'Content-Type': 'application/json'});
- resp.end(JSON.stringify({foo:'bar'}));
- });
-
- // test post(string, object, function) with body
- request.defaults({headers:{foo:"bar"}}).post(s.url + '/post-body', {json: true, body:{bar:"baz"}}, function (e, r, b){
- if (e) throw e;
- assert.deepEqual('bar', b.foo);
- counter += 1;
- });
-
- s.on('/del', function (req, resp) {
- assert.equal(req.headers.foo, 'bar');
- assert.equal(req.method, 'DELETE')
- resp.writeHead(200, {'Content-Type': 'application/json'});
- resp.end(JSON.stringify({foo:'bar'}));
- });
-
- // test .del(string, function)
- request.defaults({headers:{foo:"bar"}, json:true}).del(s.url + '/del', function (e, r, b){
- if (e) throw e;
- assert.deepEqual('bar', b.foo);
- counter += 1;
- });
-
- s.on('/head', function (req, resp) {
- assert.equal(req.headers.foo, 'bar');
- assert.equal(req.method, 'HEAD')
- resp.writeHead(200, {'Content-Type': 'text/plain'});
- resp.end();
- });
-
- // test head.(object, function)
- request.defaults({headers:{foo:"bar"}}).head({uri: s.url + '/head'}, function (e, r, b){
- if (e) throw e;
- counter += 1;
- });
-
- s.on('/get_custom', function(req, resp) {
- assert.equal(req.headers.foo, 'bar');
- assert.equal(req.headers.x, 'y');
- resp.writeHead(200, {'Content-Type': 'text/plain'});
- resp.end();
- });
-
- // test custom request handler function
- var defaultRequest = request.defaults({
- headers:{foo:"bar"}
- , body: 'TESTING!'
- }, function(uri, options, callback) {
- var params = request.initParams(uri, options, callback);
- options = params.options;
- options.headers.x = 'y';
-
- return request(params.uri, params.options, params.callback);
- });
-
- var msg = 'defaults test failed. head request should throw earlier';
- assert.throws(function() {
- defaultRequest.head(s.url + '/get_custom', function(e, r, b) {
- throw new Error(msg);
- });
- counter+=1;
- }, msg);
-
- defaultRequest.get(s.url + '/get_custom', function(e, r, b) {
- if(e) throw e;
- counter += 1;
- console.log(counter.toString() + " tests passed.");
- s.close();
- });
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-errors.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-errors.js
deleted file mode 100644
index 1986a59ee..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-errors.js
+++ /dev/null
@@ -1,37 +0,0 @@
-var server = require('./server')
- , events = require('events')
- , assert = require('assert')
- , request = require('../main.js')
- ;
-
-var local = 'http://localhost:8888/asdf'
-
-try {
- request({uri:local, body:{}})
- assert.fail("Should have throw")
-} catch(e) {
- assert.equal(e.message, 'Argument error, options.body.')
-}
-
-try {
- request({uri:local, multipart: 'foo'})
- assert.fail("Should have throw")
-} catch(e) {
- assert.equal(e.message, 'Argument error, options.multipart.')
-}
-
-try {
- request({uri:local, multipart: [{}]})
- assert.fail("Should have throw")
-} catch(e) {
- assert.equal(e.message, 'Body attribute missing in multipart.')
-}
-
-try {
- request(local, {multipart: [{}]})
- assert.fail("Should have throw")
-} catch(e) {
- assert.equal(e.message, 'Body attribute missing in multipart.')
-}
-
-console.log("All tests passed.")
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all-303.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all-303.js
deleted file mode 100644
index 3f2162d5f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all-303.js
+++ /dev/null
@@ -1,30 +0,0 @@
-var request = require('../main');
-var http = require('http');
-var requests = 0;
-var assert = require('assert');
-
-var server = http.createServer(function (req, res) {
- console.error(req.method, req.url);
- requests ++;
-
- if (req.method === 'POST') {
- console.error('send 303');
- res.setHeader('location', req.url);
- res.statusCode = 303;
- res.end('try again, i guess\n');
- } else {
- console.error('send 200')
- res.end('ok: ' + requests);
- }
-});
-server.listen(6767);
-
-request.post({ url: 'http://localhost:6767/foo',
- followAllRedirects: true,
- form: { foo: 'bar' } }, function (er, req, body) {
- if (er) throw er;
- assert.equal(body, 'ok: 2');
- assert.equal(requests, 2);
- console.error('ok - ' + process.version);
- server.close();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all.js
deleted file mode 100644
index b78745bb8..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-follow-all.js
+++ /dev/null
@@ -1,35 +0,0 @@
-var request = require('../main');
-var http = require('http');
-var requests = 0;
-var assert = require('assert');
-
-var server = http.createServer(function (req, res) {
- requests ++;
-
- // redirect everything 3 times, no matter what.
- var c = req.headers.cookie;
-
- if (!c) c = 0;
- else c = +c.split('=')[1] || 0;
-
- if (c > 3) {
- res.end('ok: '+requests);
- return;
- }
-
- res.setHeader('set-cookie', 'c=' + (c + 1));
- res.setHeader('location', req.url);
- res.statusCode = 302;
- res.end('try again, i guess\n');
-});
-server.listen(6767);
-
-request.post({ url: 'http://localhost:6767/foo',
- followAllRedirects: true,
- form: { foo: 'bar' } }, function (er, req, body) {
- if (er) throw er;
- assert.equal(body, 'ok: 5');
- assert.equal(requests, 5);
- console.error('ok - ' + process.version);
- server.close();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-form.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-form.js
deleted file mode 100644
index aeefd31ff..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-form.js
+++ /dev/null
@@ -1,79 +0,0 @@
-var assert = require('assert')
-var http = require('http');
-var path = require('path');
-var mime = require('mime');
-var request = require('../main.js');
-var fs = require('fs');
-
-var remoteFile = 'http://nodejs.org/images/logo.png';
-
-var FIELDS = [
- {name: 'my_field', value: 'my_value'},
- {name: 'my_buffer', value: new Buffer([1, 2, 3])},
- {name: 'my_file', value: fs.createReadStream(__dirname + '/unicycle.jpg')},
- {name: 'remote_file', value: request(remoteFile) }
-];
-
-var server = http.createServer(function(req, res) {
-
- // temp workaround
- var data = '';
- req.setEncoding('utf8');
-
- req.on('data', function(d) {
- data += d;
- });
-
- req.on('end', function() {
- // check for the fields' traces
-
- // 1st field : my_field
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 2nd field : my_buffer
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf(field.value) != -1 );
-
- // 3rd field : my_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(field.value.path)+'"') != -1 );
- // check for unicycle.jpg traces
- assert.ok( data.indexOf('2005:06:21 01:44:12') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(field.value.path) ) != -1 );
-
- // 4th field : remote_file
- var field = FIELDS.shift();
- assert.ok( data.indexOf('form-data; name="'+field.name+'"') != -1 );
- assert.ok( data.indexOf('; filename="'+path.basename(field.value.path)+'"') != -1 );
- // check for http://nodejs.org/images/logo.png traces
- assert.ok( data.indexOf('ImageReady') != -1 );
- assert.ok( data.indexOf('Content-Type: '+mime.lookup(remoteFile) ) != -1 );
-
- res.writeHead(200);
- res.end('done');
-
- });
-
-
-});
-
-server.listen(8080, function() {
-
- var req = request.post('http://localhost:8080/upload', function () {
- server.close();
- })
- var form = req.form()
-
- FIELDS.forEach(function(field) {
- form.append(field.name, field.value);
- });
-
-});
-
-process.on('exit', function() {
- assert.strictEqual(FIELDS.length, 0);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-headers.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-headers.js
deleted file mode 100644
index 31fe3f4e8..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-headers.js
+++ /dev/null
@@ -1,52 +0,0 @@
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- , Cookie = require('../vendor/cookie')
- , Jar = require('../vendor/cookie/jar')
- , s = server.createServer()
-
-s.listen(s.port, function () {
- var serverUri = 'http://localhost:' + s.port
- , numTests = 0
- , numOutstandingTests = 0
-
- function createTest(requestObj, serverAssertFn) {
- var testNumber = numTests;
- numTests += 1;
- numOutstandingTests += 1;
- s.on('/' + testNumber, function (req, res) {
- serverAssertFn(req, res);
- res.writeHead(200);
- res.end();
- });
- requestObj.url = serverUri + '/' + testNumber
- request(requestObj, function (err, res, body) {
- assert.ok(!err)
- assert.equal(res.statusCode, 200)
- numOutstandingTests -= 1
- if (numOutstandingTests === 0) {
- console.log(numTests + ' tests passed.')
- s.close()
- }
- })
- }
-
- // Issue #125: headers.cookie shouldn't be replaced when a cookie jar isn't specified
- createTest({headers: {cookie: 'foo=bar'}}, function (req, res) {
- assert.ok(req.headers.cookie)
- assert.equal(req.headers.cookie, 'foo=bar')
- })
-
- // Issue #125: headers.cookie + cookie jar
- var jar = new Jar()
- jar.add(new Cookie('quux=baz'));
- createTest({jar: jar, headers: {cookie: 'foo=bar'}}, function (req, res) {
- assert.ok(req.headers.cookie)
- assert.equal(req.headers.cookie, 'foo=bar; quux=baz')
- })
-
- // There should be no cookie header when neither headers.cookie nor a cookie jar is specified
- createTest({}, function (req, res) {
- assert.ok(!req.headers.cookie)
- })
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-httpModule.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-httpModule.js
deleted file mode 100644
index 1866de2fa..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-httpModule.js
+++ /dev/null
@@ -1,94 +0,0 @@
-var http = require('http')
- , https = require('https')
- , server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
-
-
-var faux_requests_made = {'http':0, 'https':0}
-function wrap_request(name, module) {
- // Just like the http or https module, but note when a request is made.
- var wrapped = {}
- Object.keys(module).forEach(function(key) {
- var value = module[key];
-
- if(key != 'request')
- wrapped[key] = value;
- else
- wrapped[key] = function(options, callback) {
- faux_requests_made[name] += 1
- return value.apply(this, arguments)
- }
- })
-
- return wrapped;
-}
-
-
-var faux_http = wrap_request('http', http)
- , faux_https = wrap_request('https', https)
- , plain_server = server.createServer()
- , https_server = server.createSSLServer()
-
-
-plain_server.listen(plain_server.port, function() {
- plain_server.on('/plain', function (req, res) {
- res.writeHead(200)
- res.end('plain')
- })
- plain_server.on('/to_https', function (req, res) {
- res.writeHead(301, {'location':'https://localhost:'+https_server.port + '/https'})
- res.end()
- })
-
- https_server.listen(https_server.port, function() {
- https_server.on('/https', function (req, res) {
- res.writeHead(200)
- res.end('https')
- })
- https_server.on('/to_plain', function (req, res) {
- res.writeHead(302, {'location':'http://localhost:'+plain_server.port + '/plain'})
- res.end()
- })
-
- run_tests()
- run_tests({})
- run_tests({'http:':faux_http})
- run_tests({'https:':faux_https})
- run_tests({'http:':faux_http, 'https:':faux_https})
- })
-})
-
-function run_tests(httpModules) {
- var to_https = 'http://localhost:'+plain_server.port+'/to_https'
- var to_plain = 'https://localhost:'+https_server.port+'/to_plain'
-
- request(to_https, {'httpModules':httpModules}, function (er, res, body) {
- assert.ok(!er, 'Bounce to SSL worked')
- assert.equal(body, 'https', 'Received HTTPS server body')
- done()
- })
-
- request(to_plain, {'httpModules':httpModules}, function (er, res, body) {
- assert.ok(!er, 'Bounce to plaintext server worked')
- assert.equal(body, 'plain', 'Received HTTPS server body')
- done()
- })
-}
-
-
-var passed = 0;
-function done() {
- passed += 1
- var expected = 10
-
- if(passed == expected) {
- plain_server.close()
- https_server.close()
-
- assert.equal(faux_requests_made.http, 4, 'Wrapped http module called appropriately')
- assert.equal(faux_requests_made.https, 4, 'Wrapped https module called appropriately')
-
- console.log((expected+2) + ' tests passed.')
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https-strict.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https-strict.js
deleted file mode 100644
index 470b68ddd..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https-strict.js
+++ /dev/null
@@ -1,97 +0,0 @@
-// a test where we validate the siguature of the keys
-// otherwise exactly the same as the ssl test
-
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- , fs = require('fs')
- , path = require('path')
- , opts = { key: path.resolve(__dirname, 'ssl/ca/server.key')
- , cert: path.resolve(__dirname, 'ssl/ca/server.crt') }
- , s = server.createSSLServer(null, opts)
- , caFile = path.resolve(__dirname, 'ssl/ca/ca.crt')
- , ca = fs.readFileSync(caFile)
-
-var tests =
- { testGet :
- { resp : server.createGetResponse("TESTING!")
- , expectBody: "TESTING!"
- }
- , testGetChunkBreak :
- { resp : server.createChunkResponse(
- [ new Buffer([239])
- , new Buffer([163])
- , new Buffer([191])
- , new Buffer([206])
- , new Buffer([169])
- , new Buffer([226])
- , new Buffer([152])
- , new Buffer([131])
- ])
- , expectBody: "Ω☃"
- }
- , testGetJSON :
- { resp : server.createGetResponse('{"test":true}', 'application/json')
- , json : true
- , expectBody: {"test":true}
- }
- , testPutString :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : "PUTTINGDATA"
- }
- , testPutBuffer :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : new Buffer("PUTTINGDATA")
- }
- , testPutJSON :
- { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
- , method: "PUT"
- , json: {foo: 'bar'}
- }
- , testPutMultipart :
- { resp: server.createPostValidator(
- '--__BOUNDARY__\r\n' +
- 'content-type: text/html\r\n' +
- '\r\n' +
- '<html><body>Oh hi.</body></html>' +
- '\r\n--__BOUNDARY__\r\n\r\n' +
- 'Oh hi.' +
- '\r\n--__BOUNDARY__--'
- )
- , method: "PUT"
- , multipart:
- [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
- , {'body': 'Oh hi.'}
- ]
- }
- }
-
-s.listen(s.port, function () {
-
- var counter = 0
-
- for (i in tests) {
- (function () {
- var test = tests[i]
- s.on('/'+i, test.resp)
- test.uri = s.url + '/' + i
- test.strictSSL = true
- test.ca = ca
- test.headers = { host: 'testing.request.mikealrogers.com' }
- request(test, function (err, resp, body) {
- if (err) throw err
- if (test.expectBody) {
- assert.deepEqual(test.expectBody, body)
- }
- counter = counter - 1;
- if (counter === 0) {
- console.log(Object.keys(tests).length+" tests passed.")
- s.close()
- }
- })
- counter++
- })()
- }
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https.js
deleted file mode 100644
index 58e7db93f..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-https.js
+++ /dev/null
@@ -1,86 +0,0 @@
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
-
-var s = server.createSSLServer();
-
-var tests =
- { testGet :
- { resp : server.createGetResponse("TESTING!")
- , expectBody: "TESTING!"
- }
- , testGetChunkBreak :
- { resp : server.createChunkResponse(
- [ new Buffer([239])
- , new Buffer([163])
- , new Buffer([191])
- , new Buffer([206])
- , new Buffer([169])
- , new Buffer([226])
- , new Buffer([152])
- , new Buffer([131])
- ])
- , expectBody: "Ω☃"
- }
- , testGetJSON :
- { resp : server.createGetResponse('{"test":true}', 'application/json')
- , json : true
- , expectBody: {"test":true}
- }
- , testPutString :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : "PUTTINGDATA"
- }
- , testPutBuffer :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : new Buffer("PUTTINGDATA")
- }
- , testPutJSON :
- { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
- , method: "PUT"
- , json: {foo: 'bar'}
- }
- , testPutMultipart :
- { resp: server.createPostValidator(
- '--__BOUNDARY__\r\n' +
- 'content-type: text/html\r\n' +
- '\r\n' +
- '<html><body>Oh hi.</body></html>' +
- '\r\n--__BOUNDARY__\r\n\r\n' +
- 'Oh hi.' +
- '\r\n--__BOUNDARY__--'
- )
- , method: "PUT"
- , multipart:
- [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
- , {'body': 'Oh hi.'}
- ]
- }
- }
-
-s.listen(s.port, function () {
-
- var counter = 0
-
- for (i in tests) {
- (function () {
- var test = tests[i]
- s.on('/'+i, test.resp)
- test.uri = s.url + '/' + i
- request(test, function (err, resp, body) {
- if (err) throw err
- if (test.expectBody) {
- assert.deepEqual(test.expectBody, body)
- }
- counter = counter - 1;
- if (counter === 0) {
- console.log(Object.keys(tests).length+" tests passed.")
- s.close()
- }
- })
- counter++
- })()
- }
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-oauth.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-oauth.js
deleted file mode 100644
index 72ca92333..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-oauth.js
+++ /dev/null
@@ -1,117 +0,0 @@
-var hmacsign = require('../oauth').hmacsign
- , assert = require('assert')
- , qs = require('querystring')
- , request = require('../main')
- ;
-
-function getsignature (r) {
- var sign
- r.headers.Authorization.slice('OAuth '.length).replace(/,\ /g, ',').split(',').forEach(function (v) {
- if (v.slice(0, 'oauth_signature="'.length) === 'oauth_signature="') sign = v.slice('oauth_signature="'.length, -1)
- })
- return decodeURIComponent(sign)
-}
-
-// Tests from Twitter documentation https://dev.twitter.com/docs/auth/oauth
-
-var reqsign = hmacsign('POST', 'https://api.twitter.com/oauth/request_token',
- { oauth_callback: 'http://localhost:3005/the_dance/process_callback?service_provider_id=11'
- , oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g'
- , oauth_nonce: 'QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk'
- , oauth_signature_method: 'HMAC-SHA1'
- , oauth_timestamp: '1272323042'
- , oauth_version: '1.0'
- }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98")
-
-console.log(reqsign)
-console.log('8wUi7m5HFQy76nowoCThusfgB+Q=')
-assert.equal(reqsign, '8wUi7m5HFQy76nowoCThusfgB+Q=')
-
-var accsign = hmacsign('POST', 'https://api.twitter.com/oauth/access_token',
- { oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g'
- , oauth_nonce: '9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8'
- , oauth_signature_method: 'HMAC-SHA1'
- , oauth_token: '8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc'
- , oauth_timestamp: '1272323047'
- , oauth_verifier: 'pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY'
- , oauth_version: '1.0'
- }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "x6qpRnlEmW9JbQn4PQVVeVG8ZLPEx6A0TOebgwcuA")
-
-console.log(accsign)
-console.log('PUw/dHA4fnlJYM6RhXk5IU/0fCc=')
-assert.equal(accsign, 'PUw/dHA4fnlJYM6RhXk5IU/0fCc=')
-
-var upsign = hmacsign('POST', 'http://api.twitter.com/1/statuses/update.json',
- { oauth_consumer_key: "GDdmIQH6jhtmLUypg82g"
- , oauth_nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y"
- , oauth_signature_method: "HMAC-SHA1"
- , oauth_token: "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw"
- , oauth_timestamp: "1272325550"
- , oauth_version: "1.0"
- , status: 'setting up my twitter 私のさえずりを設定する'
- }, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBA")
-
-console.log(upsign)
-console.log('yOahq5m0YjDDjfjxHaXEsW9D+X0=')
-assert.equal(upsign, 'yOahq5m0YjDDjfjxHaXEsW9D+X0=')
-
-
-var rsign = request.post(
- { url: 'https://api.twitter.com/oauth/request_token'
- , oauth:
- { callback: 'http://localhost:3005/the_dance/process_callback?service_provider_id=11'
- , consumer_key: 'GDdmIQH6jhtmLUypg82g'
- , nonce: 'QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk'
- , timestamp: '1272323042'
- , version: '1.0'
- , consumer_secret: "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98"
- }
- })
-
-setTimeout(function () {
- console.log(getsignature(rsign))
- assert.equal(reqsign, getsignature(rsign))
-})
-
-var raccsign = request.post(
- { url: 'https://api.twitter.com/oauth/access_token'
- , oauth:
- { consumer_key: 'GDdmIQH6jhtmLUypg82g'
- , nonce: '9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8'
- , signature_method: 'HMAC-SHA1'
- , token: '8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc'
- , timestamp: '1272323047'
- , verifier: 'pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY'
- , version: '1.0'
- , consumer_secret: "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98"
- , token_secret: "x6qpRnlEmW9JbQn4PQVVeVG8ZLPEx6A0TOebgwcuA"
- }
- })
-
-setTimeout(function () {
- console.log(getsignature(raccsign))
- assert.equal(accsign, getsignature(raccsign))
-}, 1)
-
-var rupsign = request.post(
- { url: 'http://api.twitter.com/1/statuses/update.json'
- , oauth:
- { consumer_key: "GDdmIQH6jhtmLUypg82g"
- , nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y"
- , signature_method: "HMAC-SHA1"
- , token: "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw"
- , timestamp: "1272325550"
- , version: "1.0"
- , consumer_secret: "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98"
- , token_secret: "J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBA"
- }
- , form: {status: 'setting up my twitter 私のさえずりを設定する'}
- })
-setTimeout(function () {
- console.log(getsignature(rupsign))
- assert.equal(upsign, getsignature(rupsign))
-}, 1)
-
-
-
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-params.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-params.js
deleted file mode 100644
index 5ddb31162..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-params.js
+++ /dev/null
@@ -1,92 +0,0 @@
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- ;
-
-var s = server.createServer();
-
-var tests =
- { testGet :
- { resp : server.createGetResponse("TESTING!")
- , expectBody: "TESTING!"
- }
- , testGetChunkBreak :
- { resp : server.createChunkResponse(
- [ new Buffer([239])
- , new Buffer([163])
- , new Buffer([191])
- , new Buffer([206])
- , new Buffer([169])
- , new Buffer([226])
- , new Buffer([152])
- , new Buffer([131])
- ])
- , expectBody: "Ω☃"
- }
- , testGetBuffer :
- { resp : server.createGetResponse(new Buffer("TESTING!"))
- , encoding: null
- , expectBody: new Buffer("TESTING!")
- }
- , testGetJSON :
- { resp : server.createGetResponse('{"test":true}', 'application/json')
- , json : true
- , expectBody: {"test":true}
- }
- , testPutString :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : "PUTTINGDATA"
- }
- , testPutBuffer :
- { resp : server.createPostValidator("PUTTINGDATA")
- , method : "PUT"
- , body : new Buffer("PUTTINGDATA")
- }
- , testPutJSON :
- { resp : server.createPostValidator(JSON.stringify({foo: 'bar'}))
- , method: "PUT"
- , json: {foo: 'bar'}
- }
- , testPutMultipart :
- { resp: server.createPostValidator(
- '--__BOUNDARY__\r\n' +
- 'content-type: text/html\r\n' +
- '\r\n' +
- '<html><body>Oh hi.</body></html>' +
- '\r\n--__BOUNDARY__\r\n\r\n' +
- 'Oh hi.' +
- '\r\n--__BOUNDARY__--'
- )
- , method: "PUT"
- , multipart:
- [ {'content-type': 'text/html', 'body': '<html><body>Oh hi.</body></html>'}
- , {'body': 'Oh hi.'}
- ]
- }
- }
-
-s.listen(s.port, function () {
-
- var counter = 0
-
- for (i in tests) {
- (function () {
- var test = tests[i]
- s.on('/'+i, test.resp)
- //test.uri = s.url + '/' + i
- request(s.url + '/' + i, test, function (err, resp, body) {
- if (err) throw err
- if (test.expectBody) {
- assert.deepEqual(test.expectBody, body)
- }
- counter = counter - 1;
- if (counter === 0) {
- console.log(Object.keys(tests).length+" tests passed.")
- s.close()
- }
- })
- counter++
- })()
- }
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-piped-redirect.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-piped-redirect.js
deleted file mode 100644
index 25bf35dfe..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-piped-redirect.js
+++ /dev/null
@@ -1,52 +0,0 @@
-var http = require('http')
- , assert = require('assert')
- , request = require('../main.js')
- ;
-
-var portOne = 8968
- , portTwo = 8969
- ;
-
-
-// server one
-var s1 = http.createServer(function (req, resp)
-{
- if (req.url == '/original')
- {
- resp.writeHeader(302, {'location': '/redirected'})
- resp.end()
- }
- else if (req.url == '/redirected')
- {
- resp.writeHeader(200, {'content-type': 'text/plain'})
- resp.write('OK')
- resp.end()
- }
-
-}).listen(portOne);
-
-
-// server two
-var s2 = http.createServer(function (req, resp)
-{
-
- var x = request('http://localhost:'+portOne+'/original')
- req.pipe(x)
- x.pipe(resp)
-
-}).listen(portTwo, function()
-{
-
- var r = request('http://localhost:'+portTwo+'/original', function (err, res, body) {
-
- assert.equal(body, 'OK')
-
- s1.close()
- s2.close()
-
- });
-
- // it hangs, so wait a second :)
- r.timeout = 1000;
-
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pipes.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pipes.js
deleted file mode 100644
index 716298146..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pipes.js
+++ /dev/null
@@ -1,216 +0,0 @@
-var server = require('./server')
- , events = require('events')
- , stream = require('stream')
- , assert = require('assert')
- , fs = require('fs')
- , request = require('../main.js')
- , path = require('path')
- , util = require('util')
- ;
-
-var s = server.createServer(3453);
-
-function ValidationStream(str) {
- this.str = str
- this.buf = ''
- this.on('data', function (data) {
- this.buf += data
- })
- this.on('end', function () {
- assert.equal(this.str, this.buf)
- })
- this.writable = true
-}
-util.inherits(ValidationStream, stream.Stream)
-ValidationStream.prototype.write = function (chunk) {
- this.emit('data', chunk)
-}
-ValidationStream.prototype.end = function (chunk) {
- if (chunk) emit('data', chunk)
- this.emit('end')
-}
-
-s.listen(s.port, function () {
- counter = 0;
-
- var check = function () {
- counter = counter - 1
- if (counter === 0) {
- console.log('All tests passed.')
- setTimeout(function () {
- process.exit();
- }, 500)
- }
- }
-
- // Test pipeing to a request object
- s.once('/push', server.createPostValidator("mydata"));
-
- var mydata = new stream.Stream();
- mydata.readable = true
-
- counter++
- var r1 = request.put({url:'http://localhost:3453/push'}, function () {
- check();
- })
- mydata.pipe(r1)
-
- mydata.emit('data', 'mydata');
- mydata.emit('end');
-
- // Test pipeing to a request object with a json body
- s.once('/push-json', server.createPostValidator("{\"foo\":\"bar\"}", "application/json"));
-
- var mybodydata = new stream.Stream();
- mybodydata.readable = true
-
- counter++
- var r2 = request.put({url:'http://localhost:3453/push-json',json:true}, function () {
- check();
- })
- mybodydata.pipe(r2)
-
- mybodydata.emit('data', JSON.stringify({foo:"bar"}));
- mybodydata.emit('end');
-
- // Test pipeing from a request object.
- s.once('/pull', server.createGetResponse("mypulldata"));
-
- var mypulldata = new stream.Stream();
- mypulldata.writable = true
-
- counter++
- request({url:'http://localhost:3453/pull'}).pipe(mypulldata)
-
- var d = '';
-
- mypulldata.write = function (chunk) {
- d += chunk;
- }
- mypulldata.end = function () {
- assert.equal(d, 'mypulldata');
- check();
- };
-
-
- s.on('/cat', function (req, resp) {
- if (req.method === "GET") {
- resp.writeHead(200, {'content-type':'text/plain-test', 'content-length':4});
- resp.end('asdf')
- } else if (req.method === "PUT") {
- assert.equal(req.headers['content-type'], 'text/plain-test');
- assert.equal(req.headers['content-length'], 4)
- var validate = '';
-
- req.on('data', function (chunk) {validate += chunk})
- req.on('end', function () {
- resp.writeHead(201);
- resp.end();
- assert.equal(validate, 'asdf');
- check();
- })
- }
- })
- s.on('/pushjs', function (req, resp) {
- if (req.method === "PUT") {
- assert.equal(req.headers['content-type'], 'application/javascript');
- check();
- }
- })
- s.on('/catresp', function (req, resp) {
- request.get('http://localhost:3453/cat').pipe(resp)
- })
- s.on('/doodle', function (req, resp) {
- if (req.headers['x-oneline-proxy']) {
- resp.setHeader('x-oneline-proxy', 'yup')
- }
- resp.writeHead('200', {'content-type':'image/png'})
- fs.createReadStream(path.join(__dirname, 'googledoodle.png')).pipe(resp)
- })
- s.on('/onelineproxy', function (req, resp) {
- var x = request('http://localhost:3453/doodle')
- req.pipe(x)
- x.pipe(resp)
- })
-
- counter++
- fs.createReadStream(__filename).pipe(request.put('http://localhost:3453/pushjs'))
-
- counter++
- request.get('http://localhost:3453/cat').pipe(request.put('http://localhost:3453/cat'))
-
- counter++
- request.get('http://localhost:3453/catresp', function (e, resp, body) {
- assert.equal(resp.headers['content-type'], 'text/plain-test');
- assert.equal(resp.headers['content-length'], 4)
- check();
- })
-
- var doodleWrite = fs.createWriteStream(path.join(__dirname, 'test.png'))
-
- counter++
- request.get('http://localhost:3453/doodle').pipe(doodleWrite)
-
- doodleWrite.on('close', function () {
- assert.deepEqual(fs.readFileSync(path.join(__dirname, 'googledoodle.png')), fs.readFileSync(path.join(__dirname, 'test.png')))
- check()
- })
-
- process.on('exit', function () {
- fs.unlinkSync(path.join(__dirname, 'test.png'))
- })
-
- counter++
- request.get({uri:'http://localhost:3453/onelineproxy', headers:{'x-oneline-proxy':'nope'}}, function (err, resp, body) {
- assert.equal(resp.headers['x-oneline-proxy'], 'yup')
- check()
- })
-
- s.on('/afterresponse', function (req, resp) {
- resp.write('d')
- resp.end()
- })
-
- counter++
- var afterresp = request.post('http://localhost:3453/afterresponse').on('response', function () {
- var v = new ValidationStream('d')
- afterresp.pipe(v)
- v.on('end', check)
- })
-
- s.on('/forward1', function (req, resp) {
- resp.writeHead(302, {location:'/forward2'})
- resp.end()
- })
- s.on('/forward2', function (req, resp) {
- resp.writeHead('200', {'content-type':'image/png'})
- resp.write('d')
- resp.end()
- })
-
- counter++
- var validateForward = new ValidationStream('d')
- validateForward.on('end', check)
- request.get('http://localhost:3453/forward1').pipe(validateForward)
-
- // Test pipe options
- s.once('/opts', server.createGetResponse('opts response'));
-
- var optsStream = new stream.Stream();
- optsStream.writable = true
-
- var optsData = '';
- optsStream.write = function (buf) {
- optsData += buf;
- if (optsData === 'opts response') {
- setTimeout(check, 10);
- }
- }
-
- optsStream.end = function () {
- assert.fail('end called')
- };
-
- counter++
- request({url:'http://localhost:3453/opts'}).pipe(optsStream, { end : false })
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pool.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pool.js
deleted file mode 100644
index 1e7d5786a..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-pool.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var request = require('../main')
- , http = require('http')
- , assert = require('assert')
- ;
-
-var s = http.createServer(function (req, resp) {
- resp.statusCode = 200;
- resp.end('asdf');
-}).listen(8080, function () {
- request({'url': 'http://localhost:8080', 'pool': false}, function (e, resp) {
- var agent = resp.request.agent;
- assert.strictEqual(typeof agent, 'boolean');
- assert.strictEqual(agent, false);
- s.close();
- });
-}); \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-protocol-changing-redirect.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-protocol-changing-redirect.js
deleted file mode 100644
index f74e19680..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-protocol-changing-redirect.js
+++ /dev/null
@@ -1,60 +0,0 @@
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
-
-
-var s = server.createServer()
-var ss = server.createSSLServer()
-var sUrl = 'http://localhost:' + s.port
-var ssUrl = 'https://localhost:' + ss.port
-
-s.listen(s.port, bouncy(s, ssUrl))
-ss.listen(ss.port, bouncy(ss, sUrl))
-
-var hits = {}
-var expect = {}
-var pending = 0
-function bouncy (s, server) { return function () {
-
- var redirs = { a: 'b'
- , b: 'c'
- , c: 'd'
- , d: 'e'
- , e: 'f'
- , f: 'g'
- , g: 'h'
- , h: 'end' }
-
- var perm = true
- Object.keys(redirs).forEach(function (p) {
- var t = redirs[p]
-
- // switch type each time
- var type = perm ? 301 : 302
- perm = !perm
- s.on('/' + p, function (req, res) {
- res.writeHead(type, { location: server + '/' + t })
- res.end()
- })
- })
-
- s.on('/end', function (req, res) {
- var h = req.headers['x-test-key']
- hits[h] = true
- pending --
- if (pending === 0) done()
- })
-}}
-
-for (var i = 0; i < 5; i ++) {
- pending ++
- var val = 'test_' + i
- expect[val] = true
- request({ url: (i % 2 ? sUrl : ssUrl) + '/a'
- , headers: { 'x-test-key': val } })
-}
-
-function done () {
- assert.deepEqual(hits, expect)
- process.exit(0)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-proxy.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-proxy.js
deleted file mode 100644
index 647157cae..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-proxy.js
+++ /dev/null
@@ -1,39 +0,0 @@
-var server = require('./server')
- , events = require('events')
- , stream = require('stream')
- , assert = require('assert')
- , fs = require('fs')
- , request = require('../main.js')
- , path = require('path')
- , util = require('util')
- ;
-
-var port = 6768
- , called = false
- , proxiedHost = 'google.com'
- ;
-
-var s = server.createServer(port)
-s.listen(port, function () {
- s.on('http://google.com/', function (req, res) {
- called = true
- assert.equal(req.headers.host, proxiedHost)
- res.writeHeader(200)
- res.end()
- })
- request ({
- url: 'http://'+proxiedHost,
- proxy: 'http://localhost:'+port
- /*
- //should behave as if these arguments where passed:
- url: 'http://localhost:'+port,
- headers: {host: proxiedHost}
- //*/
- }, function (err, res, body) {
- s.close()
- })
-})
-
-process.on('exit', function () {
- assert.ok(called, 'the request must be made to the proxy server')
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-qs.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-qs.js
deleted file mode 100644
index 1aac22bc9..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-qs.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var request = request = require('../main.js')
- , assert = require('assert')
- ;
-
-
-// Test adding a querystring
-var req1 = request.get({ uri: 'http://www.google.com', qs: { q : 'search' }})
-setTimeout(function() {
- assert.equal('/?q=search', req1.path)
-}, 1)
-
-// Test replacing a querystring value
-var req2 = request.get({ uri: 'http://www.google.com?q=abc', qs: { q : 'search' }})
-setTimeout(function() {
- assert.equal('/?q=search', req2.path)
-}, 1)
-
-// Test appending a querystring value to the ones present in the uri
-var req3 = request.get({ uri: 'http://www.google.com?x=y', qs: { q : 'search' }})
-setTimeout(function() {
- assert.equal('/?x=y&q=search', req3.path)
-}, 1)
-
-// Test leaving a querystring alone
-var req4 = request.get({ uri: 'http://www.google.com?x=y'})
-setTimeout(function() {
- assert.equal('/?x=y', req4.path)
-}, 1)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-redirect.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-redirect.js
deleted file mode 100644
index b84844a79..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-redirect.js
+++ /dev/null
@@ -1,154 +0,0 @@
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- , Cookie = require('../vendor/cookie')
- , Jar = require('../vendor/cookie/jar')
-
-var s = server.createServer()
-
-s.listen(s.port, function () {
- var server = 'http://localhost:' + s.port;
- var hits = {}
- var passed = 0;
-
- bouncer(301, 'temp')
- bouncer(302, 'perm')
- bouncer(302, 'nope')
-
- function bouncer(code, label) {
- var landing = label+'_landing';
-
- s.on('/'+label, function (req, res) {
- hits[label] = true;
- res.writeHead(code, {
- 'location':server + '/'+landing,
- 'set-cookie': 'ham=eggs'
- })
- res.end()
- })
-
- s.on('/'+landing, function (req, res) {
- if (req.method !== 'GET') { // We should only accept GET redirects
- console.error("Got a non-GET request to the redirect destination URL");
- res.writeHead(400);
- res.end();
- return;
- }
- // Make sure the cookie doesn't get included twice, see #139:
- // Make sure cookies are set properly after redirect
- assert.equal(req.headers.cookie, 'foo=bar; quux=baz; ham=eggs');
- hits[landing] = true;
- res.writeHead(200)
- res.end(landing)
- })
- }
-
- // Permanent bounce
- var jar = new Jar()
- jar.add(new Cookie('quux=baz'))
- request({uri: server+'/perm', jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 200) throw new Error('Status is not 200: '+res.statusCode)
- assert.ok(hits.perm, 'Original request is to /perm')
- assert.ok(hits.perm_landing, 'Forward to permanent landing URL')
- assert.equal(body, 'perm_landing', 'Got permanent landing content')
- passed += 1
- done()
- })
-
- // Temporary bounce
- request({uri: server+'/temp', jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 200) throw new Error('Status is not 200: '+res.statusCode)
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(hits.temp_landing, 'Forward to temporary landing URL')
- assert.equal(body, 'temp_landing', 'Got temporary landing content')
- passed += 1
- done()
- })
-
- // Prevent bouncing.
- request({uri:server+'/nope', jar: jar, headers: {cookie: 'foo=bar'}, followRedirect:false}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 302) throw new Error('Status is not 302: '+res.statusCode)
- assert.ok(hits.nope, 'Original request to /nope')
- assert.ok(!hits.nope_landing, 'No chasing the redirect')
- assert.equal(res.statusCode, 302, 'Response is the bounce itself')
- passed += 1
- done()
- })
-
- // Should not follow post redirects by default
- request.post(server+'/temp', { jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 301) throw new Error('Status is not 301: '+res.statusCode)
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(!hits.temp_landing, 'No chasing the redirect when post')
- assert.equal(res.statusCode, 301, 'Response is the bounce itself')
- passed += 1
- done()
- })
-
- // Should follow post redirects when followAllRedirects true
- request.post({uri:server+'/temp', followAllRedirects:true, jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 200) throw new Error('Status is not 200: '+res.statusCode)
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(hits.temp_landing, 'Forward to temporary landing URL')
- assert.equal(body, 'temp_landing', 'Got temporary landing content')
- passed += 1
- done()
- })
-
- request.post({uri:server+'/temp', followAllRedirects:false, jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 301) throw new Error('Status is not 301: '+res.statusCode)
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(!hits.temp_landing, 'No chasing the redirect')
- assert.equal(res.statusCode, 301, 'Response is the bounce itself')
- passed += 1
- done()
- })
-
- // Should not follow delete redirects by default
- request.del(server+'/temp', { jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode < 301) throw new Error('Status is not a redirect.')
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(!hits.temp_landing, 'No chasing the redirect when delete')
- assert.equal(res.statusCode, 301, 'Response is the bounce itself')
- passed += 1
- done()
- })
-
- // Should not follow delete redirects even if followRedirect is set to true
- request.del(server+'/temp', { followRedirect: true, jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 301) throw new Error('Status is not 301: '+res.statusCode)
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(!hits.temp_landing, 'No chasing the redirect when delete')
- assert.equal(res.statusCode, 301, 'Response is the bounce itself')
- passed += 1
- done()
- })
-
- // Should follow delete redirects when followAllRedirects true
- request.del(server+'/temp', {followAllRedirects:true, jar: jar, headers: {cookie: 'foo=bar'}}, function (er, res, body) {
- if (er) throw er
- if (res.statusCode !== 200) throw new Error('Status is not 200: '+res.statusCode)
- assert.ok(hits.temp, 'Original request is to /temp')
- assert.ok(hits.temp_landing, 'Forward to temporary landing URL')
- assert.equal(body, 'temp_landing', 'Got temporary landing content')
- passed += 1
- done()
- })
-
- var reqs_done = 0;
- function done() {
- reqs_done += 1;
- if(reqs_done == 9) {
- console.log(passed + ' tests passed.')
- s.close()
- }
- }
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-s3.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-s3.js
deleted file mode 100644
index 5f59c4ad0..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-s3.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var request = require('../main')
-
-var r = request.get('https://log.curlybracecast.com.s3.amazonaws.com/',
- { aws:
- { key: 'AKIAI6KIQRRVMGK3WK5Q'
- , secret: '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'
- , bucket: 'log.curlybracecast.com'
- }
- }, function (e, resp, body) {
- console.log(r.headers)
- console.log(body)
- }
-) \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-timeout.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-timeout.js
deleted file mode 100644
index 673f8ad86..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-timeout.js
+++ /dev/null
@@ -1,87 +0,0 @@
-var server = require('./server')
- , events = require('events')
- , stream = require('stream')
- , assert = require('assert')
- , request = require('../main.js')
- ;
-
-var s = server.createServer();
-var expectedBody = "waited";
-var remainingTests = 5;
-
-s.listen(s.port, function () {
- // Request that waits for 200ms
- s.on('/timeout', function (req, resp) {
- setTimeout(function(){
- resp.writeHead(200, {'content-type':'text/plain'})
- resp.write(expectedBody)
- resp.end()
- }, 200);
- });
-
- // Scenario that should timeout
- var shouldTimeout = {
- url: s.url + "/timeout",
- timeout:100
- }
-
-
- request(shouldTimeout, function (err, resp, body) {
- assert.equal(err.code, "ETIMEDOUT");
- checkDone();
- })
-
-
- // Scenario that shouldn't timeout
- var shouldntTimeout = {
- url: s.url + "/timeout",
- timeout:300
- }
-
- request(shouldntTimeout, function (err, resp, body) {
- assert.equal(err, null);
- assert.equal(expectedBody, body)
- checkDone();
- })
-
- // Scenario with no timeout set, so shouldn't timeout
- var noTimeout = {
- url: s.url + "/timeout"
- }
-
- request(noTimeout, function (err, resp, body) {
- assert.equal(err);
- assert.equal(expectedBody, body)
- checkDone();
- })
-
- // Scenario with a negative timeout value, should be treated a zero or the minimum delay
- var negativeTimeout = {
- url: s.url + "/timeout",
- timeout:-1000
- }
-
- request(negativeTimeout, function (err, resp, body) {
- assert.equal(err.code, "ETIMEDOUT");
- checkDone();
- })
-
- // Scenario with a float timeout value, should be rounded by setTimeout anyway
- var floatTimeout = {
- url: s.url + "/timeout",
- timeout: 100.76
- }
-
- request(floatTimeout, function (err, resp, body) {
- assert.equal(err.code, "ETIMEDOUT");
- checkDone();
- })
-
- function checkDone() {
- if(--remainingTests == 0) {
- s.close();
- console.log("All tests passed.");
- }
- }
-})
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-toJSON.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-toJSON.js
deleted file mode 100644
index b7c67effc..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-toJSON.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var request = require('../main')
- , http = require('http')
- , assert = require('assert')
- ;
-
-var s = http.createServer(function (req, resp) {
- resp.statusCode = 200
- resp.end('asdf')
-}).listen(8080, function () {
- var r = request('http://localhost:8080', function (e, resp) {
- assert.equal(JSON.parse(JSON.stringify(r)).response.statusCode, 200)
- s.close()
- })
-}) \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-tunnel.js b/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-tunnel.js
deleted file mode 100644
index 51e2126f8..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/test-tunnel.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// test that we can tunnel a https request over an http proxy
-// keeping all the CA and whatnot intact.
-//
-// Note: this requires that squid is installed.
-// If the proxy fails to start, we'll just log a warning and assume success.
-
-var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- , fs = require('fs')
- , path = require('path')
- , caFile = path.resolve(__dirname, 'ssl/npm-ca.crt')
- , ca = fs.readFileSync(caFile)
- , child_process = require('child_process')
- , sqConf = path.resolve(__dirname, 'squid.conf')
- , sqArgs = ['-f', sqConf, '-N', '-d', '5']
- , proxy = 'http://localhost:3128'
- , hadError = null
-
-var squid = child_process.spawn('squid', sqArgs);
-var ready = false
-
-squid.stderr.on('data', function (c) {
- console.error('SQUIDERR ' + c.toString().trim().split('\n')
- .join('\nSQUIDERR '))
- ready = c.toString().match(/ready to serve requests/i)
-})
-
-squid.stdout.on('data', function (c) {
- console.error('SQUIDOUT ' + c.toString().trim().split('\n')
- .join('\nSQUIDOUT '))
-})
-
-squid.on('exit', function (c) {
- console.error('squid: exit '+c)
- if (c && !ready) {
- console.error('squid must be installed to run this test.')
- console.error('skipping this test. please install squid and run again if you need to test tunneling.')
- c = null
- hadError = null
- process.exit(0)
- return
- }
-
- if (c) {
- hadError = hadError || new Error('Squid exited with '+c)
- }
- if (hadError) throw hadError
-})
-
-setTimeout(function F () {
- if (!ready) return setTimeout(F, 100)
- request({ uri: 'https://registry.npmjs.org/'
- , proxy: 'http://localhost:3128'
- , strictSSL: true
- , ca: ca
- , json: true }, function (er, body) {
- hadError = er
- console.log(er || typeof body)
- if (!er) console.log("ok")
- squid.kill('SIGKILL')
- })
-}, 100)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tests/unicycle.jpg b/deps/npm/node_modules/node-gyp/node_modules/request/tests/unicycle.jpg
deleted file mode 100644
index 7cea4dd71..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tests/unicycle.jpg
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/tunnel.js b/deps/npm/node_modules/node-gyp/node_modules/request/tunnel.js
deleted file mode 100644
index 3f7bbb909..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/tunnel.js
+++ /dev/null
@@ -1,227 +0,0 @@
-'use strict'
-
-var net = require('net')
- , tls = require('tls')
- , http = require('http')
- , https = require('https')
- , events = require('events')
- , assert = require('assert')
- , util = require('util')
- ;
-
-exports.httpOverHttp = httpOverHttp
-exports.httpsOverHttp = httpsOverHttp
-exports.httpOverHttps = httpOverHttps
-exports.httpsOverHttps = httpsOverHttps
-
-
-function httpOverHttp(options) {
- var agent = new TunnelingAgent(options)
- agent.request = http.request
- return agent
-}
-
-function httpsOverHttp(options) {
- var agent = new TunnelingAgent(options)
- agent.request = http.request
- agent.createSocket = createSecureSocket
- return agent
-}
-
-function httpOverHttps(options) {
- var agent = new TunnelingAgent(options)
- agent.request = https.request
- return agent
-}
-
-function httpsOverHttps(options) {
- var agent = new TunnelingAgent(options)
- agent.request = https.request
- agent.createSocket = createSecureSocket
- return agent
-}
-
-
-function TunnelingAgent(options) {
- var self = this
- self.options = options || {}
- self.proxyOptions = self.options.proxy || {}
- self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets
- self.requests = []
- self.sockets = []
-
- self.on('free', function onFree(socket, host, port) {
- for (var i = 0, len = self.requests.length; i < len; ++i) {
- var pending = self.requests[i]
- if (pending.host === host && pending.port === port) {
- // Detect the request to connect same origin server,
- // reuse the connection.
- self.requests.splice(i, 1)
- pending.request.onSocket(socket)
- return
- }
- }
- socket.destroy()
- self.removeSocket(socket)
- })
-}
-util.inherits(TunnelingAgent, events.EventEmitter)
-
-TunnelingAgent.prototype.addRequest = function addRequest(req, host, port) {
- var self = this
-
- if (self.sockets.length >= this.maxSockets) {
- // We are over limit so we'll add it to the queue.
- self.requests.push({host: host, port: port, request: req})
- return
- }
-
- // If we are under maxSockets create a new one.
- self.createSocket({host: host, port: port, request: req}, function(socket) {
- socket.on('free', onFree)
- socket.on('close', onCloseOrRemove)
- socket.on('agentRemove', onCloseOrRemove)
- req.onSocket(socket)
-
- function onFree() {
- self.emit('free', socket, host, port)
- }
-
- function onCloseOrRemove(err) {
- self.removeSocket()
- socket.removeListener('free', onFree)
- socket.removeListener('close', onCloseOrRemove)
- socket.removeListener('agentRemove', onCloseOrRemove)
- }
- })
-}
-
-TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
- var self = this
- var placeholder = {}
- self.sockets.push(placeholder)
-
- var connectOptions = mergeOptions({}, self.proxyOptions,
- { method: 'CONNECT'
- , path: options.host + ':' + options.port
- , agent: false
- }
- )
- if (connectOptions.proxyAuth) {
- connectOptions.headers = connectOptions.headers || {}
- connectOptions.headers['Proxy-Authorization'] = 'Basic ' +
- new Buffer(connectOptions.proxyAuth).toString('base64')
- }
-
- debug('making CONNECT request')
- var connectReq = self.request(connectOptions)
- connectReq.useChunkedEncodingByDefault = false // for v0.6
- connectReq.once('response', onResponse) // for v0.6
- connectReq.once('upgrade', onUpgrade) // for v0.6
- connectReq.once('connect', onConnect) // for v0.7 or later
- connectReq.once('error', onError)
- connectReq.end()
-
- function onResponse(res) {
- // Very hacky. This is necessary to avoid http-parser leaks.
- res.upgrade = true
- }
-
- function onUpgrade(res, socket, head) {
- // Hacky.
- process.nextTick(function() {
- onConnect(res, socket, head)
- })
- }
-
- function onConnect(res, socket, head) {
- connectReq.removeAllListeners()
- socket.removeAllListeners()
-
- if (res.statusCode === 200) {
- assert.equal(head.length, 0)
- debug('tunneling connection has established')
- self.sockets[self.sockets.indexOf(placeholder)] = socket
- cb(socket)
- } else {
- debug('tunneling socket could not be established, statusCode=%d', res.statusCode)
- var error = new Error('tunneling socket could not be established, ' + 'statusCode=' + res.statusCode)
- error.code = 'ECONNRESET'
- options.request.emit('error', error)
- self.removeSocket(placeholder)
- }
- }
-
- function onError(cause) {
- connectReq.removeAllListeners()
-
- debug('tunneling socket could not be established, cause=%s\n', cause.message, cause.stack)
- var error = new Error('tunneling socket could not be established, ' + 'cause=' + cause.message)
- error.code = 'ECONNRESET'
- options.request.emit('error', error)
- self.removeSocket(placeholder)
- }
-}
-
-TunnelingAgent.prototype.removeSocket = function removeSocket(socket) {
- var pos = this.sockets.indexOf(socket)
- if (pos === -1) return
-
- this.sockets.splice(pos, 1)
-
- var pending = this.requests.shift()
- if (pending) {
- // If we have pending requests and a socket gets closed a new one
- // needs to be created to take over in the pool for the one that closed.
- this.createSocket(pending, function(socket) {
- pending.request.onSocket(socket)
- })
- }
-}
-
-function createSecureSocket(options, cb) {
- var self = this
- TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {
- // 0 is dummy port for v0.6
- var secureSocket = tls.connect(0, mergeOptions({}, self.options,
- { servername: options.host
- , socket: socket
- }
- ))
- cb(secureSocket)
- })
-}
-
-
-function mergeOptions(target) {
- for (var i = 1, len = arguments.length; i < len; ++i) {
- var overrides = arguments[i]
- if (typeof overrides === 'object') {
- var keys = Object.keys(overrides)
- for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {
- var k = keys[j]
- if (overrides[k] !== undefined) {
- target[k] = overrides[k]
- }
- }
- }
- }
- return target
-}
-
-
-var debug
-if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) {
- debug = function() {
- var args = Array.prototype.slice.call(arguments)
- if (typeof args[0] === 'string') {
- args[0] = 'TUNNEL: ' + args[0]
- } else {
- args.unshift('TUNNEL:')
- }
- console.error.apply(console, args)
- }
-} else {
- debug = function() {}
-}
-exports.debug = debug // for test
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/uuid.js b/deps/npm/node_modules/node-gyp/node_modules/request/uuid.js
deleted file mode 100644
index fc0588b2b..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/uuid.js
+++ /dev/null
@@ -1,19 +0,0 @@
-module.exports = function () {
- var s = [], itoh = '0123456789ABCDEF'
-
- // Make array of random hex digits. The UUID only has 32 digits in it, but we
- // allocate an extra items to make room for the '-'s we'll be inserting.
- for (var i = 0; i <36; i++) s[i] = Math.floor(Math.random()*0x10)
-
- // Conform to RFC-4122, section 4.4
- s[14] = 4; // Set 4 high bits of time_high field to version
- s[19] = (s[19] & 0x3) | 0x8 // Specify 2 high bits of clock sequence
-
- // Convert to hex chars
- for (var i = 0; i <36; i++) s[i] = itoh[s[i]]
-
- // Insert '-'s
- s[8] = s[13] = s[18] = s[23] = '-'
-
- return s.join('')
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/index.js b/deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/index.js
deleted file mode 100644
index ff44b3e62..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/index.js
+++ /dev/null
@@ -1,65 +0,0 @@
-/*!
- * Tobi - Cookie
- * Copyright(c) 2010 LearnBoost <dev@learnboost.com>
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var url = require('url');
-
-/**
- * Initialize a new `Cookie` with the given cookie `str` and `req`.
- *
- * @param {String} str
- * @param {IncomingRequest} req
- * @api private
- */
-
-var Cookie = exports = module.exports = function Cookie(str, req) {
- this.str = str;
-
- // Map the key/val pairs
- str.split(/ *; */).reduce(function(obj, pair){
- var p = pair.indexOf('=');
- var key = p > 0 ? pair.substring(0, p).trim() : pair.trim();
- var lowerCasedKey = key.toLowerCase();
- var value = p > 0 ? pair.substring(p + 1).trim() : true;
-
- if (!obj.name) {
- // First key is the name
- obj.name = key;
- obj.value = value;
- }
- else if (lowerCasedKey === 'httponly') {
- obj.httpOnly = value;
- }
- else {
- obj[lowerCasedKey] = value;
- }
- return obj;
- }, this);
-
- // Expires
- this.expires = this.expires
- ? new Date(this.expires)
- : Infinity;
-
- // Default or trim path
- this.path = this.path
- ? this.path.trim(): req
- ? url.parse(req.url).pathname: '/';
-};
-
-/**
- * Return the original cookie string.
- *
- * @return {String}
- * @api public
- */
-
-Cookie.prototype.toString = function(){
- return this.str;
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/jar.js b/deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/jar.js
deleted file mode 100644
index 34920e062..000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/request/vendor/cookie/jar.js
+++ /dev/null
@@ -1,72 +0,0 @@
-/*!
-* Tobi - CookieJar
-* Copyright(c) 2010 LearnBoost <dev@learnboost.com>
-* MIT Licensed
-*/
-
-/**
-* Module dependencies.
-*/
-
-var url = require('url');
-
-/**
-* Initialize a new `CookieJar`.
-*
-* @api private
-*/
-
-var CookieJar = exports = module.exports = function CookieJar() {
- this.cookies = [];
-};
-
-/**
-* Add the given `cookie` to the jar.
-*
-* @param {Cookie} cookie
-* @api private
-*/
-
-CookieJar.prototype.add = function(cookie){
- this.cookies = this.cookies.filter(function(c){
- // Avoid duplication (same path, same name)
- return !(c.name == cookie.name && c.path == cookie.path);
- });
- this.cookies.push(cookie);
-};
-
-/**
-* Get cookies for the given `req`.
-*
-* @param {IncomingRequest} req
-* @return {Array}
-* @api private
-*/
-
-CookieJar.prototype.get = function(req){
- var path = url.parse(req.url).pathname
- , now = new Date
- , specificity = {};
- return this.cookies.filter(function(cookie){
- if (0 == path.indexOf(cookie.path) && now < cookie.expires
- && cookie.path.length > (specificity[cookie.name] || 0))
- return specificity[cookie.name] = cookie.path.length;
- });
-};
-
-/**
-* Return Cookie string for the given `req`.
-*
-* @param {IncomingRequest} req
-* @return {String}
-* @api private
-*/
-
-CookieJar.prototype.cookieString = function(req){
- var cookies = this.get(req);
- if (cookies.length) {
- return cookies.map(function(cookie){
- return cookie.name + '=' + cookie.value;
- }).join('; ');
- }
-};
diff --git a/deps/npm/node_modules/node-gyp/package.json b/deps/npm/node_modules/node-gyp/package.json
index 1fcc19adf..807454fa2 100644
--- a/deps/npm/node_modules/node-gyp/package.json
+++ b/deps/npm/node_modules/node-gyp/package.json
@@ -10,7 +10,7 @@
"bindings",
"gyp"
],
- "version": "0.9.6",
+ "version": "0.10.6",
"installVersion": 9,
"author": {
"name": "Nathan Rajlich",
@@ -28,27 +28,27 @@
"main": "./lib/node-gyp.js",
"dependencies": {
"glob": "3",
- "graceful-fs": "1",
+ "graceful-fs": "2",
"fstream": "0",
"minimatch": "0",
"mkdirp": "0",
"nopt": "2",
"npmlog": "0",
"osenv": "0",
- "request": ">= 2 && <= 2.14",
+ "request": "2",
"rimraf": "2",
- "semver": "1",
+ "semver": "~2.0.7",
"tar": "0",
"which": "1"
},
"engines": {
- "node": ">= 0.6.0"
+ "node": ">= 0.8.0"
},
- "readme": "node-gyp\n=========\n### Node.js native addon build tool\n\n`node-gyp` is a cross-platform command-line tool written in Node.js for compiling\nnative addon modules for Node.js, which takes away the pain of dealing with the\nvarious differences in build platforms. It is the replacement to the `node-waf`\nprogram which is removed for node `v0.8`. If you have a native addon for node that\nstill has a `wscript` file, then you should definitely add a `binding.gyp` file\nto support the latest versions of node.\n\nMultiple target versions of node are supported (i.e. `0.6`, `0.7`,..., `1.0`,\netc.), regardless of what version of node is actually installed on your system\n(`node-gyp` downloads the necessary development files for the target version).\n\n#### Features:\n\n * Easy to use, consistent interface\n * Same commands to build your module on every platform\n * Supports multiple target versions of Node\n\n\nInstallation\n------------\n\nYou can install with `npm`:\n\n``` bash\n$ npm install -g node-gyp\n```\n\nYou will also need to install:\n\n * On Unix:\n * `python` (`v2.7` recommended, `v3.x.x` is __*not*__ supported)\n * `make`\n * A proper C/C++ compiler toolchain, like GCC\n * On Windows:\n * [Python][windows-python] ([`v2.7.3`][windows-python-v2.7.3] recommended, `v3.x.x` is __*not*__ supported)\n * Windows XP/Vista/7:\n * Microsoft Visual Studio C++ 2010 ([Express][msvc2010] version works well)\n * For 64-bit builds of node and native modules you will _**also**_ need the [Windows 7 64-bit SDK][win7sdk]\n * If the install fails, try uninstalling any C++ 2010 x64&x86 Redistributable that you have installed first.\n * If you get errors that the 64-bit compilers are not installed you may also need the [compiler update for the Windows SDK 7.1]\n * Windows 7/8:\n * Microsoft Visual Studio C++ 2012 for Windows Desktop ([Express][msvc2012] version works well)\n\nNote that OS X is just a flavour of Unix and so needs `python`, `make`, and C/C++.\nAn easy way to obtain these is to install XCode from Apple,\nand then use it to install the command line tools (under Preferences -> Downloads).\n\nHow to Use\n----------\n\nTo compile your native addon, first go to its root directory:\n\n``` bash\n$ cd my_node_addon\n```\n\nThe next step is to generate the appropriate project build files for the current\nplatform. Use `configure` for that:\n\n``` bash\n$ node-gyp configure\n```\n\n__Note__: The `configure` step looks for the `binding.gyp` file in the current\ndirectory to processs. See below for instructions on creating the `binding.gyp` file.\n\nNow you will have either a `Makefile` (on Unix platforms) or a `vcxproj` file\n(on Windows) in the `build/` directory. Next invoke the `build` command:\n\n``` bash\n$ node-gyp build\n```\n\nNow you have your compiled `.node` bindings file! The compiled bindings end up\nin `build/Debug/` or `build/Release/`, depending on the build mode. At this point\nyou can require the `.node` file with Node and run your tests!\n\n__Note:__ To create a _Debug_ build of the bindings file, pass the `--debug` (or\n`-d`) switch when running the either `configure` or `build` command.\n\n\nThe \"binding.gyp\" file\n----------------------\n\nPreviously when node had `node-waf` you had to write a `wscript` file. The\nreplacement for that is the `binding.gyp` file, which describes the configuration\nto build your module in a JSON-like format. This file gets placed in the root of\nyour package, alongside the `package.json` file.\n\nA barebones `gyp` file appropriate for building a node addon looks like:\n\n``` python\n{\n \"targets\": [\n {\n \"target_name\": \"binding\",\n \"sources\": [ \"src/binding.cc\" ]\n }\n ]\n}\n```\n\nSome additional resources for writing `gyp` files:\n\n * [\"Hello World\" node addon example](https://github.com/joyent/node/tree/master/test/addons/hello-world)\n * [gyp user documentation](http://code.google.com/p/gyp/wiki/GypUserDocumentation)\n * [gyp input format reference](http://code.google.com/p/gyp/wiki/InputFormatReference)\n * [*\"binding.gyp\" files out in the wild* wiki page](https://github.com/TooTallNate/node-gyp/wiki/%22binding.gyp%22-files-out-in-the-wild)\n\n\nCommands\n--------\n\n`node-gyp` responds to the following commands:\n\n| **Command** | **Description**\n|:--------------|:---------------------------------------------------------------\n| `build` | Invokes `make`/`msbuild.exe` and builds the native addon\n| `clean` | Removes any the `build` dir if it exists\n| `configure` | Generates project build files for the current platform\n| `rebuild` | Runs \"clean\", \"configure\" and \"build\" all in a row\n| `install` | Installs node development header files for the given version\n| `list` | Lists the currently installed node development file versions\n| `remove` | Removes the node development header files for the given version\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n[windows-python]: http://www.python.org/getit/windows\n[windows-python-v2.7.3]: http://www.python.org/download/releases/2.7.3#download\n[msvc2010]: http://go.microsoft.com/?linkid=9709949\n[msvc2012]: http://go.microsoft.com/?linkid=9816758\n[win7sdk]: http://www.microsoft.com/en-us/download/details.aspx?id=8279\n[compiler update for the Windows SDK 7.1]: http://www.microsoft.com/en-us/download/details.aspx?id=4422\n",
+ "readme": "node-gyp\n=========\n### Node.js native addon build tool\n\n`node-gyp` is a cross-platform command-line tool written in Node.js for compiling\nnative addon modules for Node.js, which takes away the pain of dealing with the\nvarious differences in build platforms. It is the replacement to the `node-waf`\nprogram which is removed for node `v0.8`. If you have a native addon for node that\nstill has a `wscript` file, then you should definitely add a `binding.gyp` file\nto support the latest versions of node.\n\nMultiple target versions of node are supported (i.e. `0.8`, `0.9`, `0.10`, ..., `1.0`,\netc.), regardless of what version of node is actually installed on your system\n(`node-gyp` downloads the necessary development files for the target version).\n\n#### Features:\n\n * Easy to use, consistent interface\n * Same commands to build your module on every platform\n * Supports multiple target versions of Node\n\n\nInstallation\n------------\n\nYou can install with `npm`:\n\n``` bash\n$ npm install -g node-gyp\n```\n\nYou will also need to install:\n\n * On Unix:\n * `python` (`v2.7` recommended, `v3.x.x` is __*not*__ supported)\n * `make`\n * A proper C/C++ compiler toolchain, like GCC\n * On Windows:\n * [Python][windows-python] ([`v2.7.3`][windows-python-v2.7.3] recommended, `v3.x.x` is __*not*__ supported)\n * Windows XP/Vista/7:\n * Microsoft Visual Studio C++ 2010 ([Express][msvc2010] version works well)\n * For 64-bit builds of node and native modules you will _**also**_ need the [Windows 7 64-bit SDK][win7sdk]\n * If the install fails, try uninstalling any C++ 2010 x64&x86 Redistributable that you have installed first.\n * If you get errors that the 64-bit compilers are not installed you may also need the [compiler update for the Windows SDK 7.1]\n * Windows 7/8:\n * Microsoft Visual Studio C++ 2012 for Windows Desktop ([Express][msvc2012] version works well)\n\nNote that OS X is just a flavour of Unix and so needs `python`, `make`, and C/C++.\nAn easy way to obtain these is to install XCode from Apple,\nand then use it to install the command line tools (under Preferences -> Downloads).\n\nHow to Use\n----------\n\nTo compile your native addon, first go to its root directory:\n\n``` bash\n$ cd my_node_addon\n```\n\nThe next step is to generate the appropriate project build files for the current\nplatform. Use `configure` for that:\n\n``` bash\n$ node-gyp configure\n```\n\n__Note__: The `configure` step looks for the `binding.gyp` file in the current\ndirectory to processs. See below for instructions on creating the `binding.gyp` file.\n\nNow you will have either a `Makefile` (on Unix platforms) or a `vcxproj` file\n(on Windows) in the `build/` directory. Next invoke the `build` command:\n\n``` bash\n$ node-gyp build\n```\n\nNow you have your compiled `.node` bindings file! The compiled bindings end up\nin `build/Debug/` or `build/Release/`, depending on the build mode. At this point\nyou can require the `.node` file with Node and run your tests!\n\n__Note:__ To create a _Debug_ build of the bindings file, pass the `--debug` (or\n`-d`) switch when running the either `configure` or `build` command.\n\n\nThe \"binding.gyp\" file\n----------------------\n\nPreviously when node had `node-waf` you had to write a `wscript` file. The\nreplacement for that is the `binding.gyp` file, which describes the configuration\nto build your module in a JSON-like format. This file gets placed in the root of\nyour package, alongside the `package.json` file.\n\nA barebones `gyp` file appropriate for building a node addon looks like:\n\n``` python\n{\n \"targets\": [\n {\n \"target_name\": \"binding\",\n \"sources\": [ \"src/binding.cc\" ]\n }\n ]\n}\n```\n\nSome additional resources for writing `gyp` files:\n\n * [\"Hello World\" node addon example](https://github.com/joyent/node/tree/master/test/addons/hello-world)\n * [gyp user documentation](http://code.google.com/p/gyp/wiki/GypUserDocumentation)\n * [gyp input format reference](http://code.google.com/p/gyp/wiki/InputFormatReference)\n * [*\"binding.gyp\" files out in the wild* wiki page](https://github.com/TooTallNate/node-gyp/wiki/%22binding.gyp%22-files-out-in-the-wild)\n\n\nCommands\n--------\n\n`node-gyp` responds to the following commands:\n\n| **Command** | **Description**\n|:--------------|:---------------------------------------------------------------\n| `build` | Invokes `make`/`msbuild.exe` and builds the native addon\n| `clean` | Removes any the `build` dir if it exists\n| `configure` | Generates project build files for the current platform\n| `rebuild` | Runs \"clean\", \"configure\" and \"build\" all in a row\n| `install` | Installs node development header files for the given version\n| `list` | Lists the currently installed node development file versions\n| `remove` | Removes the node development header files for the given version\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n[windows-python]: http://www.python.org/getit/windows\n[windows-python-v2.7.3]: http://www.python.org/download/releases/2.7.3#download\n[msvc2010]: http://go.microsoft.com/?linkid=9709949\n[msvc2012]: http://go.microsoft.com/?linkid=9816758\n[win7sdk]: http://www.microsoft.com/en-us/download/details.aspx?id=8279\n[compiler update for the Windows SDK 7.1]: http://www.microsoft.com/en-us/download/details.aspx?id=4422\n",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/TooTallNate/node-gyp/issues"
},
- "_id": "node-gyp@0.9.6",
- "_from": "node-gyp@~0.9.5"
+ "_id": "node-gyp@0.10.6",
+ "_from": "node-gyp@latest"
}
diff --git a/deps/npm/node_modules/normalize-package-data/.npmignore b/deps/npm/node_modules/normalize-package-data/.npmignore
deleted file mode 100644
index 096746c14..000000000
--- a/deps/npm/node_modules/normalize-package-data/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-/node_modules/ \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/.travis.yml b/deps/npm/node_modules/normalize-package-data/.travis.yml
deleted file mode 100644
index 2ca91f289..000000000
--- a/deps/npm/node_modules/normalize-package-data/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
- - "0.8" \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/AUTHORS b/deps/npm/node_modules/normalize-package-data/AUTHORS
deleted file mode 100644
index c64debf74..000000000
--- a/deps/npm/node_modules/normalize-package-data/AUTHORS
+++ /dev/null
@@ -1,3 +0,0 @@
-# Names sorted by how much code was originally theirs.
-Isaac Z. Schlueter <i@izs.me>
-Meryn Stol <merynstol@gmail.com> \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/LICENSE b/deps/npm/node_modules/normalize-package-data/LICENSE
deleted file mode 100644
index 9cea2e3c9..000000000
--- a/deps/npm/node_modules/normalize-package-data/LICENSE
+++ /dev/null
@@ -1,30 +0,0 @@
-This package contains code originally written by Isaac Z. Schlueter.
-Used with permission.
-
-Copyright (c) Meryn Stol ("Author")
-All rights reserved.
-
-The BSD License
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/deps/npm/node_modules/normalize-package-data/README.md b/deps/npm/node_modules/normalize-package-data/README.md
deleted file mode 100644
index 71fa95065..000000000
--- a/deps/npm/node_modules/normalize-package-data/README.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)
-
-normalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.
-
-normalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.
-
-## Installation
-
-```
-npm install normalize-package-data
-```
-
-## Usage
-
-Basic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.
-
-```javascript
-normalizeData = require('normalize-package-data')
-packageData = fs.readfileSync("package.json")
-normalizeData(packageData)
-// packageData is now normalized
-```
-
-Optionally, you may pass a "warning" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.
-
-```javascript
-normalizeData = require('normalize-package-data')
-packageData = fs.readfileSync("package.json")
-warnFn = function(msg) { console.error(msg) }
-normalizeData(packageData, warnFn)
-// packageData is now normalized. Any number of warnings may have been logged.
-```
-
-If you don't provide a warning function, `normalizeData` functions silently.
-
-### Potential exceptions
-
-If the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.
-
-## What normalization (currently) entails
-
-* The value of `name` field gets trimmed.
-* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).
-* If `name` and/or `version` fields are missing, they are set to empty strings.
-* If `files` field is not an array, it will be removed.
-* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.
-* If `man` field is a string, it will become an array with the original string as its sole member.
-* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\s+`.
-* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.
-* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.
-* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.
-* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.
-* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.
-* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `"git"`.
-* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.
-* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.
-* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.
-* If `homepage` field is not a string, it will be removed.
-* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.
-
-### Rules for name field
-
-If `name` field is given, the value of the name field must be a string. The string may not:
-
-* start with a period.
-* contain the following characters: `/@\s+%`
-* contain and characters that would need to be encoded for use in urls.
-* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).
-
-### Rules for version field
-
-If `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).
-
-## Credits
-
-This package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.
-
-## License
-
-normalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT).
-Copyright (c) 2013 Meryn Stol \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/lib/extract_description.js b/deps/npm/node_modules/normalize-package-data/lib/extract_description.js
deleted file mode 100644
index dbeef218b..000000000
--- a/deps/npm/node_modules/normalize-package-data/lib/extract_description.js
+++ /dev/null
@@ -1,13 +0,0 @@
-module.exports = extractDescription
-
-// Extracts description from contents of a readme file in markdown format
-function extractDescription (d) {
- if (!d) return;
- // the first block of text before the first heading
- // that isn't the first line heading
- d = d.trim().split('\n')
- for (var s = 0; d[s] && d[s].trim().match(/^(#|$)/); s ++);
- var l = d.length
- for (var e = s + 1; e < l && d[e].trim(); e ++);
- return d.slice(s, e).join(' ').trim()
-}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/fixer.js b/deps/npm/node_modules/normalize-package-data/lib/fixer.js
deleted file mode 100644
index b4bd5276c..000000000
--- a/deps/npm/node_modules/normalize-package-data/lib/fixer.js
+++ /dev/null
@@ -1,253 +0,0 @@
-var semver = require("semver")
-var parseGitHubURL = require("github-url-from-git")
-var depTypes = ["dependencies","devDependencies","optionalDependencies"]
-var extractDescription = require("./extract_description")
-var url = require("url")
-
-var fixer = module.exports = {
- fixRepositoryField: function(data) {
- if (data.repositories) {
- this.warn("'repositories' (plural) Not supported.\n" +
- "Please pick one as the 'repository' field");
- data.repository = data.repositories[0]
- }
- if (!data.repository) return;
- if (typeof data.repository === "string") {
- data.repository = {
- type: "git",
- url: data.repository
- }
- }
- var r = data.repository.url || ""
- if (r) {
- var ghurl = parseGitHubURL(r)
- if (ghurl) {
- r = ghurl.replace(/^https?:\/\//, 'git://')
- }
- }
-
- if (r.match(/github.com\/[^\/]+\/[^\/]+\.git\.git$/)) {
- this.warn("Probably broken git url: " + r)
- }
- }
-
-, fixFilesField: function(data) {
- var files = data.files
- if (files && !Array.isArray(files)) {
- this.warn("Invalid 'files' member")
- delete data.files
- }
- }
-
-, fixBinField: function(data) {
- if (!data.bin) return;
- if (typeof data.bin === "string") {
- var b = {}
- b[data.name] = data.bin
- data.bin = b
- }
- }
-
-, fixManField: function(data) {
- if (!data.man) return;
- if (typeof data.man === "string") {
- data.man = [ data.man ]
- }
- }
-, fixBundleDependenciesField: function(data) {
- var bdd = "bundledDependencies"
- var bd = "bundleDependencies"
- if (data[bdd] && !data[bd]) {
- data[bd] = data[bdd]
- delete data[bdd]
- }
- }
-
-, fixDependencies: function(data) {
- objectifyDeps(data, this.warn)
- addOptionalDepsToDeps(data, this.warn)
- this.fixBundleDependenciesField(data)
- }
-
-, fixKeywordsField: function (data, warn) {
- if (typeof data.keywords === "string") {
- data.keywords = data.keywords.split(/,\s+/)
- }
- }
-
-, fixVersionField: function(data) {
- if (!data.version) {
- data.version = ""
- return true
- }
- if (!semver.valid(data.version)) {
- throw new Error("invalid version: "+ data.version)
- }
- data.version = semver.clean(data.version)
- return true
- }
-
-, fixPeople: function(data) {
- modifyPeople(data, unParsePerson)
- modifyPeople(data, parsePerson)
- }
-
-, fixNameField: function(data) {
- if (!data.name) {
- data.name = ""
- return true
- }
- if (typeof data.name !== "string") {
- throw new Error("name field must be a string.")
- }
- data.name = data.name.trim()
- ensureValidName(data.name)
- }
-
-
-, fixDescriptionField: function (data) {
- if (data.description && typeof data.description !== 'string') {
- this.warn("'description' field should be a string")
- delete data.description
- }
- if (data.readme && !data.description)
- data.description = extractDescription(data.readme)
- }
-
-, fixReadmeField: function (data) {
- if (!data.readme) data.readme = "ERROR: No README data found!"
- }
-
-, fixBugsField: function(data) {
- if (!data.bugs && data.repository && data.repository.url) {
- var gh = parseGitHubURL(data.repository.url)
- if(gh) {
- if(gh.match(/^https:\/\/github.com\//))
- data.bugs = {url: gh + "/issues"}
- else // gist url
- data.bugs = {url: gh}
- }
- }
- else if(data.bugs) {
- var emailRe = /^.+@.*\..+$/
- if(typeof data.bugs == "string") {
- if(emailRe.test(data.bugs))
- data.bugs = {email:data.bugs}
- else if(url.parse(data.bugs).protocol)
- data.bugs = {url: data.bugs}
- else
- this.warn("Bug string field must be url, email, or {email,url}")
- }
- else {
- var oldBugs = data.bugs
- data.bugs = {}
- if(oldBugs.url) {
- if(typeof(oldBugs.url) == "string" && url.parse(oldBugs.url).protocol)
- data.bugs.url = oldBugs.url
- else
- this.warn("bugs.url field must be a string url. Deleted.")
- }
- if(oldBugs.email) {
- if(typeof(oldBugs.email) == "string" && emailRe.test(oldBugs.email))
- data.bugs.email = oldBugs.email
- else
- this.warn("bugs.email field must be a string email. Deleted.")
- }
- }
- if(!data.bugs.email && !data.bugs.url) {
- delete data.bugs
- this.warn("Normalized value of bugs field is an empty object. Deleted.")
- }
- }
- }
-
-, fixHomepageField: function(data) {
- if(!data.homepage) return true;
- if(typeof data.homepage !== "string") {
- this.warn("homepage field must be a string url. Deleted.")
- return delete data.homepage
- }
- if(!url.parse(data.homepage).protocol) {
- this.warn("homepage field must start with a protocol.")
- data.homepage = "http://" + data.homepage
- }
- }
-}
-
-function ensureValidName (name) {
- if (name.charAt(0) === "." ||
- name.match(/[\/@\s\+%:]/) ||
- name !== encodeURIComponent(name) ||
- name.toLowerCase() === "node_modules" ||
- name.toLowerCase() === "favicon.ico") {
- throw new Error("Invalid name: " + JSON.stringify(name))
- }
-}
-
-function modifyPeople (data, fn) {
- if (data.author) data.author = fn(data.author)
- ;["maintainers", "contributors"].forEach(function (set) {
- if (!Array.isArray(data[set])) return;
- data[set] = data[set].map(fn)
- })
- return data
-}
-
-function unParsePerson (person) {
- if (typeof person === "string") return person
- var name = person.name || ""
- var u = person.url || person.web
- var url = u ? (" ("+u+")") : ""
- var e = person.email || person.mail
- var email = e ? (" <"+e+">") : ""
- return name+email+url
-}
-
-function parsePerson (person) {
- if (typeof person !== "string") return person
- var name = person.match(/^([^\(<]+)/)
- var url = person.match(/\(([^\)]+)\)/)
- var email = person.match(/<([^>]+)>/)
- var obj = {}
- if (name && name[0].trim()) obj.name = name[0].trim()
- if (email) obj.email = email[1];
- if (url) obj.url = url[1];
- return obj
-}
-
-function addOptionalDepsToDeps (data, warn) {
- var o = data.optionalDependencies
- if (!o) return;
- var d = data.dependencies || {}
- Object.keys(o).forEach(function (k) {
- d[k] = o[k]
- })
- data.dependencies = d
-}
-
-function depObjectify (deps) {
- if (!deps) return {}
- if (typeof deps === "string") {
- deps = deps.trim().split(/[\n\r\s\t ,]+/)
- }
- if (!Array.isArray(deps)) return deps
- var o = {}
- deps.filter(function (d) {
- return typeof d === "string"
- }).forEach(function(d) {
- d = d.trim().split(/(:?[@\s><=])/)
- var dn = d.shift()
- var dv = d.join("")
- dv = dv.trim()
- dv = dv.replace(/^@/, "")
- o[dn] = dv
- })
- return o
-}
-
-function objectifyDeps (data, warn) {
- depTypes.forEach(function (type) {
- if (!data[type]) return;
- data[type] = depObjectify(data[type])
- })
-}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/is_valid.js b/deps/npm/node_modules/normalize-package-data/lib/is_valid.js
deleted file mode 100644
index 509fab491..000000000
--- a/deps/npm/node_modules/normalize-package-data/lib/is_valid.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// a warning for deprecated or likely-incorrect fields
-
-module.exports = isValid
-
-var typos = require("./typos")
-
-function isValid (data, warnFunc) {
- var hasWarned = false
- function warn(msg) {
- hasWarned = true
- if(warnFunc) warnFunc(msg)
- }
- if (data.modules) warn("'modules' is deprecated")
- Object.keys(typos.topLevel).forEach(function (d) {
- if (data.hasOwnProperty(d)) {
- warn(makeTypoWarning(d, typos.topLevel[d]))
- }
- })
- checkBugsField(data.bugs, warn)
- checkScriptsField(data.scripts, warn)
- if (!data.repository) warn("No repository field.")
- if (!data.readme) warn("No readme data.")
- if (data.description && typeof data.description !== 'string') {
- warn("'description' field should be a string")
- }
- if (data[data.bundledDependencies] &&
- !Array.isArray(data.bundleDependencies)) {
- warn("bundleDependencies must be an array")
- }
- return !hasWarned
-}
-
-function checkBugsField (bugs, warn) {
- if (!bugs || typeof bugs !== "object") return
- Object.keys(bugs).forEach(function (k) {
- if (typos.bugs[k]) {
- bugs[typos.bugs[k]] = bugs[k]
- delete bugs[k]
- }
- })
-}
-
-function checkScriptsField (scripts, warn) {
- if (!scripts || typeof scripts !== "object") return
- Object.keys(scripts).forEach(function (k) {
- if (typos.script[k]) {
- warn(makeTypoWarning(k, typos.script[k], "scripts"))
- }
- })
-}
-
-function makeTypoWarning (providedName, probableName, field) {
- if (field) {
- providedName = field + "['" + providedName + "']"
- probableName = field + "['" + probableName + "']"
- }
- return providedName + " should probably be " + probableName + "."
-}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/normalize.js b/deps/npm/node_modules/normalize-package-data/lib/normalize.js
deleted file mode 100644
index 336334a47..000000000
--- a/deps/npm/node_modules/normalize-package-data/lib/normalize.js
+++ /dev/null
@@ -1,36 +0,0 @@
-module.exports = normalize
-
-var isValid = require("./is_valid")
-var fixer = require("./fixer")
-
-var fieldsToFix = ['name','version','description','repository'
- ,'files','bin','man','bugs','keywords','readme','homepage']
-var otherThingsToFix = ['dependencies','people']
-
-var thingsToFix = fieldsToFix.map(function(fieldName) {
- return ucFirst(fieldName) + "Field"
-})
-// two ways to do this in CoffeeScript on only one line, sub-70 chars:
-// thingsToFix = fieldsToFix.map (name) -> ucFirst(name) + "Field"
-// thingsToFix = (ucFirst(name) + "Field" for name in fieldsToFix)
-thingsToFix = thingsToFix.concat(otherThingsToFix)
-
-function normalize (data, warn) {
- if(!warn) warn = function(msg) { /* noop */ }
- isValid(data, warn) // don't care if it's valid, we'll make it valid
- if (data.scripts &&
- data.scripts.install === "node-gyp rebuild" &&
- !data.scripts.preinstall) {
- data.gypfile = true
- }
- fixer.warn = warn
- thingsToFix.forEach(function(thingName) {
- fixer["fix" + ucFirst(thingName)](data)
- })
- data._id = data.name + "@" + data.version
- if (data.modules) delete data.modules // modules field is deprecated
-}
-
-function ucFirst (string) {
- return string.charAt(0).toUpperCase() + string.slice(1);
-}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/typos.json b/deps/npm/node_modules/normalize-package-data/lib/typos.json
deleted file mode 100644
index dd2ec6614..000000000
--- a/deps/npm/node_modules/normalize-package-data/lib/typos.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "topLevel": {
- "dependancies": "dependencies"
- ,"dependecies": "dependencies"
- ,"depdenencies": "dependencies"
- ,"devEependencies": "devDependencies"
- ,"depends": "dependencies"
- ,"dev-dependencies": "devDependencies"
- ,"devDependences": "devDependencies"
- ,"devDepenencies": "devDependencies"
- ,"devdependencies": "devDependencies"
- ,"repostitory": "repository"
- ,"prefereGlobal": "preferGlobal"
- ,"hompage": "homepage"
- ,"hampage": "homepage"
- ,"autohr": "author"
- ,"autor": "author"
- ,"contributers": "contributors"
- ,"publicationConfig": "publishConfig"
- },
- "bugs": { "web": "url", "name": "url" },
- "script": { "server": "start", "tests": "test" }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore
deleted file mode 100644
index 3c3629e64..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md
deleted file mode 100644
index fcb296bc6..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-1.1.1 / 2013-04-23
-==================
-
- * package.json: Move test stuff to devDeps
-
-1.1.0 / 2013-04-19
-==================
-
- * Add support for gist urls
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile
deleted file mode 100644
index 37f330e81..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-
-test:
- @./node_modules/.bin/mocha test.js --reporter spec --require should
-
-.PHONY: test
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md
deleted file mode 100644
index d027e8ec6..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md
+++ /dev/null
@@ -1,41 +0,0 @@
-
-# github-url-from-git
-
-```js
-describe('parse(url)', function(){
- it('should support git://*', function(){
- var url = 'git://github.com/jamesor/mongoose-versioner';
- parse(url).should.equal('https://github.com/jamesor/mongoose-versioner');
- })
-
- it('should support git://*.git', function(){
- var url = 'git://github.com/treygriffith/cellar.git';
- parse(url).should.equal('https://github.com/treygriffith/cellar');
- })
-
- it('should support https://*', function(){
- var url = 'https://github.com/Empeeric/i18n-node';
- parse(url).should.equal('https://github.com/Empeeric/i18n-node');
- })
-
- it('should support https://*.git', function(){
- var url = 'https://jpillora@github.com/banchee/tranquil.git';
- parse(url).should.equal('https://github.com/banchee/tranquil');
- })
-
- it('should return undefined on failure', function(){
- var url = 'git://github.com/justgord/.git';
- assert(null == parse(url));
- })
-
- it('should parse git@gist urls', function() {
- var url = 'git@gist.github.com:3135914.git';
- parse(url).should.equal('https://gist.github.com/3135914')
- })
-
- it('should parse https://gist urls', function() {
- var url = 'https://gist.github.com/3135914.git';
- parse(url).should.equal('https://gist.github.com/3135914')
- })
-})
-```
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js
deleted file mode 100644
index 9ccc215f0..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-var re = /^(?:https?:\/\/|git:\/\/)?(?:[^@]+@)?(gist.github.com|github.com)[:\/]([^\/]+\/[^\/]+?|[0-9]+)$/
-
-module.exports = function(url){
- try {
- var m = re.exec(url.replace(/\.git$/, ''));
- var host = m[1];
- var path = m[2];
- return 'https://' + host + '/' + path;
- } catch (err) {
- // ignore
- }
-};
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json
deleted file mode 100644
index 923045414..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "github-url-from-git",
- "version": "1.1.1",
- "description": "Parse a github git url and return the github repo url",
- "main": "index.js",
- "scripts": {
- "test": "mocha test.js --reporter spec --require should"
- },
- "repository": "",
- "keywords": [
- "github",
- "git",
- "url",
- "parser"
- ],
- "author": "",
- "license": "MIT",
- "devDependencies": {
- "better-assert": "~1.0.0",
- "mocha": "~1.9.0",
- "should": "~1.2.2"
- },
- "readme": "\n# github-url-from-git\n\n```js\ndescribe('parse(url)', function(){\n it('should support git://*', function(){\n var url = 'git://github.com/jamesor/mongoose-versioner';\n parse(url).should.equal('https://github.com/jamesor/mongoose-versioner');\n })\n\n it('should support git://*.git', function(){\n var url = 'git://github.com/treygriffith/cellar.git';\n parse(url).should.equal('https://github.com/treygriffith/cellar');\n })\n\n it('should support https://*', function(){\n var url = 'https://github.com/Empeeric/i18n-node';\n parse(url).should.equal('https://github.com/Empeeric/i18n-node');\n })\n\n it('should support https://*.git', function(){\n var url = 'https://jpillora@github.com/banchee/tranquil.git';\n parse(url).should.equal('https://github.com/banchee/tranquil');\n })\n\n it('should return undefined on failure', function(){\n var url = 'git://github.com/justgord/.git';\n assert(null == parse(url));\n })\n\n it('should parse git@gist urls', function() {\n var url = 'git@gist.github.com:3135914.git';\n parse(url).should.equal('https://gist.github.com/3135914')\n })\n\n it('should parse https://gist urls', function() {\n var url = 'https://gist.github.com/3135914.git';\n parse(url).should.equal('https://gist.github.com/3135914')\n })\n})\n```\n",
- "readmeFilename": "Readme.md",
- "_id": "github-url-from-git@1.1.1",
- "_from": "github-url-from-git@~1.1.1"
-}
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js
deleted file mode 100644
index e472302a0..000000000
--- a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js
+++ /dev/null
@@ -1,40 +0,0 @@
-
-var parse = require('./');
-var assert = require('better-assert');
-
-describe('parse(url)', function(){
- it('should support git://*', function(){
- var url = 'git://github.com/jamesor/mongoose-versioner';
- parse(url).should.equal('https://github.com/jamesor/mongoose-versioner');
- })
-
- it('should support git://*.git', function(){
- var url = 'git://github.com/treygriffith/cellar.git';
- parse(url).should.equal('https://github.com/treygriffith/cellar');
- })
-
- it('should support https://*', function(){
- var url = 'https://github.com/Empeeric/i18n-node';
- parse(url).should.equal('https://github.com/Empeeric/i18n-node');
- })
-
- it('should support https://*.git', function(){
- var url = 'https://jpillora@github.com/banchee/tranquil.git';
- parse(url).should.equal('https://github.com/banchee/tranquil');
- })
-
- it('should return undefined on failure', function(){
- var url = 'git://github.com/justgord/.git';
- assert(null == parse(url));
- })
-
- it('should parse git@gist urls', function() {
- var url = 'git@gist.github.com:3135914.git';
- parse(url).should.equal('https://gist.github.com/3135914')
- })
-
- it('should parse https://gist urls', function() {
- var url = 'https://gist.github.com/3135914.git';
- parse(url).should.equal('https://gist.github.com/3135914')
- })
-})
diff --git a/deps/npm/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/normalize-package-data/package.json
deleted file mode 100644
index 2fdd036ae..000000000
--- a/deps/npm/node_modules/normalize-package-data/package.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "name": "normalize-package-data",
- "version": "0.1.7",
- "author": {
- "name": "Meryn Stol",
- "email": "merynstol@gmail.com"
- },
- "description": "Normalizes data that can be found in package.json files.",
- "repository": {
- "type": "git",
- "url": "git://github.com/meryn/normalize-package-data.git"
- },
- "main": "lib/normalize.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "dependencies": {
- "semver": "1.x",
- "github-url-from-git": "~1.1.1"
- },
- "devDependencies": {
- "tap": "~0.2.5",
- "underscore": "~1.4.4",
- "async": "~0.2.7"
- },
- "contributors": [
- {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me"
- },
- {
- "name": "Meryn Stol",
- "email": "merynstol@gmail.com"
- }
- ],
- "readme": "# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nIf you don't provide a warning function, `normalizeData` functions silently.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed.\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.\n* If `homepage` field is not a string, it will be removed.\n* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.\n\n### Rules for name field\n\nIf `name` field is given, the value of the name field must be a string. The string may not:\n\n* start with a period.\n* contain the following characters: `/@\\s+%`\n* contain and characters that would need to be encoded for use in urls.\n* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).\n\n### Rules for version field\n\nIf `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n\n## Credits\n\nThis package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.\n\n## License\n\nnormalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT). \nCopyright (c) 2013 Meryn Stol ",
- "readmeFilename": "README.md",
- "bugs": {
- "url": "https://github.com/meryn/normalize-package-data/issues"
- },
- "_id": "normalize-package-data@0.1.7",
- "dist": {
- "shasum": "8d3240084501de180f3cef9ea7708f9279d87445"
- },
- "_from": "normalize-package-data@0.1.7",
- "_resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.1.7.tgz"
-}
diff --git a/deps/npm/node_modules/normalize-package-data/test/basic.js b/deps/npm/node_modules/normalize-package-data/test/basic.js
deleted file mode 100644
index 12c403ec7..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/basic.js
+++ /dev/null
@@ -1,34 +0,0 @@
-var tap = require("tap")
-var normalize = require("../lib/normalize")
-var path = require("path")
-var fs = require("fs")
-
-tap.test("basic test", function (t) {
- var p = path.resolve(__dirname, "./fixtures/read-package-json.json")
- fs.readFile (p, function (err, contents) {
- if (err) throw err;
- var originalData = JSON.parse(contents.toString())
- var data = JSON.parse(contents.toString())
- normalize(data)
- t.ok(data)
- verifyFields(t, data, originalData)
- t.end()
- })
-})
-
-function verifyFields (t, normalized, original) {
- t.equal(normalized.version, original.version, "Version field stays same")
- t.equal(normalized._id, normalized.name + "@" + normalized.version, "It gets good id.")
- t.equal(normalized.name, original.name, "Name stays the same.")
- t.type(normalized.author, "object", "author field becomes object")
- t.deepEqual(normalized.scripts, original.scripts, "scripts field (object) stays same")
- t.equal(normalized.main, original.main)
- // optional deps are folded in.
- t.deepEqual(normalized.optionalDependencies,
- original.optionalDependencies)
- t.has(normalized.dependencies, original.optionalDependencies, "opt depedencies are copied into dependencies")
- t.has(normalized.dependencies, original.dependencies, "regular depedencies stay in place")
- t.deepEqual(normalized.devDependencies, original.devDependencies)
- t.type(normalized.bugs, "object", "bugs should become object")
- t.equal(normalized.bugs.url, "https://github.com/isaacs/read-package-json/issues")
-}
diff --git a/deps/npm/node_modules/normalize-package-data/test/consistency.js b/deps/npm/node_modules/normalize-package-data/test/consistency.js
deleted file mode 100644
index 8ae6b2730..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/consistency.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var tap = require("tap")
-var normalize = require("../lib/normalize")
-var path = require("path")
-var fs = require("fs")
-var _ = require("underscore")
-var async = require("async")
-
-var data, clonedData
-var warn
-
-tap.test("consistent normalization", function(t) {
- path.resolve(__dirname, "./fixtures/read-package-json.json")
- fs.readdir (__dirname + "/fixtures", function (err, entries) {
- // entries = ['coffee-script.json'] // uncomment to limit to a specific file
- verifyConsistency = function(entryName, next) {
- warn = function(msg) {
- // t.equal("",msg) // uncomment to have some kind of logging of warnings
- }
- filename = __dirname + "/fixtures/" + entryName
- fs.readFile(filename, function(err, contents) {
- if (err) return next(err)
- data = JSON.parse(contents.toString())
- normalize(data, warn)
- clonedData = _.clone(data)
- normalize(data, warn)
- t.deepEqual(clonedData, data,
- "Normalization of " + entryName + "is consistent.")
- next(null)
- }) // fs.readFile
- } // verifyConsistency
- async.forEach(entries, verifyConsistency, function(err) {
- if (err) throw err
- t.end()
- })
- }) // fs.readdir
-}) // tap.test \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/async.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/async.json
deleted file mode 100644
index 5e652a6c6..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/async.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "async",
- "description": "Higher-order functions and common patterns for asynchronous code",
- "main": "./lib/async",
- "author": "Caolan McMahon",
- "version": "0.2.6",
- "repository" : {
- "type" : "git",
- "url" : "http://github.com/caolan/async.git"
- },
- "bugs" : {
- "url" : "http://github.com/caolan/async/issues"
- },
- "licenses" : [
- {
- "type" : "MIT",
- "url" : "http://github.com/caolan/async/raw/master/LICENSE"
- }
- ],
- "devDependencies": {
- "nodeunit": ">0.0.0",
- "uglify-js": "1.2.x",
- "nodelint": ">0.0.0"
- },
- "jam": {
- "main": "lib/async.js",
- "include": [
- "lib/async.js",
- "README.md",
- "LICENSE"
- ]
- },
- "scripts": {
- "test": "nodeunit test/test-async.js"
- }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json
deleted file mode 100644
index 56e6d81b3..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "bcrypt",
- "description": "A bcrypt library for NodeJS.",
- "keywords": [
- "bcrypt",
- "password",
- "auth",
- "authentication",
- "encryption",
- "crypt",
- "crypto"
- ],
- "main": "./bcrypt",
- "version": "0.7.5",
- "author": "Nick Campbell (http://github.com/ncb000gt)",
- "engines": {
- "node": ">= 0.6.0"
- },
- "repository": {
- "type": "git",
- "url": "http://github.com/ncb000gt/node.bcrypt.js.git"
- },
- "licenses": [
- {
- "type": "MIT"
- }
- ],
- "bugs": {
- "url": "http://github.com/ncb000gt/node.bcrypt.js/issues"
- },
- "scripts": {
- "test": "node-gyp configure build && nodeunit test"
- },
- "dependencies": {
- "bindings": "1.0.0"
- },
- "devDependencies": {
- "nodeunit": ">=0.6.4"
- },
- "contributors": [
- "Antonio Salazar Cardozo <savedfastcool@gmail.com> (https://github.com/Shadowfiend)",
- "Van Nguyen <the.gol.effect@gmail.com> (https://github.com/thegoleffect)",
- "David Trejo <david@dtrejo.com> (https://github.com/dtrejo)",
- "Ben Glow <glen.low@pixelglow.com> (https://github.com/pixelglow)",
- "NewITFarmer.com <> (https://github.com/newitfarmer)",
- "Alfred Westerveld <alfredwesterveld@gmail.com> (https://github.com/alfredwesterveld)",
- "Vincent Côté-Roy <vincentcr@gmail.com> (https://github.com/vincentcr)",
- "Lloyd Hilaiel <lloyd@hilaiel.com> (https://github.com/lloyd)",
- "Roman Shtylman <shtylman@gmail.com> (https://github.com/shtylman)",
- "Vadim Graboys <dimva13@gmail.com> (https://github.com/vadimg)",
- "Ben Noorduis <> (https://github.com/bnoordhuis)",
- "Nate Rajlich <nathan@tootallnate.net> (https://github.com/tootallnate)",
- "Sean McArthur <sean.monstar@gmail.com> (https://github.com/seanmonstar)",
- "Fanie Oosthuysen <fanie.oosthuysen@gmail.com> (https://github.com/weareu)"
- ]
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json
deleted file mode 100644
index a0b60a9d3..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "coffee-script",
- "description": "Unfancy JavaScript",
- "keywords": ["javascript", "language", "coffeescript", "compiler"],
- "author": "Jeremy Ashkenas",
- "version": "1.6.2",
- "licenses": [{
- "type": "MIT",
- "url": "https://raw.github.com/jashkenas/coffee-script/master/LICENSE"
- }],
- "engines": {
- "node": ">=0.8.0"
- },
- "directories" : {
- "lib" : "./lib/coffee-script"
- },
- "main" : "./lib/coffee-script/coffee-script",
- "bin": {
- "coffee": "./bin/coffee",
- "cake": "./bin/cake"
- },
- "scripts": {
- "test": "node ./bin/cake test"
- },
- "homepage": "http://coffeescript.org",
- "bugs": "https://github.com/jashkenas/coffee-script/issues",
- "repository": {
- "type": "git",
- "url": "git://github.com/jashkenas/coffee-script.git"
- },
- "devDependencies": {
- "uglify-js": "~2.2",
- "jison": ">=0.2.0"
- }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json
deleted file mode 100644
index 90c28863a..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "http-server",
- "preferGlobal": true,
- "version": "0.3.0",
- "author": "Nodejitsu <support@nodejitsu.com>",
- "description": "a simple zero-configuration command-line http server",
- "contributors": [
- {
- "name": "Marak Squires",
- "email": "marak@nodejitsu.com"
- }
- ],
- "bin": {
- "http-server": "./bin/http-server"
- },
- "scripts": {
- "start": "node ./bin/http-server",
- "test": "vows --spec --isolate",
- "predeploy": "echo This will be run before deploying the app",
- "postdeploy": "echo This will be run after deploying the app"
- },
- "main": "./lib/http-server",
- "repository": {
- "type": "git",
- "url": "https://github.com/nodejitsu/http-server.git"
- },
- "keywords": [
- "cli",
- "http",
- "server"
- ],
- "dependencies" : {
- "colors" : "*",
- "flatiron" : "0.1.x",
- "optimist" : "0.2.x",
- "union" : "0.1.x",
- "ecstatic" : "0.1.x",
- "plates" : "https://github.com/flatiron/plates/tarball/master"
- },
- "analyze": false,
- "devDependencies": {
- "vows" : "0.5.x",
- "request" : "2.1.x"
- },
- "bundledDependencies": [
- "union",
- "ecstatic"
- ],
- "license": "MIT",
- "engines": {
- "node": ">=0.6"
- }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json
deleted file mode 100644
index 593387570..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "movefile",
- "description": "rename implementation working over devices",
- "version": "0.2.0",
- "author": "yazgazan <yazgazan@gmail.com>",
- "main": "./build/Release/movefile",
- "keywords": ["move", "file", "rename"],
- "repository": "git://github.com/yazgazan/movefile.git",
- "directories": {
- "lib": "./build/Release/"
- },
- "scripts": {
- "install": "./node_modules/node-gyp/bin/node-gyp.js configure && ./node_modules/node-gyp/bin/node-gyp.js build"
- },
- "engines": {
- "node": "*"
- },
- "dependencies": {
- "node-gyp": "~0.9.1"
- }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json
deleted file mode 100644
index acc053825..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "node-module_exist",
- "description": "Find if a NodeJS module is available to require or not",
- "version": "0.0.1",
- "main": "module_exist.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "git@gist.github.com:3135914.git"
- },
- "homepage": "https://github.com/FGRibreau",
- "author": {
- "name": "Francois-Guillaume Ribreau",
- "url": "http://fgribreau.com.com/"
- },
- "devDependencies": {
- "nodeunit": "~0.7.4"
- },
- "keywords": [
- "core",
- "modules"
- ],
- "license": "MIT"
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json
deleted file mode 100644
index 2262b3139..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "version": "1.2.17",
- "name": "npm",
- "publishConfig": {
- "proprietary-attribs": false
- },
- "description": "A package manager for node",
- "keywords": [
- "package manager",
- "modules",
- "install",
- "package.json"
- ],
- "preferGlobal": true,
- "config": {
- "publishtest": false
- },
- "homepage": "https://npmjs.org/doc/",
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
- "repository": {
- "type": "git",
- "url": "https://github.com/isaacs/npm"
- },
- "bugs": {
- "email": "npm-@googlegroups.com",
- "url": "http://github.com/isaacs/npm/issues"
- },
- "directories": {
- "doc": "./doc",
- "man": "./man",
- "lib": "./lib",
- "bin": "./bin"
- },
- "main": "./lib/npm.js",
- "bin": "./bin/npm-cli.js",
- "dependencies": {
- "semver": "~1.1.2",
- "ini": "~1.1.0",
- "slide": "1",
- "abbrev": "~1.0.4",
- "graceful-fs": "~1.2.0",
- "minimatch": "~0.2.11",
- "nopt": "~2.1.1",
- "rimraf": "2",
- "request": "~2.9",
- "which": "1",
- "tar": "~0.1.17",
- "fstream": "~0.1.22",
- "block-stream": "*",
- "inherits": "1",
- "mkdirp": "~0.3.3",
- "read": "~1.0.4",
- "lru-cache": "~2.3.0",
- "node-gyp": "~0.9.3",
- "fstream-npm": "~0.1.3",
- "uid-number": "0",
- "archy": "0",
- "chownr": "0",
- "npmlog": "0",
- "ansi": "~0.1.2",
- "npm-registry-client": "~0.2.18",
- "read-package-json": "~0.3.0",
- "read-installed": "0",
- "glob": "~3.1.21",
- "init-package-json": "0.0.6",
- "osenv": "0",
- "lockfile": "~0.3.0",
- "retry": "~0.6.0",
- "once": "~1.1.1",
- "npmconf": "0",
- "opener": "~1.3.0",
- "chmodr": "~0.1.0",
- "cmd-shim": "~1.1.0"
- },
- "bundleDependencies": [
- "semver",
- "ini",
- "slide",
- "abbrev",
- "graceful-fs",
- "minimatch",
- "nopt",
- "rimraf",
- "request",
- "which",
- "tar",
- "fstream",
- "block-stream",
- "inherits",
- "mkdirp",
- "read",
- "lru-cache",
- "node-gyp",
- "fstream-npm",
- "uid-number",
- "archy",
- "chownr",
- "npmlog",
- "ansi",
- "npm-registry-client",
- "read-package-json",
- "read-installed",
- "glob",
- "init-package-json",
- "osenv",
- "lockfile",
- "retry",
- "once",
- "npmconf",
- "opener",
- "chmodr",
- "cmd-shim"
- ],
- "devDependencies": {
- "ronn": "~0.3.6",
- "tap": "~0.4.0"
- },
- "engines": {
- "node": ">=0.6",
- "npm": "1"
- },
- "scripts": {
- "test": "node ./test/run.js && tap test/tap/*.js",
- "tap": "tap test/tap/*.js",
- "prepublish": "node bin/npm-cli.js prune ; rm -rf test/*/*/node_modules ; make -j4 doc",
- "dumpconf": "env | grep npm | sort | uniq",
- "echo": "node bin/npm-cli.js"
- },
- "licenses": [
- {
- "type": "MIT +no-false-attribs",
- "url": "https://github.com/isaacs/npm/raw/master/LICENSE"
- }
- ]
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json
deleted file mode 100644
index f4a2b96f4..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "read-package-json",
- "version": "0.1.1",
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
- "description": "The thing npm uses to read package.json files with semantics and defaults and validation",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/read-package-json.git"
- },
- "main": "read-json.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "dependencies": {
- "glob": "~3.1.9",
- "lru-cache": "~1.1.0",
- "semver": "~1.0.14",
- "slide": "~1.1.3"
- },
- "devDependencies": {
- "tap": "~0.2.5"
- },
- "optionalDependencies": {
- "npmlog": "0",
- "graceful-fs": "~1.1.8"
- }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/request.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/request.json
deleted file mode 100644
index 24189a551..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/request.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "request",
- "description": "Simplified HTTP request client.",
- "tags": [
- "http",
- "simple",
- "util",
- "utility"
- ],
- "version": "2.16.7",
- "author": "Mikeal Rogers <mikeal.rogers@gmail.com>",
- "repository": {
- "type": "git",
- "url": "http://github.com/mikeal/request.git"
- },
- "bugs": {
- "url": "http://github.com/mikeal/request/issues"
- },
- "engines": [
- "node >= 0.8.0"
- ],
- "main": "index.js",
- "dependencies": {
- "form-data": "~0.0.3",
- "mime": "~1.2.7",
- "hawk": "~0.10.2",
- "node-uuid": "~1.4.0",
- "cookie-jar": "~0.2.0",
- "aws-sign": "~0.2.0",
- "oauth-sign": "~0.2.0",
- "forever-agent": "~0.2.0",
- "tunnel-agent": "~0.2.0",
- "json-stringify-safe": "~3.0.0",
- "qs": "~0.5.4"
- },
- "scripts": {
- "test": "node tests/run.js"
- }
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json
deleted file mode 100644
index bfc8b3d26..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "name" : "underscore",
- "description" : "JavaScript's functional programming helper library.",
- "homepage" : "http://underscorejs.org",
- "keywords" : ["util", "functional", "server", "client", "browser"],
- "author" : "Jeremy Ashkenas <jeremy@documentcloud.org>",
- "repository" : {"type": "git", "url": "git://github.com/documentcloud/underscore.git"},
- "main" : "underscore.js",
- "version" : "1.4.4",
- "devDependencies": {
- "phantomjs": "1.9.0-1"
- },
- "scripts": {
- "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true"
- },
- "license" : "MIT"
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/github-urls.js b/deps/npm/node_modules/normalize-package-data/test/github-urls.js
deleted file mode 100644
index fd68d76e2..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/github-urls.js
+++ /dev/null
@@ -1,46 +0,0 @@
-var tap = require("tap")
-var normalize = require("../lib/normalize")
-var path = require("path")
-var fs = require("fs")
-var _ = require("underscore")
-var async = require("async")
-
-var data, clonedData
-var warn
-
-tap.test("consistent normalization", function(t) {
- entries = [
- 'read-package-json.json',
- 'http-server.json',
- "movefile.json",
- "node-module_exist.json"
- ]
- verifyConsistency = function(entryName, next) {
- warn = function(msg) {
- // t.equal("",msg) // uncomment to have some kind of logging of warnings
- }
- filename = __dirname + "/fixtures/" + entryName
- fs.readFile(filename, function(err, contents) {
- if (err) return next(err)
- data = JSON.parse(contents.toString())
- normalize(data, warn)
- if(data.name == "node-module_exist") {
- t.same(data.bugs.url, "https://gist.github.com/3135914")
- }
- if(data.name == "read-package-json") {
- t.same(data.bugs.url, "https://github.com/isaacs/read-package-json/issues")
- }
- if(data.name == "http-server") {
- t.same(data.bugs.url, "https://github.com/nodejitsu/http-server/issues")
- }
- if(data.name == "movefile") {
- t.same(data.bugs.url, "https://github.com/yazgazan/movefile/issues")
- }
- next(null)
- }) // fs.readFile
- } // verifyConsistency
- async.forEach(entries, verifyConsistency, function(err) {
- if (err) throw err
- t.end()
- })
-}) // tap.test \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/normalize.js b/deps/npm/node_modules/normalize-package-data/test/normalize.js
deleted file mode 100644
index 88dc84a6d..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/normalize.js
+++ /dev/null
@@ -1,129 +0,0 @@
-var tap = require("tap")
-var fs = require("fs")
-var path = require("path")
-
-var globals = Object.keys(global)
-
-var normalize = require("../lib/normalize")
-
-var rpjPath = path.resolve(__dirname,"./fixtures/read-package-json.json")
-tap.test("normalize some package data", function(t) {
- var packageData = require(rpjPath)
- var warnings = []
- normalize(packageData, function(warning) {
- warnings.push(warning)
- })
- // there's no readme data in this particular object
- t.equal( warnings.length, 1, "There's exactly one warning.")
- fs.readFile(rpjPath, function(err, data) {
- if(err) throw err
- // Various changes have been made
- t.notEqual(packageData, JSON.parse(data), "Output is different from input.")
- t.end()
- })
-})
-
-tap.test("runs without passing warning function", function(t) {
- var packageData = require(rpjPath)
- fs.readFile(rpjPath, function(err, data) {
- if(err) throw err
- normalize(JSON.parse(data))
- t.ok(true, "If you read this, this means I'm still alive.")
- t.end()
- })
-})
-
-tap.test("empty object", function(t) {
- var packageData = {}
- var expect =
- { name: '',
- version: '',
- readme: 'ERROR: No README data found!',
- _id: '@' }
-
- var warnings = []
- function warn(m) {
- warnings.push(m)
- }
- normalize(packageData, warn)
- t.same(packageData, expect)
- t.same(warnings, ["No repository field.","No readme data."])
- t.end()
-})
-
-tap.test("urls required", function(t) {
- var warnings = []
- function warn(w) {
- warnings.push(w)
- }
- normalize({
- bugs: {
- url: "/1",
- email: "not an email address"
- }
- }, warn)
- var a
- normalize(a={
- readme: "read yourself how about",
- homepage: 123,
- bugs: "what is this i don't even",
- repository: "Hello."
- }, warn)
-
- console.error(a)
-
- var expect =
- [ 'No repository field.',
- 'No readme data.',
- 'bugs.url field must be a string url. Deleted.',
- 'bugs.email field must be a string email. Deleted.',
- 'Normalized value of bugs field is an empty object. Deleted.',
- 'Bug string field must be url, email, or {email,url}',
- 'Normalized value of bugs field is an empty object. Deleted.',
- 'homepage field must be a string url. Deleted.' ]
- t.same(warnings, expect)
- t.end()
-})
-
-tap.test("homepage field must start with a protocol.", function(t) {
- var warnings = []
- function warn(w) {
- warnings.push(w)
- }
- var a
- normalize(a={
- homepage: 'example.org'
- }, warn)
-
- console.error(a)
-
- var expect =
- [ 'No repository field.',
- 'No readme data.',
- 'homepage field must start with a protocol.' ]
- t.same(warnings, expect)
- t.same(a.homepage, 'http://example.org')
- t.end()
-})
-
-tap.test("gist bugs url", function(t) {
- var d = {
- repository: "git@gist.github.com:123456.git"
- }
- normalize(d)
- t.same(d.repository, { type: 'git', url: 'git@gist.github.com:123456.git' })
- t.same(d.bugs, { url: 'https://gist.github.com/123456' })
- t.end();
-});
-
-tap.test('no new globals', function(t) {
- t.same(Object.keys(global), globals)
- t.end()
-})
-
-tap.test("singularize repositories", function(t) {
- d = {repositories:["git@gist.github.com:123456.git"]}
- normalize(d)
- t.same(d.repository, { type: 'git', url: 'git@gist.github.com:123456.git' })
- t.end()
-}); \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/typo.js b/deps/npm/node_modules/normalize-package-data/test/typo.js
deleted file mode 100644
index d7d3af0e2..000000000
--- a/deps/npm/node_modules/normalize-package-data/test/typo.js
+++ /dev/null
@@ -1,67 +0,0 @@
-var test = require('tap').test
-var normalize = require('../')
-var typos = require('../lib/typos.json')
-
-test('typos', function(t) {
- var warnings = []
- function warn(m) {
- warnings.push(m)
- }
-
- var expect =
- [ 'dependancies should probably be dependencies.',
- 'dependecies should probably be dependencies.',
- 'depdenencies should probably be dependencies.',
- 'devEependencies should probably be devDependencies.',
- 'depends should probably be dependencies.',
- 'dev-dependencies should probably be devDependencies.',
- 'devDependences should probably be devDependencies.',
- 'devDepenencies should probably be devDependencies.',
- 'devdependencies should probably be devDependencies.',
- 'repostitory should probably be repository.',
- 'prefereGlobal should probably be preferGlobal.',
- 'hompage should probably be homepage.',
- 'hampage should probably be homepage.',
- 'autohr should probably be author.',
- 'autor should probably be author.',
- 'contributers should probably be contributors.',
- 'publicationConfig should probably be publishConfig.',
- 'No repository field.',
- 'No repository field.',
- 'No readme data.',
- 'bugs.url field must be a string url. Deleted.',
- 'Normalized value of bugs field is an empty object. Deleted.',
- 'No repository field.',
- 'No readme data.' ]
-
- normalize({"dependancies": "dependencies"
- ,"dependecies": "dependencies"
- ,"depdenencies": "dependencies"
- ,"devEependencies": "devDependencies"
- ,"depends": "dependencies"
- ,"dev-dependencies": "devDependencies"
- ,"devDependences": "devDependencies"
- ,"devDepenencies": "devDependencies"
- ,"devdependencies": "devDependencies"
- ,"repostitory": "repository"
- ,"prefereGlobal": "preferGlobal"
- ,"hompage": "homepage"
- ,"hampage": "homepage"
- ,"autohr": "author"
- ,"autor": "author"
- ,"contributers": "contributors"
- ,"publicationConfig": "publishConfig"
- ,readme:"asdf"
- ,name:"name"
- ,version:"1.2.5"}, warn)
-
- normalize({name:"name"
- ,version:"1.2.5"
- ,bugs:{web:"url",name:"url"}}, warn)
-
- normalize({name:"name"
- ,version:"1.2.5"
- ,script:{server:"start",tests:"test"}}, warn)
- t.same(warnings, expect)
- t.end();
-})
diff --git a/deps/npm/node_modules/npm-registry-client/lib/get.js b/deps/npm/node_modules/npm-registry-client/lib/get.js
index 398c309d7..eeb716e85 100644
--- a/deps/npm/node_modules/npm-registry-client/lib/get.js
+++ b/deps/npm/node_modules/npm-registry-client/lib/get.js
@@ -29,7 +29,11 @@ function get (uri, timeout, nofollow, staleOk, cb) {
return requestAll.call(this, cb)
}
- var cache = path.join(this.conf.get('cache'), uri, ".cache.json")
+ var cacheUri = uri
+ // on windows ":" is not an allowed character in a foldername
+ cacheUri = cacheUri.replace(/:/g, '_')
+ var cache = path.join(this.conf.get('cache'), cacheUri, ".cache.json")
+
fs.stat(cache, function (er, stat) {
if (!er) fs.readFile(cache, function (er, data) {
try { data = JSON.parse(data) }
diff --git a/deps/npm/node_modules/npm-registry-client/lib/request.js b/deps/npm/node_modules/npm-registry-client/lib/request.js
index 9b72bc457..ff45e0e8e 100644
--- a/deps/npm/node_modules/npm-registry-client/lib/request.js
+++ b/deps/npm/node_modules/npm-registry-client/lib/request.js
@@ -283,6 +283,7 @@ function requestDone (method, where, cb) {
, p = url.parse(where).pathname.split("/")
, _ = "/"
, caches = p.map(function (part) {
+ part = part.replace(/:/g, "_")
return _ = path.join(_, part)
}).map(function (cache) {
return path.join(this.conf.get('cache'), cache, ".cache.json")
@@ -293,7 +294,8 @@ function requestDone (method, where, cb) {
// That's what you get for deleting stuff. Don't do that.
if (method === "DELETE") {
p = p.slice(0, p.indexOf("-rev"))
- caches.push(path.join(this.conf.get('cache'), p.join("/")))
+ p = p.join("/").replace(/:/g, "_")
+ caches.push(path.join(this.conf.get('cache'), p))
}
asyncMap(caches, rm, function () {})
diff --git a/deps/npm/node_modules/npm-registry-client/lib/unpublish.js b/deps/npm/node_modules/npm-registry-client/lib/unpublish.js
index c844c27fe..9aaac1b70 100644
--- a/deps/npm/node_modules/npm-registry-client/lib/unpublish.js
+++ b/deps/npm/node_modules/npm-registry-client/lib/unpublish.js
@@ -51,7 +51,7 @@ function unpublish (name, ver, cb) {
if (latestVer === ver) {
data["dist-tags"].latest =
- Object.getOwnPropertyNames(versions).sort(semver.compare).pop()
+ Object.getOwnPropertyNames(versions).sort(semver.compareLoose).pop()
}
var rev = data._rev
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/couch-login.js b/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/couch-login.js
index 828a0e265..474f083b1 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/couch-login.js
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/couch-login.js
@@ -151,8 +151,8 @@ function makeReq (meth, body, f) { return function madeReq (p, d, cb) {
if (this.ca)
req.ca = this.ca
- if (this.strictSSL && this.strictSSL !== null)
- req.strictSSL = this.strictSSL
+ if (typeof this.strictSSL === 'boolean')
+ req.strictSSL = req.rejectUnauthorized = this.strictSSL
request(req, function (er, res, data) {
// update cookie.
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json
index fd28d575c..b65ced071 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json
+++ b/deps/npm/node_modules/npm-registry-client/node_modules/couch-login/package.json
@@ -6,7 +6,7 @@
},
"name": "couch-login",
"description": "A module for doing logged-in requests to a couchdb server",
- "version": "0.1.16",
+ "version": "0.1.17",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/couch-login.git"
@@ -26,6 +26,6 @@
"bugs": {
"url": "https://github.com/isaacs/couch-login/issues"
},
- "_id": "couch-login@0.1.16",
+ "_id": "couch-login@0.1.17",
"_from": "couch-login@~0.1.15"
}
diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json
index 8a62919c5..152ed8713 100644
--- a/deps/npm/node_modules/npm-registry-client/package.json
+++ b/deps/npm/node_modules/npm-registry-client/package.json
@@ -6,7 +6,7 @@
},
"name": "npm-registry-client",
"description": "Client for the npm registry",
- "version": "0.2.24",
+ "version": "0.2.27",
"repository": {
"url": "git://github.com/isaacs/npm-registry-client"
},
@@ -16,8 +16,8 @@
},
"dependencies": {
"request": "2 >=2.20.0",
- "graceful-fs": "~1.2.0",
- "semver": "~1.1.0",
+ "graceful-fs": "~2.0.0",
+ "semver": "~2.0.5",
"slide": "~1.1.3",
"chownr": "0",
"mkdirp": "~0.3.3",
@@ -38,6 +38,6 @@
"bugs": {
"url": "https://github.com/isaacs/npm-registry-client/issues"
},
- "_id": "npm-registry-client@0.2.24",
- "_from": "npm-registry-client@~0.2.22"
+ "_id": "npm-registry-client@0.2.27",
+ "_from": "npm-registry-client@latest"
}
diff --git a/deps/npm/node_modules/npm-user-validate/README.md b/deps/npm/node_modules/npm-user-validate/README.md
index b699863cf..5e34f0aa0 100644
--- a/deps/npm/node_modules/npm-user-validate/README.md
+++ b/deps/npm/node_modules/npm-user-validate/README.md
@@ -1,3 +1,6 @@
-## npmvalidate
+[![Build Status](https://travis-ci.org/robertkowalski/npm-user-validate.png?branch=master)](https://travis-ci.org/robertkowalski/npm-user-validate)
+[![devDependency Status](https://david-dm.org/robertkowalski/npm-user-validate/dev-status.png)](https://david-dm.org/robertkowalski/npm-user-validate#info=devDependencies)
+
+# npm-user-validate
Validation for the npm client and npm-www (and probably other npm projects) \ No newline at end of file
diff --git a/deps/npm/node_modules/npm-user-validate/npm-user-validate.js b/deps/npm/node_modules/npm-user-validate/npm-user-validate.js
index 29cb588aa..853456f52 100644
--- a/deps/npm/node_modules/npm-user-validate/npm-user-validate.js
+++ b/deps/npm/node_modules/npm-user-validate/npm-user-validate.js
@@ -2,17 +2,31 @@ exports.email = email
exports.pw = pw
exports.username = username
+var requirements = exports.requirements = {
+ username: {
+ lowerCase: 'Username must be lowercase',
+ urlSafe: 'Username may not contain non-url-safe chars',
+ dot: 'Username may not start with "."'
+ },
+ password: {
+ badchars: 'Password passwords cannot contain these characters: \'!:@"'
+ },
+ email: {
+ valid: 'Email must be an email address'
+ }
+};
+
function username (un) {
if (un !== un.toLowerCase()) {
- return new Error('Username must be lowercase')
+ return new Error(requirements.username.lowerCase)
}
if (un !== encodeURIComponent(un)) {
- return new Error('Username may not contain non-url-safe chars')
+ return new Error(requirements.username.urlSafe)
}
if (un.charAt(0) === '.') {
- return new Error('Username may not start with "."')
+ return new Error(requirements.username.dot)
}
return null
@@ -20,7 +34,7 @@ function username (un) {
function email (em) {
if (!em.match(/^.+@.+\..+$/)) {
- return new Error('Email must be an email address')
+ return new Error(requirements.email.valid)
}
return null
@@ -28,8 +42,8 @@ function email (em) {
function pw (pw) {
if (pw.match(/['!:@"]/)) {
- return new Error('Sorry, passwords cannot contain these characters: \'!:@"')
+ return new Error(requirements.password.badchars)
}
return null
-} \ No newline at end of file
+}
diff --git a/deps/npm/node_modules/npm-user-validate/package.json b/deps/npm/node_modules/npm-user-validate/package.json
index d2bdf7799..a05b95ef1 100644
--- a/deps/npm/node_modules/npm-user-validate/package.json
+++ b/deps/npm/node_modules/npm-user-validate/package.json
@@ -1,29 +1,37 @@
{
"name": "npm-user-validate",
- "version": "0.0.1",
+ "version": "0.0.3",
"description": "User validations for npm",
"main": "npm-user-validate.js",
+ "devDependencies": {
+ "tap": "0.4.3"
+ },
"scripts": {
"test": "tap test/*.js"
},
- "devDependencies": {
- "tap": "0.4.1"
- },
"repository": {
"type": "git",
"url": "https://github.com/robertkowalski/npm-user-validate"
},
"keywords": [
"npm",
- "validation"
+ "validation",
+ "registry"
],
"author": {
"name": "Robert Kowalski",
"email": "rok@kowalski.gd"
},
"license": "BSD",
- "readme": "## npmvalidate\n\nValidation for the npm client and npm-www (and probably other npm projects)",
+ "readme": "[![Build Status](https://travis-ci.org/robertkowalski/npm-user-validate.png?branch=master)](https://travis-ci.org/robertkowalski/npm-user-validate)\n[![devDependency Status](https://david-dm.org/robertkowalski/npm-user-validate/dev-status.png)](https://david-dm.org/robertkowalski/npm-user-validate#info=devDependencies)\n\n# npm-user-validate\n\nValidation for the npm client and npm-www (and probably other npm projects)",
"readmeFilename": "README.md",
- "_id": "npm-user-validate@0.0.1",
- "_from": "npm-user-validate@0"
+ "bugs": {
+ "url": "https://github.com/robertkowalski/npm-user-validate/issues"
+ },
+ "_id": "npm-user-validate@0.0.3",
+ "dist": {
+ "shasum": "7b147d11038083fb0ba2d60ff851dc20322aa9f6"
+ },
+ "_from": "npm-user-validate@0.0.3",
+ "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.0.3.tgz"
}
diff --git a/deps/npm/node_modules/npmconf/config-defs.js b/deps/npm/node_modules/npmconf/config-defs.js
index 61738f4a2..e53f2475c 100644
--- a/deps/npm/node_modules/npmconf/config-defs.js
+++ b/deps/npm/node_modules/npmconf/config-defs.js
@@ -74,8 +74,8 @@ nopt.invalidHandler = function (k, val, type, data) {
}
}
-if (!stableFamily || (+stableFamily[2] % 2)) stableFamily = null
-else stableFamily = stableFamily[1] + "." + stableFamily[2]
+if (!stableFamily || (+stableFamily.minor % 2)) stableFamily = null
+else stableFamily = stableFamily.major + "." + stableFamily.minor
var defaults
@@ -116,7 +116,7 @@ Object.defineProperty(exports, "defaults", {get: function () {
, "bin-links" : true
, browser : null
- , ca : // the npm CA certificate.
+ , ca: // the npm CA certificate.
[ "-----BEGIN CERTIFICATE-----\n"+
"MIIChzCCAfACCQDauvz/KHp8ejANBgkqhkiG9w0BAQUFADCBhzELMAkGA1UEBhMC\n"+
"VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdPYWtsYW5kMQwwCgYDVQQKEwNucG0x\n"+
@@ -173,7 +173,36 @@ Object.defineProperty(exports, "defaults", {get: function () {
"01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7\n"+
"9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7\n"+
"TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==\n"+
- "-----END CERTIFICATE-----\n" ]
+ "-----END CERTIFICATE-----\n",
+
+ // GlobalSign Organization Validation CA - G2
+ "-----BEGIN CERTIFICATE-----\n"+
+ "MIIEYDCCA0igAwIBAgILBAAAAAABL07hRQwwDQYJKoZIhvcNAQEFBQAwVzELMAkG\n"+
+ "A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv\n"+
+ "b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xMTA0MTMxMDAw\n"+
+ "MDBaFw0yMjA0MTMxMDAwMDBaMF0xCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i\n"+
+ "YWxTaWduIG52LXNhMTMwMQYDVQQDEypHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBW\n"+
+ "YWxpZGF0aW9uIENBIC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\n"+
+ "AQDdNR3yIFQmGtDvpW+Bdllw3Of01AMkHyQOnSKf1Ccyeit87ovjYWI4F6+0S3qf\n"+
+ "ZyEcLZVUunm6tsTyDSF0F2d04rFkCJlgePtnwkv3J41vNnbPMYzl8QbX3FcOW6zu\n"+
+ "zi2rqqlwLwKGyLHQCAeV6irs0Z7kNlw7pja1Q4ur944+ABv/hVlrYgGNguhKujiz\n"+
+ "4MP0bRmn6gXdhGfCZsckAnNate6kGdn8AM62pI3ffr1fsjqdhDFPyGMM5NgNUqN+\n"+
+ "ARvUZ6UYKOsBp4I82Y4d5UcNuotZFKMfH0vq4idGhs6dOcRmQafiFSNrVkfB7cVT\n"+
+ "5NSAH2v6gEaYsgmmD5W+ZoiTAgMBAAGjggElMIIBITAOBgNVHQ8BAf8EBAMCAQYw\n"+
+ "EgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUXUayjcRLdBy77fVztjq3OI91\n"+
+ "nn4wRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3\n"+
+ "Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSGImh0\n"+
+ "dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYBBQUHAQEEMTAv\n"+
+ "MC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9yb290cjEw\n"+
+ "HwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZIhvcNAQEFBQAD\n"+
+ "ggEBABvgiADHBREc/6stSEJSzSBo53xBjcEnxSxZZ6CaNduzUKcbYumlO/q2IQen\n"+
+ "fPMOK25+Lk2TnLryhj5jiBDYW2FQEtuHrhm70t8ylgCoXtwtI7yw07VKoI5lkS/Z\n"+
+ "9oL2dLLffCbvGSuXL+Ch7rkXIkg/pfcNYNUNUUflWP63n41edTzGQfDPgVRJEcYX\n"+
+ "pOBWYdw9P91nbHZF2krqrhqkYE/Ho9aqp9nNgSvBZnWygI/1h01fwlr1kMbawb30\n"+
+ "hag8IyrhFHvBN91i0ZJsumB9iOQct+R2UTjEqUdOqCsukNK1OFHrwZyKarXMsh3o\n"+
+ "wFZUTKiL8IkyhtyTMr5NGvo1dbU=\n"+
+ "-----END CERTIFICATE-----\n"
+ ]
, cache : cache
diff --git a/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json b/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json
index a304fe679..9b9d3d7e8 100644
--- a/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json
+++ b/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json
@@ -28,9 +28,5 @@
"url": "https://github.com/isaacs/proto-list/issues"
},
"_id": "proto-list@1.2.2",
- "dist": {
- "shasum": "48b88798261ec2c4a785720cdfec6200d57d3326"
- },
- "_from": "proto-list@~1.2.1",
- "_resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz"
+ "_from": "proto-list@~1.2.1"
}
diff --git a/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json b/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json
index 38818aba6..d0d24eaae 100644
--- a/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json
+++ b/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json
@@ -28,9 +28,5 @@
"url": "https://github.com/dominictarr/config-chain/issues"
},
"_id": "config-chain@1.1.7",
- "dist": {
- "shasum": "e3c3e95a869b1aac2b565b18bd6274af1856d44c"
- },
- "_from": "config-chain@~1.1.1",
- "_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.7.tgz"
+ "_from": "config-chain@~1.1.1"
}
diff --git a/deps/npm/node_modules/npmconf/package.json b/deps/npm/node_modules/npmconf/package.json
index e97b5500c..23ddd58e9 100644
--- a/deps/npm/node_modules/npmconf/package.json
+++ b/deps/npm/node_modules/npmconf/package.json
@@ -1,6 +1,6 @@
{
"name": "npmconf",
- "version": "0.0.25",
+ "version": "0.1.1",
"description": "The config thing npm uses",
"main": "npmconf.js",
"directories": {
@@ -13,7 +13,7 @@
"mkdirp": "~0.3.3",
"osenv": "0.0.3",
"nopt": "2",
- "semver": "~1.1.0",
+ "semver": "2",
"ini": "~1.1.0"
},
"devDependencies": {},
@@ -42,10 +42,6 @@
"bugs": {
"url": "https://github.com/isaacs/npmconf/issues"
},
- "_id": "npmconf@0.0.25",
- "dist": {
- "shasum": "8e958a7da1dd087c70a427b27d372c565b782662"
- },
- "_from": "npmconf@0.0.25",
- "_resolved": "https://registry.npmjs.org/npmconf/-/npmconf-0.0.25.tgz"
+ "_id": "npmconf@0.1.1",
+ "_from": "npmconf@latest"
}
diff --git a/deps/npm/node_modules/npmlog/LICENSE b/deps/npm/node_modules/npmlog/LICENSE
index 74489e2e2..0c44ae716 100644
--- a/deps/npm/node_modules/npmlog/LICENSE
+++ b/deps/npm/node_modules/npmlog/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) Isaac Z. Schlueter
+Copyright (c) Isaac Z. Schlueter ("Author")
All rights reserved.
The BSD License
@@ -6,20 +6,22 @@ The BSD License
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
+
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
+
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
-THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/deps/npm/node_modules/npmlog/log.js b/deps/npm/node_modules/npmlog/log.js
index 320788e7a..38b7c74ac 100644
--- a/deps/npm/node_modules/npmlog/log.js
+++ b/deps/npm/node_modules/npmlog/log.js
@@ -81,7 +81,7 @@ log.log = function (lvl, prefix, message) {
}
this.emitLog(m)
-}
+}.bind(log)
log.emitLog = function (m) {
if (this._paused) {
@@ -135,7 +135,7 @@ log.addLevel = function (lvl, n, style, disp) {
a[i + 1] = arguments[i]
}
return this.log.apply(this, a)
- }
+ }.bind(this)
this.disp[lvl] = disp
}
@@ -149,6 +149,6 @@ log.addLevel('silly', -Infinity, { inverse: true }, 'sill')
log.addLevel('verbose', 1000, { fg: 'blue', bg: 'black' }, 'verb')
log.addLevel('info', 2000, { fg: 'green' })
log.addLevel('http', 3000, { fg: 'green', bg: 'black' })
-log.addLevel('warn', 4000, { fg: 'black', bg: 'red' }, 'WARN')
+log.addLevel('warn', 4000, { fg: 'black', bg: 'yellow' }, 'WARN')
log.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!')
log.addLevel('silent', Infinity)
diff --git a/deps/npm/node_modules/npmlog/package.json b/deps/npm/node_modules/npmlog/package.json
index d9a33c451..e46b6e250 100644
--- a/deps/npm/node_modules/npmlog/package.json
+++ b/deps/npm/node_modules/npmlog/package.json
@@ -6,7 +6,7 @@
},
"name": "npmlog",
"description": "logger for npm",
- "version": "0.0.2",
+ "version": "0.0.4",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/npmlog.git"
@@ -22,21 +22,11 @@
"tap": ""
},
"license": "BSD",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
+ "readme": "# npmlog\n\nThe logger util that npm uses.\n\nThis logger is very basic. It does the logging for npm. It supports\ncustom levels and colored output.\n\nBy default, logs are written to stderr. If you want to send log messages\nto outputs other than streams, then you can change the `log.stream`\nmember, or you can just listen to the events that it emits, and do\nwhatever you want with them.\n\n# Basic Usage\n\n```\nvar log = require('npmlog')\n\n// additional stuff ---------------------------+\n// message ----------+ |\n// prefix ----+ | |\n// level -+ | | |\n// v v v v\n log.info('fyi', 'I have a kitty cat: %j', myKittyCat)\n```\n\n## log.level\n\n* {String}\n\nThe level to display logs at. Any logs at or above this level will be\ndisplayed. The special level `silent` will prevent anything from being\ndisplayed ever.\n\n## log.record\n\n* {Array}\n\nAn array of all the log messages that have been entered.\n\n## log.maxRecordSize\n\n* {Number}\n\nThe maximum number of records to keep. If log.record gets bigger than\n10% over this value, then it is sliced down to 90% of this value.\n\nThe reason for the 10% window is so that it doesn't have to resize a\nlarge array on every log entry.\n\n## log.prefixStyle\n\n* {Object}\n\nA style object that specifies how prefixes are styled. (See below)\n\n## log.headingStyle\n\n* {Object}\n\nA style object that specifies how the heading is styled. (See below)\n\n## log.heading\n\n* {String} Default: \"\"\n\nIf set, a heading that is printed at the start of every line.\n\n## log.stream\n\n* {Stream} Default: `process.stderr`\n\nThe stream where output is written.\n\n## log.enableColor()\n\nForce colors to be used on all messages, regardless of the output\nstream.\n\n## log.disableColor()\n\nDisable colors on all messages.\n\n## log.pause()\n\nStop emitting messages to the stream, but do not drop them.\n\n## log.resume()\n\nEmit all buffered messages that were written while paused.\n\n## log.log(level, prefix, message, ...)\n\n* `level` {String} The level to emit the message at\n* `prefix` {String} A string prefix. Set to \"\" to skip.\n* `message...` Arguments to `util.format`\n\nEmit a log message at the specified level.\n\n## log\\[level](prefix, message, ...)\n\nFor example,\n\n* log.silly(prefix, message, ...)\n* log.verbose(prefix, message, ...)\n* log.info(prefix, message, ...)\n* log.http(prefix, message, ...)\n* log.warn(prefix, message, ...)\n* log.error(prefix, message, ...)\n\nLike `log.log(level, prefix, message, ...)`. In this way, each level is\ngiven a shorthand, so you can do `log.info(prefix, message)`.\n\n## log.addLevel(level, n, style, disp)\n\n* `level` {String} Level indicator\n* `n` {Number} The numeric level\n* `style` {Object} Object with fg, bg, inverse, etc.\n* `disp` {String} Optional replacement for `level` in the output.\n\nSets up a new level with a shorthand function and so forth.\n\nNote that if the number is `Infinity`, then setting the level to that\nwill cause all log messages to be suppressed. If the number is\n`-Infinity`, then the only way to show it is to enable all log messages.\n\n# Events\n\nEvents are all emitted with the message object.\n\n* `log` Emitted for all messages\n* `log.<level>` Emitted for all messages with the `<level>` level.\n* `<prefix>` Messages with prefixes also emit their prefix as an event.\n\n# Style Objects\n\nStyle objects can have the following fields:\n\n* `fg` {String} Color for the foreground text\n* `bg` {String} Color for the background\n* `bold`, `inverse`, `underline` {Boolean} Set the associated property\n* `bell` {Boolean} Make a noise (This is pretty annoying, probably.)\n\n# Message Objects\n\nEvery log event is emitted with a message object, and the `log.record`\nlist contains all of them that have been created. They have the\nfollowing fields:\n\n* `id` {Number}\n* `level` {String}\n* `prefix` {String}\n* `message` {String} Result of `util.format()`\n* `messageRaw` {Array} Arguments to `util.format()`\n",
+ "readmeFilename": "README.md",
+ "bugs": {
+ "url": "https://github.com/isaacs/npmlog/issues"
},
- "_id": "npmlog@0.0.2",
- "optionalDependencies": {},
- "engines": {
- "node": "*"
- },
- "_engineSupported": true,
- "_npmVersion": "1.1.24",
- "_nodeVersion": "v0.7.10-pre",
- "_defaultsLoaded": true,
- "dist": {
- "shasum": "f0cf4b2c519950c00e91ba8e2868b62bf86254f6"
- },
- "_from": "npmlog@0"
+ "_id": "npmlog@0.0.4",
+ "_from": "npmlog@latest"
}
diff --git a/deps/npm/node_modules/npmlog/test/basic.js b/deps/npm/node_modules/npmlog/test/basic.js
index 8b5e7eb42..80c8c3184 100644
--- a/deps/npm/node_modules/npmlog/test/basic.js
+++ b/deps/npm/node_modules/npmlog/test/basic.js
@@ -87,7 +87,7 @@ var resultExpect =
'\u001b[0m',
' ',
'\u001b[0m',
- '\u001b[35m',
+ '\u001b[33m',
'warn prefix',
'\u001b[0m',
' x = {"foo":{"bar":"baz"}}\n',
diff --git a/deps/npm/node_modules/read-installed/README.md b/deps/npm/node_modules/read-installed/README.md
index 59e882fb0..616371ef9 100644
--- a/deps/npm/node_modules/read-installed/README.md
+++ b/deps/npm/node_modules/read-installed/README.md
@@ -10,7 +10,7 @@ npm uses this.
```javascript
var readInstalled = require("read-installed")
// depth is optional, defaults to Infinity
-readInstalled(folder, depth, function (er, data) {
+readInstalled(folder, depth, logFunction, function (er, data) {
...
})
```
diff --git a/deps/npm/node_modules/read-installed/package.json b/deps/npm/node_modules/read-installed/package.json
index c20eada02..c76887427 100644
--- a/deps/npm/node_modules/read-installed/package.json
+++ b/deps/npm/node_modules/read-installed/package.json
@@ -1,7 +1,7 @@
{
"name": "read-installed",
"description": "Read all the installed packages in a folder, and return a tree structure with all the data.",
- "version": "0.1.1",
+ "version": "0.2.2",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/read-installed"
@@ -11,23 +11,24 @@
"test": "node test/basic.js"
},
"dependencies": {
- "semver": "1.x",
+ "semver": "2",
"slide": "~1.1.3",
- "read-package-json": "0",
- "graceful-fs": "~1.2.0",
- "npmlog": "0"
+ "read-package-json": "1",
+ "graceful-fs": "~1.2.0"
},
"optionalDependencies": {
- "graceful-fs": "~1.2.0",
- "npmlog": "0"
+ "graceful-fs": "~1.2.0"
},
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
"url": "http://blog.izs.me/"
},
- "readme": "# read-installed\n\nRead all the installed packages in a folder, and return a tree\nstructure with all the data.\n\nnpm uses this.\n\n## Usage\n\n```javascript\nvar readInstalled = require(\"read-installed\")\n// depth is optional, defaults to Infinity\nreadInstalled(folder, depth, function (er, data) {\n ...\n})\n```\n",
+ "readme": "# read-installed\n\nRead all the installed packages in a folder, and return a tree\nstructure with all the data.\n\nnpm uses this.\n\n## Usage\n\n```javascript\nvar readInstalled = require(\"read-installed\")\n// depth is optional, defaults to Infinity\nreadInstalled(folder, depth, logFunction, function (er, data) {\n ...\n})\n```\n",
"readmeFilename": "README.md",
- "_id": "read-installed@0.1.1",
- "_from": "read-installed@0"
+ "bugs": {
+ "url": "https://github.com/isaacs/read-installed/issues"
+ },
+ "_id": "read-installed@0.2.2",
+ "_from": "read-installed@latest"
}
diff --git a/deps/npm/node_modules/read-installed/read-installed.js b/deps/npm/node_modules/read-installed/read-installed.js
index 4babfc862..f7e73be26 100644
--- a/deps/npm/node_modules/read-installed/read-installed.js
+++ b/deps/npm/node_modules/read-installed/read-installed.js
@@ -93,13 +93,6 @@ try {
var fs = require("fs")
}
-try {
- var log = require("npmlog")
-} catch (_) {
- var log = { verbose: noop, info: noop, warn: noop, error: noop }
- function noop () {}
-}
-
var path = require("path")
var asyncMap = require("slide").asyncMap
var semver = require("semver")
@@ -108,13 +101,21 @@ var url = require("url")
module.exports = readInstalled
-function readInstalled (folder, depth, cb) {
- if (typeof cb !== "function") cb = depth, depth = Infinity
+function readInstalled (folder, depth_, log_, cb_) {
+ var depth = Infinity, log = function () {}, cb
+ for (var i = 1; i < arguments.length - 1; i++) {
+ if (typeof arguments[i] === 'number')
+ depth = arguments[i]
+ else if (typeof arguments[i] === 'function')
+ log = arguments[i]
+ }
+ cb = arguments[i]
+
readInstalled_(folder, null, null, null, 0, depth, function (er, obj) {
if (er) return cb(er)
// now obj has all the installed things, where they're installed
// figure out the inheritance links, now that the object is built.
- resolveInheritance(obj)
+ resolveInheritance(obj, log)
cb(null, obj)
})
}
@@ -178,8 +179,8 @@ function readInstalled_ (folder, parent, name, reqver, depth, maxDepth, cb) {
// "foo":"http://blah" is always presumed valid
if (reqver
- && semver.validRange(reqver)
- && !semver.satisfies(obj.version, reqver)) {
+ && semver.validRange(reqver, true)
+ && !semver.satisfies(obj.version, reqver, true)) {
obj.invalid = true
}
@@ -236,7 +237,7 @@ function readInstalled_ (folder, parent, name, reqver, depth, maxDepth, cb) {
// starting from a root object, call findUnmet on each layer of children
var riSeen = []
-function resolveInheritance (obj) {
+function resolveInheritance (obj, log) {
if (typeof obj !== "object") return
if (riSeen.indexOf(obj) !== -1) return
riSeen.push(obj)
@@ -244,18 +245,18 @@ function resolveInheritance (obj) {
obj.dependencies = {}
}
Object.keys(obj.dependencies).forEach(function (dep) {
- findUnmet(obj.dependencies[dep])
+ findUnmet(obj.dependencies[dep], log)
})
Object.keys(obj.dependencies).forEach(function (dep) {
- resolveInheritance(obj.dependencies[dep])
+ resolveInheritance(obj.dependencies[dep], log)
})
- findUnmet(obj)
+ findUnmet(obj, log)
}
// find unmet deps by walking up the tree object.
// No I/O
var fuSeen = []
-function findUnmet (obj) {
+function findUnmet (obj, log) {
if (fuSeen.indexOf(obj) !== -1) return
fuSeen.push(obj)
//console.error("find unmet", obj.name, obj.parent && obj.parent.name)
@@ -280,12 +281,12 @@ function findUnmet (obj) {
if ( typeof deps[d] === "string"
// url deps presumed innocent.
&& !url.parse(deps[d]).protocol
- && !semver.satisfies(found.version, deps[d])) {
+ && !semver.satisfies(found.version, deps[d], true)) {
// the bad thing will happen
- log.warn("unmet dependency", obj.path + " requires "+d+"@'"+deps[d]
- +"' but will load\n"
- +found.path+",\nwhich is version "+found.version
- )
+ log("unmet dependency", obj.path + " requires "+d+"@'"+deps[d]
+ +"' but will load\n"
+ +found.path+",\nwhich is version "+found.version
+ )
found.invalid = true
} else {
found.extraneous = false
@@ -314,12 +315,11 @@ function findUnmet (obj) {
dependency.extraneous = false
- if (!semver.satisfies(dependency.version, peerDeps[d])) {
+ if (!semver.satisfies(dependency.version, peerDeps[d], true)) {
dependency.peerInvalid = true
}
})
- log.verbose("readInstalled", "returning", obj._id)
return obj
}
diff --git a/deps/npm/node_modules/read-installed/test/basic.js b/deps/npm/node_modules/read-installed/test/basic.js
index 0f833203f..2b0c03983 100644
--- a/deps/npm/node_modules/read-installed/test/basic.js
+++ b/deps/npm/node_modules/read-installed/test/basic.js
@@ -3,7 +3,7 @@ var util = require("util")
console.error("testing")
var called = 0
-readInstalled(process.cwd(), function (er, map) {
+readInstalled(process.cwd(), console.error, function (er, map) {
console.error(called ++)
if (er) return console.error(er.stack || er.message)
cleanup(map)
diff --git a/deps/npm/node_modules/read-package-json/README.md b/deps/npm/node_modules/read-package-json/README.md
index 97fb19f13..36b72a26d 100644
--- a/deps/npm/node_modules/read-package-json/README.md
+++ b/deps/npm/node_modules/read-package-json/README.md
@@ -17,7 +17,8 @@ npm will see when it looks at your package.
```javascript
var readJson = require('read-package-json')
-readJson('/path/to/package.json', function (er, data) {
+// readJson(filename, [logFunction=noop], [strict=false], cb)
+readJson('/path/to/package.json', console.error, false, function (er, data) {
if (er) {
console.error("There was an error reading the file")
return
@@ -27,10 +28,13 @@ readJson('/path/to/package.json', function (er, data) {
}
```
-## readJson(file, cb)
+## readJson(file, [logFn = noop], [strict = false], cb)
* `file` {String} The path to the package.json file
-* `cb` {Function}
+* `logFn` {Function} Function to handle logging. Defaults to a noop.
+* `strict` {Boolean} True to enforce SemVer 2.0 version strings, and
+ other strict requirements.
+* `cb` {Function} Gets called with `(er, data)`, as is The Node Way.
Reads the JSON file and does the things.
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/README.md b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/README.md
index 5712bd9ee..71fa95065 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/README.md
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/README.md
@@ -56,6 +56,7 @@ If the supplied data has an invalid name or version vield, `normalizeData` will
* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.
* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.
* If `homepage` field is not a string, it will be removed.
+* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.
### Rules for name field
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
index b42b30eee..d322a31b4 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
@@ -3,15 +3,19 @@ var parseGitHubURL = require("github-url-from-git")
var depTypes = ["dependencies","devDependencies","optionalDependencies"]
var extractDescription = require("./extract_description")
var url = require("url")
+var typos = require("./typos")
var fixer = module.exports = {
+ // default warning function
+ warn: function() {},
+
fixRepositoryField: function(data) {
if (data.repositories) {
this.warn("'repositories' (plural) Not supported.\n" +
"Please pick one as the 'repository' field");
data.repository = data.repositories[0]
}
- if (!data.repository) return;
+ if (!data.repository) return this.warn('No repository field.')
if (typeof data.repository === "string") {
data.repository = {
type: "git",
@@ -31,11 +35,44 @@ var fixer = module.exports = {
}
}
+, fixTypos: function(data) {
+ Object.keys(typos.topLevel).forEach(function (d) {
+ if (data.hasOwnProperty(d)) {
+ this.warn(makeTypoWarning(d, typos.topLevel[d]))
+ }
+ }, this)
+ }
+
+, fixScriptsField: function(data) {
+ if (!data.scripts) return
+ if (typeof data.scripts !== "object") {
+ this.warn("scripts must be an object")
+ delete data.scripts
+ }
+ Object.keys(data.scripts).forEach(function (k) {
+ if (typeof data.scripts[k] !== "string") {
+ this.warn("script values must be string commands")
+ delete data.scripts[k]
+ } else if (typos.script[k]) {
+ this.warn(makeTypoWarning(k, typos.script[k], "scripts"))
+ }
+ }, this)
+ }
+
, fixFilesField: function(data) {
var files = data.files
if (files && !Array.isArray(files)) {
this.warn("Invalid 'files' member")
delete data.files
+ } else if (data.files) {
+ data.files = data.files.filter(function(file) {
+ if (!file || typeof file !== "string") {
+ this.warn("Invalid filename in 'files' list: " + file)
+ return false
+ } else {
+ return true
+ }
+ }, this)
}
}
@@ -61,29 +98,83 @@ var fixer = module.exports = {
data[bd] = data[bdd]
delete data[bdd]
}
+ if (data[bd] && !Array.isArray(data[bd])) {
+ this.warn("Invalid 'bundleDependencies' list. " +
+ "Must be array of package names")
+ delete data[bd]
+ } else if (data[bd]) {
+ data[bd] = data[bd].filter(function(bd) {
+ if (!bd || typeof bd !== 'string') {
+ this.warn("Invalid bundleDependencies member: " + bd)
+ return false
+ } else {
+ return true
+ }
+ }, this)
+ }
}
-, fixDependencies: function(data) {
+, fixDependencies: function(data, strict) {
+ var loose = !strict
objectifyDeps(data, this.warn)
addOptionalDepsToDeps(data, this.warn)
this.fixBundleDependenciesField(data)
+
+ ;['dependencies','devDependencies'].forEach(function(deps) {
+ if (!(deps in data)) return
+ if (!data[deps] || typeof data[deps] !== "object") {
+ this.warn(deps + " field must be an object")
+ delete data[deps]
+ return
+ }
+ Object.keys(data[deps]).forEach(function (d) {
+ var r = data[deps][d]
+ if (typeof r !== 'string') {
+ this.warn('Invalid dependency: ' + d + ' ' + JSON.stringify(r))
+ delete data[deps][d]
+ }
+ }, this)
+ }, this)
}
-, fixKeywordsField: function (data, warn) {
+, fixModulesField: function (data) {
+ if (data.modules) {
+ this.warn("modules field is deprecated")
+ delete data.modules
+ }
+ }
+
+, fixKeywordsField: function (data) {
if (typeof data.keywords === "string") {
data.keywords = data.keywords.split(/,\s+/)
}
+ if (data.keywords && !Array.isArray(data.keywords)) {
+ delete data.keywords
+ this.warn("keywords should be an array of strings")
+ } else if (data.keywords) {
+ data.keywords = data.keywords.filter(function(kw) {
+ if (typeof kw !== "string" || !kw) {
+ this.warn("keywords should be an array of strings");
+ return false
+ } else {
+ return true
+ }
+ }, this)
+ }
}
-, fixVersionField: function(data) {
+, fixVersionField: function(data, strict) {
+ // allow "loose" semver 1.0 versions in non-strict mode
+ // enforce strict semver 2.0 compliance in strict mode
+ var loose = !strict
if (!data.version) {
data.version = ""
return true
}
- if (!semver.valid(data.version)) {
- throw new Error("invalid version: "+ data.version)
+ if (!semver.valid(data.version, loose)) {
+ throw new Error('Invalid version: "'+ data.version + '"')
}
- data.version = semver.clean(data.version)
+ data.version = semver.clean(data.version, loose)
return true
}
@@ -92,16 +183,17 @@ var fixer = module.exports = {
modifyPeople(data, parsePerson)
}
-, fixNameField: function(data) {
- if (!data.name) {
+, fixNameField: function(data, strict) {
+ if (!data.name && !strict) {
data.name = ""
- return true
+ return
}
if (typeof data.name !== "string") {
throw new Error("name field must be a string.")
}
- data.name = data.name.trim()
- ensureValidName(data.name)
+ if (!strict)
+ data.name = data.name.trim()
+ ensureValidName(data.name, strict)
}
@@ -112,10 +204,14 @@ var fixer = module.exports = {
}
if (data.readme && !data.description)
data.description = extractDescription(data.readme)
+ if (!data.description) this.warn('No description')
}
, fixReadmeField: function (data) {
- if (!data.readme) data.readme = "ERROR: No README data found!"
+ if (!data.readme) {
+ this.warn("No README data")
+ data.readme = "ERROR: No README data found!"
+ }
}
, fixBugsField: function(data) {
@@ -139,6 +235,7 @@ var fixer = module.exports = {
this.warn("Bug string field must be url, email, or {email,url}")
}
else {
+ bugsTypos(data.bugs, this.warn)
var oldBugs = data.bugs
data.bugs = {}
if(oldBugs.url) {
@@ -163,17 +260,22 @@ var fixer = module.exports = {
, fixHomepageField: function(data) {
if(!data.homepage) return true;
- if(typeof data.homepage !== "string" || !url.parse(data.homepage).protocol) {
+ if(typeof data.homepage !== "string") {
this.warn("homepage field must be a string url. Deleted.")
- delete data.homepage
+ return delete data.homepage
+ }
+ if(!url.parse(data.homepage).protocol) {
+ this.warn("homepage field must start with a protocol.")
+ data.homepage = "http://" + data.homepage
}
}
}
-function ensureValidName (name) {
+function ensureValidName (name, strict) {
if (name.charAt(0) === "." ||
name.match(/[\/@\s\+%:]/) ||
name !== encodeURIComponent(name) ||
+ (strict && name !== name.toLowerCase()) ||
name.toLowerCase() === "node_modules" ||
name.toLowerCase() === "favicon.ico") {
throw new Error("Invalid name: " + JSON.stringify(name))
@@ -247,3 +349,22 @@ function objectifyDeps (data, warn) {
data[type] = depObjectify(data[type])
})
}
+
+function bugsTypos(bugs, warn) {
+ if (!bugs) return
+ Object.keys(bugs).forEach(function (k) {
+ if (typos.bugs[k]) {
+ warn(makeTypoWarning(k, typos.bugs[k], "bugs"))
+ bugs[typos.bugs[k]] = bugs[k]
+ delete bugs[k]
+ }
+ })
+}
+
+function makeTypoWarning (providedName, probableName, field) {
+ if (field) {
+ providedName = field + "['" + providedName + "']"
+ probableName = field + "['" + probableName + "']"
+ }
+ return providedName + " should probably be " + probableName + "."
+}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/is_valid.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/is_valid.js
deleted file mode 100644
index 509fab491..000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/is_valid.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// a warning for deprecated or likely-incorrect fields
-
-module.exports = isValid
-
-var typos = require("./typos")
-
-function isValid (data, warnFunc) {
- var hasWarned = false
- function warn(msg) {
- hasWarned = true
- if(warnFunc) warnFunc(msg)
- }
- if (data.modules) warn("'modules' is deprecated")
- Object.keys(typos.topLevel).forEach(function (d) {
- if (data.hasOwnProperty(d)) {
- warn(makeTypoWarning(d, typos.topLevel[d]))
- }
- })
- checkBugsField(data.bugs, warn)
- checkScriptsField(data.scripts, warn)
- if (!data.repository) warn("No repository field.")
- if (!data.readme) warn("No readme data.")
- if (data.description && typeof data.description !== 'string') {
- warn("'description' field should be a string")
- }
- if (data[data.bundledDependencies] &&
- !Array.isArray(data.bundleDependencies)) {
- warn("bundleDependencies must be an array")
- }
- return !hasWarned
-}
-
-function checkBugsField (bugs, warn) {
- if (!bugs || typeof bugs !== "object") return
- Object.keys(bugs).forEach(function (k) {
- if (typos.bugs[k]) {
- bugs[typos.bugs[k]] = bugs[k]
- delete bugs[k]
- }
- })
-}
-
-function checkScriptsField (scripts, warn) {
- if (!scripts || typeof scripts !== "object") return
- Object.keys(scripts).forEach(function (k) {
- if (typos.script[k]) {
- warn(makeTypoWarning(k, typos.script[k], "scripts"))
- }
- })
-}
-
-function makeTypoWarning (providedName, probableName, field) {
- if (field) {
- providedName = field + "['" + providedName + "']"
- probableName = field + "['" + probableName + "']"
- }
- return providedName + " should probably be " + probableName + "."
-}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
index 336334a47..5ff5b6395 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
@@ -1,11 +1,10 @@
module.exports = normalize
-var isValid = require("./is_valid")
var fixer = require("./fixer")
-var fieldsToFix = ['name','version','description','repository'
+var fieldsToFix = ['name','version','description','repository','modules','scripts'
,'files','bin','man','bugs','keywords','readme','homepage']
-var otherThingsToFix = ['dependencies','people']
+var otherThingsToFix = ['dependencies','people', 'typos']
var thingsToFix = fieldsToFix.map(function(fieldName) {
return ucFirst(fieldName) + "Field"
@@ -15,9 +14,11 @@ var thingsToFix = fieldsToFix.map(function(fieldName) {
// thingsToFix = (ucFirst(name) + "Field" for name in fieldsToFix)
thingsToFix = thingsToFix.concat(otherThingsToFix)
-function normalize (data, warn) {
+function normalize (data, warn, strict) {
+ if(warn === true) warn = null, strict = true
+ if(!strict) strict = false
if(!warn) warn = function(msg) { /* noop */ }
- isValid(data, warn) // don't care if it's valid, we'll make it valid
+
if (data.scripts &&
data.scripts.install === "node-gyp rebuild" &&
!data.scripts.preinstall) {
@@ -25,10 +26,9 @@ function normalize (data, warn) {
}
fixer.warn = warn
thingsToFix.forEach(function(thingName) {
- fixer["fix" + ucFirst(thingName)](data)
+ fixer["fix" + ucFirst(thingName)](data, strict)
})
data._id = data.name + "@" + data.version
- if (data.modules) delete data.modules // modules field is deprecated
}
function ucFirst (string) {
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/typos.json b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/typos.json
index dd2ec6614..6dc59e6a9 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/typos.json
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/typos.json
@@ -17,7 +17,8 @@
,"autor": "author"
,"contributers": "contributors"
,"publicationConfig": "publishConfig"
+ ,"script": "scripts"
},
"bugs": { "web": "url", "name": "url" },
"script": { "server": "start", "tests": "test" }
-} \ No newline at end of file
+}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
index 0479feac5..cf8acaaf9 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
@@ -1,6 +1,6 @@
{
"name": "normalize-package-data",
- "version": "0.1.6",
+ "version": "0.2.0",
"author": {
"name": "Meryn Stol",
"email": "merynstol@gmail.com"
@@ -15,7 +15,7 @@
"test": "tap test/*.js"
},
"dependencies": {
- "semver": "1.x",
+ "semver": "2",
"github-url-from-git": "~1.1.1"
},
"devDependencies": {
@@ -33,11 +33,11 @@
"email": "merynstol@gmail.com"
}
],
- "readme": "# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nIf you don't provide a warning function, `normalizeData` functions silently.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed.\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.\n* If `homepage` field is not a string, it will be removed.\n\n### Rules for name field\n\nIf `name` field is given, the value of the name field must be a string. The string may not:\n\n* start with a period.\n* contain the following characters: `/@\\s+%`\n* contain and characters that would need to be encoded for use in urls.\n* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).\n\n### Rules for version field\n\nIf `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n\n## Credits\n\nThis package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.\n\n## License\n\nnormalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT). \nCopyright (c) 2013 Meryn Stol ",
+ "readme": "# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nIf you don't provide a warning function, `normalizeData` functions silently.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed.\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.\n* If `homepage` field is not a string, it will be removed.\n* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.\n\n### Rules for name field\n\nIf `name` field is given, the value of the name field must be a string. The string may not:\n\n* start with a period.\n* contain the following characters: `/@\\s+%`\n* contain and characters that would need to be encoded for use in urls.\n* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).\n\n### Rules for version field\n\nIf `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n\n## Credits\n\nThis package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.\n\n## License\n\nnormalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT). \nCopyright (c) 2013 Meryn Stol ",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/meryn/normalize-package-data/issues"
},
- "_id": "normalize-package-data@0.1.6",
- "_from": "normalize-package-data@~0.1.2"
+ "_id": "normalize-package-data@0.2.0",
+ "_from": "normalize-package-data@~0.2"
}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/normalize.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/normalize.js
index b015a6a49..099faf3f7 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/normalize.js
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/normalize.js
@@ -47,7 +47,11 @@ tap.test("empty object", function(t) {
}
normalize(packageData, warn)
t.same(packageData, expect)
- t.same(warnings, ["No repository field.","No readme data."])
+ t.same(warnings, [
+ "No description",
+ "No repository field.",
+ "No README data"
+ ])
t.end()
})
@@ -65,7 +69,7 @@ tap.test("urls required", function(t) {
var a
normalize(a={
readme: "read yourself how about",
- homepage: "stragle planarf",
+ homepage: 123,
bugs: "what is this i don't even",
repository: "Hello."
}, warn)
@@ -73,18 +77,41 @@ tap.test("urls required", function(t) {
console.error(a)
var expect =
- [ 'No repository field.',
- 'No readme data.',
- 'bugs.url field must be a string url. Deleted.',
- 'bugs.email field must be a string email. Deleted.',
- 'Normalized value of bugs field is an empty object. Deleted.',
- 'Bug string field must be url, email, or {email,url}',
- 'Normalized value of bugs field is an empty object. Deleted.',
- 'homepage field must be a string url. Deleted.' ]
+ [ "No description",
+ "No repository field.",
+ "bugs.url field must be a string url. Deleted.",
+ "bugs.email field must be a string email. Deleted.",
+ "Normalized value of bugs field is an empty object. Deleted.",
+ "No README data",
+ "Bug string field must be url, email, or {email,url}",
+ "Normalized value of bugs field is an empty object. Deleted.",
+ "homepage field must be a string url. Deleted." ]
t.same(warnings, expect)
t.end()
})
+tap.test("homepage field must start with a protocol.", function(t) {
+ var warnings = []
+ function warn(w) {
+ warnings.push(w)
+ }
+ var a
+ normalize(a={
+ homepage: 'example.org'
+ }, warn)
+
+ console.error(a)
+
+ var expect =
+ [ "No description",
+ "No repository field.",
+ "No README data",
+ "homepage field must start with a protocol." ]
+ t.same(warnings, expect)
+ t.same(a.homepage, 'http://example.org')
+ t.end()
+})
+
tap.test("gist bugs url", function(t) {
var d = {
repository: "git@gist.github.com:123456.git"
@@ -95,14 +122,14 @@ tap.test("gist bugs url", function(t) {
t.end();
});
-tap.test('no new globals', function(t) {
- t.same(Object.keys(global), globals)
- t.end()
-})
-
tap.test("singularize repositories", function(t) {
- d = {repositories:["git@gist.github.com:123456.git"]}
+ var d = {repositories:["git@gist.github.com:123456.git"]}
normalize(d)
t.same(d.repository, { type: 'git', url: 'git@gist.github.com:123456.git' })
t.end()
-}); \ No newline at end of file
+});
+
+tap.test('no new globals', function(t) {
+ t.same(Object.keys(global), globals)
+ t.end()
+})
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/strict.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/strict.js
new file mode 100644
index 000000000..40e09dcf2
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/strict.js
@@ -0,0 +1,54 @@
+var test = require("tap").test
+
+var normalize = require("../")
+
+test("strict", function(t) {
+ var threw
+
+ try {
+ threw = false
+ normalize({name: "X"}, true)
+ } catch (er) {
+ threw = true
+ t.equal(er.message, 'Invalid name: "X"')
+ } finally {
+ t.equal(threw, true)
+ }
+
+ try {
+ threw = false
+ normalize({name:" x "}, true)
+ } catch (er) {
+ threw = true
+ t.equal(er.message, 'Invalid name: " x "')
+ } finally {
+ t.equal(threw, true)
+ }
+
+ try {
+ threw = false
+ normalize({name:"x",version:"01.02.03"}, true)
+ } catch (er) {
+ threw = true
+ t.equal(er.message, 'Invalid version: "01.02.03"')
+ } finally {
+ t.equal(threw, true)
+ }
+
+ // these should not throw
+ var slob = {name:" X ",version:"01.02.03",dependencies:{
+ y:">01.02.03",
+ z:"! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant"
+ }}
+ normalize(slob, false)
+ t.same(slob,
+ { name: 'X',
+ version: '1.2.3',
+ dependencies:
+ { y: '>01.02.03',
+ z: '! 99 $$ASFJ(Aawenf90awenf as;naw.3j3qnraw || an elephant' },
+ readme: 'ERROR: No README data found!',
+ _id: 'X@1.2.3' })
+
+ t.end()
+})
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/typo.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/typo.js
index d7d3af0e2..72932e949 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/typo.js
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/test/typo.js
@@ -9,7 +9,8 @@ test('typos', function(t) {
}
var expect =
- [ 'dependancies should probably be dependencies.',
+ [ 'No repository field.',
+ 'dependancies should probably be dependencies.',
'dependecies should probably be dependencies.',
'depdenencies should probably be dependencies.',
'devEependencies should probably be devDependencies.',
@@ -25,14 +26,7 @@ test('typos', function(t) {
'autohr should probably be author.',
'autor should probably be author.',
'contributers should probably be contributors.',
- 'publicationConfig should probably be publishConfig.',
- 'No repository field.',
- 'No repository field.',
- 'No readme data.',
- 'bugs.url field must be a string url. Deleted.',
- 'Normalized value of bugs field is an empty object. Deleted.',
- 'No repository field.',
- 'No readme data.' ]
+ 'publicationConfig should probably be publishConfig.' ]
normalize({"dependancies": "dependencies"
,"dependecies": "dependencies"
@@ -55,13 +49,50 @@ test('typos', function(t) {
,name:"name"
,version:"1.2.5"}, warn)
+ t.same(warnings, expect)
+
+ warnings.length = 0
+ var expect =
+ [ 'No description',
+ 'No repository field.',
+ 'bugs[\'web\'] should probably be bugs[\'url\'].',
+ 'bugs[\'name\'] should probably be bugs[\'url\'].',
+ 'bugs.url field must be a string url. Deleted.',
+ 'Normalized value of bugs field is an empty object. Deleted.',
+ "No README data" ]
+
normalize({name:"name"
,version:"1.2.5"
,bugs:{web:"url",name:"url"}}, warn)
+ t.same(warnings, expect)
+
+ warnings.length = 0
+ var expect =
+ [ 'No description',
+ 'No repository field.',
+ "No README data",
+ 'script should probably be scripts.' ]
+
normalize({name:"name"
,version:"1.2.5"
,script:{server:"start",tests:"test"}}, warn)
+
+ t.same(warnings, expect)
+
+ warnings.length = 0
+ expect =
+ [ 'No description',
+ 'No repository field.',
+ 'scripts[\'server\'] should probably be scripts[\'start\'].',
+ 'scripts[\'tests\'] should probably be scripts[\'test\'].',
+ "No README data" ]
+
+ normalize({name:"name"
+ ,version:"1.2.5"
+ ,scripts:{server:"start",tests:"test"}}, warn)
+
t.same(warnings, expect)
+
t.end();
})
diff --git a/deps/npm/node_modules/read-package-json/package.json b/deps/npm/node_modules/read-package-json/package.json
index 6a2796e0b..45fb140e3 100644
--- a/deps/npm/node_modules/read-package-json/package.json
+++ b/deps/npm/node_modules/read-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "read-package-json",
- "version": "0.4.1",
+ "version": "1.1.0",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
@@ -18,22 +18,20 @@
"dependencies": {
"glob": "~3.2.1",
"lru-cache": "2",
- "normalize-package-data": "~0.1.2",
- "npmlog": "0",
+ "normalize-package-data": "~0.2",
"graceful-fs": "~1.2"
},
"devDependencies": {
"tap": "~0.2.5"
},
"optionalDependencies": {
- "npmlog": "0",
"graceful-fs": "~1.2"
},
- "readme": "# read-package-json\n\nThis is the thing that npm uses to read package.json files. It\nvalidates some stuff, and loads some default things.\n\nIt keeps a cache of the files you've read, so that you don't end\nup reading the same package.json file multiple times.\n\nNote that if you just want to see what's literally in the package.json\nfile, you can usually do `var data = require('some-module/package.json')`.\n\nThis module is basically only needed by npm, but it's handy to see what\nnpm will see when it looks at your package.\n\n## Usage\n\n```javascript\nvar readJson = require('read-package-json')\n\nreadJson('/path/to/package.json', function (er, data) {\n if (er) {\n console.error(\"There was an error reading the file\")\n return\n }\n\n console.error('the package data is', data)\n}\n```\n\n## readJson(file, cb)\n\n* `file` {String} The path to the package.json file\n* `cb` {Function}\n\nReads the JSON file and does the things.\n\n## `package.json` Fields\n\nSee `man 5 package.json` or `npm help json`.\n\n## readJson.log\n\nBy default this is a reference to the `npmlog` module. But if that\nmodule can't be found, then it'll be set to just a dummy thing that does\nnothing.\n\nReplace with your own `{log,warn,error}` object for fun loggy time.\n\n## readJson.extras(file, data, cb)\n\nRun all the extra stuff relative to the file, with the parsed data.\n\nModifies the data as it does stuff. Calls the cb when it's done.\n\n## readJson.extraSet = [fn, fn, ...]\n\nArray of functions that are called by `extras`. Each one receives the\narguments `fn(file, data, cb)` and is expected to call `cb(er, data)`\nwhen done or when an error occurs.\n\nOrder is indeterminate, so each function should be completely\nindependent.\n\nMix and match!\n\n## readJson.cache\n\nThe `lru-cache` object that readJson uses to not read the same file over\nand over again. See\n[lru-cache](https://github.com/isaacs/node-lru-cache) for details.\n\n## Other Relevant Files Besides `package.json`\n\nSome other files have an effect on the resulting data object, in the\nfollowing ways:\n\n### `README?(.*)`\n\nIf there is a `README` or `README.*` file present, then npm will attach\na `readme` field to the data with the contents of this file.\n\nOwing to the fact that roughly 100% of existing node modules have\nMarkdown README files, it will generally be assumed to be Markdown,\nregardless of the extension. Please plan accordingly.\n\n### `server.js`\n\nIf there is a `server.js` file, and there is not already a\n`scripts.start` field, then `scripts.start` will be set to `node\nserver.js`.\n\n### `AUTHORS`\n\nIf there is not already a `contributors` field, then the `contributors`\nfield will be set to the contents of the `AUTHORS` file, split by lines,\nand parsed.\n\n### `bindings.gyp`\n\nIf a bindings.gyp file exists, and there is not already a\n`scripts.install` field, then the `scripts.install` field will be set to\n`node-gyp rebuild`.\n\n### `wscript`\n\nIf a wscript file exists, and there is not already a `scripts.install`\nfield, then the `scripts.install` field will be set to `node-waf clean ;\nnode-waf configure build`.\n\nNote that the `bindings.gyp` file supercedes this, since node-waf has\nbeen deprecated in favor of node-gyp.\n\n### `index.js`\n\nIf the json file does not exist, but there is a `index.js` file\npresent instead, and that file has a package comment, then it will try\nto parse the package comment, and use that as the data instead.\n\nA package comment looks like this:\n\n```javascript\n/**package\n * { \"name\": \"my-bare-module\"\n * , \"version\": \"1.2.3\"\n * , \"description\": \"etc....\" }\n **/\n\n// or...\n\n/**package\n{ \"name\": \"my-bare-module\"\n, \"version\": \"1.2.3\"\n, \"description\": \"etc....\" }\n**/\n```\n\nThe important thing is that it starts with `/**package`, and ends with\n`**/`. If the package.json file exists, then the index.js is not\nparsed.\n\n### `{directories.man}/*.[0-9]`\n\nIf there is not already a `man` field defined as an array of files or a\nsingle file, and\nthere is a `directories.man` field defined, then that directory will\nbe searched for manpages.\n\nAny valid manpages found in that directory will be assigned to the `man`\narray, and installed in the appropriate man directory at package install\ntime, when installed globally on a Unix system.\n\n### `{directories.bin}/*`\n\nIf there is not already a `bin` field defined as a string filename or a\nhash of `<name> : <filename>` pairs, then the `directories.bin`\ndirectory will be searched and all the files within it will be linked as\nexecutables at install time.\n\nWhen installing locally, npm links bins into `node_modules/.bin`, which\nis in the `PATH` environ when npm runs scripts. When\ninstalling globally, they are linked into `{prefix}/bin`, which is\npresumably in the `PATH` environment variable.\n",
+ "readme": "# read-package-json\n\nThis is the thing that npm uses to read package.json files. It\nvalidates some stuff, and loads some default things.\n\nIt keeps a cache of the files you've read, so that you don't end\nup reading the same package.json file multiple times.\n\nNote that if you just want to see what's literally in the package.json\nfile, you can usually do `var data = require('some-module/package.json')`.\n\nThis module is basically only needed by npm, but it's handy to see what\nnpm will see when it looks at your package.\n\n## Usage\n\n```javascript\nvar readJson = require('read-package-json')\n\n// readJson(filename, [logFunction=noop], [strict=false], cb)\nreadJson('/path/to/package.json', console.error, false, function (er, data) {\n if (er) {\n console.error(\"There was an error reading the file\")\n return\n }\n\n console.error('the package data is', data)\n}\n```\n\n## readJson(file, [logFn = noop], [strict = false], cb)\n\n* `file` {String} The path to the package.json file\n* `logFn` {Function} Function to handle logging. Defaults to a noop.\n* `strict` {Boolean} True to enforce SemVer 2.0 version strings, and\n other strict requirements.\n* `cb` {Function} Gets called with `(er, data)`, as is The Node Way.\n\nReads the JSON file and does the things.\n\n## `package.json` Fields\n\nSee `man 5 package.json` or `npm help json`.\n\n## readJson.log\n\nBy default this is a reference to the `npmlog` module. But if that\nmodule can't be found, then it'll be set to just a dummy thing that does\nnothing.\n\nReplace with your own `{log,warn,error}` object for fun loggy time.\n\n## readJson.extras(file, data, cb)\n\nRun all the extra stuff relative to the file, with the parsed data.\n\nModifies the data as it does stuff. Calls the cb when it's done.\n\n## readJson.extraSet = [fn, fn, ...]\n\nArray of functions that are called by `extras`. Each one receives the\narguments `fn(file, data, cb)` and is expected to call `cb(er, data)`\nwhen done or when an error occurs.\n\nOrder is indeterminate, so each function should be completely\nindependent.\n\nMix and match!\n\n## readJson.cache\n\nThe `lru-cache` object that readJson uses to not read the same file over\nand over again. See\n[lru-cache](https://github.com/isaacs/node-lru-cache) for details.\n\n## Other Relevant Files Besides `package.json`\n\nSome other files have an effect on the resulting data object, in the\nfollowing ways:\n\n### `README?(.*)`\n\nIf there is a `README` or `README.*` file present, then npm will attach\na `readme` field to the data with the contents of this file.\n\nOwing to the fact that roughly 100% of existing node modules have\nMarkdown README files, it will generally be assumed to be Markdown,\nregardless of the extension. Please plan accordingly.\n\n### `server.js`\n\nIf there is a `server.js` file, and there is not already a\n`scripts.start` field, then `scripts.start` will be set to `node\nserver.js`.\n\n### `AUTHORS`\n\nIf there is not already a `contributors` field, then the `contributors`\nfield will be set to the contents of the `AUTHORS` file, split by lines,\nand parsed.\n\n### `bindings.gyp`\n\nIf a bindings.gyp file exists, and there is not already a\n`scripts.install` field, then the `scripts.install` field will be set to\n`node-gyp rebuild`.\n\n### `wscript`\n\nIf a wscript file exists, and there is not already a `scripts.install`\nfield, then the `scripts.install` field will be set to `node-waf clean ;\nnode-waf configure build`.\n\nNote that the `bindings.gyp` file supercedes this, since node-waf has\nbeen deprecated in favor of node-gyp.\n\n### `index.js`\n\nIf the json file does not exist, but there is a `index.js` file\npresent instead, and that file has a package comment, then it will try\nto parse the package comment, and use that as the data instead.\n\nA package comment looks like this:\n\n```javascript\n/**package\n * { \"name\": \"my-bare-module\"\n * , \"version\": \"1.2.3\"\n * , \"description\": \"etc....\" }\n **/\n\n// or...\n\n/**package\n{ \"name\": \"my-bare-module\"\n, \"version\": \"1.2.3\"\n, \"description\": \"etc....\" }\n**/\n```\n\nThe important thing is that it starts with `/**package`, and ends with\n`**/`. If the package.json file exists, then the index.js is not\nparsed.\n\n### `{directories.man}/*.[0-9]`\n\nIf there is not already a `man` field defined as an array of files or a\nsingle file, and\nthere is a `directories.man` field defined, then that directory will\nbe searched for manpages.\n\nAny valid manpages found in that directory will be assigned to the `man`\narray, and installed in the appropriate man directory at package install\ntime, when installed globally on a Unix system.\n\n### `{directories.bin}/*`\n\nIf there is not already a `bin` field defined as a string filename or a\nhash of `<name> : <filename>` pairs, then the `directories.bin`\ndirectory will be searched and all the files within it will be linked as\nexecutables at install time.\n\nWhen installing locally, npm links bins into `node_modules/.bin`, which\nis in the `PATH` environ when npm runs scripts. When\ninstalling globally, they are linked into `{prefix}/bin`, which is\npresumably in the `PATH` environment variable.\n",
"readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/isaacs/read-package-json/issues"
},
- "_id": "read-package-json@0.4.1",
- "_from": "read-package-json@~0.4.1"
+ "_id": "read-package-json@1.1.0",
+ "_from": "read-package-json@1"
}
diff --git a/deps/npm/node_modules/read-package-json/read-json.js b/deps/npm/node_modules/read-package-json/read-json.js
index acb128680..d9a4610d9 100644
--- a/deps/npm/node_modules/read-package-json/read-json.js
+++ b/deps/npm/node_modules/read-package-json/read-json.js
@@ -1,17 +1,6 @@
// vim: set softtabstop=16 shiftwidth=16:
try {
- readJson.log = require("npmlog")
-} catch (er) {
- readJson.log = {
- info: function () {},
- verbose: function () {},
- warn: function () {}
- }
-}
-
-
-try {
var fs = require("graceful-fs")
} catch (er) {
var fs = require("fs")
@@ -40,25 +29,33 @@ readJson.extraSet = [
var typoWarned = {}
-function readJson (file, cb) {
+function readJson (file, log_, strict_, cb_) {
+ var log, strict, cb
+ for (var i = 1; i < arguments.length - 1; i++) {
+ if (typeof arguments[i] === 'boolean')
+ strict = arguments[i]
+ else if (typeof arguments[i] === 'function')
+ log = arguments[i]
+ }
+ if (!log) log = function () {};
+ cb = arguments[ arguments.length - 1 ]
+
var c = readJson.cache.get(file)
if (c) {
- readJson.log.verbose("from cache", file)
cb = cb.bind(null, null, c)
return process.nextTick(cb);
}
- readJson.log.verbose("read json", file)
cb = (function (orig) { return function (er, data) {
if (data) readJson.cache.set(file, data);
return orig(er, data)
} })(cb)
- readJson_(file, cb)
+ readJson_(file, log, strict, cb)
}
-function readJson_ (file, cb) {
+function readJson_ (file, log, strict, cb) {
fs.readFile(file, "utf8", function (er, d) {
- parseJson(file, er, d, cb)
+ parseJson(file, er, d, log, strict, cb)
})
}
@@ -74,9 +71,9 @@ function stripBOM(content) {
}
-function parseJson (file, er, d, cb) {
+function parseJson (file, er, d, log, strict, cb) {
if (er && er.code === "ENOENT") {
- indexjs(file, er, cb)
+ indexjs(file, er, log, strict, cb)
return
}
if (er) return cb(er);
@@ -86,11 +83,11 @@ function parseJson (file, er, d, cb) {
d = parseIndex(d)
if (!d) return cb(parseError(er, file));
}
- extras(file, d, cb)
+ extras(file, d, log, strict, cb)
}
-function indexjs (file, er, cb) {
+function indexjs (file, er, log, strict, cb) {
if (path.basename(file) === "index.js") {
return cb(er);
}
@@ -99,13 +96,21 @@ function indexjs (file, er, cb) {
if (er2) return cb(er);
d = parseIndex(d)
if (!d) return cb(er);
- extras(file, d, cb)
+ extras(file, d, log, strict, cb)
})
}
readJson.extras = extras
-function extras (file, data, cb) {
+function extras (file, data, log_, strict_, cb_) {
+ var log, strict, cb
+ for (var i = 2; i < arguments.length - 1; i++) {
+ if (typeof arguments[i] === 'boolean')
+ strict = arguments[i]
+ else if (typeof arguments[i] === 'function')
+ log = arguments[i]
+ }
+ cb = arguments[i]
var set = readJson.extraSet
var n = set.length
var errState = null
@@ -115,7 +120,8 @@ function extras (file, data, cb) {
function then(er) {
if (errState) return;
if (er) return cb(errState = er);
- if (--n === 0) final(file, data, cb);
+ if (--n > 0) return;
+ final(file, data, log, strict, cb);
}
}
@@ -294,14 +300,14 @@ function githead_ (file, data, dir, head, cb) {
})
}
-function final (file, data, cb) {
+function final (file, data, log, strict, cb) {
var pId = makePackageId(data)
function warn(msg) {
if (typoWarned[pId]) return;
- readJson.log.warn("package.json", pId, msg)
+ if (log) log("package.json", pId, msg);
}
try {
- normalizeData(data, warn)
+ normalizeData(data, warn, strict)
}
catch (error) {
return cb(error)
diff --git a/deps/npm/node_modules/rimraf/README.md b/deps/npm/node_modules/rimraf/README.md
index 96ce9b2a0..8fc677956 100644
--- a/deps/npm/node_modules/rimraf/README.md
+++ b/deps/npm/node_modules/rimraf/README.md
@@ -19,3 +19,8 @@ errors are handled for you:
It can remove stuff synchronously, too. But that's not so good. Use
the async API. It's better.
+
+## CLI
+
+If installed with `npm install rimraf -g` it can be used as a global
+command `rimraf <path>` which is useful for cross platform support.
diff --git a/deps/npm/node_modules/rimraf/bin.js b/deps/npm/node_modules/rimraf/bin.js
new file mode 100755
index 000000000..29bfa8a63
--- /dev/null
+++ b/deps/npm/node_modules/rimraf/bin.js
@@ -0,0 +1,33 @@
+#!/usr/bin/env node
+
+var rimraf = require('./')
+
+var help = false
+var dashdash = false
+var args = process.argv.slice(2).filter(function(arg) {
+ if (dashdash)
+ return !!arg
+ else if (arg === '--')
+ dashdash = true
+ else if (arg.match(/^(-+|\/)(h(elp)?|\?)$/))
+ help = true
+ else
+ return !!arg
+});
+
+if (help || args.length === 0) {
+ // If they didn't ask for help, then this is not a "success"
+ var log = help ? console.log : console.error
+ log('Usage: rimraf <path>')
+ log('')
+ log(' Deletes all files and folders at "path" recursively.')
+ log('')
+ log('Options:')
+ log('')
+ log(' -h, --help Display this usage info')
+ process.exit(help ? 0 : 1)
+} else {
+ args.forEach(function(arg) {
+ rimraf.sync(arg)
+ })
+}
diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json
index 679ee6b03..e65f9a263 100644
--- a/deps/npm/node_modules/rimraf/package.json
+++ b/deps/npm/node_modules/rimraf/package.json
@@ -1,6 +1,6 @@
{
"name": "rimraf",
- "version": "2.1.4",
+ "version": "2.2.0",
"main": "rimraf.js",
"description": "A deep deletion module for node (like `rm -rf`)",
"author": {
@@ -22,6 +22,9 @@
"scripts": {
"test": "cd test && bash run.sh"
},
+ "bin": {
+ "rimraf": "./bin.js"
+ },
"contributors": [
{
"name": "Isaac Z. Schlueter",
@@ -45,11 +48,14 @@
"email": "yosefd@microsoft.com"
}
],
- "readme": "A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that's not so good. Use\nthe async API. It's better.\n",
+ "readme": "A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that's not so good. Use\nthe async API. It's better.\n\n## CLI\n\nIf installed with `npm install rimraf -g` it can be used as a global\ncommand `rimraf <path>` which is useful for cross platform support.\n",
"readmeFilename": "README.md",
- "_id": "rimraf@2.1.4",
+ "bugs": {
+ "url": "https://github.com/isaacs/rimraf/issues"
+ },
"dependencies": {
"graceful-fs": "~1"
},
- "_from": "rimraf@2"
+ "_id": "rimraf@2.2.0",
+ "_from": "rimraf@2.2"
}
diff --git a/deps/npm/node_modules/semver/.npmignore b/deps/npm/node_modules/semver/.npmignore
new file mode 100644
index 000000000..7300fbc79
--- /dev/null
+++ b/deps/npm/node_modules/semver/.npmignore
@@ -0,0 +1 @@
+# nada
diff --git a/deps/npm/node_modules/semver/LICENSE b/deps/npm/node_modules/semver/LICENSE
index 05a401094..0c44ae716 100644
--- a/deps/npm/node_modules/semver/LICENSE
+++ b/deps/npm/node_modules/semver/LICENSE
@@ -1,23 +1,27 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
+Copyright (c) Isaac Z. Schlueter ("Author")
All rights reserved.
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
+The BSD License
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/deps/npm/node_modules/semver/Makefile b/deps/npm/node_modules/semver/Makefile
new file mode 100644
index 000000000..e171f70e2
--- /dev/null
+++ b/deps/npm/node_modules/semver/Makefile
@@ -0,0 +1,24 @@
+files = semver.browser.js \
+ semver.min.js \
+ semver.browser.js.gz \
+ semver.min.js.gz
+
+all: $(files)
+
+clean:
+ rm $(files)
+
+semver.browser.js: head.js semver.js foot.js
+ ( cat head.js; \
+ cat semver.js | \
+ egrep -v '^ *\/\* nomin \*\/' | \
+ perl -pi -e 's/debug\([^\)]+\)//g'; \
+ cat foot.js ) > semver.browser.js
+
+semver.min.js: semver.browser.js
+ uglifyjs -m <semver.browser.js >semver.min.js
+
+%.gz: %
+ gzip --stdout -9 <$< >$@
+
+.PHONY: all clean
diff --git a/deps/npm/node_modules/semver/README.md b/deps/npm/node_modules/semver/README.md
index 219300968..a315fe888 100644
--- a/deps/npm/node_modules/semver/README.md
+++ b/deps/npm/node_modules/semver/README.md
@@ -33,59 +33,50 @@ As a command-line utility:
## Versions
-A version is the following things, in this order:
-
-* a number (Major)
-* a period
-* a number (minor)
-* a period
-* a number (patch)
-* OPTIONAL: a hyphen, followed by a number (build)
-* OPTIONAL: a collection of pretty much any non-whitespace characters
- (tag)
+A "version" is described by the v2.0.0 specification found at
+<http://semver.org/>.
A leading `"="` or `"v"` character is stripped off and ignored.
-## Comparisons
-
-The ordering of versions is done using the following algorithm, given
-two versions and asked to find the greater of the two:
-
-* If the majors are numerically different, then take the one
- with a bigger major number. `2.3.4 > 1.3.4`
-* If the minors are numerically different, then take the one
- with the bigger minor number. `2.3.4 > 2.2.4`
-* If the patches are numerically different, then take the one with the
- bigger patch number. `2.3.4 > 2.3.3`
-* If only one of them has a build number, then take the one with the
- build number. `2.3.4-0 > 2.3.4`
-* If they both have build numbers, and the build numbers are numerically
- different, then take the one with the bigger build number.
- `2.3.4-10 > 2.3.4-9`
-* If only one of them has a tag, then take the one without the tag.
- `2.3.4 > 2.3.4-beta`
-* If they both have tags, then take the one with the lexicographically
- larger tag. `2.3.4-beta > 2.3.4-alpha`
-* At this point, they're equal.
-
## Ranges
The following range styles are supported:
+* `1.2.3` A specific version. When nothing else will do. Note that
+ build metadata is still ignored, so `1.2.3+build2012` will satisfy
+ this range.
* `>1.2.3` Greater than a specific version.
-* `<1.2.3` Less than
+* `<1.2.3` Less than a specific version. If there is no prerelease
+ tag on the version range, then no prerelease version will be allowed
+ either, even though these are technically "less than".
+* `>=1.2.3` Greater than or equal to. Note that prerelease versions
+ are NOT equal to their "normal" equivalents, so `1.2.3-beta` will
+ not satisfy this range, but `2.3.0-beta` will.
+* `<=1.2.3` Less than or equal to. In this case, prerelease versions
+ ARE allowed, so `1.2.3-beta` would satisfy.
* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
-* `~1.2.3` := `>=1.2.3 <1.3.0`
-* `~1.2` := `>=1.2.0 <1.3.0`
-* `~1` := `>=1.0.0 <2.0.0`
-* `1.2.x` := `>=1.2.0 <1.3.0`
-* `1.x` := `>=1.0.0 <2.0.0`
+* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` "Reasonably close to 1.2.3". When
+ using tilde operators, prerelease versions are supported as well,
+ but a prerelease of the next significant digit will NOT be
+ satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.
+* `~1.2` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"
+* `1.2.x` := `>=1.2.0-0 <1.3.0-0` "Any version starting with 1.2"
+* `~1` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"
+* `1.x` := `>=1.0.0-0 <2.0.0-0` "Any version starting with 1"
+
Ranges can be joined with either a space (which implies "and") or a
`||` (which implies "or").
## Functions
+All methods and classes take a final `loose` boolean argument that, if
+true, will be more forgiving about not-quite-valid semver strings.
+The resulting output will always be 100% strict, of course.
+
+Strict-mode Comparators and Ranges will be strict about the SemVer
+strings that they parse.
+
* valid(v): Return the parsed version, or null if it's not valid.
* inc(v, release): Return the version incremented by the release type
(major, minor, patch, or build), or null if it's not valid.
diff --git a/deps/npm/node_modules/semver/foot.js b/deps/npm/node_modules/semver/foot.js
new file mode 100644
index 000000000..8f83c20f8
--- /dev/null
+++ b/deps/npm/node_modules/semver/foot.js
@@ -0,0 +1,6 @@
+
+})(
+ typeof exports === 'object' ? exports :
+ typeof define === 'function' && define.amd ? {} :
+ semver = {}
+);
diff --git a/deps/npm/node_modules/semver/head.js b/deps/npm/node_modules/semver/head.js
new file mode 100644
index 000000000..653686517
--- /dev/null
+++ b/deps/npm/node_modules/semver/head.js
@@ -0,0 +1,2 @@
+;(function(exports) {
+
diff --git a/deps/npm/node_modules/semver/package.json b/deps/npm/node_modules/semver/package.json
index abbfb210b..1165e912a 100644
--- a/deps/npm/node_modules/semver/package.json
+++ b/deps/npm/node_modules/semver/package.json
@@ -1,18 +1,19 @@
{
"name": "semver",
- "version": "1.1.4",
+ "version": "2.0.8",
"description": "The semantic version parser used by npm.",
"main": "semver.js",
+ "browser": "semver.browser.js",
+ "min": "semver.min.js",
"scripts": {
- "test": "tap test.js"
+ "test": "tap test/*.js",
+ "prepublish": "make"
},
"devDependencies": {
- "tap": "0.x >=0.0.4"
- },
- "license": {
- "type": "MIT",
- "url": "https://github.com/isaacs/semver/raw/master/LICENSE"
+ "tap": "0.x >=0.0.4",
+ "uglify-js": "~2.3.6"
},
+ "license": "BSD",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-semver.git"
@@ -20,8 +21,11 @@
"bin": {
"semver": "./bin/semver"
},
- "readme": "semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid('1.2.3') // '1.2.3'\n semver.valid('a.b.c') // null\n semver.clean(' =v1.2.3 ') // '1.2.3'\n semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true\n semver.gt('1.2.3', '9.8.7') // false\n semver.lt('1.2.3', '9.8.7') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver -v <version> [-r <range>]\n Test if version(s) satisfy the supplied range(s),\n and sort them.\n\n Multiple versions or ranges may be supplied.\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA version is the following things, in this order:\n\n* a number (Major)\n* a period\n* a number (minor)\n* a period\n* a number (patch)\n* OPTIONAL: a hyphen, followed by a number (build)\n* OPTIONAL: a collection of pretty much any non-whitespace characters\n (tag)\n\nA leading `\"=\"` or `\"v\"` character is stripped off and ignored.\n\n## Comparisons\n\nThe ordering of versions is done using the following algorithm, given\ntwo versions and asked to find the greater of the two:\n\n* If the majors are numerically different, then take the one\n with a bigger major number. `2.3.4 > 1.3.4`\n* If the minors are numerically different, then take the one\n with the bigger minor number. `2.3.4 > 2.2.4`\n* If the patches are numerically different, then take the one with the\n bigger patch number. `2.3.4 > 2.3.3`\n* If only one of them has a build number, then take the one with the\n build number. `2.3.4-0 > 2.3.4`\n* If they both have build numbers, and the build numbers are numerically\n different, then take the one with the bigger build number.\n `2.3.4-10 > 2.3.4-9`\n* If only one of them has a tag, then take the one without the tag.\n `2.3.4 > 2.3.4-beta`\n* If they both have tags, then take the one with the lexicographically\n larger tag. `2.3.4-beta > 2.3.4-alpha`\n* At this point, they're equal.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3 <1.3.0`\n* `~1.2` := `>=1.2.0 <1.3.0`\n* `~1` := `>=1.0.0 <2.0.0`\n* `1.2.x` := `>=1.2.0 <1.3.0`\n* `1.x` := `>=1.0.0 <2.0.0`\n\nRanges can be joined with either a space (which implies \"and\") or a\n`||` (which implies \"or\").\n\n## Functions\n\n* valid(v): Return the parsed version, or null if it's not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or build), or null if it's not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they're logically equivalent,\n even if they're not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it'll call\n the corresponding function above. `\"===\"` and `\"!==\"` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it's not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n",
+ "readme": "semver(1) -- The semantic versioner for npm\n===========================================\n\n## Usage\n\n $ npm install semver\n\n semver.valid('1.2.3') // '1.2.3'\n semver.valid('a.b.c') // null\n semver.clean(' =v1.2.3 ') // '1.2.3'\n semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true\n semver.gt('1.2.3', '9.8.7') // false\n semver.lt('1.2.3', '9.8.7') // true\n\nAs a command-line utility:\n\n $ semver -h\n\n Usage: semver -v <version> [-r <range>]\n Test if version(s) satisfy the supplied range(s),\n and sort them.\n\n Multiple versions or ranges may be supplied.\n\n Program exits successfully if any valid version satisfies\n all supplied ranges, and prints all satisfying versions.\n\n If no versions are valid, or ranges are not satisfied,\n then exits failure.\n\n Versions are printed in ascending order, so supplying\n multiple versions to the utility will just sort them.\n\n## Versions\n\nA \"version\" is described by the v2.0.0 specification found at\n<http://semver.org/>.\n\nA leading `\"=\"` or `\"v\"` character is stripped off and ignored.\n\n## Ranges\n\nThe following range styles are supported:\n\n* `1.2.3` A specific version. When nothing else will do. Note that\n build metadata is still ignored, so `1.2.3+build2012` will satisfy\n this range.\n* `>1.2.3` Greater than a specific version.\n* `<1.2.3` Less than a specific version. If there is no prerelease\n tag on the version range, then no prerelease version will be allowed\n either, even though these are technically \"less than\".\n* `>=1.2.3` Greater than or equal to. Note that prerelease versions\n are NOT equal to their \"normal\" equivalents, so `1.2.3-beta` will\n not satisfy this range, but `2.3.0-beta` will.\n* `<=1.2.3` Less than or equal to. In this case, prerelease versions\n ARE allowed, so `1.2.3-beta` would satisfy.\n* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`\n* `~1.2.3` := `>=1.2.3-0 <1.3.0-0` \"Reasonably close to 1.2.3\". When\n using tilde operators, prerelease versions are supported as well,\n but a prerelease of the next significant digit will NOT be\n satisfactory, so `1.3.0-beta` will not satisfy `~1.2.3`.\n* `~1.2` := `>=1.2.0-0 <1.3.0-0` \"Any version starting with 1.2\"\n* `1.2.x` := `>=1.2.0-0 <1.3.0-0` \"Any version starting with 1.2\"\n* `~1` := `>=1.0.0-0 <2.0.0-0` \"Any version starting with 1\"\n* `1.x` := `>=1.0.0-0 <2.0.0-0` \"Any version starting with 1\"\n\n\nRanges can be joined with either a space (which implies \"and\") or a\n`||` (which implies \"or\").\n\n## Functions\n\nAll methods and classes take a final `loose` boolean argument that, if\ntrue, will be more forgiving about not-quite-valid semver strings.\nThe resulting output will always be 100% strict, of course.\n\nStrict-mode Comparators and Ranges will be strict about the SemVer\nstrings that they parse.\n\n* valid(v): Return the parsed version, or null if it's not valid.\n* inc(v, release): Return the version incremented by the release type\n (major, minor, patch, or build), or null if it's not valid.\n\n### Comparison\n\n* gt(v1, v2): `v1 > v2`\n* gte(v1, v2): `v1 >= v2`\n* lt(v1, v2): `v1 < v2`\n* lte(v1, v2): `v1 <= v2`\n* eq(v1, v2): `v1 == v2` This is true if they're logically equivalent,\n even if they're not the exact same string. You already know how to\n compare strings.\n* neq(v1, v2): `v1 != v2` The opposite of eq.\n* cmp(v1, comparator, v2): Pass in a comparison string, and it'll call\n the corresponding function above. `\"===\"` and `\"!==\"` do simple\n string comparison, but are included for completeness. Throws if an\n invalid comparison string is provided.\n* compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if\n v2 is greater. Sorts in ascending order if passed to Array.sort().\n* rcompare(v1, v2): The reverse of compare. Sorts an array of versions\n in descending order when passed to Array.sort().\n\n\n### Ranges\n\n* validRange(range): Return the valid range or null if it's not valid\n* satisfies(version, range): Return true if the version satisfies the\n range.\n* maxSatisfying(versions, range): Return the highest version in the list\n that satisfies the range, or null if none of them do.\n",
"readmeFilename": "README.md",
- "_id": "semver@1.1.4",
- "_from": "semver@1.1.4"
+ "bugs": {
+ "url": "https://github.com/isaacs/node-semver/issues"
+ },
+ "_id": "semver@2.0.8",
+ "_from": "semver@latest"
}
diff --git a/deps/npm/node_modules/semver/semver.browser.js b/deps/npm/node_modules/semver/semver.browser.js
new file mode 100644
index 000000000..2aeae38a6
--- /dev/null
+++ b/deps/npm/node_modules/semver/semver.browser.js
@@ -0,0 +1,850 @@
+;(function(exports) {
+
+// export the class if we are in a Node-like system.
+if (typeof module === 'object' && module.exports === exports)
+ exports = module.exports = SemVer;
+
+// The debug function is excluded entirely from the minified version.
+
+// Note: this is the semver.org version of the spec that it implements
+// Not necessarily the package version of this code.
+exports.SEMVER_SPEC_VERSION = '2.0.0';
+
+// The actual regexps go on exports.re
+var re = exports.re = [];
+var src = exports.src = [];
+var R = 0;
+
+// The following Regular Expressions can be used for tokenizing,
+// validating, and parsing SemVer version strings.
+
+// ## Numeric Identifier
+// A single `0`, or a non-zero digit followed by zero or more digits.
+
+var NUMERICIDENTIFIER = R++;
+src[NUMERICIDENTIFIER] = '0|[1-9]\\d*';
+var NUMERICIDENTIFIERLOOSE = R++;
+src[NUMERICIDENTIFIERLOOSE] = '[0-9]+';
+
+
+// ## Non-numeric Identifier
+// Zero or more digits, followed by a letter or hyphen, and then zero or
+// more letters, digits, or hyphens.
+
+var NONNUMERICIDENTIFIER = R++;
+src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
+
+
+// ## Main Version
+// Three dot-separated numeric identifiers.
+
+var MAINVERSION = R++;
+src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIER] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIER] + ')';
+
+var MAINVERSIONLOOSE = R++;
+src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIERLOOSE] + ')';
+
+// ## Pre-release Version Identifier
+// A numeric identifier, or a non-numeric identifier.
+
+var PRERELEASEIDENTIFIER = R++;
+src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
+ '|' + src[NONNUMERICIDENTIFIER] + ')';
+
+var PRERELEASEIDENTIFIERLOOSE = R++;
+src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
+ '|' + src[NONNUMERICIDENTIFIER] + ')';
+
+
+// ## Pre-release Version
+// Hyphen, followed by one or more dot-separated pre-release version
+// identifiers.
+
+var PRERELEASE = R++;
+src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
+ '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))';
+
+var PRERELEASELOOSE = R++;
+src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
+ '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))';
+
+// ## Build Metadata Identifier
+// Any combination of digits, letters, or hyphens.
+
+var BUILDIDENTIFIER = R++;
+src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
+
+// ## Build Metadata
+// Plus sign, followed by one or more period-separated build metadata
+// identifiers.
+
+var BUILD = R++;
+src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
+ '(?:\\.' + src[BUILDIDENTIFIER] + ')*))';
+
+
+// ## Full Version String
+// A main version, followed optionally by a pre-release version and
+// build metadata.
+
+// Note that the only major, minor, patch, and pre-release sections of
+// the version string are capturing groups. The build metadata is not a
+// capturing group, because it should not ever be used in version
+// comparison.
+
+var FULL = R++;
+var FULLPLAIN = 'v?' + src[MAINVERSION] +
+ src[PRERELEASE] + '?' +
+ src[BUILD] + '?';
+
+src[FULL] = '^' + FULLPLAIN + '$';
+
+// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
+// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
+// common in the npm registry.
+var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
+ src[PRERELEASELOOSE] + '?' +
+ src[BUILD] + '?';
+
+var LOOSE = R++;
+src[LOOSE] = '^' + LOOSEPLAIN + '$';
+
+var GTLT = R++;
+src[GTLT] = '((?:<|>)?=?)';
+
+// Something like "2.*" or "1.2.x".
+// Note that "x.x" is a valid xRange identifer, meaning "any version"
+// Only the first item is strictly required.
+var XRANGEIDENTIFIERLOOSE = R++;
+src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
+var XRANGEIDENTIFIER = R++;
+src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*';
+
+var XRANGEPLAIN = R++;
+src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:(' + src[PRERELEASE] + ')' +
+ ')?)?)?';
+
+var XRANGEPLAINLOOSE = R++;
+src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:(' + src[PRERELEASELOOSE] + ')' +
+ ')?)?)?';
+
+// >=2.x, for example, means >=2.0.0-0
+// <1.x would be the same as "<1.0.0-0", though.
+var XRANGE = R++;
+src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$';
+var XRANGELOOSE = R++;
+src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$';
+
+// Tilde ranges.
+// Meaning is "reasonably at or greater than"
+var LONETILDE = R++;
+src[LONETILDE] = '(?:~>?)';
+
+var TILDETRIM = R++;
+src[TILDETRIM] = src[LONETILDE] + '\s+';
+var tildeTrimReplace = '$1';
+
+var TILDE = R++;
+src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';
+var TILDELOOSE = R++;
+src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';
+
+
+// A simple gt/lt/eq thing, or just "" to indicate "any version"
+var COMPARATORLOOSE = R++;
+src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$';
+var COMPARATOR = R++;
+src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$';
+
+
+// An expression to strip any whitespace between the gtlt and the thing
+// it modifies, so that `> 1.2.3` ==> `>1.2.3`
+var COMPARATORTRIM = R++;
+src[COMPARATORTRIM] = src[GTLT] +
+ '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';
+
+// this one has to use the /g flag
+re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');
+
+var comparatorTrimReplace = '$1$2 ';
+
+
+// Something like `1.2.3 - 1.2.4`
+// Note that these all use the loose form, because they'll be
+// checked against either the strict or loose comparator form
+// later.
+var HYPHENRANGE = R++;
+src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
+ '\\s+-\\s+' +
+ '(' + src[XRANGEPLAIN] + ')' +
+ '\\s*$';
+
+var HYPHENRANGELOOSE = R++;
+src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
+ '\\s+-\\s+' +
+ '(' + src[XRANGEPLAINLOOSE] + ')' +
+ '\\s*$';
+
+// Star ranges basically just allow anything at all.
+var STAR = R++;
+src[STAR] = '(<|>)?=?\\s*\\*';
+
+// Compile to actual regexp objects.
+// All are flag-free, unless they were created above with a flag.
+for (var i = 0; i < R; i++) {
+ ;
+ if (!re[i])
+ re[i] = new RegExp(src[i]);
+}
+
+exports.parse = parse;
+function parse(version, loose) {
+ var r = loose ? re[LOOSE] : re[FULL];
+ return (r.test(version)) ? new SemVer(version, loose) : null;
+}
+
+exports.valid = valid;
+function valid(version, loose) {
+ var v = parse(version, loose);
+ return v ? v.version : null;
+}
+
+
+exports.clean = clean;
+function clean(version, loose) {
+ var s = parse(version, loose);
+ return s ? s.version : null;
+}
+
+exports.SemVer = SemVer;
+
+function SemVer(version, loose) {
+ if (version instanceof SemVer) {
+ if (version.loose === loose)
+ return version;
+ else
+ version = version.version;
+ }
+
+ if (!(this instanceof SemVer))
+ return new SemVer(version, loose);
+
+ ;
+ this.loose = loose;
+ var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);
+
+ if (!m)
+ throw new TypeError('Invalid Version: ' + version);
+
+ this.raw = version;
+
+ // these are actually numbers
+ this.major = +m[1];
+ this.minor = +m[2];
+ this.patch = +m[3];
+
+ // numberify any prerelease numeric ids
+ if (!m[4])
+ this.prerelease = [];
+ else
+ this.prerelease = m[4].split('.').map(function(id) {
+ return (/^[0-9]+$/.test(id)) ? +id : id;
+ });
+
+ this.build = m[5] ? m[5].split('.') : [];
+ this.format();
+}
+
+SemVer.prototype.format = function() {
+ this.version = this.major + '.' + this.minor + '.' + this.patch;
+ if (this.prerelease.length)
+ this.version += '-' + this.prerelease.join('.');
+ return this.version;
+};
+
+SemVer.prototype.inspect = function() {
+ return '<SemVer "' + this + '">';
+};
+
+SemVer.prototype.toString = function() {
+ return this.version;
+};
+
+SemVer.prototype.compare = function(other) {
+ ;
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ return this.compareMain(other) || this.comparePre(other);
+};
+
+SemVer.prototype.compareMain = function(other) {
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ return compareIdentifiers(this.major, other.major) ||
+ compareIdentifiers(this.minor, other.minor) ||
+ compareIdentifiers(this.patch, other.patch);
+};
+
+SemVer.prototype.comparePre = function(other) {
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ // NOT having a prerelease is > having one
+ if (this.prerelease.length && !other.prerelease.length)
+ return -1;
+ else if (!this.prerelease.length && other.prerelease.length)
+ return 1;
+ else if (!this.prerelease.lenth && !other.prerelease.length)
+ return 0;
+
+ var i = 0;
+ do {
+ var a = this.prerelease[i];
+ var b = other.prerelease[i];
+ ;
+ if (a === undefined && b === undefined)
+ return 0;
+ else if (b === undefined)
+ return 1;
+ else if (a === undefined)
+ return -1;
+ else if (a === b)
+ continue;
+ else
+ return compareIdentifiers(a, b);
+ } while (++i);
+};
+
+SemVer.prototype.inc = function(release) {
+ switch (release) {
+ case 'major':
+ this.major++;
+ this.minor = -1;
+ case 'minor':
+ this.minor++;
+ this.patch = -1;
+ case 'patch':
+ this.patch++;
+ this.prerelease = [];
+ break;
+ case 'prerelease':
+ if (this.prerelease.length === 0)
+ this.prerelease = [0];
+ else {
+ var i = this.prerelease.length;
+ while (--i >= 0) {
+ if (typeof this.prerelease[i] === 'number') {
+ this.prerelease[i]++;
+ i = -2;
+ }
+ }
+ if (i === -1) // didn't increment anything
+ this.prerelease.push(0);
+ }
+ break;
+
+ default:
+ throw new Error('invalid increment argument: ' + release);
+ }
+ this.format();
+ return this;
+};
+
+exports.inc = inc;
+function inc(version, release, loose) {
+ try {
+ return new SemVer(version, loose).inc(release).version;
+ } catch (er) {
+ return null;
+ }
+}
+
+exports.compareIdentifiers = compareIdentifiers;
+
+var numeric = /^[0-9]+$/;
+function compareIdentifiers(a, b) {
+ var anum = numeric.test(a);
+ var bnum = numeric.test(b);
+
+ if (anum && bnum) {
+ a = +a;
+ b = +b;
+ }
+
+ return (anum && !bnum) ? -1 :
+ (bnum && !anum) ? 1 :
+ a < b ? -1 :
+ a > b ? 1 :
+ 0;
+}
+
+exports.rcompareIdentifiers = rcompareIdentifiers;
+function rcompareIdentifiers(a, b) {
+ return compareIdentifiers(b, a);
+}
+
+exports.compare = compare;
+function compare(a, b, loose) {
+ return new SemVer(a, loose).compare(b);
+}
+
+exports.compareLoose = compareLoose;
+function compareLoose(a, b) {
+ return compare(a, b, true);
+}
+
+exports.rcompare = rcompare;
+function rcompare(a, b, loose) {
+ return compare(b, a, loose);
+}
+
+exports.sort = sort;
+function sort(list, loose) {
+ return list.sort(function(a, b) {
+ return exports.compare(a, b, loose);
+ });
+}
+
+exports.rsort = rsort;
+function rsort(list, loose) {
+ return list.sort(function(a, b) {
+ return exports.rcompare(a, b, loose);
+ });
+}
+
+exports.gt = gt;
+function gt(a, b, loose) {
+ return compare(a, b, loose) > 0;
+}
+
+exports.lt = lt;
+function lt(a, b, loose) {
+ return compare(a, b, loose) < 0;
+}
+
+exports.eq = eq;
+function eq(a, b, loose) {
+ return compare(a, b, loose) === 0;
+}
+
+exports.neq = neq;
+function neq(a, b, loose) {
+ return compare(a, b, loose) !== 0;
+}
+
+exports.gte = gte;
+function gte(a, b, loose) {
+ return compare(a, b, loose) >= 0;
+}
+
+exports.lte = lte;
+function lte(a, b, loose) {
+ return compare(a, b, loose) <= 0;
+}
+
+exports.cmp = cmp;
+function cmp(a, op, b, loose) {
+ var ret;
+ switch (op) {
+ case '===': ret = a === b; break;
+ case '!==': ret = a !== b; break;
+ case '': case '=': case '==': ret = eq(a, b, loose); break;
+ case '!=': ret = neq(a, b, loose); break;
+ case '>': ret = gt(a, b, loose); break;
+ case '>=': ret = gte(a, b, loose); break;
+ case '<': ret = lt(a, b, loose); break;
+ case '<=': ret = lte(a, b, loose); break;
+ default: throw new TypeError('Invalid operator: ' + op);
+ }
+ return ret;
+}
+
+exports.Comparator = Comparator;
+function Comparator(comp, loose) {
+ if (comp instanceof Comparator) {
+ if (comp.loose === loose)
+ return comp;
+ else
+ comp = comp.value;
+ }
+
+ if (!(this instanceof Comparator))
+ return new Comparator(comp, loose);
+
+ ;
+ this.loose = loose;
+ this.parse(comp);
+
+ if (this.semver === ANY)
+ this.value = '';
+ else
+ this.value = this.operator + this.semver.version;
+}
+
+var ANY = {};
+Comparator.prototype.parse = function(comp) {
+ var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR];
+ var m = comp.match(r);
+
+ if (!m)
+ throw new TypeError('Invalid comparator: ' + comp);
+
+ this.operator = m[1];
+ // if it literally is just '>' or '' then allow anything.
+ if (!m[2])
+ this.semver = ANY;
+ else {
+ this.semver = new SemVer(m[2], this.loose);
+
+ // <1.2.3-rc DOES allow 1.2.3-beta (has prerelease)
+ // >=1.2.3 DOES NOT allow 1.2.3-beta
+ // <=1.2.3 DOES allow 1.2.3-beta
+ // However, <1.2.3 does NOT allow 1.2.3-beta,
+ // even though `1.2.3-beta < 1.2.3`
+ // The assumption is that the 1.2.3 version has something you
+ // *don't* want, so we push the prerelease down to the minimum.
+ if (this.operator === '<' && !this.semver.prerelease.length) {
+ this.semver.prerelease = ['0'];
+ this.semver.format();
+ }
+ }
+};
+
+Comparator.prototype.inspect = function() {
+ return '<SemVer Comparator "' + this + '">';
+};
+
+Comparator.prototype.toString = function() {
+ return this.value;
+};
+
+Comparator.prototype.test = function(version) {
+ ;
+ return (this.semver === ANY) ? true :
+ cmp(version, this.operator, this.semver, this.loose);
+};
+
+
+exports.Range = Range;
+function Range(range, loose) {
+ if ((range instanceof Range) && range.loose === loose)
+ return range;
+
+ if (!(this instanceof Range))
+ return new Range(range, loose);
+
+ this.loose = loose;
+
+ // First, split based on boolean or ||
+ this.raw = range;
+ this.set = range.split(/\s*\|\|\s*/).map(function(range) {
+ return this.parseRange(range.trim());
+ }, this).filter(function(c) {
+ // throw out any that are not relevant for whatever reason
+ return c.length;
+ });
+
+ if (!this.set.length) {
+ throw new TypeError('Invalid SemVer Range: ' + range);
+ }
+
+ this.format();
+}
+
+Range.prototype.inspect = function() {
+ return '<SemVer Range "' + this.range + '">';
+};
+
+Range.prototype.format = function() {
+ this.range = this.set.map(function(comps) {
+ return comps.join(' ').trim();
+ }).join('||').trim();
+ return this.range;
+};
+
+Range.prototype.toString = function() {
+ return this.range;
+};
+
+Range.prototype.parseRange = function(range) {
+ var loose = this.loose;
+ range = range.trim();
+ ;
+ // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
+ var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];
+ range = range.replace(hr, hyphenReplace);
+ ;
+ // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
+ range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);
+ ;
+
+ // `~ 1.2.3` => `~1.2.3`
+ range = range.replace(re[TILDETRIM], tildeTrimReplace);
+
+ // normalize spaces
+ range = range.split(/\s+/).join(' ');
+
+ // At this point, the range is completely trimmed and
+ // ready to be split into comparators.
+
+ var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR];
+ var set = range.split(' ').map(function(comp) {
+ return parseComparator(comp, loose);
+ }).join(' ').split(/\s+/);
+ if (this.loose) {
+ // in loose mode, throw out any that are not valid comparators
+ set = set.filter(function(comp) {
+ return !!comp.match(compRe);
+ });
+ }
+ set = set.map(function(comp) {
+ return new Comparator(comp, loose);
+ });
+
+ return set;
+};
+
+// Mostly just for testing and legacy API reasons
+exports.toComparators = toComparators;
+function toComparators(range, loose) {
+ return new Range(range, loose).set.map(function(comp) {
+ return comp.map(function(c) {
+ return c.value;
+ }).join(' ').trim().split(' ');
+ });
+}
+
+// comprised of xranges, tildes, stars, and gtlt's at this point.
+// already replaced the hyphen ranges
+// turn into a set of JUST comparators.
+function parseComparator(comp, loose) {
+ ;
+ comp = replaceTildes(comp, loose);
+ ;
+ comp = replaceXRanges(comp, loose);
+ ;
+ comp = replaceStars(comp, loose);
+ ;
+ return comp;
+}
+
+function isX(id) {
+ return !id || id.toLowerCase() === 'x' || id === '*';
+}
+
+// ~, ~> --> * (any, kinda silly)
+// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0
+// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0
+// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
+// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
+// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
+function replaceTildes(comp, loose) {
+ return comp.trim().split(/\s+/).map(function(comp) {
+ return replaceTilde(comp, loose);
+ }).join(' ');
+}
+
+function replaceTilde(comp, loose) {
+ var r = loose ? re[TILDELOOSE] : re[TILDE];
+ return comp.replace(r, function(_, M, m, p, pr) {
+ ;
+ var ret;
+
+ if (isX(M))
+ ret = '';
+ else if (isX(m))
+ ret = '>=' + M + '.0.0-0 <' + (+M + 1) + '.0.0-0';
+ else if (isX(p))
+ // ~1.2 == >=1.2.0- <1.3.0-
+ ret = '>=' + M + '.' + m + '.0-0 <' + M + '.' + (+m + 1) + '.0-0';
+ else if (pr) {
+ ;
+ if (pr.charAt(0) !== '-')
+ pr = '-' + pr;
+ ret = '>=' + M + '.' + m + '.' + p + pr +
+ ' <' + M + '.' + (+m + 1) + '.0-0';
+ } else
+ // ~1.2.3 == >=1.2.3-0 <1.3.0-0
+ ret = '>=' + M + '.' + m + '.' + p + '-0' +
+ ' <' + M + '.' + (+m + 1) + '.0-0';
+
+ ;
+ return ret;
+ });
+}
+
+function replaceXRanges(comp, loose) {
+ ;
+ return comp.split(/\s+/).map(function(comp) {
+ return replaceXRange(comp, loose);
+ }).join(' ');
+}
+
+function replaceXRange(comp, loose) {
+ comp = comp.trim();
+ var r = loose ? re[XRANGELOOSE] : re[XRANGE];
+ return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
+ ;
+ var xM = isX(M);
+ var xm = xM || isX(m);
+ var xp = xm || isX(p);
+ var anyX = xp;
+
+ if (gtlt === '=' && anyX)
+ gtlt = '';
+
+ if (gtlt && anyX) {
+ // replace X with 0, and then append the -0 min-prerelease
+ if (xM)
+ M = 0;
+ if (xm)
+ m = 0;
+ if (xp)
+ p = 0;
+
+ if (gtlt === '>') {
+ // >1 => >=2.0.0-0
+ // >1.2 => >=1.3.0-0
+ // >1.2.3 => >= 1.2.4-0
+ gtlt = '>=';
+ if (xM) {
+ // no change
+ } else if (xm) {
+ M = +M + 1;
+ m = 0;
+ p = 0;
+ } else if (xp) {
+ m = +m + 1;
+ p = 0;
+ }
+ }
+
+
+ ret = gtlt + M + '.' + m + '.' + p + '-0';
+ } else if (xM) {
+ // allow any
+ ret = '*';
+ } else if (xm) {
+ // append '-0' onto the version, otherwise
+ // '1.x.x' matches '2.0.0-beta', since the tag
+ // *lowers* the version value
+ ret = '>=' + M + '.0.0-0 <' + (+M + 1) + '.0.0-0';
+ } else if (xp) {
+ ret = '>=' + M + '.' + m + '.0-0 <' + M + '.' + (+m + 1) + '.0-0';
+ }
+
+ ;
+
+ return ret;
+ });
+}
+
+// Because * is AND-ed with everything else in the comparator,
+// and '' means "any version", just remove the *s entirely.
+function replaceStars(comp, loose) {
+ ;
+ // Looseness is ignored here. star is always as loose as it gets!
+ return comp.trim().replace(re[STAR], '');
+}
+
+// This function is passed to string.replace(re[HYPHENRANGE])
+// M, m, patch, prerelease, build
+// 1.2 - 3.4.5 => >=1.2.0-0 <=3.4.5
+// 1.2.3 - 3.4 => >=1.2.0-0 <3.5.0-0 Any 3.4.x will do
+// 1.2 - 3.4 => >=1.2.0-0 <3.5.0-0
+function hyphenReplace($0,
+ from, fM, fm, fp, fpr, fb,
+ to, tM, tm, tp, tpr, tb) {
+
+ if (isX(fM))
+ from = '';
+ else if (isX(fm))
+ from = '>=' + fM + '.0.0-0';
+ else if (isX(fp))
+ from = '>=' + fM + '.' + fm + '.0-0';
+ else
+ from = '>=' + from;
+
+ if (isX(tM))
+ to = '';
+ else if (isX(tm))
+ to = '<' + (+tM + 1) + '.0.0-0';
+ else if (isX(tp))
+ to = '<' + tM + '.' + (+tm + 1) + '.0-0';
+ else if (tpr)
+ to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
+ else
+ to = '<=' + to;
+
+ return (from + ' ' + to).trim();
+}
+
+
+// if ANY of the sets match ALL of its comparators, then pass
+Range.prototype.test = function(version) {
+ if (!version)
+ return false;
+ for (var i = 0; i < this.set.length; i++) {
+ if (testSet(this.set[i], version))
+ return true;
+ }
+ return false;
+};
+
+function testSet(set, version) {
+ for (var i = 0; i < set.length; i++) {
+ if (!set[i].test(version))
+ return false;
+ }
+ return true;
+}
+
+exports.satisfies = satisfies;
+function satisfies(version, range, loose) {
+ try {
+ range = new Range(range, loose);
+ } catch (er) {
+ return false;
+ }
+ return range.test(version);
+}
+
+exports.maxSatisfying = maxSatisfying;
+function maxSatisfying(versions, range, loose) {
+ return versions.filter(function(version) {
+ return satisfies(version, range, loose);
+ }).sort(rcompare)[0] || null;
+}
+
+exports.validRange = validRange;
+function validRange(range, loose) {
+ try {
+ // Return '*' instead of '' so that truthiness works.
+ // This will throw if it's invalid anyway
+ return new Range(range, loose).range || '*';
+ } catch (er) {
+ return null;
+ }
+}
+
+// Use the define() function if we're in AMD land
+if (typeof define === 'function' && define.amd)
+ define(exports);
+
+})(
+ typeof exports === 'object' ? exports :
+ typeof define === 'function' && define.amd ? {} :
+ semver = {}
+);
diff --git a/deps/npm/node_modules/semver/semver.browser.js.gz b/deps/npm/node_modules/semver/semver.browser.js.gz
new file mode 100644
index 000000000..c471286d0
--- /dev/null
+++ b/deps/npm/node_modules/semver/semver.browser.js.gz
Binary files differ
diff --git a/deps/npm/node_modules/semver/semver.js b/deps/npm/node_modules/semver/semver.js
index cebfe6fd1..80b2b0320 100644
--- a/deps/npm/node_modules/semver/semver.js
+++ b/deps/npm/node_modules/semver/semver.js
@@ -1,158 +1,657 @@
-;(function (exports) { // nothing in here is node-specific.
-
-// See http://semver.org/
-// This implementation is a *hair* less strict in that it allows
-// v1.2.3 things, and also tags that don't begin with a char.
-
-var semver = "\\s*[v=]*\\s*([0-9]+)" // major
- + "\\.([0-9]+)" // minor
- + "\\.([0-9]+)" // patch
- + "(-[0-9]+-?)?" // build
- + "([a-zA-Z-+][a-zA-Z0-9-\.:]*)?" // tag
- , exprComparator = "^((<|>)?=?)\s*("+semver+")$|^$"
- , xRangePlain = "[v=]*([0-9]+|x|X|\\*)"
- + "(?:\\.([0-9]+|x|X|\\*)"
- + "(?:\\.([0-9]+|x|X|\\*)"
- + "([a-zA-Z-][a-zA-Z0-9-\.:]*)?)?)?"
- , xRange = "((?:<|>)=?)?\\s*" + xRangePlain
- , exprLoneSpermy = "(?:~>?)"
- , exprSpermy = exprLoneSpermy + xRange
- , expressions = exports.expressions =
- { parse : new RegExp("^\\s*"+semver+"\\s*$")
- , parsePackage : new RegExp("^\\s*([^\/]+)[-@](" +semver+")\\s*$")
- , parseRange : new RegExp(
- "^\\s*(" + semver + ")\\s+-\\s+(" + semver + ")\\s*$")
- , validComparator : new RegExp("^"+exprComparator+"$")
- , parseXRange : new RegExp("^"+xRange+"$")
- , parseSpermy : new RegExp("^"+exprSpermy+"$")
- }
+// export the class if we are in a Node-like system.
+if (typeof module === 'object' && module.exports === exports)
+ exports = module.exports = SemVer;
+
+// The debug function is excluded entirely from the minified version.
+/* nomin */ var debug;
+/* nomin */ if (typeof process === 'object' &&
+ /* nomin */ process.env &&
+ /* nomin */ process.env.NODE_DEBUG &&
+ /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG))
+ /* nomin */ debug = function() {
+ /* nomin */ var args = Array.prototype.slice.call(arguments, 0);
+ /* nomin */ args.unshift('SEMVER');
+ /* nomin */ console.log.apply(console, args);
+ /* nomin */ };
+/* nomin */ else
+ /* nomin */ debug = function() {};
+
+// Note: this is the semver.org version of the spec that it implements
+// Not necessarily the package version of this code.
+exports.SEMVER_SPEC_VERSION = '2.0.0';
+
+// The actual regexps go on exports.re
+var re = exports.re = [];
+var src = exports.src = [];
+var R = 0;
+
+// The following Regular Expressions can be used for tokenizing,
+// validating, and parsing SemVer version strings.
+
+// ## Numeric Identifier
+// A single `0`, or a non-zero digit followed by zero or more digits.
+
+var NUMERICIDENTIFIER = R++;
+src[NUMERICIDENTIFIER] = '0|[1-9]\\d*';
+var NUMERICIDENTIFIERLOOSE = R++;
+src[NUMERICIDENTIFIERLOOSE] = '[0-9]+';
+
+
+// ## Non-numeric Identifier
+// Zero or more digits, followed by a letter or hyphen, and then zero or
+// more letters, digits, or hyphens.
+
+var NONNUMERICIDENTIFIER = R++;
+src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*';
+
+
+// ## Main Version
+// Three dot-separated numeric identifiers.
+
+var MAINVERSION = R++;
+src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIER] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIER] + ')';
+
+var MAINVERSIONLOOSE = R++;
+src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' +
+ '(' + src[NUMERICIDENTIFIERLOOSE] + ')';
+
+// ## Pre-release Version Identifier
+// A numeric identifier, or a non-numeric identifier.
+
+var PRERELEASEIDENTIFIER = R++;
+src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] +
+ '|' + src[NONNUMERICIDENTIFIER] + ')';
+
+var PRERELEASEIDENTIFIERLOOSE = R++;
+src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] +
+ '|' + src[NONNUMERICIDENTIFIER] + ')';
+
+
+// ## Pre-release Version
+// Hyphen, followed by one or more dot-separated pre-release version
+// identifiers.
+
+var PRERELEASE = R++;
+src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] +
+ '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))';
+
+var PRERELEASELOOSE = R++;
+src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] +
+ '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))';
+
+// ## Build Metadata Identifier
+// Any combination of digits, letters, or hyphens.
+
+var BUILDIDENTIFIER = R++;
+src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+';
+
+// ## Build Metadata
+// Plus sign, followed by one or more period-separated build metadata
+// identifiers.
+
+var BUILD = R++;
+src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] +
+ '(?:\\.' + src[BUILDIDENTIFIER] + ')*))';
+
+
+// ## Full Version String
+// A main version, followed optionally by a pre-release version and
+// build metadata.
+
+// Note that the only major, minor, patch, and pre-release sections of
+// the version string are capturing groups. The build metadata is not a
+// capturing group, because it should not ever be used in version
+// comparison.
+
+var FULL = R++;
+var FULLPLAIN = 'v?' + src[MAINVERSION] +
+ src[PRERELEASE] + '?' +
+ src[BUILD] + '?';
+
+src[FULL] = '^' + FULLPLAIN + '$';
+
+// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.
+// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty
+// common in the npm registry.
+var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] +
+ src[PRERELEASELOOSE] + '?' +
+ src[BUILD] + '?';
+
+var LOOSE = R++;
+src[LOOSE] = '^' + LOOSEPLAIN + '$';
+
+var GTLT = R++;
+src[GTLT] = '((?:<|>)?=?)';
+
+// Something like "2.*" or "1.2.x".
+// Note that "x.x" is a valid xRange identifer, meaning "any version"
+// Only the first item is strictly required.
+var XRANGEIDENTIFIERLOOSE = R++;
+src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*';
+var XRANGEIDENTIFIER = R++;
+src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*';
+
+var XRANGEPLAIN = R++;
+src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' +
+ '(?:(' + src[PRERELEASE] + ')' +
+ ')?)?)?';
+
+var XRANGEPLAINLOOSE = R++;
+src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' +
+ '(?:(' + src[PRERELEASELOOSE] + ')' +
+ ')?)?)?';
+
+// >=2.x, for example, means >=2.0.0-0
+// <1.x would be the same as "<1.0.0-0", though.
+var XRANGE = R++;
+src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$';
+var XRANGELOOSE = R++;
+src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$';
+
+// Tilde ranges.
+// Meaning is "reasonably at or greater than"
+var LONETILDE = R++;
+src[LONETILDE] = '(?:~>?)';
+
+var TILDETRIM = R++;
+src[TILDETRIM] = src[LONETILDE] + '\s+';
+var tildeTrimReplace = '$1';
+
+var TILDE = R++;
+src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$';
+var TILDELOOSE = R++;
+src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$';
+
+
+// A simple gt/lt/eq thing, or just "" to indicate "any version"
+var COMPARATORLOOSE = R++;
+src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$';
+var COMPARATOR = R++;
+src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$';
+
+
+// An expression to strip any whitespace between the gtlt and the thing
+// it modifies, so that `> 1.2.3` ==> `>1.2.3`
+var COMPARATORTRIM = R++;
+src[COMPARATORTRIM] = src[GTLT] +
+ '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')';
+
+// this one has to use the /g flag
+re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g');
+
+var comparatorTrimReplace = '$1$2 ';
+
+
+// Something like `1.2.3 - 1.2.4`
+// Note that these all use the loose form, because they'll be
+// checked against either the strict or loose comparator form
+// later.
+var HYPHENRANGE = R++;
+src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' +
+ '\\s+-\\s+' +
+ '(' + src[XRANGEPLAIN] + ')' +
+ '\\s*$';
+
+var HYPHENRANGELOOSE = R++;
+src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' +
+ '\\s+-\\s+' +
+ '(' + src[XRANGEPLAINLOOSE] + ')' +
+ '\\s*$';
+
+// Star ranges basically just allow anything at all.
+var STAR = R++;
+src[STAR] = '(<|>)?=?\\s*\\*';
+
+// Compile to actual regexp objects.
+// All are flag-free, unless they were created above with a flag.
+for (var i = 0; i < R; i++) {
+ debug(i, src[i]);
+ if (!re[i])
+ re[i] = new RegExp(src[i]);
+}
+
+exports.parse = parse;
+function parse(version, loose) {
+ var r = loose ? re[LOOSE] : re[FULL];
+ return (r.test(version)) ? new SemVer(version, loose) : null;
+}
+
+exports.valid = valid;
+function valid(version, loose) {
+ var v = parse(version, loose);
+ return v ? v.version : null;
+}
-Object.getOwnPropertyNames(expressions).forEach(function (i) {
- exports[i] = function (str) {
- return ("" + (str || "")).match(expressions[i])
+exports.clean = clean;
+function clean(version, loose) {
+ var s = parse(version, loose);
+ return s ? s.version : null;
+}
+
+exports.SemVer = SemVer;
+
+function SemVer(version, loose) {
+ if (version instanceof SemVer) {
+ if (version.loose === loose)
+ return version;
+ else
+ version = version.version;
}
-})
-
-exports.rangeReplace = ">=$1 <=$7"
-exports.clean = clean
-exports.compare = compare
-exports.rcompare = rcompare
-exports.satisfies = satisfies
-exports.gt = gt
-exports.gte = gte
-exports.lt = lt
-exports.lte = lte
-exports.eq = eq
-exports.neq = neq
-exports.cmp = cmp
-exports.inc = inc
-
-exports.valid = valid
-exports.validPackage = validPackage
-exports.validRange = validRange
-exports.maxSatisfying = maxSatisfying
-
-exports.replaceStars = replaceStars
-exports.toComparators = toComparators
-
-function stringify (version) {
- var v = version
- return [v[1]||'', v[2]||'', v[3]||''].join(".") + (v[4]||'') + (v[5]||'')
-}
-
-function clean (version) {
- version = exports.parse(version)
- if (!version) return version
- return stringify(version)
-}
-
-function valid (version) {
- if (typeof version !== "string") return null
- return exports.parse(version) && version.trim().replace(/^[v=]+/, '')
-}
-
-function validPackage (version) {
- if (typeof version !== "string") return null
- return version.match(expressions.parsePackage) && version.trim()
-}
-
-// range can be one of:
-// "1.0.3 - 2.0.0" range, inclusive, like ">=1.0.3 <=2.0.0"
-// ">1.0.2" like 1.0.3 - 9999.9999.9999
-// ">=1.0.2" like 1.0.2 - 9999.9999.9999
-// "<2.0.0" like 0.0.0 - 1.9999.9999
-// ">1.0.2 <2.0.0" like 1.0.3 - 1.9999.9999
-var starExpression = /(<|>)?=?\s*\*/g
- , starReplace = ""
- , compTrimExpression = new RegExp("((<|>)?=|<|>)\\s*("
- +semver+"|"+xRangePlain+")", "g")
- , compTrimReplace = "$1$3"
-
-function toComparators (range) {
- var ret = (range || "").trim()
- .replace(expressions.parseRange, exports.rangeReplace)
- .replace(compTrimExpression, compTrimReplace)
- .split(/\s+/)
- .join(" ")
- .split("||")
- .map(function (orchunk) {
- return orchunk
- .replace(new RegExp("(" + exprLoneSpermy + ")\\s+"), "$1")
- .split(" ")
- .map(replaceXRanges)
- .map(replaceSpermies)
- .map(replaceStars)
- .join(" ").trim()
- })
- .map(function (orchunk) {
- return orchunk
- .trim()
- .split(/\s+/)
- .filter(function (c) { return c.match(expressions.validComparator) })
- })
- .filter(function (c) { return c.length })
- return ret
-}
-
-function replaceStars (stars) {
- return stars.trim().replace(starExpression, starReplace)
-}
-
-// "2.x","2.x.x" --> ">=2.0.0- <2.1.0-"
-// "2.3.x" --> ">=2.3.0- <2.4.0-"
-function replaceXRanges (ranges) {
- return ranges.split(/\s+/)
- .map(replaceXRange)
- .join(" ")
-}
-
-function replaceXRange (version) {
- return version.trim().replace(expressions.parseXRange,
- function (v, gtlt, M, m, p, t) {
- var anyX = !M || M.toLowerCase() === "x" || M === "*"
- || !m || m.toLowerCase() === "x" || m === "*"
- || !p || p.toLowerCase() === "x" || p === "*"
- , ret = v
- if (gtlt && anyX) {
- // just replace x'es with zeroes
- ;(!M || M === "*" || M.toLowerCase() === "x") && (M = 0)
- ;(!m || m === "*" || m.toLowerCase() === "x") && (m = 0)
- ;(!p || p === "*" || p.toLowerCase() === "x") && (p = 0)
- ret = gtlt + M+"."+m+"."+p+"-"
- } else if (!M || M === "*" || M.toLowerCase() === "x") {
- ret = "*" // allow any
- } else if (!m || m === "*" || m.toLowerCase() === "x") {
- // append "-" onto the version, otherwise
- // "1.x.x" matches "2.0.0beta", since the tag
- // *lowers* the version value
- ret = ">="+M+".0.0- <"+(+M+1)+".0.0-"
- } else if (!p || p === "*" || p.toLowerCase() === "x") {
- ret = ">="+M+"."+m+".0- <"+M+"."+(+m+1)+".0-"
+ if (!(this instanceof SemVer))
+ return new SemVer(version, loose);
+
+ debug('SemVer', version, loose);
+ this.loose = loose;
+ var m = version.trim().match(loose ? re[LOOSE] : re[FULL]);
+
+ if (!m)
+ throw new TypeError('Invalid Version: ' + version);
+
+ this.raw = version;
+
+ // these are actually numbers
+ this.major = +m[1];
+ this.minor = +m[2];
+ this.patch = +m[3];
+
+ // numberify any prerelease numeric ids
+ if (!m[4])
+ this.prerelease = [];
+ else
+ this.prerelease = m[4].split('.').map(function(id) {
+ return (/^[0-9]+$/.test(id)) ? +id : id;
+ });
+
+ this.build = m[5] ? m[5].split('.') : [];
+ this.format();
+}
+
+SemVer.prototype.format = function() {
+ this.version = this.major + '.' + this.minor + '.' + this.patch;
+ if (this.prerelease.length)
+ this.version += '-' + this.prerelease.join('.');
+ return this.version;
+};
+
+SemVer.prototype.inspect = function() {
+ return '<SemVer "' + this + '">';
+};
+
+SemVer.prototype.toString = function() {
+ return this.version;
+};
+
+SemVer.prototype.compare = function(other) {
+ debug('SemVer.compare', this.version, this.loose, other);
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ return this.compareMain(other) || this.comparePre(other);
+};
+
+SemVer.prototype.compareMain = function(other) {
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ return compareIdentifiers(this.major, other.major) ||
+ compareIdentifiers(this.minor, other.minor) ||
+ compareIdentifiers(this.patch, other.patch);
+};
+
+SemVer.prototype.comparePre = function(other) {
+ if (!(other instanceof SemVer))
+ other = new SemVer(other, this.loose);
+
+ // NOT having a prerelease is > having one
+ if (this.prerelease.length && !other.prerelease.length)
+ return -1;
+ else if (!this.prerelease.length && other.prerelease.length)
+ return 1;
+ else if (!this.prerelease.lenth && !other.prerelease.length)
+ return 0;
+
+ var i = 0;
+ do {
+ var a = this.prerelease[i];
+ var b = other.prerelease[i];
+ debug('prerelease compare', i, a, b);
+ if (a === undefined && b === undefined)
+ return 0;
+ else if (b === undefined)
+ return 1;
+ else if (a === undefined)
+ return -1;
+ else if (a === b)
+ continue;
+ else
+ return compareIdentifiers(a, b);
+ } while (++i);
+};
+
+SemVer.prototype.inc = function(release) {
+ switch (release) {
+ case 'major':
+ this.major++;
+ this.minor = -1;
+ case 'minor':
+ this.minor++;
+ this.patch = -1;
+ case 'patch':
+ this.patch++;
+ this.prerelease = [];
+ break;
+ case 'prerelease':
+ if (this.prerelease.length === 0)
+ this.prerelease = [0];
+ else {
+ var i = this.prerelease.length;
+ while (--i >= 0) {
+ if (typeof this.prerelease[i] === 'number') {
+ this.prerelease[i]++;
+ i = -2;
+ }
+ }
+ if (i === -1) // didn't increment anything
+ this.prerelease.push(0);
+ }
+ break;
+
+ default:
+ throw new Error('invalid increment argument: ' + release);
+ }
+ this.format();
+ return this;
+};
+
+exports.inc = inc;
+function inc(version, release, loose) {
+ try {
+ return new SemVer(version, loose).inc(release).version;
+ } catch (er) {
+ return null;
+ }
+}
+
+exports.compareIdentifiers = compareIdentifiers;
+
+var numeric = /^[0-9]+$/;
+function compareIdentifiers(a, b) {
+ var anum = numeric.test(a);
+ var bnum = numeric.test(b);
+
+ if (anum && bnum) {
+ a = +a;
+ b = +b;
+ }
+
+ return (anum && !bnum) ? -1 :
+ (bnum && !anum) ? 1 :
+ a < b ? -1 :
+ a > b ? 1 :
+ 0;
+}
+
+exports.rcompareIdentifiers = rcompareIdentifiers;
+function rcompareIdentifiers(a, b) {
+ return compareIdentifiers(b, a);
+}
+
+exports.compare = compare;
+function compare(a, b, loose) {
+ return new SemVer(a, loose).compare(b);
+}
+
+exports.compareLoose = compareLoose;
+function compareLoose(a, b) {
+ return compare(a, b, true);
+}
+
+exports.rcompare = rcompare;
+function rcompare(a, b, loose) {
+ return compare(b, a, loose);
+}
+
+exports.sort = sort;
+function sort(list, loose) {
+ return list.sort(function(a, b) {
+ return exports.compare(a, b, loose);
+ });
+}
+
+exports.rsort = rsort;
+function rsort(list, loose) {
+ return list.sort(function(a, b) {
+ return exports.rcompare(a, b, loose);
+ });
+}
+
+exports.gt = gt;
+function gt(a, b, loose) {
+ return compare(a, b, loose) > 0;
+}
+
+exports.lt = lt;
+function lt(a, b, loose) {
+ return compare(a, b, loose) < 0;
+}
+
+exports.eq = eq;
+function eq(a, b, loose) {
+ return compare(a, b, loose) === 0;
+}
+
+exports.neq = neq;
+function neq(a, b, loose) {
+ return compare(a, b, loose) !== 0;
+}
+
+exports.gte = gte;
+function gte(a, b, loose) {
+ return compare(a, b, loose) >= 0;
+}
+
+exports.lte = lte;
+function lte(a, b, loose) {
+ return compare(a, b, loose) <= 0;
+}
+
+exports.cmp = cmp;
+function cmp(a, op, b, loose) {
+ var ret;
+ switch (op) {
+ case '===': ret = a === b; break;
+ case '!==': ret = a !== b; break;
+ case '': case '=': case '==': ret = eq(a, b, loose); break;
+ case '!=': ret = neq(a, b, loose); break;
+ case '>': ret = gt(a, b, loose); break;
+ case '>=': ret = gte(a, b, loose); break;
+ case '<': ret = lt(a, b, loose); break;
+ case '<=': ret = lte(a, b, loose); break;
+ default: throw new TypeError('Invalid operator: ' + op);
+ }
+ return ret;
+}
+
+exports.Comparator = Comparator;
+function Comparator(comp, loose) {
+ if (comp instanceof Comparator) {
+ if (comp.loose === loose)
+ return comp;
+ else
+ comp = comp.value;
+ }
+
+ if (!(this instanceof Comparator))
+ return new Comparator(comp, loose);
+
+ debug('comparator', comp, loose);
+ this.loose = loose;
+ this.parse(comp);
+
+ if (this.semver === ANY)
+ this.value = '';
+ else
+ this.value = this.operator + this.semver.version;
+}
+
+var ANY = {};
+Comparator.prototype.parse = function(comp) {
+ var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR];
+ var m = comp.match(r);
+
+ if (!m)
+ throw new TypeError('Invalid comparator: ' + comp);
+
+ this.operator = m[1];
+ // if it literally is just '>' or '' then allow anything.
+ if (!m[2])
+ this.semver = ANY;
+ else {
+ this.semver = new SemVer(m[2], this.loose);
+
+ // <1.2.3-rc DOES allow 1.2.3-beta (has prerelease)
+ // >=1.2.3 DOES NOT allow 1.2.3-beta
+ // <=1.2.3 DOES allow 1.2.3-beta
+ // However, <1.2.3 does NOT allow 1.2.3-beta,
+ // even though `1.2.3-beta < 1.2.3`
+ // The assumption is that the 1.2.3 version has something you
+ // *don't* want, so we push the prerelease down to the minimum.
+ if (this.operator === '<' && !this.semver.prerelease.length) {
+ this.semver.prerelease = ['0'];
+ this.semver.format();
}
- return ret
- })
+ }
+};
+
+Comparator.prototype.inspect = function() {
+ return '<SemVer Comparator "' + this + '">';
+};
+
+Comparator.prototype.toString = function() {
+ return this.value;
+};
+
+Comparator.prototype.test = function(version) {
+ debug('Comparator.test', version, this.loose);
+ return (this.semver === ANY) ? true :
+ cmp(version, this.operator, this.semver, this.loose);
+};
+
+
+exports.Range = Range;
+function Range(range, loose) {
+ if ((range instanceof Range) && range.loose === loose)
+ return range;
+
+ if (!(this instanceof Range))
+ return new Range(range, loose);
+
+ this.loose = loose;
+
+ // First, split based on boolean or ||
+ this.raw = range;
+ this.set = range.split(/\s*\|\|\s*/).map(function(range) {
+ return this.parseRange(range.trim());
+ }, this).filter(function(c) {
+ // throw out any that are not relevant for whatever reason
+ return c.length;
+ });
+
+ if (!this.set.length) {
+ throw new TypeError('Invalid SemVer Range: ' + range);
+ }
+
+ this.format();
+}
+
+Range.prototype.inspect = function() {
+ return '<SemVer Range "' + this.range + '">';
+};
+
+Range.prototype.format = function() {
+ this.range = this.set.map(function(comps) {
+ return comps.join(' ').trim();
+ }).join('||').trim();
+ return this.range;
+};
+
+Range.prototype.toString = function() {
+ return this.range;
+};
+
+Range.prototype.parseRange = function(range) {
+ var loose = this.loose;
+ range = range.trim();
+ debug('range', range, loose);
+ // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
+ var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE];
+ range = range.replace(hr, hyphenReplace);
+ debug('hyphen replace', range);
+ // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
+ range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace);
+ debug('comparator trim', range);
+
+ // `~ 1.2.3` => `~1.2.3`
+ range = range.replace(re[TILDETRIM], tildeTrimReplace);
+
+ // normalize spaces
+ range = range.split(/\s+/).join(' ');
+
+ // At this point, the range is completely trimmed and
+ // ready to be split into comparators.
+
+ var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR];
+ var set = range.split(' ').map(function(comp) {
+ return parseComparator(comp, loose);
+ }).join(' ').split(/\s+/);
+ if (this.loose) {
+ // in loose mode, throw out any that are not valid comparators
+ set = set.filter(function(comp) {
+ return !!comp.match(compRe);
+ });
+ }
+ set = set.map(function(comp) {
+ return new Comparator(comp, loose);
+ });
+
+ return set;
+};
+
+// Mostly just for testing and legacy API reasons
+exports.toComparators = toComparators;
+function toComparators(range, loose) {
+ return new Range(range, loose).set.map(function(comp) {
+ return comp.map(function(c) {
+ return c.value;
+ }).join(' ').trim().split(' ');
+ });
+}
+
+// comprised of xranges, tildes, stars, and gtlt's at this point.
+// already replaced the hyphen ranges
+// turn into a set of JUST comparators.
+function parseComparator(comp, loose) {
+ debug('comp', comp);
+ comp = replaceTildes(comp, loose);
+ debug('tildes', comp);
+ comp = replaceXRanges(comp, loose);
+ debug('xrange', comp);
+ comp = replaceStars(comp, loose);
+ debug('stars', comp);
+ return comp;
+}
+
+function isX(id) {
+ return !id || id.toLowerCase() === 'x' || id === '*';
}
// ~, ~> --> * (any, kinda silly)
@@ -161,146 +660,195 @@ function replaceXRange (version) {
// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0
// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0
// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0
-function replaceSpermies (version) {
- return version.trim().replace(expressions.parseSpermy,
- function (v, gtlt, M, m, p, t) {
- if (gtlt) throw new Error(
- "Using '"+gtlt+"' with ~ makes no sense. Don't do it.")
-
- if (!M || M.toLowerCase() === "x") {
- return ""
- }
- // ~1 == >=1.0.0- <2.0.0-
- if (!m || m.toLowerCase() === "x") {
- return ">="+M+".0.0- <"+(+M+1)+".0.0-"
- }
- // ~1.2 == >=1.2.0- <1.3.0-
- if (!p || p.toLowerCase() === "x") {
- return ">="+M+"."+m+".0- <"+M+"."+(+m+1)+".0-"
- }
- // ~1.2.3 == >=1.2.3- <1.3.0-
- t = t || "-"
- return ">="+M+"."+m+"."+p+t+" <"+M+"."+(+m+1)+".0-"
- })
-}
-
-function validRange (range) {
- range = replaceStars(range)
- var c = toComparators(range)
- return (c.length === 0)
- ? null
- : c.map(function (c) { return c.join(" ") }).join("||")
-}
-
-// returns the highest satisfying version in the list, or undefined
-function maxSatisfying (versions, range) {
- return versions
- .filter(function (v) { return satisfies(v, range) })
- .sort(compare)
- .pop()
-}
-function satisfies (version, range) {
- version = valid(version)
- if (!version) return false
- range = toComparators(range)
- for (var i = 0, l = range.length ; i < l ; i ++) {
- var ok = false
- for (var j = 0, ll = range[i].length ; j < ll ; j ++) {
- var r = range[i][j]
- , gtlt = r.charAt(0) === ">" ? gt
- : r.charAt(0) === "<" ? lt
- : false
- , eq = r.charAt(!!gtlt) === "="
- , sub = (!!eq) + (!!gtlt)
- if (!gtlt) eq = true
- r = r.substr(sub)
- r = (r === "") ? r : valid(r)
- ok = (r === "") || (eq && r === version) || (gtlt && gtlt(version, r))
- if (!ok) break
+function replaceTildes(comp, loose) {
+ return comp.trim().split(/\s+/).map(function(comp) {
+ return replaceTilde(comp, loose);
+ }).join(' ');
+}
+
+function replaceTilde(comp, loose) {
+ var r = loose ? re[TILDELOOSE] : re[TILDE];
+ return comp.replace(r, function(_, M, m, p, pr) {
+ debug('tilde', comp, _, M, m, p, pr);
+ var ret;
+
+ if (isX(M))
+ ret = '';
+ else if (isX(m))
+ ret = '>=' + M + '.0.0-0 <' + (+M + 1) + '.0.0-0';
+ else if (isX(p))
+ // ~1.2 == >=1.2.0- <1.3.0-
+ ret = '>=' + M + '.' + m + '.0-0 <' + M + '.' + (+m + 1) + '.0-0';
+ else if (pr) {
+ debug('replaceTilde pr', pr);
+ if (pr.charAt(0) !== '-')
+ pr = '-' + pr;
+ ret = '>=' + M + '.' + m + '.' + p + pr +
+ ' <' + M + '.' + (+m + 1) + '.0-0';
+ } else
+ // ~1.2.3 == >=1.2.3-0 <1.3.0-0
+ ret = '>=' + M + '.' + m + '.' + p + '-0' +
+ ' <' + M + '.' + (+m + 1) + '.0-0';
+
+ debug('tilde return', ret);
+ return ret;
+ });
+}
+
+function replaceXRanges(comp, loose) {
+ debug('replaceXRanges', comp, loose);
+ return comp.split(/\s+/).map(function(comp) {
+ return replaceXRange(comp, loose);
+ }).join(' ');
+}
+
+function replaceXRange(comp, loose) {
+ comp = comp.trim();
+ var r = loose ? re[XRANGELOOSE] : re[XRANGE];
+ return comp.replace(r, function(ret, gtlt, M, m, p, pr) {
+ debug('xRange', comp, ret, gtlt, M, m, p, pr);
+ var xM = isX(M);
+ var xm = xM || isX(m);
+ var xp = xm || isX(p);
+ var anyX = xp;
+
+ if (gtlt === '=' && anyX)
+ gtlt = '';
+
+ if (gtlt && anyX) {
+ // replace X with 0, and then append the -0 min-prerelease
+ if (xM)
+ M = 0;
+ if (xm)
+ m = 0;
+ if (xp)
+ p = 0;
+
+ if (gtlt === '>') {
+ // >1 => >=2.0.0-0
+ // >1.2 => >=1.3.0-0
+ // >1.2.3 => >= 1.2.4-0
+ gtlt = '>=';
+ if (xM) {
+ // no change
+ } else if (xm) {
+ M = +M + 1;
+ m = 0;
+ p = 0;
+ } else if (xp) {
+ m = +m + 1;
+ p = 0;
+ }
+ }
+
+
+ ret = gtlt + M + '.' + m + '.' + p + '-0';
+ } else if (xM) {
+ // allow any
+ ret = '*';
+ } else if (xm) {
+ // append '-0' onto the version, otherwise
+ // '1.x.x' matches '2.0.0-beta', since the tag
+ // *lowers* the version value
+ ret = '>=' + M + '.0.0-0 <' + (+M + 1) + '.0.0-0';
+ } else if (xp) {
+ ret = '>=' + M + '.' + m + '.0-0 <' + M + '.' + (+m + 1) + '.0-0';
}
- if (ok) return true
- }
- return false
-}
-
-// return v1 > v2 ? 1 : -1
-function compare (v1, v2) {
- var g = gt(v1, v2)
- return g === null ? 0 : g ? 1 : -1
-}
-
-function rcompare (v1, v2) {
- return compare(v2, v1)
-}
-
-function lt (v1, v2) { return gt(v2, v1) }
-function gte (v1, v2) { return !lt(v1, v2) }
-function lte (v1, v2) { return !gt(v1, v2) }
-function eq (v1, v2) { return gt(v1, v2) === null }
-function neq (v1, v2) { return gt(v1, v2) !== null }
-function cmp (v1, c, v2) {
- switch (c) {
- case ">": return gt(v1, v2)
- case "<": return lt(v1, v2)
- case ">=": return gte(v1, v2)
- case "<=": return lte(v1, v2)
- case "==": return eq(v1, v2)
- case "!=": return neq(v1, v2)
- case "===": return v1 === v2
- case "!==": return v1 !== v2
- default: throw new Error("Y U NO USE VALID COMPARATOR!? "+c)
- }
+
+ debug('xRange return', ret);
+
+ return ret;
+ });
}
-// return v1 > v2
-function num (v) {
- return v === undefined ? -1 : parseInt((v||"0").replace(/[^0-9]+/g, ''), 10)
+// Because * is AND-ed with everything else in the comparator,
+// and '' means "any version", just remove the *s entirely.
+function replaceStars(comp, loose) {
+ debug('replaceStars', comp, loose);
+ // Looseness is ignored here. star is always as loose as it gets!
+ return comp.trim().replace(re[STAR], '');
}
-function gt (v1, v2) {
- v1 = exports.parse(v1)
- v2 = exports.parse(v2)
- if (!v1 || !v2) return false
- for (var i = 1; i < 5; i ++) {
- v1[i] = num(v1[i])
- v2[i] = num(v2[i])
- if (v1[i] > v2[i]) return true
- else if (v1[i] !== v2[i]) return false
+// This function is passed to string.replace(re[HYPHENRANGE])
+// M, m, patch, prerelease, build
+// 1.2 - 3.4.5 => >=1.2.0-0 <=3.4.5
+// 1.2.3 - 3.4 => >=1.2.0-0 <3.5.0-0 Any 3.4.x will do
+// 1.2 - 3.4 => >=1.2.0-0 <3.5.0-0
+function hyphenReplace($0,
+ from, fM, fm, fp, fpr, fb,
+ to, tM, tm, tp, tpr, tb) {
+
+ if (isX(fM))
+ from = '';
+ else if (isX(fm))
+ from = '>=' + fM + '.0.0-0';
+ else if (isX(fp))
+ from = '>=' + fM + '.' + fm + '.0-0';
+ else
+ from = '>=' + from;
+
+ if (isX(tM))
+ to = '';
+ else if (isX(tm))
+ to = '<' + (+tM + 1) + '.0.0-0';
+ else if (isX(tp))
+ to = '<' + tM + '.' + (+tm + 1) + '.0-0';
+ else if (tpr)
+ to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr;
+ else
+ to = '<=' + to;
+
+ return (from + ' ' + to).trim();
+}
+
+
+// if ANY of the sets match ALL of its comparators, then pass
+Range.prototype.test = function(version) {
+ if (!version)
+ return false;
+ for (var i = 0; i < this.set.length; i++) {
+ if (testSet(this.set[i], version))
+ return true;
+ }
+ return false;
+};
+
+function testSet(set, version) {
+ for (var i = 0; i < set.length; i++) {
+ if (!set[i].test(version))
+ return false;
}
- // no tag is > than any tag, or use lexicographical order.
- var tag1 = v1[5] || ""
- , tag2 = v2[5] || ""
-
- // kludge: null means they were equal. falsey, and detectable.
- // embarrassingly overclever, though, I know.
- return tag1 === tag2 ? null
- : !tag1 ? true
- : !tag2 ? false
- : tag1 > tag2
-}
-
-function inc (version, release) {
- version = exports.parse(version)
- if (!version) return null
-
- var parsedIndexLookup =
- { 'major': 1
- , 'minor': 2
- , 'patch': 3
- , 'build': 4 }
- var incIndex = parsedIndexLookup[release]
- if (incIndex === undefined) return null
-
- var current = num(version[incIndex])
- version[incIndex] = current === -1 ? 1 : current + 1
-
- for (var i = incIndex + 1; i < 5; i ++) {
- if (num(version[i]) !== -1) version[i] = "0"
+ return true;
+}
+
+exports.satisfies = satisfies;
+function satisfies(version, range, loose) {
+ try {
+ range = new Range(range, loose);
+ } catch (er) {
+ return false;
}
+ return range.test(version);
+}
- if (version[4]) version[4] = "-" + version[4]
- version[5] = ""
+exports.maxSatisfying = maxSatisfying;
+function maxSatisfying(versions, range, loose) {
+ return versions.filter(function(version) {
+ return satisfies(version, range, loose);
+ }).sort(rcompare)[0] || null;
+}
- return stringify(version)
+exports.validRange = validRange;
+function validRange(range, loose) {
+ try {
+ // Return '*' instead of '' so that truthiness works.
+ // This will throw if it's invalid anyway
+ return new Range(range, loose).range || '*';
+ } catch (er) {
+ return null;
+ }
}
-})(typeof exports === "object" ? exports : semver = {})
+
+// Use the define() function if we're in AMD land
+if (typeof define === 'function' && define.amd)
+ define(exports);
diff --git a/deps/npm/node_modules/semver/semver.min.js b/deps/npm/node_modules/semver/semver.min.js
new file mode 100644
index 000000000..4f947f956
--- /dev/null
+++ b/deps/npm/node_modules/semver/semver.min.js
@@ -0,0 +1 @@
+!function(e){if(typeof module==="object"&&module.exports===e)e=module.exports=O;e.SEMVER_SPEC_VERSION="2.0.0";var r=e.re=[];var t=e.src=[];var n=0;var i=n++;t[i]="0|[1-9]\\d*";var s=n++;t[s]="[0-9]+";var o=n++;t[o]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var a=n++;t[a]="("+t[i]+")\\."+"("+t[i]+")\\."+"("+t[i]+")";var u=n++;t[u]="("+t[s]+")\\."+"("+t[s]+")\\."+"("+t[s]+")";var f=n++;t[f]="(?:"+t[i]+"|"+t[o]+")";var c=n++;t[c]="(?:"+t[s]+"|"+t[o]+")";var l=n++;t[l]="(?:-("+t[f]+"(?:\\."+t[f]+")*))";var p=n++;t[p]="(?:-?("+t[c]+"(?:\\."+t[c]+")*))";var h=n++;t[h]="[0-9A-Za-z-]+";var v=n++;t[v]="(?:\\+("+t[h]+"(?:\\."+t[h]+")*))";var m=n++;var g="v?"+t[a]+t[l]+"?"+t[v]+"?";t[m]="^"+g+"$";var d="[v=\\s]*"+t[u]+t[p]+"?"+t[v]+"?";var w=n++;t[w]="^"+d+"$";var y=n++;t[y]="((?:<|>)?=?)";var $=n++;t[$]=t[s]+"|x|X|\\*";var j=n++;t[j]=t[i]+"|x|X|\\*";var b=n++;t[b]="[v=\\s]*("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:\\.("+t[j]+")"+"(?:("+t[l]+")"+")?)?)?";var S=n++;t[S]="[v=\\s]*("+t[$]+")"+"(?:\\.("+t[$]+")"+"(?:\\.("+t[$]+")"+"(?:("+t[p]+")"+")?)?)?";var E=n++;t[E]="^"+t[y]+"\\s*"+t[b]+"$";var k=n++;t[k]="^"+t[y]+"\\s*"+t[S]+"$";var x=n++;t[x]="(?:~>?)";var R=n++;t[R]=t[x]+"s+";var V="$1";var I=n++;t[I]="^"+t[x]+t[b]+"$";var C=n++;t[C]="^"+t[x]+t[S]+"$";var A=n++;t[A]="^"+t[y]+"\\s*("+d+")$|^$";var T=n++;t[T]="^"+t[y]+"\\s*("+g+")$|^$";var z=n++;t[z]=t[y]+"\\s*("+d+"|"+t[b]+")";r[z]=new RegExp(t[z],"g");var M="$1$2 ";var P=n++;t[P]="^\\s*("+t[b]+")"+"\\s+-\\s+"+"("+t[b]+")"+"\\s*$";var Z=n++;t[Z]="^\\s*("+t[S]+")"+"\\s+-\\s+"+"("+t[S]+")"+"\\s*$";var q=n++;t[q]="(<|>)?=?\\s*\\*";for(var L=0;L<n;L++){if(!r[L])r[L]=new RegExp(t[L])}e.parse=X;function X(e,t){var n=t?r[w]:r[m];return n.test(e)?new O(e,t):null}e.valid=_;function _(e,r){var t=X(e,r);return t?t.version:null}e.clean=N;function N(e,r){var t=X(e,r);return t?t.version:null}e.SemVer=O;function O(e,t){if(e instanceof O){if(e.loose===t)return e;else e=e.version}if(!(this instanceof O))return new O(e,t);this.loose=t;var n=e.trim().match(t?r[w]:r[m]);if(!n)throw new TypeError("Invalid Version: "+e);this.raw=e;this.major=+n[1];this.minor=+n[2];this.patch=+n[3];if(!n[4])this.prerelease=[];else this.prerelease=n[4].split(".").map(function(e){return/^[0-9]+$/.test(e)?+e:e});this.build=n[5]?n[5].split("."):[];this.format()}O.prototype.format=function(){this.version=this.major+"."+this.minor+"."+this.patch;if(this.prerelease.length)this.version+="-"+this.prerelease.join(".");return this.version};O.prototype.inspect=function(){return'<SemVer "'+this+'">'};O.prototype.toString=function(){return this.version};O.prototype.compare=function(e){if(!(e instanceof O))e=new O(e,this.loose);return this.compareMain(e)||this.comparePre(e)};O.prototype.compareMain=function(e){if(!(e instanceof O))e=new O(e,this.loose);return F(this.major,e.major)||F(this.minor,e.minor)||F(this.patch,e.patch)};O.prototype.comparePre=function(e){if(!(e instanceof O))e=new O(e,this.loose);if(this.prerelease.length&&!e.prerelease.length)return-1;else if(!this.prerelease.length&&e.prerelease.length)return 1;else if(!this.prerelease.lenth&&!e.prerelease.length)return 0;var r=0;do{var t=this.prerelease[r];var n=e.prerelease[r];if(t===undefined&&n===undefined)return 0;else if(n===undefined)return 1;else if(t===undefined)return-1;else if(t===n)continue;else return F(t,n)}while(++r)};O.prototype.inc=function(e){switch(e){case"major":this.major++;this.minor=-1;case"minor":this.minor++;this.patch=-1;case"patch":this.patch++;this.prerelease=[];break;case"prerelease":if(this.prerelease.length===0)this.prerelease=[0];else{var r=this.prerelease.length;while(--r>=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1)this.prerelease.push(0)}break;default:throw new Error("invalid increment argument: "+e)}this.format();return this};e.inc=B;function B(e,r,t){try{return new O(e,t).inc(r).version}catch(n){return null}}e.compareIdentifiers=F;var D=/^[0-9]+$/;function F(e,r){var t=D.test(e);var n=D.test(r);if(t&&n){e=+e;r=+r}return t&&!n?-1:n&&!t?1:e<r?-1:e>r?1:0}e.rcompareIdentifiers=G;function G(e,r){return F(r,e)}e.compare=H;function H(e,r,t){return new O(e,t).compare(r)}e.compareLoose=J;function J(e,r){return H(e,r,true)}e.rcompare=K;function K(e,r,t){return H(r,e,t)}e.sort=Q;function Q(r,t){return r.sort(function(r,n){return e.compare(r,n,t)})}e.rsort=U;function U(r,t){return r.sort(function(r,n){return e.rcompare(r,n,t)})}e.gt=W;function W(e,r,t){return H(e,r,t)>0}e.lt=Y;function Y(e,r,t){return H(e,r,t)<0}e.eq=er;function er(e,r,t){return H(e,r,t)===0}e.neq=rr;function rr(e,r,t){return H(e,r,t)!==0}e.gte=tr;function tr(e,r,t){return H(e,r,t)>=0}e.lte=nr;function nr(e,r,t){return H(e,r,t)<=0}e.cmp=ir;function ir(e,r,t,n){var i;switch(r){case"===":i=e===t;break;case"!==":i=e!==t;break;case"":case"=":case"==":i=er(e,t,n);break;case"!=":i=rr(e,t,n);break;case">":i=W(e,t,n);break;case">=":i=tr(e,t,n);break;case"<":i=Y(e,t,n);break;case"<=":i=nr(e,t,n);break;default:throw new TypeError("Invalid operator: "+r)}return i}e.Comparator=sr;function sr(e,r){if(e instanceof sr){if(e.loose===r)return e;else e=e.value}if(!(this instanceof sr))return new sr(e,r);this.loose=r;this.parse(e);if(this.semver===or)this.value="";else this.value=this.operator+this.semver.version}var or={};sr.prototype.parse=function(e){var t=this.loose?r[A]:r[T];var n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1];if(!n[2])this.semver=or;else{this.semver=new O(n[2],this.loose);if(this.operator==="<"&&!this.semver.prerelease.length){this.semver.prerelease=["0"];this.semver.format()}}};sr.prototype.inspect=function(){return'<SemVer Comparator "'+this+'">'};sr.prototype.toString=function(){return this.value};sr.prototype.test=function(e){return this.semver===or?true:ir(e,this.operator,this.semver,this.loose)};e.Range=ar;function ar(e,r){if(e instanceof ar&&e.loose===r)return e;if(!(this instanceof ar))return new ar(e,r);this.loose=r;this.raw=e;this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length});if(!this.set.length){throw new TypeError("Invalid SemVer Range: "+e)}this.format()}ar.prototype.inspect=function(){return'<SemVer Range "'+this.range+'">'};ar.prototype.format=function(){this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim();return this.range};ar.prototype.toString=function(){return this.range};ar.prototype.parseRange=function(e){var t=this.loose;e=e.trim();var n=t?r[Z]:r[P];e=e.replace(n,gr);e=e.replace(r[z],M);e=e.replace(r[R],V);e=e.split(/\s+/).join(" ");var i=t?r[A]:r[T];var s=e.split(" ").map(function(e){return fr(e,t)}).join(" ").split(/\s+/);if(this.loose){s=s.filter(function(e){return!!e.match(i)})}s=s.map(function(e){return new sr(e,t)});return s};e.toComparators=ur;function ur(e,r){return new ar(e,r).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})}function fr(e,r){e=lr(e,r);e=hr(e,r);e=mr(e,r);return e}function cr(e){return!e||e.toLowerCase()==="x"||e==="*"}function lr(e,r){return e.trim().split(/\s+/).map(function(e){return pr(e,r)}).join(" ")}function pr(e,t){var n=t?r[C]:r[I];return e.replace(n,function(e,r,t,n,i){var s;if(cr(r))s="";else if(cr(t))s=">="+r+".0.0-0 <"+(+r+1)+".0.0-0";else if(cr(n))s=">="+r+"."+t+".0-0 <"+r+"."+(+t+1)+".0-0";else if(i){if(i.charAt(0)!=="-")i="-"+i;s=">="+r+"."+t+"."+n+i+" <"+r+"."+(+t+1)+".0-0"}else s=">="+r+"."+t+"."+n+"-0"+" <"+r+"."+(+t+1)+".0-0";return s})}function hr(e,r){return e.split(/\s+/).map(function(e){return vr(e,r)}).join(" ")}function vr(e,t){e=e.trim();var n=t?r[k]:r[E];return e.replace(n,function(e,r,t,n,i,s){var o=cr(t);var a=o||cr(n);var u=a||cr(i);var f=u;if(r==="="&&f)r="";if(r&&f){if(o)t=0;if(a)n=0;if(u)i=0;if(r===">"){r=">=";if(o){}else if(a){t=+t+1;n=0;i=0}else if(u){n=+n+1;i=0}}e=r+t+"."+n+"."+i+"-0"}else if(o){e="*"}else if(a){e=">="+t+".0.0-0 <"+(+t+1)+".0.0-0"}else if(u){e=">="+t+"."+n+".0-0 <"+t+"."+(+n+1)+".0-0"}return e})}function mr(e,t){return e.trim().replace(r[q],"")}function gr(e,r,t,n,i,s,o,a,u,f,c,l,p){if(cr(t))r="";else if(cr(n))r=">="+t+".0.0-0";else if(cr(i))r=">="+t+"."+n+".0-0";else r=">="+r;if(cr(u))a="";else if(cr(f))a="<"+(+u+1)+".0.0-0";else if(cr(c))a="<"+u+"."+(+f+1)+".0-0";else if(l)a="<="+u+"."+f+"."+c+"-"+l;else a="<="+a;return(r+" "+a).trim()}ar.prototype.test=function(e){if(!e)return false;for(var r=0;r<this.set.length;r++){if(dr(this.set[r],e))return true}return false};function dr(e,r){for(var t=0;t<e.length;t++){if(!e[t].test(r))return false}return true}e.satisfies=wr;function wr(e,r,t){try{r=new ar(r,t)}catch(n){return false}return r.test(e)}e.maxSatisfying=yr;function yr(e,r,t){return e.filter(function(e){return wr(e,r,t)}).sort(K)[0]||null}e.validRange=$r;function $r(e,r){try{return new ar(e,r).range||"*"}catch(t){return null}}if(typeof define==="function"&&define.amd)define(e)}(typeof exports==="object"?exports:typeof define==="function"&&define.amd?{}:semver={}); \ No newline at end of file
diff --git a/deps/npm/node_modules/semver/semver.min.js.gz b/deps/npm/node_modules/semver/semver.min.js.gz
new file mode 100644
index 000000000..a2986b198
--- /dev/null
+++ b/deps/npm/node_modules/semver/semver.min.js.gz
Binary files differ
diff --git a/deps/npm/node_modules/semver/test.js b/deps/npm/node_modules/semver/test.js
deleted file mode 100644
index 475b77bb5..000000000
--- a/deps/npm/node_modules/semver/test.js
+++ /dev/null
@@ -1,436 +0,0 @@
-var tap = require("tap")
- , test = tap.test
- , semver = require("./semver.js")
- , eq = semver.eq
- , gt = semver.gt
- , lt = semver.lt
- , neq = semver.neq
- , cmp = semver.cmp
- , gte = semver.gte
- , lte = semver.lte
- , satisfies = semver.satisfies
- , validRange = semver.validRange
- , inc = semver.inc
- , replaceStars = semver.replaceStars
- , toComparators = semver.toComparators
-
-tap.plan(8)
-
-test("\ncomparison tests", function (t) {
-// [version1, version2]
-// version1 should be greater than version2
-; [ ["0.0.0", "0.0.0foo"]
- , ["0.0.1", "0.0.0"]
- , ["1.0.0", "0.9.9"]
- , ["0.10.0", "0.9.0"]
- , ["0.99.0", "0.10.0"]
- , ["2.0.0", "1.2.3"]
- , ["v0.0.0", "0.0.0foo"]
- , ["v0.0.1", "0.0.0"]
- , ["v1.0.0", "0.9.9"]
- , ["v0.10.0", "0.9.0"]
- , ["v0.99.0", "0.10.0"]
- , ["v2.0.0", "1.2.3"]
- , ["0.0.0", "v0.0.0foo"]
- , ["0.0.1", "v0.0.0"]
- , ["1.0.0", "v0.9.9"]
- , ["0.10.0", "v0.9.0"]
- , ["0.99.0", "v0.10.0"]
- , ["2.0.0", "v1.2.3"]
- , ["1.2.3", "1.2.3-asdf"]
- , ["1.2.3-4", "1.2.3"]
- , ["1.2.3-4-foo", "1.2.3"]
- , ["1.2.3-5", "1.2.3-5-foo"]
- , ["1.2.3-5", "1.2.3-4"]
- , ["1.2.3-5-foo", "1.2.3-5-Foo"]
- , ["3.0.0", "2.7.2+"]
- ].forEach(function (v) {
- var v0 = v[0]
- , v1 = v[1]
- t.ok(gt(v0, v1), "gt('"+v0+"', '"+v1+"')")
- t.ok(lt(v1, v0), "lt('"+v1+"', '"+v0+"')")
- t.ok(!gt(v1, v0), "!gt('"+v1+"', '"+v0+"')")
- t.ok(!lt(v0, v1), "!lt('"+v0+"', '"+v1+"')")
- t.ok(eq(v0, v0), "eq('"+v0+"', '"+v0+"')")
- t.ok(eq(v1, v1), "eq('"+v1+"', '"+v1+"')")
- t.ok(neq(v0, v1), "neq('"+v0+"', '"+v1+"')")
- t.ok(cmp(v1, "==", v1), "cmp('"+v1+"' == '"+v1+"')")
- t.ok(cmp(v0, ">=", v1), "cmp('"+v0+"' >= '"+v1+"')")
- t.ok(cmp(v1, "<=", v0), "cmp('"+v1+"' <= '"+v0+"')")
- t.ok(cmp(v0, "!=", v1), "cmp('"+v0+"' != '"+v1+"')")
- })
- t.end()
-})
-
-test("\nequality tests", function (t) {
-// [version1, version2]
-// version1 should be equivalent to version2
-; [ ["1.2.3", "v1.2.3"]
- , ["1.2.3", "=1.2.3"]
- , ["1.2.3", "v 1.2.3"]
- , ["1.2.3", "= 1.2.3"]
- , ["1.2.3", " v1.2.3"]
- , ["1.2.3", " =1.2.3"]
- , ["1.2.3", " v 1.2.3"]
- , ["1.2.3", " = 1.2.3"]
- , ["1.2.3-0", "v1.2.3-0"]
- , ["1.2.3-0", "=1.2.3-0"]
- , ["1.2.3-0", "v 1.2.3-0"]
- , ["1.2.3-0", "= 1.2.3-0"]
- , ["1.2.3-0", " v1.2.3-0"]
- , ["1.2.3-0", " =1.2.3-0"]
- , ["1.2.3-0", " v 1.2.3-0"]
- , ["1.2.3-0", " = 1.2.3-0"]
- , ["1.2.3-01", "v1.2.3-1"]
- , ["1.2.3-01", "=1.2.3-1"]
- , ["1.2.3-01", "v 1.2.3-1"]
- , ["1.2.3-01", "= 1.2.3-1"]
- , ["1.2.3-01", " v1.2.3-1"]
- , ["1.2.3-01", " =1.2.3-1"]
- , ["1.2.3-01", " v 1.2.3-1"]
- , ["1.2.3-01", " = 1.2.3-1"]
- , ["1.2.3beta", "v1.2.3beta"]
- , ["1.2.3beta", "=1.2.3beta"]
- , ["1.2.3beta", "v 1.2.3beta"]
- , ["1.2.3beta", "= 1.2.3beta"]
- , ["1.2.3beta", " v1.2.3beta"]
- , ["1.2.3beta", " =1.2.3beta"]
- , ["1.2.3beta", " v 1.2.3beta"]
- , ["1.2.3beta", " = 1.2.3beta"]
- ].forEach(function (v) {
- var v0 = v[0]
- , v1 = v[1]
- t.ok(eq(v0, v1), "eq('"+v0+"', '"+v1+"')")
- t.ok(!neq(v0, v1), "!neq('"+v0+"', '"+v1+"')")
- t.ok(cmp(v0, "==", v1), "cmp("+v0+"=="+v1+")")
- t.ok(!cmp(v0, "!=", v1), "!cmp("+v0+"!="+v1+")")
- t.ok(!cmp(v0, "===", v1), "!cmp("+v0+"==="+v1+")")
- t.ok(cmp(v0, "!==", v1), "cmp("+v0+"!=="+v1+")")
- t.ok(!gt(v0, v1), "!gt('"+v0+"', '"+v1+"')")
- t.ok(gte(v0, v1), "gte('"+v0+"', '"+v1+"')")
- t.ok(!lt(v0, v1), "!lt('"+v0+"', '"+v1+"')")
- t.ok(lte(v0, v1), "lte('"+v0+"', '"+v1+"')")
- })
- t.end()
-})
-
-
-test("\nrange tests", function (t) {
-// [range, version]
-// version should be included by range
-; [ ["1.0.0 - 2.0.0", "1.2.3"]
- , ["1.0.0", "1.0.0"]
- , [">=*", "0.2.4"]
- , ["", "1.0.0"]
- , ["*", "1.2.3"]
- , ["*", "v1.2.3-foo"]
- , [">=1.0.0", "1.0.0"]
- , [">=1.0.0", "1.0.1"]
- , [">=1.0.0", "1.1.0"]
- , [">1.0.0", "1.0.1"]
- , [">1.0.0", "1.1.0"]
- , ["<=2.0.0", "2.0.0"]
- , ["<=2.0.0", "1.9999.9999"]
- , ["<=2.0.0", "0.2.9"]
- , ["<2.0.0", "1.9999.9999"]
- , ["<2.0.0", "0.2.9"]
- , [">= 1.0.0", "1.0.0"]
- , [">= 1.0.0", "1.0.1"]
- , [">= 1.0.0", "1.1.0"]
- , ["> 1.0.0", "1.0.1"]
- , ["> 1.0.0", "1.1.0"]
- , ["<= 2.0.0", "2.0.0"]
- , ["<= 2.0.0", "1.9999.9999"]
- , ["<= 2.0.0", "0.2.9"]
- , ["< 2.0.0", "1.9999.9999"]
- , ["<\t2.0.0", "0.2.9"]
- , [">=0.1.97", "v0.1.97"]
- , [">=0.1.97", "0.1.97"]
- , ["0.1.20 || 1.2.4", "1.2.4"]
- , [">=0.2.3 || <0.0.1", "0.0.0"]
- , [">=0.2.3 || <0.0.1", "0.2.3"]
- , [">=0.2.3 || <0.0.1", "0.2.4"]
- , ["||", "1.3.4"]
- , ["2.x.x", "2.1.3"]
- , ["1.2.x", "1.2.3"]
- , ["1.2.x || 2.x", "2.1.3"]
- , ["1.2.x || 2.x", "1.2.3"]
- , ["x", "1.2.3"]
- , ["2.*.*", "2.1.3"]
- , ["1.2.*", "1.2.3"]
- , ["1.2.* || 2.*", "2.1.3"]
- , ["1.2.* || 2.*", "1.2.3"]
- , ["*", "1.2.3"]
- , ["2", "2.1.2"]
- , ["2.3", "2.3.1"]
- , ["~2.4", "2.4.0"] // >=2.4.0 <2.5.0
- , ["~2.4", "2.4.5"]
- , ["~>3.2.1", "3.2.2"] // >=3.2.1 <3.3.0
- , ["~1", "1.2.3"] // >=1.0.0 <2.0.0
- , ["~>1", "1.2.3"]
- , ["~> 1", "1.2.3"]
- , ["~1.0", "1.0.2"] // >=1.0.0 <1.1.0
- , ["~ 1.0", "1.0.2"]
- , ["~ 1.0.3", "1.0.12"]
- , [">=1", "1.0.0"]
- , [">= 1", "1.0.0"]
- , ["<1.2", "1.1.1"]
- , ["< 1.2", "1.1.1"]
- , ["1", "1.0.0beta"]
- , ["~v0.5.4-pre", "0.5.5"]
- , ["~v0.5.4-pre", "0.5.4"]
- , ["=0.7.x", "0.7.2"]
- , [">=0.7.x", "0.7.2"]
- , ["=0.7.x", "0.7.0-asdf"]
- , [">=0.7.x", "0.7.0-asdf"]
- , ["<=0.7.x", "0.6.2"]
- , ["~1.2.1 >=1.2.3", "1.2.3"]
- , ["~1.2.1 =1.2.3", "1.2.3"]
- , ["~1.2.1 1.2.3", "1.2.3"]
- , ['~1.2.1 >=1.2.3 1.2.3', '1.2.3']
- , ['~1.2.1 1.2.3 >=1.2.3', '1.2.3']
- , ['~1.2.1 1.2.3', '1.2.3']
- , ['>=1.2.1 1.2.3', '1.2.3']
- , ['1.2.3 >=1.2.1', '1.2.3']
- , ['>=1.2.3 >=1.2.1', '1.2.3']
- , ['>=1.2.1 >=1.2.3', '1.2.3']
- ].forEach(function (v) {
- t.ok(satisfies(v[1], v[0]), v[0]+" satisfied by "+v[1])
- })
- t.end()
-})
-
-test("\nnegative range tests", function (t) {
-// [range, version]
-// version should not be included by range
-; [ ["1.0.0 - 2.0.0", "2.2.3"]
- , ["1.0.0", "1.0.1"]
- , [">=1.0.0", "0.0.0"]
- , [">=1.0.0", "0.0.1"]
- , [">=1.0.0", "0.1.0"]
- , [">1.0.0", "0.0.1"]
- , [">1.0.0", "0.1.0"]
- , ["<=2.0.0", "3.0.0"]
- , ["<=2.0.0", "2.9999.9999"]
- , ["<=2.0.0", "2.2.9"]
- , ["<2.0.0", "2.9999.9999"]
- , ["<2.0.0", "2.2.9"]
- , [">=0.1.97", "v0.1.93"]
- , [">=0.1.97", "0.1.93"]
- , ["0.1.20 || 1.2.4", "1.2.3"]
- , [">=0.2.3 || <0.0.1", "0.0.3"]
- , [">=0.2.3 || <0.0.1", "0.2.2"]
- , ["2.x.x", "1.1.3"]
- , ["2.x.x", "3.1.3"]
- , ["1.2.x", "1.3.3"]
- , ["1.2.x || 2.x", "3.1.3"]
- , ["1.2.x || 2.x", "1.1.3"]
- , ["2.*.*", "1.1.3"]
- , ["2.*.*", "3.1.3"]
- , ["1.2.*", "1.3.3"]
- , ["1.2.* || 2.*", "3.1.3"]
- , ["1.2.* || 2.*", "1.1.3"]
- , ["2", "1.1.2"]
- , ["2.3", "2.4.1"]
- , ["~2.4", "2.5.0"] // >=2.4.0 <2.5.0
- , ["~2.4", "2.3.9"]
- , ["~>3.2.1", "3.3.2"] // >=3.2.1 <3.3.0
- , ["~>3.2.1", "3.2.0"] // >=3.2.1 <3.3.0
- , ["~1", "0.2.3"] // >=1.0.0 <2.0.0
- , ["~>1", "2.2.3"]
- , ["~1.0", "1.1.0"] // >=1.0.0 <1.1.0
- , ["<1", "1.0.0"]
- , [">=1.2", "1.1.1"]
- , ["1", "2.0.0beta"]
- , ["~v0.5.4-beta", "0.5.4-alpha"]
- , ["<1", "1.0.0beta"]
- , ["< 1", "1.0.0beta"]
- , ["=0.7.x", "0.8.2"]
- , [">=0.7.x", "0.6.2"]
- , ["<=0.7.x", "0.7.2"]
- ].forEach(function (v) {
- t.ok(!satisfies(v[1], v[0]), v[0]+" not satisfied by "+v[1])
- })
- t.end()
-})
-
-test("\nincrement versions test", function (t) {
-// [version, inc, result]
-// inc(version, inc) -> result
-; [ [ "1.2.3", "major", "2.0.0" ]
- , [ "1.2.3", "minor", "1.3.0" ]
- , [ "1.2.3", "patch", "1.2.4" ]
- , [ "1.2.3", "build", "1.2.3-1" ]
- , [ "1.2.3-4", "build", "1.2.3-5" ]
- , [ "1.2.3tag", "major", "2.0.0" ]
- , [ "1.2.3-tag", "major", "2.0.0" ]
- , [ "1.2.3tag", "build", "1.2.3-1" ]
- , [ "1.2.3-tag", "build", "1.2.3-1" ]
- , [ "1.2.3-4-tag", "build", "1.2.3-5" ]
- , [ "1.2.3-4tag", "build", "1.2.3-5" ]
- , [ "1.2.3", "fake", null ]
- , [ "fake", "major", null ]
- ].forEach(function (v) {
- t.equal(inc(v[0], v[1]), v[2], "inc("+v[0]+", "+v[1]+") === "+v[2])
- })
-
- t.end()
-})
-
-test("\nreplace stars test", function (t) {
-// replace stars with ""
-; [ [ "", "" ]
- , [ "*", "" ]
- , [ "> *", "" ]
- , [ "<*", "" ]
- , [ " >= *", "" ]
- , [ "* || 1.2.3", " || 1.2.3" ]
- ].forEach(function (v) {
- t.equal(replaceStars(v[0]), v[1], "replaceStars("+v[0]+") === "+v[1])
- })
-
- t.end()
-})
-
-test("\nvalid range test", function (t) {
-// [range, result]
-// validRange(range) -> result
-// translate ranges into their canonical form
-; [ ["1.0.0 - 2.0.0", ">=1.0.0 <=2.0.0"]
- , ["1.0.0", "1.0.0"]
- , [">=*", ""]
- , ["", ""]
- , ["*", ""]
- , ["*", ""]
- , [">=1.0.0", ">=1.0.0"]
- , [">1.0.0", ">1.0.0"]
- , ["<=2.0.0", "<=2.0.0"]
- , ["1", ">=1.0.0- <2.0.0-"]
- , ["<=2.0.0", "<=2.0.0"]
- , ["<=2.0.0", "<=2.0.0"]
- , ["<2.0.0", "<2.0.0"]
- , ["<2.0.0", "<2.0.0"]
- , [">= 1.0.0", ">=1.0.0"]
- , [">= 1.0.0", ">=1.0.0"]
- , [">= 1.0.0", ">=1.0.0"]
- , ["> 1.0.0", ">1.0.0"]
- , ["> 1.0.0", ">1.0.0"]
- , ["<= 2.0.0", "<=2.0.0"]
- , ["<= 2.0.0", "<=2.0.0"]
- , ["<= 2.0.0", "<=2.0.0"]
- , ["< 2.0.0", "<2.0.0"]
- , ["< 2.0.0", "<2.0.0"]
- , [">=0.1.97", ">=0.1.97"]
- , [">=0.1.97", ">=0.1.97"]
- , ["0.1.20 || 1.2.4", "0.1.20||1.2.4"]
- , [">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1"]
- , [">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1"]
- , [">=0.2.3 || <0.0.1", ">=0.2.3||<0.0.1"]
- , ["||", "||"]
- , ["2.x.x", ">=2.0.0- <3.0.0-"]
- , ["1.2.x", ">=1.2.0- <1.3.0-"]
- , ["1.2.x || 2.x", ">=1.2.0- <1.3.0-||>=2.0.0- <3.0.0-"]
- , ["1.2.x || 2.x", ">=1.2.0- <1.3.0-||>=2.0.0- <3.0.0-"]
- , ["x", ""]
- , ["2.*.*", null]
- , ["1.2.*", null]
- , ["1.2.* || 2.*", null]
- , ["1.2.* || 2.*", null]
- , ["*", ""]
- , ["2", ">=2.0.0- <3.0.0-"]
- , ["2.3", ">=2.3.0- <2.4.0-"]
- , ["~2.4", ">=2.4.0- <2.5.0-"]
- , ["~2.4", ">=2.4.0- <2.5.0-"]
- , ["~>3.2.1", ">=3.2.1- <3.3.0-"]
- , ["~1", ">=1.0.0- <2.0.0-"]
- , ["~>1", ">=1.0.0- <2.0.0-"]
- , ["~> 1", ">=1.0.0- <2.0.0-"]
- , ["~1.0", ">=1.0.0- <1.1.0-"]
- , ["~ 1.0", ">=1.0.0- <1.1.0-"]
- , ["<1", "<1.0.0-"]
- , ["< 1", "<1.0.0-"]
- , [">=1", ">=1.0.0-"]
- , [">= 1", ">=1.0.0-"]
- , ["<1.2", "<1.2.0-"]
- , ["< 1.2", "<1.2.0-"]
- , ["1", ">=1.0.0- <2.0.0-"]
- ].forEach(function (v) {
- t.equal(validRange(v[0]), v[1], "validRange("+v[0]+") === "+v[1])
- })
-
- t.end()
-})
-
-test("\ncomparators test", function (t) {
-// [range, comparators]
-// turn range into a set of individual comparators
-; [ ["1.0.0 - 2.0.0", [[">=1.0.0", "<=2.0.0"]] ]
- , ["1.0.0", [["1.0.0"]] ]
- , [">=*", [[">=0.0.0-"]] ]
- , ["", [[""]]]
- , ["*", [[""]] ]
- , ["*", [[""]] ]
- , [">=1.0.0", [[">=1.0.0"]] ]
- , [">=1.0.0", [[">=1.0.0"]] ]
- , [">=1.0.0", [[">=1.0.0"]] ]
- , [">1.0.0", [[">1.0.0"]] ]
- , [">1.0.0", [[">1.0.0"]] ]
- , ["<=2.0.0", [["<=2.0.0"]] ]
- , ["1", [[">=1.0.0-", "<2.0.0-"]] ]
- , ["<=2.0.0", [["<=2.0.0"]] ]
- , ["<=2.0.0", [["<=2.0.0"]] ]
- , ["<2.0.0", [["<2.0.0"]] ]
- , ["<2.0.0", [["<2.0.0"]] ]
- , [">= 1.0.0", [[">=1.0.0"]] ]
- , [">= 1.0.0", [[">=1.0.0"]] ]
- , [">= 1.0.0", [[">=1.0.0"]] ]
- , ["> 1.0.0", [[">1.0.0"]] ]
- , ["> 1.0.0", [[">1.0.0"]] ]
- , ["<= 2.0.0", [["<=2.0.0"]] ]
- , ["<= 2.0.0", [["<=2.0.0"]] ]
- , ["<= 2.0.0", [["<=2.0.0"]] ]
- , ["< 2.0.0", [["<2.0.0"]] ]
- , ["<\t2.0.0", [["<2.0.0"]] ]
- , [">=0.1.97", [[">=0.1.97"]] ]
- , [">=0.1.97", [[">=0.1.97"]] ]
- , ["0.1.20 || 1.2.4", [["0.1.20"], ["1.2.4"]] ]
- , [">=0.2.3 || <0.0.1", [[">=0.2.3"], ["<0.0.1"]] ]
- , [">=0.2.3 || <0.0.1", [[">=0.2.3"], ["<0.0.1"]] ]
- , [">=0.2.3 || <0.0.1", [[">=0.2.3"], ["<0.0.1"]] ]
- , ["||", [[""], [""]] ]
- , ["2.x.x", [[">=2.0.0-", "<3.0.0-"]] ]
- , ["1.2.x", [[">=1.2.0-", "<1.3.0-"]] ]
- , ["1.2.x || 2.x", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
- , ["1.2.x || 2.x", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
- , ["x", [[""]] ]
- , ["2.*.*", [[">=2.0.0-", "<3.0.0-"]] ]
- , ["1.2.*", [[">=1.2.0-", "<1.3.0-"]] ]
- , ["1.2.* || 2.*", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
- , ["1.2.* || 2.*", [[">=1.2.0-", "<1.3.0-"], [">=2.0.0-", "<3.0.0-"]] ]
- , ["*", [[""]] ]
- , ["2", [[">=2.0.0-", "<3.0.0-"]] ]
- , ["2.3", [[">=2.3.0-", "<2.4.0-"]] ]
- , ["~2.4", [[">=2.4.0-", "<2.5.0-"]] ]
- , ["~2.4", [[">=2.4.0-", "<2.5.0-"]] ]
- , ["~>3.2.1", [[">=3.2.1-", "<3.3.0-"]] ]
- , ["~1", [[">=1.0.0-", "<2.0.0-"]] ]
- , ["~>1", [[">=1.0.0-", "<2.0.0-"]] ]
- , ["~> 1", [[">=1.0.0-", "<2.0.0-"]] ]
- , ["~1.0", [[">=1.0.0-", "<1.1.0-"]] ]
- , ["~ 1.0", [[">=1.0.0-", "<1.1.0-"]] ]
- , ["~ 1.0.3", [[">=1.0.3-", "<1.1.0-"]] ]
- , ["~> 1.0.3", [[">=1.0.3-", "<1.1.0-"]] ]
- , ["<1", [["<1.0.0-"]] ]
- , ["< 1", [["<1.0.0-"]] ]
- , [">=1", [[">=1.0.0-"]] ]
- , [">= 1", [[">=1.0.0-"]] ]
- , ["<1.2", [["<1.2.0-"]] ]
- , ["< 1.2", [["<1.2.0-"]] ]
- , ["1", [[">=1.0.0-", "<2.0.0-"]] ]
- , ["1 2", [[">=1.0.0-", "<2.0.0-", ">=2.0.0-", "<3.0.0-"]] ]
- ].forEach(function (v) {
- t.equivalent(toComparators(v[0]), v[1], "toComparators("+v[0]+") === "+JSON.stringify(v[1]))
- })
-
- t.end()
-})
diff --git a/deps/npm/node_modules/semver/test/amd.js b/deps/npm/node_modules/semver/test/amd.js
new file mode 100644
index 000000000..a6041341b
--- /dev/null
+++ b/deps/npm/node_modules/semver/test/amd.js
@@ -0,0 +1,15 @@
+var tap = require('tap');
+var test = tap.test;
+
+test('amd', function(t) {
+ global.define = define;
+ define.amd = true;
+ var defined = null;
+ function define(stuff) {
+ defined = stuff;
+ }
+ var fromRequire = require('../');
+ t.ok(defined, 'amd function called');
+ t.equal(fromRequire, defined, 'amd stuff same as require stuff');
+ t.end();
+});
diff --git a/deps/npm/node_modules/semver/test/index.js b/deps/npm/node_modules/semver/test/index.js
new file mode 100644
index 000000000..a62aaa563
--- /dev/null
+++ b/deps/npm/node_modules/semver/test/index.js
@@ -0,0 +1,531 @@
+var tap = require('tap');
+var test = tap.test;
+var semver = require('../semver.js');
+var eq = semver.eq;
+var gt = semver.gt;
+var lt = semver.lt;
+var neq = semver.neq;
+var cmp = semver.cmp;
+var gte = semver.gte;
+var lte = semver.lte;
+var satisfies = semver.satisfies;
+var validRange = semver.validRange;
+var inc = semver.inc;
+var replaceStars = semver.replaceStars;
+var toComparators = semver.toComparators;
+var SemVer = semver.SemVer;
+var Range = semver.Range;
+
+test('\ncomparison tests', function(t) {
+ // [version1, version2]
+ // version1 should be greater than version2
+ [['0.0.0', '0.0.0-foo'],
+ ['0.0.1', '0.0.0'],
+ ['1.0.0', '0.9.9'],
+ ['0.10.0', '0.9.0'],
+ ['0.99.0', '0.10.0'],
+ ['2.0.0', '1.2.3'],
+ ['v0.0.0', '0.0.0-foo', true],
+ ['v0.0.1', '0.0.0', true],
+ ['v1.0.0', '0.9.9', true],
+ ['v0.10.0', '0.9.0', true],
+ ['v0.99.0', '0.10.0', true],
+ ['v2.0.0', '1.2.3', true],
+ ['0.0.0', 'v0.0.0-foo', true],
+ ['0.0.1', 'v0.0.0', true],
+ ['1.0.0', 'v0.9.9', true],
+ ['0.10.0', 'v0.9.0', true],
+ ['0.99.0', 'v0.10.0', true],
+ ['2.0.0', 'v1.2.3', true],
+ ['1.2.3', '1.2.3-asdf'],
+ ['1.2.3', '1.2.3-4'],
+ ['1.2.3', '1.2.3-4-foo'],
+ ['1.2.3-5-foo', '1.2.3-5'],
+ ['1.2.3-5', '1.2.3-4'],
+ ['1.2.3-5-foo', '1.2.3-5-Foo'],
+ ['3.0.0', '2.7.2+asdf'],
+ ['1.2.3-a.10', '1.2.3-a.5'],
+ ['1.2.3-a.b', '1.2.3-a.5'],
+ ['1.2.3-a.b', '1.2.3-a'],
+ ['1.2.3-a.b.c.10.d.5', '1.2.3-a.b.c.5.d.100']
+ ].forEach(function(v) {
+ var v0 = v[0];
+ var v1 = v[1];
+ var loose = v[2];
+ t.ok(gt(v0, v1, loose), "gt('" + v0 + "', '" + v1 + "')");
+ t.ok(lt(v1, v0, loose), "lt('" + v1 + "', '" + v0 + "')");
+ t.ok(!gt(v1, v0, loose), "!gt('" + v1 + "', '" + v0 + "')");
+ t.ok(!lt(v0, v1, loose), "!lt('" + v0 + "', '" + v1 + "')");
+ t.ok(eq(v0, v0, loose), "eq('" + v0 + "', '" + v0 + "')");
+ t.ok(eq(v1, v1, loose), "eq('" + v1 + "', '" + v1 + "')");
+ t.ok(neq(v0, v1, loose), "neq('" + v0 + "', '" + v1 + "')");
+ t.ok(cmp(v1, '==', v1, loose), "cmp('" + v1 + "' == '" + v1 + "')");
+ t.ok(cmp(v0, '>=', v1, loose), "cmp('" + v0 + "' >= '" + v1 + "')");
+ t.ok(cmp(v1, '<=', v0, loose), "cmp('" + v1 + "' <= '" + v0 + "')");
+ t.ok(cmp(v0, '!=', v1, loose), "cmp('" + v0 + "' != '" + v1 + "')");
+ });
+ t.end();
+});
+
+test('\nequality tests', function(t) {
+ // [version1, version2]
+ // version1 should be equivalent to version2
+ [['1.2.3', 'v1.2.3', true],
+ ['1.2.3', '=1.2.3', true],
+ ['1.2.3', 'v 1.2.3', true],
+ ['1.2.3', '= 1.2.3', true],
+ ['1.2.3', ' v1.2.3', true],
+ ['1.2.3', ' =1.2.3', true],
+ ['1.2.3', ' v 1.2.3', true],
+ ['1.2.3', ' = 1.2.3', true],
+ ['1.2.3-0', 'v1.2.3-0', true],
+ ['1.2.3-0', '=1.2.3-0', true],
+ ['1.2.3-0', 'v 1.2.3-0', true],
+ ['1.2.3-0', '= 1.2.3-0', true],
+ ['1.2.3-0', ' v1.2.3-0', true],
+ ['1.2.3-0', ' =1.2.3-0', true],
+ ['1.2.3-0', ' v 1.2.3-0', true],
+ ['1.2.3-0', ' = 1.2.3-0', true],
+ ['1.2.3-1', 'v1.2.3-1', true],
+ ['1.2.3-1', '=1.2.3-1', true],
+ ['1.2.3-1', 'v 1.2.3-1', true],
+ ['1.2.3-1', '= 1.2.3-1', true],
+ ['1.2.3-1', ' v1.2.3-1', true],
+ ['1.2.3-1', ' =1.2.3-1', true],
+ ['1.2.3-1', ' v 1.2.3-1', true],
+ ['1.2.3-1', ' = 1.2.3-1', true],
+ ['1.2.3-beta', 'v1.2.3-beta', true],
+ ['1.2.3-beta', '=1.2.3-beta', true],
+ ['1.2.3-beta', 'v 1.2.3-beta', true],
+ ['1.2.3-beta', '= 1.2.3-beta', true],
+ ['1.2.3-beta', ' v1.2.3-beta', true],
+ ['1.2.3-beta', ' =1.2.3-beta', true],
+ ['1.2.3-beta', ' v 1.2.3-beta', true],
+ ['1.2.3-beta', ' = 1.2.3-beta', true],
+ ['1.2.3-beta+build', ' = 1.2.3-beta+otherbuild', true],
+ ['1.2.3+build', ' = 1.2.3+otherbuild', true],
+ ['1.2.3-beta+build', '1.2.3-beta+otherbuild'],
+ ['1.2.3+build', '1.2.3+otherbuild'],
+ [' v1.2.3+build', '1.2.3+otherbuild']
+ ].forEach(function(v) {
+ var v0 = v[0];
+ var v1 = v[1];
+ var loose = v[2];
+ t.ok(eq(v0, v1, loose), "eq('" + v0 + "', '" + v1 + "')");
+ t.ok(!neq(v0, v1, loose), "!neq('" + v0 + "', '" + v1 + "')");
+ t.ok(cmp(v0, '==', v1, loose), 'cmp(' + v0 + '==' + v1 + ')');
+ t.ok(!cmp(v0, '!=', v1, loose), '!cmp(' + v0 + '!=' + v1 + ')');
+ t.ok(!cmp(v0, '===', v1, loose), '!cmp(' + v0 + '===' + v1 + ')');
+ t.ok(cmp(v0, '!==', v1, loose), 'cmp(' + v0 + '!==' + v1 + ')');
+ t.ok(!gt(v0, v1, loose), "!gt('" + v0 + "', '" + v1 + "')");
+ t.ok(gte(v0, v1, loose), "gte('" + v0 + "', '" + v1 + "')");
+ t.ok(!lt(v0, v1, loose), "!lt('" + v0 + "', '" + v1 + "')");
+ t.ok(lte(v0, v1, loose), "lte('" + v0 + "', '" + v1 + "')");
+ });
+ t.end();
+});
+
+
+test('\nrange tests', function(t) {
+ // [range, version]
+ // version should be included by range
+ [['1.0.0 - 2.0.0', '1.2.3'],
+ ['1.0.0', '1.0.0'],
+ ['>=*', '0.2.4'],
+ ['', '1.0.0'],
+ ['*', '1.2.3'],
+ ['*', 'v1.2.3-foo', true],
+ ['>=1.0.0', '1.0.0'],
+ ['>=1.0.0', '1.0.1'],
+ ['>=1.0.0', '1.1.0'],
+ ['>1.0.0', '1.0.1'],
+ ['>1.0.0', '1.1.0'],
+ ['<=2.0.0', '2.0.0'],
+ ['<=2.0.0', '1.9999.9999'],
+ ['<=2.0.0', '0.2.9'],
+ ['<2.0.0', '1.9999.9999'],
+ ['<2.0.0', '0.2.9'],
+ ['>= 1.0.0', '1.0.0'],
+ ['>= 1.0.0', '1.0.1'],
+ ['>= 1.0.0', '1.1.0'],
+ ['> 1.0.0', '1.0.1'],
+ ['> 1.0.0', '1.1.0'],
+ ['<= 2.0.0', '2.0.0'],
+ ['<= 2.0.0', '1.9999.9999'],
+ ['<= 2.0.0', '0.2.9'],
+ ['< 2.0.0', '1.9999.9999'],
+ ['<\t2.0.0', '0.2.9'],
+ ['>=0.1.97', 'v0.1.97', true],
+ ['>=0.1.97', '0.1.97'],
+ ['0.1.20 || 1.2.4', '1.2.4'],
+ ['>=0.2.3 || <0.0.1', '0.0.0'],
+ ['>=0.2.3 || <0.0.1', '0.2.3'],
+ ['>=0.2.3 || <0.0.1', '0.2.4'],
+ ['||', '1.3.4'],
+ ['2.x.x', '2.1.3'],
+ ['1.2.x', '1.2.3'],
+ ['1.2.x || 2.x', '2.1.3'],
+ ['1.2.x || 2.x', '1.2.3'],
+ ['x', '1.2.3'],
+ ['2.*.*', '2.1.3'],
+ ['1.2.*', '1.2.3'],
+ ['1.2.* || 2.*', '2.1.3'],
+ ['1.2.* || 2.*', '1.2.3'],
+ ['*', '1.2.3'],
+ ['2', '2.1.2'],
+ ['2.3', '2.3.1'],
+ ['~2.4', '2.4.0'], // >=2.4.0 <2.5.0
+ ['~2.4', '2.4.5'],
+ ['~>3.2.1', '3.2.2'], // >=3.2.1 <3.3.0,
+ ['~1', '1.2.3'], // >=1.0.0 <2.0.0
+ ['~>1', '1.2.3'],
+ ['~> 1', '1.2.3'],
+ ['~1.0', '1.0.2'], // >=1.0.0 <1.1.0,
+ ['~ 1.0', '1.0.2'],
+ ['~ 1.0.3', '1.0.12'],
+ ['>=1', '1.0.0'],
+ ['>= 1', '1.0.0'],
+ ['<1.2', '1.1.1'],
+ ['< 1.2', '1.1.1'],
+ ['1', '1.0.0beta', true],
+ ['~v0.5.4-pre', '0.5.5'],
+ ['~v0.5.4-pre', '0.5.4'],
+ ['=0.7.x', '0.7.2'],
+ ['>=0.7.x', '0.7.2'],
+ ['=0.7.x', '0.7.0-asdf'],
+ ['>=0.7.x', '0.7.0-asdf'],
+ ['<=0.7.x', '0.6.2'],
+ ['~1.2.1 >=1.2.3', '1.2.3'],
+ ['~1.2.1 =1.2.3', '1.2.3'],
+ ['~1.2.1 1.2.3', '1.2.3'],
+ ['~1.2.1 >=1.2.3 1.2.3', '1.2.3'],
+ ['~1.2.1 1.2.3 >=1.2.3', '1.2.3'],
+ ['~1.2.1 1.2.3', '1.2.3'],
+ ['>=1.2.1 1.2.3', '1.2.3'],
+ ['1.2.3 >=1.2.1', '1.2.3'],
+ ['>=1.2.3 >=1.2.1', '1.2.3'],
+ ['>=1.2.1 >=1.2.3', '1.2.3'],
+ ['<=1.2.3', '1.2.3-beta'],
+ ['>1.2', '1.3.0-beta'],
+ ['>=1.2', '1.2.8']
+ ].forEach(function(v) {
+ var range = v[0];
+ var ver = v[1];
+ var loose = v[2];
+ t.ok(satisfies(ver, range, loose), range + ' satisfied by ' + ver);
+ });
+ t.end();
+});
+
+test('\nnegative range tests', function(t) {
+ // [range, version]
+ // version should not be included by range
+ [['1.0.0 - 2.0.0', '2.2.3'],
+ ['1.0.0', '1.0.1'],
+ ['>=1.0.0', '0.0.0'],
+ ['>=1.0.0', '0.0.1'],
+ ['>=1.0.0', '0.1.0'],
+ ['>1.0.0', '0.0.1'],
+ ['>1.0.0', '0.1.0'],
+ ['<=2.0.0', '3.0.0'],
+ ['<=2.0.0', '2.9999.9999'],
+ ['<=2.0.0', '2.2.9'],
+ ['<2.0.0', '2.9999.9999'],
+ ['<2.0.0', '2.2.9'],
+ ['>=0.1.97', 'v0.1.93', true],
+ ['>=0.1.97', '0.1.93'],
+ ['0.1.20 || 1.2.4', '1.2.3'],
+ ['>=0.2.3 || <0.0.1', '0.0.3'],
+ ['>=0.2.3 || <0.0.1', '0.2.2'],
+ ['2.x.x', '1.1.3'],
+ ['2.x.x', '3.1.3'],
+ ['1.2.x', '1.3.3'],
+ ['1.2.x || 2.x', '3.1.3'],
+ ['1.2.x || 2.x', '1.1.3'],
+ ['2.*.*', '1.1.3'],
+ ['2.*.*', '3.1.3'],
+ ['1.2.*', '1.3.3'],
+ ['1.2.* || 2.*', '3.1.3'],
+ ['1.2.* || 2.*', '1.1.3'],
+ ['2', '1.1.2'],
+ ['2.3', '2.4.1'],
+ ['~2.4', '2.5.0'], // >=2.4.0 <2.5.0
+ ['~2.4', '2.3.9'],
+ ['~>3.2.1', '3.3.2'], // >=3.2.1 <3.3.0
+ ['~>3.2.1', '3.2.0'], // >=3.2.1 <3.3.0
+ ['~1', '0.2.3'], // >=1.0.0 <2.0.0
+ ['~>1', '2.2.3'],
+ ['~1.0', '1.1.0'], // >=1.0.0 <1.1.0
+ ['<1', '1.0.0'],
+ ['>=1.2', '1.1.1'],
+ ['1', '2.0.0beta', true],
+ ['~v0.5.4-beta', '0.5.4-alpha'],
+ ['<1', '1.0.0beta', true],
+ ['< 1', '1.0.0beta', true],
+ ['=0.7.x', '0.8.2'],
+ ['>=0.7.x', '0.6.2'],
+ ['<=0.7.x', '0.7.2'],
+ ['<1.2.3', '1.2.3-beta'],
+ ['=1.2.3', '1.2.3-beta'],
+ ['>1.2', '1.2.8'],
+ // invalid ranges never satisfied!
+ ['blerg', '1.2.3']
+ ].forEach(function(v) {
+ var range = v[0];
+ var ver = v[1];
+ var loose = v[2];
+ var found = satisfies(ver, range, loose);
+ t.ok(!found, ver + ' not satisfied by ' + range);
+ });
+ t.end();
+});
+
+test('\nincrement versions test', function(t) {
+ // [version, inc, result]
+ // inc(version, inc) -> result
+ [['1.2.3', 'major', '2.0.0'],
+ ['1.2.3', 'minor', '1.3.0'],
+ ['1.2.3', 'patch', '1.2.4'],
+ ['1.2.3tag', 'major', '2.0.0', true],
+ ['1.2.3-tag', 'major', '2.0.0'],
+ ['1.2.3', 'fake', null],
+ ['fake', 'major', null],
+ ['1.2.3', 'prerelease', '1.2.3-0'],
+ ['1.2.3-0', 'prerelease', '1.2.3-1'],
+ ['1.2.3-alpha.0', 'prerelease', '1.2.3-alpha.1'],
+ ['1.2.3-alpha.1', 'prerelease', '1.2.3-alpha.2'],
+ ['1.2.3-alpha.2', 'prerelease', '1.2.3-alpha.3'],
+ ['1.2.3-alpha.0.beta', 'prerelease', '1.2.3-alpha.1.beta'],
+ ['1.2.3-alpha.1.beta', 'prerelease', '1.2.3-alpha.2.beta'],
+ ['1.2.3-alpha.2.beta', 'prerelease', '1.2.3-alpha.3.beta'],
+ ['1.2.3-alpha.10.0.beta', 'prerelease', '1.2.3-alpha.10.1.beta'],
+ ['1.2.3-alpha.10.1.beta', 'prerelease', '1.2.3-alpha.10.2.beta'],
+ ['1.2.3-alpha.10.2.beta', 'prerelease', '1.2.3-alpha.10.3.beta'],
+ ['1.2.3-alpha.10.beta.0', 'prerelease', '1.2.3-alpha.10.beta.1'],
+ ['1.2.3-alpha.10.beta.1', 'prerelease', '1.2.3-alpha.10.beta.2'],
+ ['1.2.3-alpha.10.beta.2', 'prerelease', '1.2.3-alpha.10.beta.3'],
+ ['1.2.3-alpha.9.beta', 'prerelease', '1.2.3-alpha.10.beta'],
+ ['1.2.3-alpha.10.beta', 'prerelease', '1.2.3-alpha.11.beta'],
+ ['1.2.3-alpha.11.beta', 'prerelease', '1.2.3-alpha.12.beta']
+ ].forEach(function(v) {
+ var pre = v[0];
+ var what = v[1];
+ var wanted = v[2];
+ var loose = v[3];
+ var found = inc(pre, what, loose);
+ t.equal(found, wanted, 'inc(' + pre + ', ' + what + ') === ' + wanted);
+ });
+
+ t.end();
+});
+
+test('\nvalid range test', function(t) {
+ // [range, result]
+ // validRange(range) -> result
+ // translate ranges into their canonical form
+ [['1.0.0 - 2.0.0', '>=1.0.0 <=2.0.0'],
+ ['1.0.0', '1.0.0'],
+ ['>=*', '>=0.0.0-0'],
+ ['', '*'],
+ ['*', '*'],
+ ['*', '*'],
+ ['>=1.0.0', '>=1.0.0'],
+ ['>1.0.0', '>1.0.0'],
+ ['<=2.0.0', '<=2.0.0'],
+ ['1', '>=1.0.0-0 <2.0.0-0'],
+ ['<=2.0.0', '<=2.0.0'],
+ ['<=2.0.0', '<=2.0.0'],
+ ['<2.0.0', '<2.0.0-0'],
+ ['<2.0.0', '<2.0.0-0'],
+ ['>= 1.0.0', '>=1.0.0'],
+ ['>= 1.0.0', '>=1.0.0'],
+ ['>= 1.0.0', '>=1.0.0'],
+ ['> 1.0.0', '>1.0.0'],
+ ['> 1.0.0', '>1.0.0'],
+ ['<= 2.0.0', '<=2.0.0'],
+ ['<= 2.0.0', '<=2.0.0'],
+ ['<= 2.0.0', '<=2.0.0'],
+ ['< 2.0.0', '<2.0.0-0'],
+ ['< 2.0.0', '<2.0.0-0'],
+ ['>=0.1.97', '>=0.1.97'],
+ ['>=0.1.97', '>=0.1.97'],
+ ['0.1.20 || 1.2.4', '0.1.20||1.2.4'],
+ ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
+ ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
+ ['>=0.2.3 || <0.0.1', '>=0.2.3||<0.0.1-0'],
+ ['||', '||'],
+ ['2.x.x', '>=2.0.0-0 <3.0.0-0'],
+ ['1.2.x', '>=1.2.0-0 <1.3.0-0'],
+ ['1.2.x || 2.x', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
+ ['1.2.x || 2.x', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
+ ['x', '*'],
+ ['2.*.*', '>=2.0.0-0 <3.0.0-0'],
+ ['1.2.*', '>=1.2.0-0 <1.3.0-0'],
+ ['1.2.* || 2.*', '>=1.2.0-0 <1.3.0-0||>=2.0.0-0 <3.0.0-0'],
+ ['*', '*'],
+ ['2', '>=2.0.0-0 <3.0.0-0'],
+ ['2.3', '>=2.3.0-0 <2.4.0-0'],
+ ['~2.4', '>=2.4.0-0 <2.5.0-0'],
+ ['~2.4', '>=2.4.0-0 <2.5.0-0'],
+ ['~>3.2.1', '>=3.2.1-0 <3.3.0-0'],
+ ['~1', '>=1.0.0-0 <2.0.0-0'],
+ ['~>1', '>=1.0.0-0 <2.0.0-0'],
+ ['~> 1', '>=1.0.0-0 <2.0.0-0'],
+ ['~1.0', '>=1.0.0-0 <1.1.0-0'],
+ ['~ 1.0', '>=1.0.0-0 <1.1.0-0'],
+ ['<1', '<1.0.0-0'],
+ ['< 1', '<1.0.0-0'],
+ ['>=1', '>=1.0.0-0'],
+ ['>= 1', '>=1.0.0-0'],
+ ['<1.2', '<1.2.0-0'],
+ ['< 1.2', '<1.2.0-0'],
+ ['1', '>=1.0.0-0 <2.0.0-0'],
+ ['>01.02.03', '>1.2.3', true],
+ ['>01.02.03', null],
+ ['~1.2.3beta', '>=1.2.3-beta <1.3.0-0', true],
+ ['~1.2.3beta', null]
+ ].forEach(function(v) {
+ var pre = v[0];
+ var wanted = v[1];
+ var loose = v[2];
+ var found = validRange(pre, loose);
+
+ t.equal(found, wanted, 'validRange(' + pre + ') === ' + wanted);
+ });
+
+ t.end();
+});
+
+test('\ncomparators test', function(t) {
+ // [range, comparators]
+ // turn range into a set of individual comparators
+ [['1.0.0 - 2.0.0', [['>=1.0.0', '<=2.0.0']]],
+ ['1.0.0', [['1.0.0']]],
+ ['>=*', [['>=0.0.0-0']]],
+ ['', [['']]],
+ ['*', [['']]],
+ ['*', [['']]],
+ ['>=1.0.0', [['>=1.0.0']]],
+ ['>=1.0.0', [['>=1.0.0']]],
+ ['>=1.0.0', [['>=1.0.0']]],
+ ['>1.0.0', [['>1.0.0']]],
+ ['>1.0.0', [['>1.0.0']]],
+ ['<=2.0.0', [['<=2.0.0']]],
+ ['1', [['>=1.0.0-0', '<2.0.0-0']]],
+ ['<=2.0.0', [['<=2.0.0']]],
+ ['<=2.0.0', [['<=2.0.0']]],
+ ['<2.0.0', [['<2.0.0-0']]],
+ ['<2.0.0', [['<2.0.0-0']]],
+ ['>= 1.0.0', [['>=1.0.0']]],
+ ['>= 1.0.0', [['>=1.0.0']]],
+ ['>= 1.0.0', [['>=1.0.0']]],
+ ['> 1.0.0', [['>1.0.0']]],
+ ['> 1.0.0', [['>1.0.0']]],
+ ['<= 2.0.0', [['<=2.0.0']]],
+ ['<= 2.0.0', [['<=2.0.0']]],
+ ['<= 2.0.0', [['<=2.0.0']]],
+ ['< 2.0.0', [['<2.0.0-0']]],
+ ['<\t2.0.0', [['<2.0.0-0']]],
+ ['>=0.1.97', [['>=0.1.97']]],
+ ['>=0.1.97', [['>=0.1.97']]],
+ ['0.1.20 || 1.2.4', [['0.1.20'], ['1.2.4']]],
+ ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
+ ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
+ ['>=0.2.3 || <0.0.1', [['>=0.2.3'], ['<0.0.1-0']]],
+ ['||', [[''], ['']]],
+ ['2.x.x', [['>=2.0.0-0', '<3.0.0-0']]],
+ ['1.2.x', [['>=1.2.0-0', '<1.3.0-0']]],
+ ['1.2.x || 2.x', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
+ ['1.2.x || 2.x', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
+ ['x', [['']]],
+ ['2.*.*', [['>=2.0.0-0', '<3.0.0-0']]],
+ ['1.2.*', [['>=1.2.0-0', '<1.3.0-0']]],
+ ['1.2.* || 2.*', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
+ ['1.2.* || 2.*', [['>=1.2.0-0', '<1.3.0-0'], ['>=2.0.0-0', '<3.0.0-0']]],
+ ['*', [['']]],
+ ['2', [['>=2.0.0-0', '<3.0.0-0']]],
+ ['2.3', [['>=2.3.0-0', '<2.4.0-0']]],
+ ['~2.4', [['>=2.4.0-0', '<2.5.0-0']]],
+ ['~2.4', [['>=2.4.0-0', '<2.5.0-0']]],
+ ['~>3.2.1', [['>=3.2.1-0', '<3.3.0-0']]],
+ ['~1', [['>=1.0.0-0', '<2.0.0-0']]],
+ ['~>1', [['>=1.0.0-0', '<2.0.0-0']]],
+ ['~> 1', [['>=1.0.0-0', '<2.0.0-0']]],
+ ['~1.0', [['>=1.0.0-0', '<1.1.0-0']]],
+ ['~ 1.0', [['>=1.0.0-0', '<1.1.0-0']]],
+ ['~ 1.0.3', [['>=1.0.3-0', '<1.1.0-0']]],
+ ['~> 1.0.3', [['>=1.0.3-0', '<1.1.0-0']]],
+ ['<1', [['<1.0.0-0']]],
+ ['< 1', [['<1.0.0-0']]],
+ ['>=1', [['>=1.0.0-0']]],
+ ['>= 1', [['>=1.0.0-0']]],
+ ['<1.2', [['<1.2.0-0']]],
+ ['< 1.2', [['<1.2.0-0']]],
+ ['1', [['>=1.0.0-0', '<2.0.0-0']]],
+ ['1 2', [['>=1.0.0-0', '<2.0.0-0', '>=2.0.0-0', '<3.0.0-0']]],
+ ['1.2 - 3.4.5', [['>=1.2.0-0', '<=3.4.5']]],
+ ['1.2.3 - 3.4', [['>=1.2.3', '<3.5.0-0']]]
+ ].forEach(function(v) {
+ var pre = v[0];
+ var wanted = v[1];
+ var found = toComparators(v[0]);
+ var jw = JSON.stringify(wanted);
+ t.equivalent(found, wanted, 'toComparators(' + pre + ') === ' + jw);
+ });
+
+ t.end();
+});
+
+test('\nstrict vs loose version numbers', function(t) {
+ [['=1.2.3', '1.2.3'],
+ ['01.02.03', '1.2.3'],
+ ['1.2.3-beta.01', '1.2.3-beta.1'],
+ [' =1.2.3', '1.2.3'],
+ ['1.2.3foo', '1.2.3-foo']
+ ].forEach(function(v) {
+ var loose = v[0];
+ var strict = v[1];
+ t.throws(function() {
+ new SemVer(loose);
+ });
+ var lv = new SemVer(loose, true);
+ t.equal(lv.version, strict);
+ t.ok(eq(loose, strict, true));
+ t.throws(function() {
+ eq(loose, strict);
+ });
+ t.throws(function() {
+ new SemVer(strict).compare(loose);
+ });
+ });
+ t.end();
+});
+
+test('\nstrict vs loose ranges', function(t) {
+ [['>=01.02.03', '>=1.2.3'],
+ ['~1.02.03beta', '>=1.2.3-beta <1.3.0-0']
+ ].forEach(function(v) {
+ var loose = v[0];
+ var comps = v[1];
+ t.throws(function() {
+ new Range(loose);
+ });
+ t.equal(new Range(loose, true).range, comps);
+ });
+ t.end();
+});
+
+test('\nmax satisfying', function(t) {
+ [[['1.2.3', '1.2.4'], '1.2', '1.2.4'],
+ [['1.2.4', '1.2.3'], '1.2', '1.2.4'],
+ [['1.2.3','1.2.4','1.2.5','1.2.6'], '~1.2.3', '1.2.6']
+ ].forEach(function(v) {
+ var versions = v[0];
+ var range = v[1];
+ var expect = v[2];
+ var loose = v[3];
+ var actual = semver.maxSatisfying(versions, range, loose);
+ t.equal(actual, expect);
+ });
+ t.end();
+});
diff --git a/deps/npm/node_modules/semver/test/no-module.js b/deps/npm/node_modules/semver/test/no-module.js
new file mode 100644
index 000000000..96d1cd1fc
--- /dev/null
+++ b/deps/npm/node_modules/semver/test/no-module.js
@@ -0,0 +1,19 @@
+var tap = require('tap');
+var test = tap.test;
+
+test('no module system', function(t) {
+ var fs = require('fs');
+ var vm = require('vm');
+ var head = fs.readFileSync(require.resolve('../head.js'), 'utf8');
+ var src = fs.readFileSync(require.resolve('../'), 'utf8');
+ var foot = fs.readFileSync(require.resolve('../foot.js'), 'utf8');
+ vm.runInThisContext(head + src + foot, 'semver.js');
+
+ // just some basic poking to see if it did some stuff
+ t.type(global.semver, 'object');
+ t.type(global.semver.SemVer, 'function');
+ t.type(global.semver.Range, 'function');
+ t.ok(global.semver.satisfies('1.2.3', '1.2'));
+ t.end();
+});
+
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 910e7642d..fa8b5ef4c 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "1.2.25",
+ "version": "1.3.3",
"name": "npm",
"publishConfig": {
"proprietary-attribs": false
@@ -34,47 +34,47 @@
"main": "./lib/npm.js",
"bin": "./bin/npm-cli.js",
"dependencies": {
- "semver": "~1.1.2",
+ "semver": "~2.0.8",
"ini": "~1.1.0",
"slide": "~1.1.4",
"abbrev": "~1.0.4",
- "graceful-fs": "~1.2.0",
+ "graceful-fs": "~2.0.0",
"minimatch": "~0.2.12",
"nopt": "~2.1.1",
- "rimraf": "2",
+ "rimraf": "~2.2.0",
"request": "~2.21.0",
"which": "1",
"tar": "~0.1.17",
- "fstream": "~0.1.22",
+ "fstream": "~0.1.23",
"block-stream": "*",
"inherits": "1",
"mkdirp": "~0.3.3",
"read": "~1.0.4",
"lru-cache": "~2.3.0",
- "node-gyp": "~0.9.6",
+ "node-gyp": "~0.10.6",
"fstream-npm": "~0.1.3",
"uid-number": "0",
"archy": "0",
"chownr": "0",
- "npmlog": "0",
+ "npmlog": "0.0.4",
"ansi": "~0.1.2",
- "npm-registry-client": "~0.2.22",
- "read-package-json": "~0.4.1",
- "read-installed": "0",
- "glob": "~3.2.1",
- "init-package-json": "0.0.8",
+ "npm-registry-client": "~0.2.27",
+ "read-package-json": "~1.1.0",
+ "read-installed": "~0.2.2",
+ "glob": "~3.2.3",
+ "init-package-json": "0.0.10",
"osenv": "0",
- "lockfile": "~0.3.2",
+ "lockfile": "~0.4.0",
"retry": "~0.6.0",
"once": "~1.1.1",
- "npmconf": "0.0.25",
+ "npmconf": "~0.1.1",
"opener": "~1.3.0",
"chmodr": "~0.1.0",
"cmd-shim": "~1.1.0",
"sha": "~1.0.1",
"editor": "0.0.4",
"child-process-close": "~0.1.1",
- "npm-user-validate": "0"
+ "npm-user-validate": "0.0.3"
},
"bundleDependencies": [
"semver",
@@ -117,7 +117,8 @@
"sha",
"child-process-close",
"editor",
- "npm-user-validate"
+ "npm-user-validate",
+ "normalize-package-data"
],
"devDependencies": {
"ronn": "~0.3.6",
diff --git a/deps/npm/scripts/doc-build.sh b/deps/npm/scripts/doc-build.sh
index 9a66d4dbb..4ca97322e 100755
--- a/deps/npm/scripts/doc-build.sh
+++ b/deps/npm/scripts/doc-build.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
if [[ $DEBUG != "" ]]; then
set -x
@@ -41,11 +41,12 @@ version=$(node cli.js -v)
mkdir -p $(dirname $dest)
case $dest in
- *.[13])
+ *.[1357])
./node_modules/.bin/ronn --roff $src \
| sed "s|@VERSION@|$version|g" \
- | perl -pi -e 's/npm\\-([^\(]*)\(1\)/npm help \1/g' \
- | perl -pi -e 's/npm\\-([^\(]*)\(3\)/npm apihelp \1/g' \
+ | perl -pi -e 's/(npm\\-)?([^\(]*)\(1\)/npm help \2/g' \
+ | perl -pi -e 's/(npm\\-)?([^\(]*)\([57]\)/npm help \3 \2/g' \
+ | perl -pi -e 's/(npm\\-)?([^\(]*)\(3\)/npm apihelp \2/g' \
| perl -pi -e 's/npm\(1\)/npm help npm/g' \
| perl -pi -e 's/npm\(3\)/npm apihelp npm/g' \
> $dest
@@ -53,21 +54,27 @@ case $dest in
;;
*.html)
(cat html/dochead.html && \
- ./node_modules/.bin/ronn -f $src && \
- cat html/docfoot.html )\
+ ./node_modules/.bin/ronn -f $src &&
+ cat html/docfoot.html)\
| sed "s|@NAME@|$name|g" \
| sed "s|@DATE@|$date|g" \
| sed "s|@VERSION@|$version|g" \
- | perl -pi -e 's/<h1>npm(-?[^\(]*\([0-9]\)) -- (.*?)<\/h1>/<h1>npm\1<\/h1> <p>\2<\/p>/g' \
+ | perl -pi -e 's/<h1>([^\(]*\([0-9]\)) -- (.*?)<\/h1>/<h1>\1<\/h1> <p>\2<\/p>/g' \
| perl -pi -e 's/npm-npm/npm/g' \
- | perl -pi -e 's/([^"-])(npm-)?README(\(1\))?/\1<a href="..\/doc\/README.html">README<\/a>/g' \
- | perl -pi -e 's/<title><a href="..\/doc\/README.html">README<\/a><\/title>/<title>README<\/title>/g' \
- | perl -pi -e 's/([^"-])npm-([^\(]+)(\(1\))/\1<a href="..\/doc\/\2.html">\2\3<\/a>/g' \
- | perl -pi -e 's/([^"-])npm-([^\(]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \
- | perl -pi -e 's/([^"-])npm\(1\)/\1<a href="..\/doc\/npm.html">npm(1)<\/a>/g' \
- | perl -pi -e 's/([^"-])npm\(3\)/\1<a href="..\/api\/npm.html">npm(3)<\/a>/g' \
- | perl -pi -e 's/\([13]\)<\/a><\/h1>/<\/a><\/h1>/g' \
- > $dest
+ | perl -pi -e 's/([^"-])(npm-)?README(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \
+ | perl -pi -e 's/<title><a href="[^"]+README.html">README<\/a><\/title>/<title>README<\/title>/g' \
+ | perl -pi -e 's/([^"-])([^\(> ]+)(\(1\))/\1<a href="..\/cli\/\2.html">\2\3<\/a>/g' \
+ | perl -pi -e 's/([^"-])([^\(> ]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \
+ | perl -pi -e 's/([^"-])([^\(> ]+)(\(5\))/\1<a href="..\/files\/\2.html">\2\3<\/a>/g' \
+ | perl -pi -e 's/([^"-])([^\(> ]+)(\(7\))/\1<a href="..\/misc\/\2.html">\2\3<\/a>/g' \
+ | perl -pi -e 's/\([1357]\)<\/a><\/h1>/<\/a><\/h1>/g' \
+ | (if [ $(basename $(dirname $dest)) == "doc" ]; then
+ perl -pi -e 's/ href="\.\.\// href="/g'
+ else
+ cat
+ fi) \
+ > $dest \
+ && cat html/docfoot-script.html >> $dest
exit $?
;;
*)
diff --git a/deps/npm/scripts/index-build.js b/deps/npm/scripts/index-build.js
index 551bb1d56..8031fe727 100755
--- a/deps/npm/scripts/index-build.js
+++ b/deps/npm/scripts/index-build.js
@@ -1,63 +1,62 @@
#!/usr/bin/env node
var fs = require("fs")
, path = require("path")
- , cli = path.resolve(__dirname, "..", "doc", "cli")
- , clidocs = null
- , api = path.resolve(__dirname, "..", "doc", "api")
- , apidocs = null
- , readme = path.resolve(__dirname, "..", "README.md")
-
-fs.readdir(cli, done("cli"))
-fs.readdir(api, done("api"))
-
-function done (which) { return function (er, docs) {
- if (er) throw er
- docs.sort()
- if (which === "api") apidocs = docs
- else clidocs = docs
-
- if (apidocs && clidocs) next()
-}}
-
-function filter (d) {
- return d !== "index.md"
- && d.charAt(0) !== "."
- && d.match(/\.md$/)
-}
-
-function next () {
+ , root = path.resolve(__dirname, "..")
+ , glob = require("glob")
+ , conversion = { "cli": 1, "api": 3, "files": 5, "misc": 7 }
+
+glob(root + "/{README.md,doc/*/*.md}", function (er, files) {
+ if (er)
+ throw er
+ output(files.map(function (f) {
+ var b = path.basename(f)
+ if (b === "README.md")
+ return [0, b]
+ if (b === "index.md")
+ return null
+ var s = conversion[path.basename(path.dirname(f))]
+ return [s, f]
+ }).filter(function (f) {
+ return f
+ }).sort(function (a, b) {
+ return (a[0] === b[0])
+ ? ( path.basename(a[1]) === "npm.md" ? -1
+ : path.basename(b[1]) === "npm.md" ? 1
+ : a[1] > b[1] ? 1 : -1 )
+ : a[0] - b[0]
+ }))
+})
+
+return
+
+function output (files) {
console.log(
- "npm-index(1) -- Index of all npm documentation\n" +
+ "npm-index(7) -- Index of all npm documentation\n" +
"==============================================\n")
- apidocs = apidocs.filter(filter).map(function (d) {
- return [3, path.resolve(api, d)]
- })
-
- clidocs = clidocs.filter(filter).map(function (d) {
- return [1, path.resolve(cli, d)]
- })
-
- writeLine([1, readme])
-
- console.log("# Command Line Documentation")
-
- clidocs.forEach(writeLine)
+ writeLines(files, 0)
+ writeLines(files, 1, "Command Line Documentation")
+ writeLines(files, 3, "API Documentation")
+ writeLines(files, 5, "Files")
+ writeLines(files, 7, "Misc")
+}
- console.log("# API Documentation")
- apidocs.forEach(writeLine)
+function writeLines (files, sxn, heading) {
+ if (heading)
+ console.log("# %s\n", heading)
+ files.filter(function (f) {
+ return f[0] === sxn
+ }).forEach(writeLine)
}
+
function writeLine (sd) {
- var sxn = sd[0]
+ var sxn = sd[0] || 1
, doc = sd[1]
, d = path.basename(doc, ".md")
- , s = fs.lstatSync(doc)
-
- if (s.isSymbolicLink()) return
- var content = fs.readFileSync(doc, "utf8").split("\n")[0].split("--")[1]
+ var content = fs.readFileSync(doc, "utf8").split("\n")[0].split("-- ")[1]
- console.log("## npm-%s(%d)\n", d, sxn)
+ console.log("## %s(%d)\n", d, sxn)
console.log(content + "\n")
}
diff --git a/deps/npm/test/tap/fixtures/underscore-1-3-3.json b/deps/npm/test/tap/fixtures/underscore-1-3-3.json
new file mode 100644
index 000000000..01da30027
--- /dev/null
+++ b/deps/npm/test/tap/fixtures/underscore-1-3-3.json
@@ -0,0 +1 @@
+{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.3.3","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.3.3","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"47ac53683daf832bfa952e1774417da47817ae42","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.3.3.tgz"},"readme":" __ \n /\\ \\ __ \n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____ \n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\ \n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/ \n \\ \\____/ \n \\/___/\n \nUnderscore.js is a utility-belt library for JavaScript that provides \nsupport for the usual functional suspects (each, map, reduce, filter...) \nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://documentcloud.github.com/underscore/\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}} \ No newline at end of file
diff --git a/deps/npm/test/tap/fixtures/underscore.json b/deps/npm/test/tap/fixtures/underscore.json
new file mode 100644
index 000000000..32c2bde8f
--- /dev/null
+++ b/deps/npm/test/tap/fixtures/underscore.json
@@ -0,0 +1 @@
+{"_id":"underscore","_rev":"119-a5be0bcbbb6f45bd345730eca56c65e9","name":"underscore","description":"JavaScript's functional programming helper library.","dist-tags":{"latest":"1.4.4","stable":"1.4.4"},"versions":{"1.0.3":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore","version":"1.0.3","_id":"underscore@1.0.3","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"http://registry.npmjs.org/underscore/-/underscore-1.0.3.tgz","shasum":"7793a6f776dffa491d224eaf1d819824d4dc288a"},"directories":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.0.4":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore","version":"1.0.4","_id":"underscore@1.0.4","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"http://registry.npmjs.org/underscore/-/underscore-1.0.4.tgz","shasum":"563141126b4e412f6c12c2ae2fb44ef0edd23fb2"},"directories":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.0":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore","version":"1.1.0","_id":"underscore@1.1.0","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.0.tgz","shasum":"8bf44d9cc8c3a614d7940035522e1f95b682b071"},"directories":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.1":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore","version":"1.1.1","_id":"underscore@1.1.1","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.1.tgz","shasum":"65dddb8cd0ee3f0094f46db72ea269d5a4f5fca4"},"directories":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.2":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore","version":"1.1.2","_id":"underscore@1.1.2","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.7-2","_nodeVersion":"v0.3.1-pre","dist":{"tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.2.tgz","shasum":"8cf4ae3900c32f3e3f06579d473a45ad768251e8"},"directories":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.3":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore","version":"1.1.3","_id":"underscore@1.1.3","engines":{"node":"*"},"_nodeSupported":true,"_npmVersion":"0.2.8-1","_nodeVersion":"v0.2.5","dist":{"tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.3.tgz","shasum":"6bd1969042a65bd3966d8924c14909f2284631dd"},"directories":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.4":{"name":"underscore","description":"Functional programming aid for JavaScript. Works well with jQuery.","url":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"lib":".","main":"underscore.js","version":"1.1.4","_id":"underscore@1.1.4","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.3.9","_nodeVersion":"v0.5.0-pre","dist":{"shasum":"9e82274902865625b3a6d4c315a38ffd80047dae","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.4.tgz"},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.1.5":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.1.5","_id":"underscore@1.1.5","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.3.16","_nodeVersion":"v0.4.2","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"23601d62c75619998b2f0db24938102793336a56","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.5.tgz"},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.6":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.1.6","_id":"underscore@1.1.6","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"0.3.18","_nodeVersion":"v0.4.2","directories":{},"files":[""],"_defaultsLoaded":true,"dist":{"shasum":"6868da1bdd72d75285be0b4e50f228e70d001a2c","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.6.tgz"},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}]},"1.1.7":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.1.7","devDependencies":{},"_id":"underscore@1.1.7","engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.3","_nodeVersion":"v0.4.7","_defaultsLoaded":true,"dist":{"shasum":"40bab84bad19d230096e8d6ef628bff055d83db0","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.1.7.tgz"},"scripts":{},"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.2.0":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.2.0","_npmJsonOpts":{"file":"/Users/jashkenas/.npm/underscore/1.2.0/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"underscore@1.2.0","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"b32ce32c8c118caa8031c10b54c7f65ab3b557fd","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.2.0.tgz"},"scripts":{},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"directories":{}},"1.2.1":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.2.1","_npmJsonOpts":{"file":"/Users/jashkenas/.npm/underscore/1.2.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"underscore@1.2.1","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.22","_nodeVersion":"v0.4.10","_defaultsLoaded":true,"dist":{"shasum":"fc5c6b0765673d92a2d4ac8b4dc0aa88702e2bd4","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.2.1.tgz"},"scripts":{},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"directories":{}},"1.2.2":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.2.2","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.2.2","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"74dd40e9face84e724eb2edae945b8aedc233ba3","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.2.2.tgz"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.2.3":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"dependencies":{},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.2.3","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.2.3","devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.0","_defaultsLoaded":true,"dist":{"shasum":"11b874da70f4683d7d48bba2b44be1e600d2f6cf","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.2.3.tgz"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.2.4":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.2.4","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.2.4","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"e8da6241aa06f64df2473bb2590b8c17c84c3c7e","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.2.4.tgz"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.3.0":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"contributors":[],"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.3.0","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.3.0","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"253b2d79b7bb67943ced0fc744eb18267963ede8","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.3.0.tgz"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.3.1":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.3.1","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.3.1","dependencies":{},"devDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.0.104","_nodeVersion":"v0.6.6","_defaultsLoaded":true,"dist":{"shasum":"6cb8aad0e77eb5dbbfb54b22bcd8697309cf9641","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.3.1.tgz"},"maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.3.2":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.3.2","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.3.2","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"1b4e455089ab1d1d38ab6794ffe6cf08f764394a","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.3.2.tgz"},"readme":" __ \n /\\ \\ __ \n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____ \n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\ \n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/ \n \\ \\____/ \n \\/___/\n \nUnderscore.js is a utility-belt library for JavaScript that provides \nsupport for the usual functional suspects (each, map, reduce, filter...) \nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://documentcloud.github.com/underscore/\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.3.3":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://documentcloud.github.com/underscore/","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.3.3","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"_id":"underscore@1.3.3","dependencies":{},"devDependencies":{},"optionalDependencies":{},"engines":{"node":"*"},"_engineSupported":true,"_npmVersion":"1.1.1","_nodeVersion":"v0.6.11","_defaultsLoaded":true,"dist":{"shasum":"47ac53683daf832bfa952e1774417da47817ae42","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.3.3.tgz"},"readme":" __ \n /\\ \\ __ \n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____ \n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\ \n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/ \n \\ \\____/ \n \\/___/\n \nUnderscore.js is a utility-belt library for JavaScript that provides \nsupport for the usual functional suspects (each, map, reduce, filter...) \nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://documentcloud.github.com/underscore/\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","maintainers":[{"name":"documentcloud","email":"jeremy@documentcloud.org"},{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.4.0":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.4.0","readme":" __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","_id":"underscore@1.4.0","dist":{"shasum":"caaf510c272cbb53748a225dcfd906e5f5a5ccdd","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.4.0.tgz"},"_npmVersion":"1.1.49","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.4.1":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.4.1","readme":" __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","_id":"underscore@1.4.1","dist":{"shasum":"f6a25ffe5d6d3ed4fe8fef37c3a9bfe689b16bb9","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.4.1.tgz"},"_npmVersion":"1.1.49","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.4.2":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.4.2","readme":" __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","_id":"underscore@1.4.2","dist":{"shasum":"cb2aae6a7999a89fd55aaee75bce0311698cebfb","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.4.2.tgz"},"_npmVersion":"1.1.49","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.4.3":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.4.3","readme":" __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","_id":"underscore@1.4.3","dist":{"shasum":"b3d0aaa1ee74d886ea4f2648021a4f8ad779ed1d","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.4.3.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}},"1.4.4":{"name":"underscore","description":"JavaScript's functional programming helper library.","homepage":"http://underscorejs.org","keywords":["util","functional","server","client","browser"],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"main":"underscore.js","version":"1.4.4","devDependencies":{"phantomjs":"0.2.2"},"scripts":{"test":"phantomjs test/vendor/runner.js test/index.html?noglobals=true"},"readme":" __\n /\\ \\ __\n __ __ ___ \\_\\ \\ __ _ __ ____ ___ ___ _ __ __ /\\_\\ ____\n /\\ \\/\\ \\ /' _ `\\ /'_ \\ /'__`\\/\\ __\\/ ,__\\ / ___\\ / __`\\/\\ __\\/'__`\\ \\/\\ \\ /',__\\\n \\ \\ \\_\\ \\/\\ \\/\\ \\/\\ \\ \\ \\/\\ __/\\ \\ \\//\\__, `\\/\\ \\__//\\ \\ \\ \\ \\ \\//\\ __/ __ \\ \\ \\/\\__, `\\\n \\ \\____/\\ \\_\\ \\_\\ \\___,_\\ \\____\\\\ \\_\\\\/\\____/\\ \\____\\ \\____/\\ \\_\\\\ \\____\\/\\_\\ _\\ \\ \\/\\____/\n \\/___/ \\/_/\\/_/\\/__,_ /\\/____/ \\/_/ \\/___/ \\/____/\\/___/ \\/_/ \\/____/\\/_//\\ \\_\\ \\/___/\n \\ \\____/\n \\/___/\n\nUnderscore.js is a utility-belt library for JavaScript that provides\nsupport for the usual functional suspects (each, map, reduce, filter...)\nwithout extending any core JavaScript objects.\n\nFor Docs, License, Tests, and pre-packed downloads, see:\nhttp://underscorejs.org\n\nMany thanks to our contributors:\nhttps://github.com/documentcloud/underscore/contributors\n","_id":"underscore@1.4.4","dist":{"shasum":"61a6a32010622afa07963bf325203cf12239d604","tarball":"http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"},"_npmVersion":"1.1.63","_npmUser":{"name":"jashkenas","email":"jashkenas@gmail.com"},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"directories":{}}},"maintainers":[{"name":"jashkenas","email":"jashkenas@gmail.com"}],"author":{"name":"Jeremy Ashkenas","email":"jeremy@documentcloud.org"},"time":{"1.0.3":"2011-12-07T15:12:18.045Z","1.0.4":"2011-12-07T15:12:18.045Z","1.1.0":"2011-12-07T15:12:18.045Z","1.1.1":"2011-12-07T15:12:18.045Z","1.1.2":"2011-12-07T15:12:18.045Z","1.1.3":"2011-12-07T15:12:18.045Z","1.1.4":"2011-12-07T15:12:18.045Z","1.1.5":"2011-12-07T15:12:18.045Z","1.1.6":"2011-12-07T15:12:18.045Z","1.1.7":"2011-12-07T15:12:18.045Z","1.2.0":"2011-12-07T15:12:18.045Z","1.2.1":"2011-12-07T15:12:18.045Z","1.2.2":"2011-11-14T20:28:47.115Z","1.2.3":"2011-12-07T15:12:18.045Z","1.2.4":"2012-01-09T17:23:14.818Z","1.3.0":"2012-01-11T16:41:38.459Z","1.3.1":"2012-01-23T22:57:36.474Z","1.3.2":"2012-04-09T18:38:14.345Z","1.3.3":"2012-04-10T14:43:48.089Z","1.4.0":"2012-09-27T22:02:55.267Z","1.4.1":"2012-10-01T17:20:22.595Z","1.4.2":"2012-10-07T03:05:02.986Z","1.4.3":"2012-12-04T18:47:36.401Z","1.4.4":"2013-01-30T02:12:42.969Z"},"repository":{"type":"git","url":"git://github.com/documentcloud/underscore.git"},"users":{"vesln":true,"mvolkmann":true,"lancehunt":true,"mikl":true,"linus":true,"vasc":true,"bat":true,"dmalam":true,"mbrevoort":true,"danielr":true,"rsimoes":true,"thlorenz":true,"jharding":true,"tellnes":true,"fgribreau":true,"pid":true,"tylerstalder":true,"graemef":true,"gillesruppert":true,"travishorn":true,"m42am":true,"af":true,"bencevans":true,"Scryptonite":true,"konklone":true,"esp":true,"bryanburgers":true,"ehershey":true,"freethenation":true,"dannydulai":true,"megadrive":true,"lupomontero":true,"cj.nichols":true,"dbrockman":true,"maxmaximov":true,"hyqhyq_3":true,"zonetti":true,"cparker15":true,"lemulot":true,"mlowe":true,"chilts":true},"_attachments":{"underscore-1.4.4.tgz":{"content_type":"application/octet-stream","revpos":104,"digest":"md5-s/MrjCiRarwh7tZ9DX+RyA==","length":41763,"stub":true},"underscore-1.4.3.tgz":{"content_type":"application/octet-stream","revpos":97,"digest":"md5-SbGx702k/T8yuag+j/VjCg==","length":62294,"stub":true},"underscore-1.4.2.tgz":{"content_type":"application/octet-stream","revpos":91,"digest":"md5-vSAO6RpJID3UCJkAWMEIjg==","length":61836,"stub":true},"underscore-1.4.1.tgz":{"content_type":"application/octet-stream","revpos":88,"digest":"md5-O72hIvWp7cVwkiA/2eF6rg==","length":61692,"stub":true},"underscore-1.4.0.tgz":{"content_type":"application/octet-stream","revpos":85,"digest":"md5-26PeH3uwZlxMzfzwS4LmMg==","length":61579,"stub":true},"underscore-1.3.3.tgz":{"content_type":"application/octet-stream","revpos":69,"digest":"md5-lRWlaQvCPiUt9CVTCTbZqQ==","length":58692,"stub":true},"underscore-1.3.2.tgz":{"content_type":"application/octet-stream","revpos":66,"digest":"md5-yS3kcu5U31CO0KAJcBJ9yA==","length":58699,"stub":true},"underscore-1.3.1.tgz":{"content_type":"application/octet-stream","revpos":60,"digest":"md5-Y4Z1Vvv7gZoZtJ9mTz0zSQ==","length":61440,"stub":true},"underscore-1.3.0.tgz":{"content_type":"application/octet-stream","revpos":56,"digest":"md5-eIPIVGdK7Fzup3CU/AMO4g==","length":61440,"stub":true},"underscore-1.2.4.tgz":{"content_type":"application/octet-stream","revpos":54,"digest":"md5-jCUzsaWc+tlE/lQNsuLQBA==","length":61440,"stub":true},"underscore-1.2.3.tgz":{"content_type":"application/octet-stream","revpos":41,"digest":"md5-bP9hXPsRRpFAWlmUNIY+jA==","length":40960,"stub":true},"underscore-1.2.2.tgz":{"content_type":"application/octet-stream","revpos":38,"digest":"md5-78/kFlhnF2WL94pdo/dfww==","length":40960,"stub":true},"underscore-1.2.1.tgz":{"content_type":"application/octet-stream","revpos":35,"digest":"md5-gNzWgJppZn3xUj8LCQcJ+Q==","length":31879,"stub":true},"underscore-1.2.0.tgz":{"content_type":"application/octet-stream","revpos":33,"digest":"md5-WYSTx/McoA2yFB6GmQ5KnA==","length":31310,"stub":true},"underscore-1.1.7.tgz":{"content_type":"application/octet-stream","revpos":29,"digest":"md5-BxaNPc3JexY2qLOK3gDhgw==","length":29052,"stub":true},"underscore-1.1.6.tgz":{"content_type":"application/octet-stream","revpos":27,"digest":"md5-U11VsMTDu6BEZDKJlZidTw==","length":25592,"stub":true},"underscore-1.1.5.tgz":{"content_type":"application/octet-stream","revpos":25,"digest":"md5-rpLusI4XejA3uVROFAZg1A==","length":25038,"stub":true},"underscore-1.1.4.tgz":{"content_type":"application/octet-stream","revpos":23,"digest":"md5-VrXC+bUYmxwzr2CQH4oq0w==","length":86233,"stub":true},"underscore-1.1.3.tgz":{"content_type":"application/octet-stream","revpos":17,"digest":"md5-sdTV7zbtYfhAAanQLEcziw==","length":86107,"stub":true},"underscore-1.1.2.tgz":{"content_type":"application/octet-stream","revpos":11,"digest":"md5-SSm/3w/usRqR+0SrSyCr8A==","length":85482,"stub":true},"underscore-1.1.1.tgz":{"content_type":"application/octet-stream","revpos":9,"digest":"md5-UW8pTfPbkrRFTiwM6AFlVA==","length":85214,"stub":true},"underscore-1.1.0.tgz":{"content_type":"application/octet-stream","revpos":7,"digest":"md5-YJcA44Oj1Dm2imfD7dHLag==","length":71266,"stub":true},"underscore-1.0.4.tgz":{"content_type":"application/octet-stream","revpos":5,"digest":"md5-nRJu+q0L17u8DZqPxVvQKQ==","length":71018,"stub":true},"underscore-1.0.3.tgz":{"content_type":"application/octet-stream","revpos":3,"digest":"md5-pwgll4db7l4cg7fPTrgVTw==","length":70285,"stub":true}}} \ No newline at end of file
diff --git a/deps/npm/test/tap/noargs-install-config-save.js b/deps/npm/test/tap/noargs-install-config-save.js
new file mode 100644
index 000000000..840caf9f5
--- /dev/null
+++ b/deps/npm/test/tap/noargs-install-config-save.js
@@ -0,0 +1,86 @@
+var test = require("tap").test
+var npm = require.resolve("../../bin/npm-cli.js")
+var osenv = require("osenv")
+var path = require("path")
+var http = require("http")
+var fs = require("fs")
+var rimraf = require("rimraf")
+var mkdirp = require('mkdirp')
+
+var server, child
+var spawn = require("child_process").spawn
+var node = process.execPath
+
+var pkg = process.env.npm_config_tmp || '/tmp'
+pkg += path.sep + 'noargs-install-config-save'
+
+function writePackageJson() {
+ rimraf.sync(pkg)
+ mkdirp.sync(pkg)
+
+ fs.writeFileSync(pkg + '/package.json', JSON.stringify({
+ "author": "Rocko Artischocko",
+ "name": "noargs",
+ "version": "0.0.0",
+ "devDependencies": {
+ "underscore": "1.3.0"
+ }
+ }), 'utf8')
+}
+
+function createChild (args) {
+ var env = {
+ npm_config_save: true,
+ npm_config_registry: "http://localhost:1337",
+ HOME: process.env.HOME,
+ Path: process.env.PATH,
+ PATH: process.env.PATH
+ }
+
+ if (process.platform === "win32")
+ env.npm_config_cache = "%APPDATA%\\npm-cache"
+
+ return spawn(node, args, {
+ cwd: pkg,
+ stdio: "inherit",
+ env: env
+ })
+}
+
+test("does not update the package.json with empty arguments", function (t) {
+ writePackageJson()
+ t.plan(1)
+ server = http.createServer(function (req, res) {
+ res.setHeader("content-type", "application/javascript")
+ res.statusCode = 200
+ res.end(JSON.stringify(require("./fixtures/underscore-1-3-3.json")))
+ child.on("close", function (m) {
+ var text = JSON.stringify(fs.readFileSync(pkg + "/package.json", "utf8"))
+ t.ok(text.indexOf('"dependencies') === -1)
+ t.end()
+ })
+ this.close()
+ })
+ server.listen(1337, function() {
+ child = createChild([npm, "install"])
+ })
+})
+
+test("updates the package.json (adds dependencies) with an argument", function (t) {
+ writePackageJson()
+ t.plan(1)
+ server = http.createServer(function (req, res) {
+ res.setHeader("content-type", "application/javascript")
+ res.statusCode = 200
+ res.end(JSON.stringify(require("./fixtures/underscore.json")))
+ child.on("close", function (m) {
+ var text = JSON.stringify(fs.readFileSync(pkg + "/package.json", "utf8"))
+ t.ok(text.indexOf('"dependencies') !== -1)
+ t.end()
+ })
+ this.close()
+ })
+ server.listen(1337, function () {
+ child = createChild([npm, "install", "underscore"])
+ })
+})