summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--deps/npm/.mailmap1
-rw-r--r--deps/npm/.travis.yml2
-rw-r--r--deps/npm/AUTHORS7
-rw-r--r--deps/npm/CHANGELOG.md1345
-rw-r--r--deps/npm/LICENSE6
-rw-r--r--deps/npm/Makefile24
-rwxr-xr-xdeps/npm/bin/node-gyp-bin/node-gyp.cmd8
-rwxr-xr-xdeps/npm/bin/npm-cli.js142
-rwxr-xr-xdeps/npm/bin/read-package-json.js26
-rwxr-xr-xdeps/npm/cli.js2
-rw-r--r--deps/npm/doc/api/npm-bin.md13
-rw-r--r--deps/npm/doc/api/npm-bugs.md19
-rw-r--r--deps/npm/doc/api/npm-cache.md30
-rw-r--r--deps/npm/doc/api/npm-commands.md22
-rw-r--r--deps/npm/doc/api/npm-config.md45
-rw-r--r--deps/npm/doc/api/npm-deprecate.md34
-rw-r--r--deps/npm/doc/api/npm-docs.md19
-rw-r--r--deps/npm/doc/api/npm-edit.md24
-rw-r--r--deps/npm/doc/api/npm-explore.md18
-rw-r--r--deps/npm/doc/api/npm-help-search.md30
-rw-r--r--deps/npm/doc/api/npm-init.md29
-rw-r--r--deps/npm/doc/api/npm-install.md19
-rw-r--r--deps/npm/doc/api/npm-link.md33
-rw-r--r--deps/npm/doc/api/npm-load.md26
-rw-r--r--deps/npm/doc/api/npm-ls.md56
-rw-r--r--deps/npm/doc/api/npm-outdated.md13
-rw-r--r--deps/npm/doc/api/npm-owner.md31
-rw-r--r--deps/npm/doc/api/npm-pack.md19
-rw-r--r--deps/npm/doc/api/npm-ping.md14
-rw-r--r--deps/npm/doc/api/npm-prefix.md15
-rw-r--r--deps/npm/doc/api/npm-prune.md17
-rw-r--r--deps/npm/doc/api/npm-publish.md30
-rw-r--r--deps/npm/doc/api/npm-rebuild.md16
-rw-r--r--deps/npm/doc/api/npm-repo.md19
-rw-r--r--deps/npm/doc/api/npm-restart.md41
-rw-r--r--deps/npm/doc/api/npm-root.md15
-rw-r--r--deps/npm/doc/api/npm-run-script.md27
-rw-r--r--deps/npm/doc/api/npm-search.md35
-rw-r--r--deps/npm/doc/api/npm-shrinkwrap.md20
-rw-r--r--deps/npm/doc/api/npm-start.md13
-rw-r--r--deps/npm/doc/api/npm-stop.md13
-rw-r--r--deps/npm/doc/api/npm-tag.md23
-rw-r--r--deps/npm/doc/api/npm-test.md16
-rw-r--r--deps/npm/doc/api/npm-uninstall.md16
-rw-r--r--deps/npm/doc/api/npm-unpublish.md20
-rw-r--r--deps/npm/doc/api/npm-update.md18
-rw-r--r--deps/npm/doc/api/npm-version.md18
-rw-r--r--deps/npm/doc/api/npm-view.md93
-rw-r--r--deps/npm/doc/api/npm-whoami.md15
-rw-r--r--deps/npm/doc/api/npm.md115
-rw-r--r--deps/npm/doc/cli/npm-bin.md2
-rw-r--r--deps/npm/doc/cli/npm-bugs.md3
-rw-r--r--deps/npm/doc/cli/npm-build.md2
-rw-r--r--deps/npm/doc/cli/npm-completion.md7
-rw-r--r--deps/npm/doc/cli/npm-config.md1
-rw-r--r--deps/npm/doc/cli/npm-dedupe.md21
-rw-r--r--deps/npm/doc/cli/npm-deprecate.md2
-rw-r--r--deps/npm/doc/cli/npm-docs.md4
-rw-r--r--deps/npm/doc/cli/npm-edit.md2
-rw-r--r--deps/npm/doc/cli/npm-explore.md2
-rw-r--r--deps/npm/doc/cli/npm-help-search.md2
-rw-r--r--deps/npm/doc/cli/npm-help.md3
-rw-r--r--deps/npm/doc/cli/npm-init.md2
-rw-r--r--deps/npm/doc/cli/npm-install.md76
-rw-r--r--deps/npm/doc/cli/npm-link.md7
-rw-r--r--deps/npm/doc/cli/npm-logout.md2
-rw-r--r--deps/npm/doc/cli/npm-ls.md18
-rw-r--r--deps/npm/doc/cli/npm-outdated.md2
-rw-r--r--deps/npm/doc/cli/npm-owner.md6
-rw-r--r--deps/npm/doc/cli/npm-pack.md10
-rw-r--r--deps/npm/doc/cli/npm-prune.md3
-rw-r--r--deps/npm/doc/cli/npm-publish.md6
-rw-r--r--deps/npm/doc/cli/npm-rebuild.md6
-rw-r--r--deps/npm/doc/cli/npm-repo.md3
-rw-r--r--deps/npm/doc/cli/npm-rm.md23
-rw-r--r--deps/npm/doc/cli/npm-root.md2
-rw-r--r--deps/npm/doc/cli/npm-run-script.md5
-rw-r--r--deps/npm/doc/cli/npm-search.md4
-rw-r--r--deps/npm/doc/cli/npm-shrinkwrap.md38
-rw-r--r--deps/npm/doc/cli/npm-star.md4
-rw-r--r--deps/npm/doc/cli/npm-stars.md3
-rw-r--r--deps/npm/doc/cli/npm-tag.md3
-rw-r--r--deps/npm/doc/cli/npm-uninstall.md8
-rw-r--r--deps/npm/doc/cli/npm-unpublish.md2
-rw-r--r--deps/npm/doc/cli/npm-update.md2
-rw-r--r--deps/npm/doc/cli/npm-version.md4
-rw-r--r--deps/npm/doc/cli/npm-view.md5
-rw-r--r--deps/npm/doc/cli/npm-whoami.md2
-rw-r--r--deps/npm/doc/files/package.json.md13
-rw-r--r--deps/npm/doc/misc/npm-config.md62
-rw-r--r--deps/npm/doc/misc/npm-index.md168
-rw-r--r--deps/npm/doc/misc/npm-orgs.md90
-rw-r--r--deps/npm/html/doc/README.html4
-rw-r--r--deps/npm/html/doc/api/npm-bin.html2
-rw-r--r--deps/npm/html/doc/api/npm-bugs.html2
-rw-r--r--deps/npm/html/doc/api/npm-cache.html2
-rw-r--r--deps/npm/html/doc/api/npm-commands.html2
-rw-r--r--deps/npm/html/doc/api/npm-config.html2
-rw-r--r--deps/npm/html/doc/api/npm-deprecate.html2
-rw-r--r--deps/npm/html/doc/api/npm-docs.html2
-rw-r--r--deps/npm/html/doc/api/npm-edit.html2
-rw-r--r--deps/npm/html/doc/api/npm-explore.html2
-rw-r--r--deps/npm/html/doc/api/npm-help-search.html2
-rw-r--r--deps/npm/html/doc/api/npm-init.html2
-rw-r--r--deps/npm/html/doc/api/npm-install.html2
-rw-r--r--deps/npm/html/doc/api/npm-link.html2
-rw-r--r--deps/npm/html/doc/api/npm-load.html2
-rw-r--r--deps/npm/html/doc/api/npm-ls.html2
-rw-r--r--deps/npm/html/doc/api/npm-outdated.html2
-rw-r--r--deps/npm/html/doc/api/npm-owner.html2
-rw-r--r--deps/npm/html/doc/api/npm-pack.html2
-rw-r--r--deps/npm/html/doc/api/npm-ping.html2
-rw-r--r--deps/npm/html/doc/api/npm-prefix.html2
-rw-r--r--deps/npm/html/doc/api/npm-prune.html2
-rw-r--r--deps/npm/html/doc/api/npm-publish.html2
-rw-r--r--deps/npm/html/doc/api/npm-rebuild.html2
-rw-r--r--deps/npm/html/doc/api/npm-repo.html2
-rw-r--r--deps/npm/html/doc/api/npm-restart.html2
-rw-r--r--deps/npm/html/doc/api/npm-root.html2
-rw-r--r--deps/npm/html/doc/api/npm-run-script.html2
-rw-r--r--deps/npm/html/doc/api/npm-search.html2
-rw-r--r--deps/npm/html/doc/api/npm-shrinkwrap.html2
-rw-r--r--deps/npm/html/doc/api/npm-start.html2
-rw-r--r--deps/npm/html/doc/api/npm-stop.html2
-rw-r--r--deps/npm/html/doc/api/npm-tag.html2
-rw-r--r--deps/npm/html/doc/api/npm-test.html2
-rw-r--r--deps/npm/html/doc/api/npm-uninstall.html2
-rw-r--r--deps/npm/html/doc/api/npm-unpublish.html2
-rw-r--r--deps/npm/html/doc/api/npm-update.html2
-rw-r--r--deps/npm/html/doc/api/npm-version.html2
-rw-r--r--deps/npm/html/doc/api/npm-view.html2
-rw-r--r--deps/npm/html/doc/api/npm-whoami.html2
-rw-r--r--deps/npm/html/doc/api/npm.html4
-rw-r--r--deps/npm/html/doc/cli/npm-access.html2
-rw-r--r--deps/npm/html/doc/cli/npm-adduser.html2
-rw-r--r--deps/npm/html/doc/cli/npm-bin.html4
-rw-r--r--deps/npm/html/doc/cli/npm-bugs.html5
-rw-r--r--deps/npm/html/doc/cli/npm-build.html4
-rw-r--r--deps/npm/html/doc/cli/npm-bundle.html2
-rw-r--r--deps/npm/html/doc/cli/npm-cache.html2
-rw-r--r--deps/npm/html/doc/cli/npm-completion.html10
-rw-r--r--deps/npm/html/doc/cli/npm-config.html3
-rw-r--r--deps/npm/html/doc/cli/npm-dedupe.html20
-rw-r--r--deps/npm/html/doc/cli/npm-deprecate.html4
-rw-r--r--deps/npm/html/doc/cli/npm-dist-tag.html2
-rw-r--r--deps/npm/html/doc/cli/npm-docs.html6
-rw-r--r--deps/npm/html/doc/cli/npm-edit.html4
-rw-r--r--deps/npm/html/doc/cli/npm-explore.html4
-rw-r--r--deps/npm/html/doc/cli/npm-help-search.html4
-rw-r--r--deps/npm/html/doc/cli/npm-help.html5
-rw-r--r--deps/npm/html/doc/cli/npm-init.html4
-rw-r--r--deps/npm/html/doc/cli/npm-install.html72
-rw-r--r--deps/npm/html/doc/cli/npm-link.html9
-rw-r--r--deps/npm/html/doc/cli/npm-logout.html4
-rw-r--r--deps/npm/html/doc/cli/npm-ls.html19
-rw-r--r--deps/npm/html/doc/cli/npm-outdated.html4
-rw-r--r--deps/npm/html/doc/cli/npm-owner.html8
-rw-r--r--deps/npm/html/doc/cli/npm-pack.html12
-rw-r--r--deps/npm/html/doc/cli/npm-ping.html2
-rw-r--r--deps/npm/html/doc/cli/npm-prefix.html2
-rw-r--r--deps/npm/html/doc/cli/npm-prune.html5
-rw-r--r--deps/npm/html/doc/cli/npm-publish.html8
-rw-r--r--deps/npm/html/doc/cli/npm-rebuild.html13
-rw-r--r--deps/npm/html/doc/cli/npm-repo.html5
-rw-r--r--deps/npm/html/doc/cli/npm-restart.html2
-rw-r--r--deps/npm/html/doc/cli/npm-rm.html43
-rw-r--r--deps/npm/html/doc/cli/npm-root.html4
-rw-r--r--deps/npm/html/doc/cli/npm-run-script.html7
-rw-r--r--deps/npm/html/doc/cli/npm-search.html6
-rw-r--r--deps/npm/html/doc/cli/npm-shrinkwrap.html43
-rw-r--r--deps/npm/html/doc/cli/npm-star.html6
-rw-r--r--deps/npm/html/doc/cli/npm-stars.html5
-rw-r--r--deps/npm/html/doc/cli/npm-start.html2
-rw-r--r--deps/npm/html/doc/cli/npm-stop.html2
-rw-r--r--deps/npm/html/doc/cli/npm-tag.html5
-rw-r--r--deps/npm/html/doc/cli/npm-team.html2
-rw-r--r--deps/npm/html/doc/cli/npm-test.html2
-rw-r--r--deps/npm/html/doc/cli/npm-uninstall.html9
-rw-r--r--deps/npm/html/doc/cli/npm-unpublish.html4
-rw-r--r--deps/npm/html/doc/cli/npm-update.html4
-rw-r--r--deps/npm/html/doc/cli/npm-version.html8
-rw-r--r--deps/npm/html/doc/cli/npm-view.html7
-rw-r--r--deps/npm/html/doc/cli/npm-whoami.html4
-rw-r--r--deps/npm/html/doc/cli/npm.html10
-rw-r--r--deps/npm/html/doc/files/npm-folders.html2
-rw-r--r--deps/npm/html/doc/files/npm-global.html2
-rw-r--r--deps/npm/html/doc/files/npm-json.html14
-rw-r--r--deps/npm/html/doc/files/npmrc.html2
-rw-r--r--deps/npm/html/doc/files/package.json.html14
-rw-r--r--deps/npm/html/doc/index.html86
-rw-r--r--deps/npm/html/doc/misc/npm-coding-style.html2
-rw-r--r--deps/npm/html/doc/misc/npm-config.html54
-rw-r--r--deps/npm/html/doc/misc/npm-developers.html2
-rw-r--r--deps/npm/html/doc/misc/npm-disputes.html8
-rw-r--r--deps/npm/html/doc/misc/npm-faq.html4
-rw-r--r--deps/npm/html/doc/misc/npm-index.html86
-rw-r--r--deps/npm/html/doc/misc/npm-orgs.html2
-rw-r--r--deps/npm/html/doc/misc/npm-registry.html2
-rw-r--r--deps/npm/html/doc/misc/npm-scope.html2
-rw-r--r--deps/npm/html/doc/misc/npm-scripts.html2
-rw-r--r--deps/npm/html/doc/misc/removing-npm.html2
-rw-r--r--deps/npm/html/doc/misc/semver.html2
-rw-r--r--deps/npm/html/static/toc.js56
-rw-r--r--deps/npm/lib/access.js1
-rw-r--r--deps/npm/lib/adduser.js98
-rw-r--r--deps/npm/lib/bin.js17
-rw-r--r--deps/npm/lib/bugs.js67
-rw-r--r--deps/npm/lib/build.js227
-rw-r--r--deps/npm/lib/cache.js257
-rw-r--r--deps/npm/lib/cache/add-local-tarball.js123
-rw-r--r--deps/npm/lib/cache/add-local.js115
-rw-r--r--deps/npm/lib/cache/add-named.js161
-rw-r--r--deps/npm/lib/cache/add-remote-git.js21
-rw-r--r--deps/npm/lib/cache/add-remote-tarball.js76
-rw-r--r--deps/npm/lib/cache/cached-package-root.js12
-rw-r--r--deps/npm/lib/cache/caching-client.js147
-rw-r--r--deps/npm/lib/cache/update-index.js11
-rw-r--r--deps/npm/lib/completion.js205
-rw-r--r--deps/npm/lib/config.js261
-rw-r--r--deps/npm/lib/config/clear-credentials-by-uri.js14
-rw-r--r--deps/npm/lib/config/core.js301
-rw-r--r--deps/npm/lib/config/defaults.js537
-rw-r--r--deps/npm/lib/config/find-prefix.js16
-rw-r--r--deps/npm/lib/config/get-credentials-by-uri.js66
-rw-r--r--deps/npm/lib/config/load-cafile.js19
-rw-r--r--deps/npm/lib/config/load-prefix.js48
-rw-r--r--deps/npm/lib/config/load-uid.js6
-rw-r--r--deps/npm/lib/config/nerf-dart.js6
-rw-r--r--deps/npm/lib/config/set-credentials-by-uri.js53
-rw-r--r--deps/npm/lib/config/set-user.js12
-rw-r--r--deps/npm/lib/dedupe.js477
-rw-r--r--deps/npm/lib/deprecate.js24
-rw-r--r--deps/npm/lib/dist-tag.js88
-rw-r--r--deps/npm/lib/docs.js62
-rw-r--r--deps/npm/lib/edit.js29
-rw-r--r--deps/npm/lib/explore.js40
-rw-r--r--deps/npm/lib/faq.js7
-rw-r--r--deps/npm/lib/fetch-package-metadata.js330
-rw-r--r--deps/npm/lib/fetch-package-metadata.md37
-rw-r--r--deps/npm/lib/get.js6
-rw-r--r--deps/npm/lib/help-search.js122
-rw-r--r--deps/npm/lib/help.js180
-rw-r--r--deps/npm/lib/init.js44
-rw-r--r--deps/npm/lib/install.js1600
-rw-r--r--deps/npm/lib/install/access-error.js8
-rw-r--r--deps/npm/lib/install/action/build.js12
-rw-r--r--deps/npm/lib/install/action/extract.js17
-rw-r--r--deps/npm/lib/install/action/fetch.js27
-rw-r--r--deps/npm/lib/install/action/finalize.js93
-rw-r--r--deps/npm/lib/install/action/global-install.js16
-rw-r--r--deps/npm/lib/install/action/global-link.js7
-rw-r--r--deps/npm/lib/install/action/install.js7
-rw-r--r--deps/npm/lib/install/action/move.js59
-rw-r--r--deps/npm/lib/install/action/postinstall.js7
-rw-r--r--deps/npm/lib/install/action/preinstall.js7
-rw-r--r--deps/npm/lib/install/action/prepublish.js7
-rw-r--r--deps/npm/lib/install/action/remove.js82
-rw-r--r--deps/npm/lib/install/action/test.js7
-rw-r--r--deps/npm/lib/install/action/update-linked.js8
-rw-r--r--deps/npm/lib/install/actions.js127
-rw-r--r--deps/npm/lib/install/and-add-parent-to-errors.js13
-rw-r--r--deps/npm/lib/install/and-finish-tracker.js16
-rw-r--r--deps/npm/lib/install/and-ignore-errors.js9
-rw-r--r--deps/npm/lib/install/check-permissions.js69
-rw-r--r--deps/npm/lib/install/copy-tree.js25
-rw-r--r--deps/npm/lib/install/decompose-actions.js50
-rw-r--r--deps/npm/lib/install/deps.js534
-rw-r--r--deps/npm/lib/install/diff-trees.js159
-rw-r--r--deps/npm/lib/install/exists.js27
-rw-r--r--deps/npm/lib/install/filter-invalid-actions.js36
-rw-r--r--deps/npm/lib/install/flatten-tree.js29
-rw-r--r--deps/npm/lib/install/get-package-id.js19
-rw-r--r--deps/npm/lib/install/inflate-bundled.js15
-rw-r--r--deps/npm/lib/install/inflate-shrinkwrap.js58
-rw-r--r--deps/npm/lib/install/is-dev.js7
-rw-r--r--deps/npm/lib/install/is-extraneous.js14
-rw-r--r--deps/npm/lib/install/is-fs-access-available.js22
-rw-r--r--deps/npm/lib/install/mutate-into-logical-tree.js112
-rw-r--r--deps/npm/lib/install/node.js61
-rw-r--r--deps/npm/lib/install/prune-tree.js36
-rw-r--r--deps/npm/lib/install/read-shrinkwrap.js32
-rw-r--r--deps/npm/lib/install/save.js199
-rw-r--r--deps/npm/lib/install/update-package-json.js18
-rw-r--r--deps/npm/lib/install/validate-args.js44
-rw-r--r--deps/npm/lib/install/validate-tree.js69
-rw-r--r--deps/npm/lib/install/writable.js35
-rw-r--r--deps/npm/lib/link.js123
-rw-r--r--deps/npm/lib/logout.js31
-rw-r--r--deps/npm/lib/ls.js439
-rw-r--r--deps/npm/lib/npm.js852
-rw-r--r--deps/npm/lib/outdated.js481
-rw-r--r--deps/npm/lib/owner.js185
-rw-r--r--deps/npm/lib/pack.js59
-rw-r--r--deps/npm/lib/prefix.js9
-rw-r--r--deps/npm/lib/prune.js32
-rw-r--r--deps/npm/lib/publish.js116
-rw-r--r--deps/npm/lib/rebuild.js44
-rw-r--r--deps/npm/lib/repo.js75
-rw-r--r--deps/npm/lib/restart.js2
-rw-r--r--deps/npm/lib/root.js9
-rw-r--r--deps/npm/lib/run-script.js126
-rw-r--r--deps/npm/lib/search.js193
-rw-r--r--deps/npm/lib/set.js6
-rw-r--r--deps/npm/lib/shrinkwrap.js141
-rw-r--r--deps/npm/lib/star.js27
-rw-r--r--deps/npm/lib/stars.js18
-rw-r--r--deps/npm/lib/start.js2
-rw-r--r--deps/npm/lib/stop.js2
-rw-r--r--deps/npm/lib/substack.js21
-rw-r--r--deps/npm/lib/tag.js35
-rw-r--r--deps/npm/lib/test.js6
-rw-r--r--deps/npm/lib/unbuild.js125
-rw-r--r--deps/npm/lib/uninstall.js163
-rw-r--r--deps/npm/lib/unpublish.js56
-rw-r--r--deps/npm/lib/update.js74
-rw-r--r--deps/npm/lib/utils/completion/file-completion.js17
-rw-r--r--deps/npm/lib/utils/completion/installed-deep.js28
-rw-r--r--deps/npm/lib/utils/completion/installed-shallow.js54
-rw-r--r--deps/npm/lib/utils/deep-sort-object.js12
-rw-r--r--deps/npm/lib/utils/depr-check.js6
-rw-r--r--deps/npm/lib/utils/error-handler.js577
-rw-r--r--deps/npm/lib/utils/gently-rm.js142
-rw-r--r--deps/npm/lib/utils/git.js23
-rw-r--r--deps/npm/lib/utils/lifecycle.js262
-rw-r--r--deps/npm/lib/utils/link.js54
-rw-r--r--deps/npm/lib/utils/locker.js60
-rw-r--r--deps/npm/lib/utils/map-to-registry.js38
-rw-r--r--deps/npm/lib/utils/parse-json.js24
-rw-r--r--deps/npm/lib/utils/pulse-till-done.js21
-rw-r--r--deps/npm/lib/utils/read-local-package.js10
-rw-r--r--deps/npm/lib/utils/spawn.js12
-rw-r--r--deps/npm/lib/utils/tar.js345
-rw-r--r--deps/npm/lib/utils/temp-filename.js7
-rw-r--r--deps/npm/lib/utils/umask.js6
-rw-r--r--deps/npm/lib/utils/warn-deprecated.js5
-rw-r--r--deps/npm/lib/version.js5
-rw-r--r--deps/npm/lib/view.js194
-rw-r--r--deps/npm/lib/visnup.js56
-rw-r--r--deps/npm/lib/whoami.js19
-rw-r--r--deps/npm/lib/xmas.js96
-rw-r--r--deps/npm/man/man1/npm-bin.12
-rw-r--r--deps/npm/man/man1/npm-bugs.13
-rw-r--r--deps/npm/man/man1/npm-build.12
-rw-r--r--deps/npm/man/man1/npm-completion.111
-rw-r--r--deps/npm/man/man1/npm-config.11
-rw-r--r--deps/npm/man/man1/npm-dedupe.121
-rw-r--r--deps/npm/man/man1/npm-deprecate.12
-rw-r--r--deps/npm/man/man1/npm-docs.14
-rw-r--r--deps/npm/man/man1/npm-edit.12
-rw-r--r--deps/npm/man/man1/npm-explore.12
-rw-r--r--deps/npm/man/man1/npm-help-search.12
-rw-r--r--deps/npm/man/man1/npm-help.13
-rw-r--r--deps/npm/man/man1/npm-init.12
-rw-r--r--deps/npm/man/man1/npm-install.179
-rw-r--r--deps/npm/man/man1/npm-link.17
-rw-r--r--deps/npm/man/man1/npm-logout.12
-rw-r--r--deps/npm/man/man1/npm-ls.122
-rw-r--r--deps/npm/man/man1/npm-outdated.12
-rw-r--r--deps/npm/man/man1/npm-owner.16
-rw-r--r--deps/npm/man/man1/npm-pack.110
-rw-r--r--deps/npm/man/man1/npm-prune.13
-rw-r--r--deps/npm/man/man1/npm-publish.16
-rw-r--r--deps/npm/man/man1/npm-rebuild.111
-rw-r--r--deps/npm/man/man1/npm-repo.13
-rw-r--r--deps/npm/man/man1/npm-rm.134
-rw-r--r--deps/npm/man/man1/npm-root.12
-rw-r--r--deps/npm/man/man1/npm-run-script.15
-rw-r--r--deps/npm/man/man1/npm-search.14
-rw-r--r--deps/npm/man/man1/npm-shrinkwrap.142
-rw-r--r--deps/npm/man/man1/npm-star.14
-rw-r--r--deps/npm/man/man1/npm-stars.13
-rw-r--r--deps/npm/man/man1/npm-tag.13
-rw-r--r--deps/npm/man/man1/npm-uninstall.18
-rw-r--r--deps/npm/man/man1/npm-unpublish.12
-rw-r--r--deps/npm/man/man1/npm-update.12
-rw-r--r--deps/npm/man/man1/npm-version.14
-rw-r--r--deps/npm/man/man1/npm-view.15
-rw-r--r--deps/npm/man/man1/npm-whoami.12
-rw-r--r--deps/npm/man/man1/npm.12
-rw-r--r--deps/npm/man/man3/npm-bin.32
-rw-r--r--deps/npm/man/man3/npm-bugs.32
-rw-r--r--deps/npm/man/man3/npm-cache.32
-rw-r--r--deps/npm/man/man3/npm-commands.32
-rw-r--r--deps/npm/man/man3/npm-config.32
-rw-r--r--deps/npm/man/man3/npm-deprecate.32
-rw-r--r--deps/npm/man/man3/npm-docs.32
-rw-r--r--deps/npm/man/man3/npm-edit.32
-rw-r--r--deps/npm/man/man3/npm-explore.32
-rw-r--r--deps/npm/man/man3/npm-help-search.32
-rw-r--r--deps/npm/man/man3/npm-init.32
-rw-r--r--deps/npm/man/man3/npm-install.32
-rw-r--r--deps/npm/man/man3/npm-link.32
-rw-r--r--deps/npm/man/man3/npm-load.32
-rw-r--r--deps/npm/man/man3/npm-ls.32
-rw-r--r--deps/npm/man/man3/npm-outdated.32
-rw-r--r--deps/npm/man/man3/npm-owner.32
-rw-r--r--deps/npm/man/man3/npm-pack.32
-rw-r--r--deps/npm/man/man3/npm-ping.32
-rw-r--r--deps/npm/man/man3/npm-prefix.32
-rw-r--r--deps/npm/man/man3/npm-prune.32
-rw-r--r--deps/npm/man/man3/npm-publish.32
-rw-r--r--deps/npm/man/man3/npm-rebuild.32
-rw-r--r--deps/npm/man/man3/npm-repo.32
-rw-r--r--deps/npm/man/man3/npm-restart.32
-rw-r--r--deps/npm/man/man3/npm-root.32
-rw-r--r--deps/npm/man/man3/npm-run-script.32
-rw-r--r--deps/npm/man/man3/npm-search.32
-rw-r--r--deps/npm/man/man3/npm-shrinkwrap.32
-rw-r--r--deps/npm/man/man3/npm-start.32
-rw-r--r--deps/npm/man/man3/npm-stop.32
-rw-r--r--deps/npm/man/man3/npm-tag.32
-rw-r--r--deps/npm/man/man3/npm-test.32
-rw-r--r--deps/npm/man/man3/npm-uninstall.32
-rw-r--r--deps/npm/man/man3/npm-unpublish.32
-rw-r--r--deps/npm/man/man3/npm-update.34
-rw-r--r--deps/npm/man/man3/npm-version.32
-rw-r--r--deps/npm/man/man3/npm-view.32
-rw-r--r--deps/npm/man/man3/npm-whoami.32
-rw-r--r--deps/npm/man/man3/npm.34
-rw-r--r--deps/npm/man/man5/npm-json.513
-rw-r--r--deps/npm/man/man5/package.json.513
-rw-r--r--deps/npm/man/man7/npm-config.777
-rw-r--r--deps/npm/man/man7/npm-index.7126
-rw-r--r--deps/npm/node_modules/abbrev/package.json82
-rw-r--r--deps/npm/node_modules/ansi-regex/index.js (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/index.js)0
-rw-r--r--deps/npm/node_modules/ansi-regex/license (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/license)0
-rw-r--r--deps/npm/node_modules/ansi-regex/package.json (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/package.json)148
-rw-r--r--deps/npm/node_modules/ansi-regex/readme.md (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/readme.md)0
-rw-r--r--deps/npm/node_modules/ansi-styles/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/index.js)0
-rw-r--r--deps/npm/node_modules/ansi-styles/license (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/license)0
-rw-r--r--deps/npm/node_modules/ansi-styles/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json)134
-rw-r--r--deps/npm/node_modules/ansi-styles/readme.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/readme.md)0
-rw-r--r--deps/npm/node_modules/ansi/.jshintrc4
-rw-r--r--deps/npm/node_modules/ansi/package.json90
-rw-r--r--deps/npm/node_modules/ansicolors/package.json85
-rw-r--r--deps/npm/node_modules/ansistyles/package.json87
-rw-r--r--deps/npm/node_modules/aproba/.npmignore (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/.npmignore)3
-rw-r--r--deps/npm/node_modules/aproba/LICENSE (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/LICENSE)8
-rw-r--r--deps/npm/node_modules/aproba/README.md54
-rw-r--r--deps/npm/node_modules/aproba/index.js53
-rw-r--r--deps/npm/node_modules/aproba/package.json77
-rw-r--r--deps/npm/node_modules/aproba/test/index.js85
-rw-r--r--deps/npm/node_modules/archy/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/stringstream/.travis.yml)2
-rw-r--r--deps/npm/node_modules/archy/package.json135
-rw-r--r--deps/npm/node_modules/are-we-there-yet/.npmignore (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/.npmignore)0
-rw-r--r--deps/npm/node_modules/are-we-there-yet/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/README.md)2
-rw-r--r--deps/npm/node_modules/are-we-there-yet/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/index.js)0
-rw-r--r--deps/npm/node_modules/are-we-there-yet/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json)79
-rw-r--r--deps/npm/node_modules/are-we-there-yet/test/tracker.js (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js)0
-rw-r--r--deps/npm/node_modules/are-we-there-yet/test/trackergroup.js (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js)4
-rw-r--r--deps/npm/node_modules/are-we-there-yet/test/trackerstream.js (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js)0
-rw-r--r--deps/npm/node_modules/array-index/.npmignore (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/.npmignore)0
-rw-r--r--deps/npm/node_modules/array-index/.travis.yml (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.travis.yml)0
-rw-r--r--deps/npm/node_modules/array-index/History.md (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/History.md)0
-rw-r--r--deps/npm/node_modules/array-index/Makefile (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/Makefile)0
-rw-r--r--deps/npm/node_modules/array-index/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/README.md)0
-rw-r--r--deps/npm/node_modules/array-index/component.json (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/component.json)0
-rw-r--r--deps/npm/node_modules/array-index/index.js (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/index.js)0
-rw-r--r--deps/npm/node_modules/array-index/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json)94
-rw-r--r--deps/npm/node_modules/array-index/test.js (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/test.js)0
-rw-r--r--deps/npm/node_modules/asap/CHANGES.md (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/CHANGES.md)0
-rw-r--r--deps/npm/node_modules/asap/LICENSE.md (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/LICENSE.md)1
-rw-r--r--deps/npm/node_modules/asap/README.md (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/README.md)1
-rw-r--r--deps/npm/node_modules/asap/asap.js (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/asap.js)1
-rw-r--r--deps/npm/node_modules/asap/browser-asap.js (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/browser-asap.js)0
-rw-r--r--deps/npm/node_modules/asap/browser-raw.js (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/browser-raw.js)0
-rw-r--r--deps/npm/node_modules/asap/package.json (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/package.json)120
-rw-r--r--deps/npm/node_modules/asap/raw.js (renamed from deps/npm/node_modules/dezalgo/node_modules/asap/raw.js)0
-rw-r--r--deps/npm/node_modules/asn1/.npmignore (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/.npmignore)0
-rw-r--r--deps/npm/node_modules/asn1/LICENSE (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE)0
-rw-r--r--deps/npm/node_modules/asn1/README.md (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/README.md)0
-rw-r--r--deps/npm/node_modules/asn1/lib/ber/errors.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js)0
-rw-r--r--deps/npm/node_modules/asn1/lib/ber/index.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js)0
-rw-r--r--deps/npm/node_modules/asn1/lib/ber/reader.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js)0
-rw-r--r--deps/npm/node_modules/asn1/lib/ber/types.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js)0
-rw-r--r--deps/npm/node_modules/asn1/lib/ber/writer.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js)0
-rw-r--r--deps/npm/node_modules/asn1/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js)0
-rw-r--r--deps/npm/node_modules/asn1/package.json (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json)87
-rw-r--r--deps/npm/node_modules/asn1/tst/ber/reader.test.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js)0
-rw-r--r--deps/npm/node_modules/asn1/tst/ber/writer.test.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js)0
-rw-r--r--deps/npm/node_modules/assert-plus/README.md (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md)0
-rw-r--r--deps/npm/node_modules/assert-plus/assert.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js)0
-rw-r--r--deps/npm/node_modules/assert-plus/package.json (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json)71
-rw-r--r--deps/npm/node_modules/async-some/package.json88
-rw-r--r--deps/npm/node_modules/async/CHANGELOG.md (renamed from deps/npm/node_modules/request/node_modules/form-data/node_modules/async/CHANGELOG.md)0
-rw-r--r--deps/npm/node_modules/async/LICENSE (renamed from deps/npm/node_modules/request/node_modules/form-data/node_modules/async/LICENSE)0
-rw-r--r--deps/npm/node_modules/async/lib/async.js (renamed from deps/npm/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js)0
-rw-r--r--deps/npm/node_modules/async/package.json (renamed from deps/npm/node_modules/request/node_modules/form-data/node_modules/async/package.json)152
-rw-r--r--deps/npm/node_modules/aws-sign2/LICENSE (renamed from deps/npm/node_modules/request/node_modules/aws-sign2/LICENSE)0
-rw-r--r--deps/npm/node_modules/aws-sign2/README.md (renamed from deps/npm/node_modules/request/node_modules/aws-sign2/README.md)0
-rw-r--r--deps/npm/node_modules/aws-sign2/index.js (renamed from deps/npm/node_modules/request/node_modules/aws-sign2/index.js)18
-rw-r--r--deps/npm/node_modules/aws-sign2/package.json (renamed from deps/npm/node_modules/request/node_modules/aws-sign2/package.json)74
-rw-r--r--deps/npm/node_modules/balanced-match/.npmignore (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore)0
-rw-r--r--deps/npm/node_modules/balanced-match/.travis.yml (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml)0
-rw-r--r--deps/npm/node_modules/balanced-match/Makefile (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile)1
-rw-r--r--deps/npm/node_modules/balanced-match/README.md (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md)0
-rw-r--r--deps/npm/node_modules/balanced-match/example.js (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js)1
-rw-r--r--deps/npm/node_modules/balanced-match/index.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js)0
-rw-r--r--deps/npm/node_modules/balanced-match/package.json (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json)129
-rw-r--r--deps/npm/node_modules/balanced-match/test/balanced.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js)0
-rw-r--r--deps/npm/node_modules/bl/.npmignore (renamed from deps/npm/node_modules/request/node_modules/bl/.npmignore)0
-rw-r--r--deps/npm/node_modules/bl/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/bl/.travis.yml)0
-rw-r--r--deps/npm/node_modules/bl/LICENSE.md (renamed from deps/npm/node_modules/request/node_modules/bl/LICENSE.md)0
-rw-r--r--deps/npm/node_modules/bl/README.md (renamed from deps/npm/node_modules/request/node_modules/bl/README.md)0
-rw-r--r--deps/npm/node_modules/bl/bl.js (renamed from deps/npm/node_modules/request/node_modules/bl/bl.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/.npmignore (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.npmignore)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/.travis.yml (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/.zuul.yml (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.zuul.yml)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/LICENSE (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/LICENSE)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/README.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/doc/stream.markdown (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/duplex.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/duplex.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/package.json (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json)97
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/passthrough.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/passthrough.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/readable.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/readable.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/transform.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/transform.js)0
-rw-r--r--deps/npm/node_modules/bl/node_modules/readable-stream/writable.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/writable.js)0
-rw-r--r--deps/npm/node_modules/bl/package.json (renamed from deps/npm/node_modules/request/node_modules/bl/package.json)112
-rw-r--r--deps/npm/node_modules/bl/test/basic-test.js (renamed from deps/npm/node_modules/request/node_modules/bl/test/basic-test.js)0
-rw-r--r--deps/npm/node_modules/bl/test/sauce.js (renamed from deps/npm/node_modules/request/node_modules/bl/test/sauce.js)0
-rw-r--r--deps/npm/node_modules/bl/test/test.js (renamed from deps/npm/node_modules/request/node_modules/bl/test/test.js)0
-rw-r--r--deps/npm/node_modules/block-stream/package.json87
-rw-r--r--deps/npm/node_modules/bluebird/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/LICENSE)0
-rw-r--r--deps/npm/node_modules/bluebird/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/README.md)0
-rw-r--r--deps/npm/node_modules/bluebird/changelog.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/changelog.md)0
-rw-r--r--deps/npm/node_modules/bluebird/js/browser/bluebird.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.js)58
-rw-r--r--deps/npm/node_modules/bluebird/js/browser/bluebird.min.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.min.js)10
-rw-r--r--deps/npm/node_modules/bluebird/js/main/any.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/any.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/assert.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/assert.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/async.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/async.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/bind.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bind.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/bluebird.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bluebird.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/call_get.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/call_get.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/cancel.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/cancel.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/captured_trace.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/captured_trace.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/catch_filter.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/catch_filter.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/context.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/context.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/debuggability.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/debuggability.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/direct_resolve.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/direct_resolve.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/each.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/each.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/errors.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/errors.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/es5.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/es5.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/filter.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/filter.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/finally.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/finally.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/generators.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/generators.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/join.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/join.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/map.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/map.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/method.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/method.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/nodeify.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/nodeify.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/progress.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/progress.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/promise.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise.js)48
-rw-r--r--deps/npm/node_modules/bluebird/js/main/promise_array.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_array.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/promise_resolver.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_resolver.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/promisify.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promisify.js)1
-rw-r--r--deps/npm/node_modules/bluebird/js/main/props.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/props.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/queue.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/queue.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/race.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/race.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/reduce.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/reduce.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/schedule.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/schedule.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/settle.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/settle.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/some.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/some.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/synchronous_inspection.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/synchronous_inspection.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/thenables.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/thenables.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/timers.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/timers.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/using.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/using.js)0
-rw-r--r--deps/npm/node_modules/bluebird/js/main/util.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/util.js)0
-rw-r--r--deps/npm/node_modules/bluebird/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/package.json)133
-rw-r--r--deps/npm/node_modules/boom/.npmignore (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore)0
-rwxr-xr-xdeps/npm/node_modules/boom/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml)0
-rw-r--r--deps/npm/node_modules/boom/CONTRIBUTING.md (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/CONTRIBUTING.md)0
-rwxr-xr-xdeps/npm/node_modules/boom/LICENSE (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE)0
-rwxr-xr-xdeps/npm/node_modules/boom/README.md (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/README.md)0
-rwxr-xr-xdeps/npm/node_modules/boom/images/boom.png (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png)bin29479 -> 29479 bytes
-rwxr-xr-xdeps/npm/node_modules/boom/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js)0
-rw-r--r--deps/npm/node_modules/boom/package.json (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/package.json)93
-rwxr-xr-xdeps/npm/node_modules/boom/test/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js)0
-rw-r--r--deps/npm/node_modules/brace-expansion/.npmignore3
-rw-r--r--deps/npm/node_modules/brace-expansion/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md)3
-rw-r--r--deps/npm/node_modules/brace-expansion/example.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js)1
-rw-r--r--deps/npm/node_modules/brace-expansion/index.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js)1
-rw-r--r--deps/npm/node_modules/brace-expansion/package.json (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/package.json)129
-rw-r--r--deps/npm/node_modules/builtin-modules/builtin-modules.json (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/builtin-modules.json)0
-rw-r--r--deps/npm/node_modules/builtin-modules/index.js (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/index.js)0
-rw-r--r--deps/npm/node_modules/builtin-modules/license (renamed from deps/npm/node_modules/glob/node_modules/path-is-absolute/license)0
-rw-r--r--deps/npm/node_modules/builtin-modules/package.json (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/package.json)114
-rw-r--r--deps/npm/node_modules/builtin-modules/readme.md (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/readme.md)0
-rw-r--r--deps/npm/node_modules/builtin-modules/static.js (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/static.js)0
-rw-r--r--deps/npm/node_modules/builtins/.travis.yml (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml)0
-rw-r--r--deps/npm/node_modules/builtins/History.md (renamed from deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md)0
-rw-r--r--deps/npm/node_modules/builtins/Readme.md (renamed from deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md)0
-rw-r--r--deps/npm/node_modules/builtins/builtins.json (renamed from deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json)0
-rw-r--r--deps/npm/node_modules/builtins/package.json71
-rw-r--r--deps/npm/node_modules/caseless/LICENSE (renamed from deps/npm/node_modules/request/node_modules/caseless/LICENSE)0
-rw-r--r--deps/npm/node_modules/caseless/README.md (renamed from deps/npm/node_modules/request/node_modules/caseless/README.md)0
-rw-r--r--deps/npm/node_modules/caseless/index.js (renamed from deps/npm/node_modules/request/node_modules/caseless/index.js)0
-rw-r--r--deps/npm/node_modules/caseless/package.json (renamed from deps/npm/node_modules/request/node_modules/caseless/package.json)88
-rw-r--r--deps/npm/node_modules/caseless/test.js (renamed from deps/npm/node_modules/request/node_modules/caseless/test.js)0
-rw-r--r--deps/npm/node_modules/chalk/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/index.js)0
-rw-r--r--deps/npm/node_modules/chalk/license (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/license)0
-rw-r--r--deps/npm/node_modules/chalk/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json)177
-rw-r--r--deps/npm/node_modules/chalk/readme.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/readme.md)0
-rw-r--r--deps/npm/node_modules/char-spinner/README.md31
-rw-r--r--deps/npm/node_modules/char-spinner/package.json54
-rw-r--r--deps/npm/node_modules/char-spinner/spin.js51
-rw-r--r--deps/npm/node_modules/char-spinner/test/basic.js35
-rw-r--r--deps/npm/node_modules/chmodr/README.md3
-rw-r--r--deps/npm/node_modules/chmodr/chmodr.js65
-rw-r--r--deps/npm/node_modules/chmodr/package.json53
-rw-r--r--deps/npm/node_modules/chownr/package.json89
-rw-r--r--deps/npm/node_modules/clone/.npmignore (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/.npmignore)0
-rw-r--r--deps/npm/node_modules/clone/.travis.yml (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/.travis.yml)0
-rw-r--r--deps/npm/node_modules/clone/LICENSE (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/LICENSE)0
-rw-r--r--deps/npm/node_modules/clone/README.md (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/README.md)0
-rw-r--r--deps/npm/node_modules/clone/clone.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js)2
-rw-r--r--deps/npm/node_modules/clone/package.json (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/package.json)113
-rw-r--r--deps/npm/node_modules/clone/test.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/test.js)0
-rw-r--r--deps/npm/node_modules/cmd-shim/package.json78
-rw-r--r--deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json85
-rw-r--r--deps/npm/node_modules/columnify/package.json109
-rw-r--r--deps/npm/node_modules/combined-stream/License (renamed from deps/npm/node_modules/request/node_modules/combined-stream/License)0
-rw-r--r--deps/npm/node_modules/combined-stream/Readme.md (renamed from deps/npm/node_modules/request/node_modules/combined-stream/Readme.md)0
-rw-r--r--deps/npm/node_modules/combined-stream/lib/combined_stream.js (renamed from deps/npm/node_modules/request/node_modules/combined-stream/lib/combined_stream.js)0
-rw-r--r--deps/npm/node_modules/combined-stream/package.json (renamed from deps/npm/node_modules/request/node_modules/combined-stream/package.json)88
-rw-r--r--deps/npm/node_modules/commander/History.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/History.md)0
-rw-r--r--deps/npm/node_modules/commander/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE)0
-rw-r--r--deps/npm/node_modules/commander/Readme.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/Readme.md)9
-rw-r--r--deps/npm/node_modules/commander/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/index.js)0
-rw-r--r--deps/npm/node_modules/commander/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/package.json)97
-rw-r--r--deps/npm/node_modules/concat-map/.travis.yml (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml)0
-rw-r--r--deps/npm/node_modules/concat-map/LICENSE (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE)0
-rw-r--r--deps/npm/node_modules/concat-map/README.markdown (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown)0
-rw-r--r--deps/npm/node_modules/concat-map/example/map.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js)0
-rw-r--r--deps/npm/node_modules/concat-map/index.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js)0
-rw-r--r--deps/npm/node_modules/concat-map/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json)138
-rw-r--r--deps/npm/node_modules/concat-map/test/map.js (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/LICENSE24
-rw-r--r--deps/npm/node_modules/concat-stream/index.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/index.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/.npmignore (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.npmignore)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.travis.yml)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/.zuul.yml (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.zuul.yml)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/LICENSE (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/LICENSE)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/README.md (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/README.md)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/stream.markdown)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/duplex.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/duplex.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/package.json (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json)97
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/passthrough.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/passthrough.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/readable.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/readable.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/transform.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/transform.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/node_modules/readable-stream/writable.js (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/writable.js)0
-rw-r--r--deps/npm/node_modules/concat-stream/package.json (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/package.json)144
-rw-r--r--deps/npm/node_modules/concat-stream/readme.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md)2
-rw-r--r--deps/npm/node_modules/config-chain/package.json96
-rw-r--r--deps/npm/node_modules/core-util-is/README.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/README.md)0
-rw-r--r--deps/npm/node_modules/core-util-is/float.patch (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/float.patch)0
-rw-r--r--deps/npm/node_modules/core-util-is/lib/util.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js)0
-rw-r--r--deps/npm/node_modules/core-util-is/package.json (renamed from deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/package.json)92
-rw-r--r--deps/npm/node_modules/core-util-is/util.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js)0
-rw-r--r--deps/npm/node_modules/cryptiles/.npmignore (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/.npmignore)1
-rwxr-xr-x[-rw-r--r--]deps/npm/node_modules/cryptiles/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml)0
-rwxr-xr-xdeps/npm/node_modules/cryptiles/LICENSE (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE)0
-rw-r--r--deps/npm/node_modules/cryptiles/README.md (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md)0
-rwxr-xr-xdeps/npm/node_modules/cryptiles/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js)2
-rw-r--r--deps/npm/node_modules/cryptiles/package.json (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json)95
-rwxr-xr-xdeps/npm/node_modules/cryptiles/test/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js)0
-rw-r--r--deps/npm/node_modules/ctype/.npmignore (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/.npmignore)0
-rw-r--r--deps/npm/node_modules/ctype/CHANGELOG (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG)0
-rw-r--r--deps/npm/node_modules/ctype/LICENSE (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE)0
-rw-r--r--deps/npm/node_modules/ctype/README (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README)0
-rw-r--r--deps/npm/node_modules/ctype/README.old (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README.old)1
-rw-r--r--deps/npm/node_modules/ctype/ctf.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js)0
-rw-r--r--deps/npm/node_modules/ctype/ctio.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js)0
-rw-r--r--deps/npm/node_modules/ctype/ctype.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js)0
-rw-r--r--deps/npm/node_modules/ctype/man/man3ctype/ctio.3ctype (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype)4
-rw-r--r--deps/npm/node_modules/ctype/package.json64
-rwxr-xr-xdeps/npm/node_modules/ctype/tools/jsl.conf (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf)0
-rwxr-xr-xdeps/npm/node_modules/ctype/tools/jsstyle (renamed from deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle)0
-rw-r--r--deps/npm/node_modules/debuglog/LICENSE (renamed from deps/npm/node_modules/read-installed/node_modules/debuglog/LICENSE)0
-rw-r--r--deps/npm/node_modules/debuglog/README.md (renamed from deps/npm/node_modules/read-installed/node_modules/debuglog/README.md)0
-rw-r--r--deps/npm/node_modules/debuglog/debuglog.js (renamed from deps/npm/node_modules/read-installed/node_modules/debuglog/debuglog.js)0
-rw-r--r--deps/npm/node_modules/debuglog/package.json (renamed from deps/npm/node_modules/read-installed/node_modules/debuglog/package.json)74
-rw-r--r--deps/npm/node_modules/defaults/.npmignore (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/.npmignore)0
-rw-r--r--deps/npm/node_modules/defaults/LICENSE (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/LICENSE)0
-rw-r--r--deps/npm/node_modules/defaults/README.md (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/README.md)0
-rw-r--r--deps/npm/node_modules/defaults/index.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/index.js)0
-rw-r--r--deps/npm/node_modules/defaults/package.json (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/package.json)86
-rw-r--r--deps/npm/node_modules/defaults/test.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/test.js)1
-rw-r--r--deps/npm/node_modules/delayed-stream/.npmignore (renamed from deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/.npmignore)0
-rw-r--r--deps/npm/node_modules/delayed-stream/License (renamed from deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License)0
-rw-r--r--deps/npm/node_modules/delayed-stream/Makefile (renamed from deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile)1
-rw-r--r--deps/npm/node_modules/delayed-stream/Readme.md (renamed from deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Readme.md)0
-rw-r--r--deps/npm/node_modules/delayed-stream/lib/delayed_stream.js (renamed from deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js)0
-rw-r--r--deps/npm/node_modules/delayed-stream/package.json (renamed from deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json)89
-rw-r--r--deps/npm/node_modules/delegates/.npmignore (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/.npmignore)0
-rw-r--r--deps/npm/node_modules/delegates/History.md (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/History.md)0
-rw-r--r--deps/npm/node_modules/delegates/Makefile (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/Makefile)0
-rw-r--r--deps/npm/node_modules/delegates/Readme.md (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/Readme.md)0
-rw-r--r--deps/npm/node_modules/delegates/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/index.js)0
-rw-r--r--deps/npm/node_modules/delegates/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json)75
-rw-r--r--deps/npm/node_modules/delegates/test/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/test/index.js)0
-rw-r--r--deps/npm/node_modules/dezalgo/package.json113
-rw-r--r--deps/npm/node_modules/editor/package.json98
-rw-r--r--deps/npm/node_modules/escape-string-regexp/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/index.js)0
-rw-r--r--deps/npm/node_modules/escape-string-regexp/license (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/license)0
-rw-r--r--deps/npm/node_modules/escape-string-regexp/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json)122
-rw-r--r--deps/npm/node_modules/escape-string-regexp/readme.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/readme.md)0
-rw-r--r--deps/npm/node_modules/extend/.jscs.json (renamed from deps/npm/node_modules/request/node_modules/extend/.jscs.json)0
-rw-r--r--deps/npm/node_modules/extend/.npmignore (renamed from deps/npm/node_modules/request/node_modules/extend/.npmignore)0
-rw-r--r--deps/npm/node_modules/extend/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/extend/.travis.yml)0
-rw-r--r--deps/npm/node_modules/extend/CHANGELOG.md (renamed from deps/npm/node_modules/request/node_modules/extend/CHANGELOG.md)0
-rw-r--r--deps/npm/node_modules/extend/LICENSE (renamed from deps/npm/node_modules/request/node_modules/extend/LICENSE)0
-rw-r--r--deps/npm/node_modules/extend/README.md (renamed from deps/npm/node_modules/request/node_modules/extend/README.md)0
-rw-r--r--deps/npm/node_modules/extend/component.json (renamed from deps/npm/node_modules/request/node_modules/extend/component.json)0
-rw-r--r--deps/npm/node_modules/extend/index.js (renamed from deps/npm/node_modules/request/node_modules/extend/index.js)0
-rw-r--r--deps/npm/node_modules/extend/package.json (renamed from deps/npm/node_modules/request/node_modules/extend/package.json)105
-rw-r--r--deps/npm/node_modules/forever-agent/LICENSE (renamed from deps/npm/node_modules/request/node_modules/forever-agent/LICENSE)0
-rw-r--r--deps/npm/node_modules/forever-agent/README.md (renamed from deps/npm/node_modules/request/node_modules/forever-agent/README.md)0
-rw-r--r--deps/npm/node_modules/forever-agent/index.js (renamed from deps/npm/node_modules/request/node_modules/forever-agent/index.js)12
-rw-r--r--deps/npm/node_modules/forever-agent/package.json (renamed from deps/npm/node_modules/request/node_modules/forever-agent/package.json)76
-rw-r--r--deps/npm/node_modules/form-data/License (renamed from deps/npm/node_modules/request/node_modules/form-data/License)0
-rw-r--r--deps/npm/node_modules/form-data/Readme.md (renamed from deps/npm/node_modules/request/node_modules/form-data/Readme.md)0
-rw-r--r--deps/npm/node_modules/form-data/lib/browser.js (renamed from deps/npm/node_modules/request/node_modules/form-data/lib/browser.js)0
-rw-r--r--deps/npm/node_modules/form-data/lib/form_data.js (renamed from deps/npm/node_modules/request/node_modules/form-data/lib/form_data.js)0
-rw-r--r--deps/npm/node_modules/form-data/package.json (renamed from deps/npm/node_modules/request/node_modules/form-data/package.json)94
-rw-r--r--deps/npm/node_modules/fs-vacuum/package.json97
-rw-r--r--deps/npm/node_modules/fs-write-stream-atomic/package.json94
-rw-r--r--deps/npm/node_modules/fstream-ignore/.npmignore (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/.npmignore)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/LICENSE (renamed from deps/npm/node_modules/chmodr/LICENSE)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/README.md (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/README.md)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/example/basic.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/example/basic.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/ignore.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/ignore.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/package.json (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/package.json)87
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/.ignore (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/.ignore)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/.npmignore (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/.npmignore)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/00-setup.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/00-setup.js)1
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/basic.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/basic.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/common.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/common.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/ignore-most.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/ignore-most.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/nested-ignores.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/nested-ignores.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/read-file-order.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/read-file-order.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/unignore-child.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/unignore-child.js)0
-rw-r--r--deps/npm/node_modules/fstream-ignore/test/zz-cleanup.js (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/zz-cleanup.js)0
-rw-r--r--deps/npm/node_modules/fstream-npm/package.json89
-rw-r--r--deps/npm/node_modules/fstream/package.json101
-rw-r--r--deps/npm/node_modules/gauge/.npmignore (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/.npmignore)0
-rw-r--r--deps/npm/node_modules/gauge/LICENSE (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/LICENSE)0
-rw-r--r--deps/npm/node_modules/gauge/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/README.md)11
-rw-r--r--deps/npm/node_modules/gauge/example.png (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/example.png)bin19689 -> 19689 bytes
-rw-r--r--deps/npm/node_modules/gauge/package.json82
-rw-r--r--deps/npm/node_modules/gauge/progress-bar.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js)21
-rw-r--r--deps/npm/node_modules/gauge/test/progress-bar.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/test/progress-bar.js)32
-rw-r--r--deps/npm/node_modules/generate-function/.npmignore (renamed from deps/npm/node_modules/github-url-from-git/.npmignore)0
-rw-r--r--deps/npm/node_modules/generate-function/.travis.yml (renamed from deps/npm/node_modules/minimatch/node_modules/brace-expansion/.travis.yml)0
-rw-r--r--deps/npm/node_modules/generate-function/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/README.md)0
-rw-r--r--deps/npm/node_modules/generate-function/example.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/example.js)0
-rw-r--r--deps/npm/node_modules/generate-function/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/index.js)0
-rw-r--r--deps/npm/node_modules/generate-function/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json)86
-rw-r--r--deps/npm/node_modules/generate-function/test.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/test.js)0
-rw-r--r--deps/npm/node_modules/generate-object-property/.npmignore (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.npmignore)0
-rw-r--r--deps/npm/node_modules/generate-object-property/.travis.yml (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml)0
-rw-r--r--deps/npm/node_modules/generate-object-property/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE)0
-rw-r--r--deps/npm/node_modules/generate-object-property/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/README.md)0
-rw-r--r--deps/npm/node_modules/generate-object-property/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/index.js)0
-rw-r--r--deps/npm/node_modules/generate-object-property/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json)89
-rw-r--r--deps/npm/node_modules/generate-object-property/test.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/test.js)0
-rw-r--r--deps/npm/node_modules/github-url-from-git/Makefile5
-rw-r--r--deps/npm/node_modules/github-url-from-git/Readme.md92
-rw-r--r--deps/npm/node_modules/github-url-from-git/index.js32
-rw-r--r--deps/npm/node_modules/github-url-from-git/package.json57
-rw-r--r--deps/npm/node_modules/github-url-from-git/test.js90
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/.npmignore13
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/.travis.yml4
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/LICENSE27
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/README.md21
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/index.js21
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/package.json36
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/test/index.js70
-rw-r--r--deps/npm/node_modules/glob/package.json113
-rw-r--r--deps/npm/node_modules/graceful-fs/package.json56
-rw-r--r--deps/npm/node_modules/graceful-readlink/.npmignore (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.npmignore)0
-rw-r--r--deps/npm/node_modules/graceful-readlink/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.travis.yml)0
-rw-r--r--deps/npm/node_modules/graceful-readlink/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE)1
-rw-r--r--deps/npm/node_modules/graceful-readlink/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/README.md)0
-rw-r--r--deps/npm/node_modules/graceful-readlink/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/index.js)2
-rw-r--r--deps/npm/node_modules/graceful-readlink/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json)85
-rw-r--r--deps/npm/node_modules/har-validator/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/LICENSE)0
-rw-r--r--deps/npm/node_modules/har-validator/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/README.md)0
-rwxr-xr-xdeps/npm/node_modules/har-validator/bin/har-validator (renamed from deps/npm/node_modules/request/node_modules/har-validator/bin/har-validator)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/error.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/error.js)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/index.js)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/cache.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cache.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/cacheEntry.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cacheEntry.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/content.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/content.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/cookie.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cookie.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/creator.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/creator.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/entry.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/entry.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/har.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/har.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/index.js)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/log.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/log.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/page.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/page.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/pageTimings.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/pageTimings.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/postData.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/postData.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/record.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/record.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/request.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/request.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/response.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/response.json)0
-rw-r--r--deps/npm/node_modules/har-validator/lib/schemas/timings.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/timings.json)0
-rw-r--r--deps/npm/node_modules/har-validator/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/package.json)135
-rw-r--r--deps/npm/node_modules/has-ansi/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/index.js)0
-rw-r--r--deps/npm/node_modules/has-ansi/license (renamed from deps/npm/node_modules/osenv/node_modules/os-homedir/license)0
-rw-r--r--deps/npm/node_modules/has-ansi/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json)143
-rw-r--r--deps/npm/node_modules/has-ansi/readme.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/readme.md)0
-rw-r--r--deps/npm/node_modules/has-unicode/.npmignore (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/.npmignore)0
-rw-r--r--deps/npm/node_modules/has-unicode/LICENSE (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/LICENSE)1
-rw-r--r--deps/npm/node_modules/has-unicode/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md)3
-rw-r--r--deps/npm/node_modules/has-unicode/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/index.js)0
-rw-r--r--deps/npm/node_modules/has-unicode/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json)87
-rw-r--r--deps/npm/node_modules/has-unicode/test/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/test/index.js)0
-rw-r--r--deps/npm/node_modules/hawk/.npmignore (renamed from deps/npm/node_modules/request/node_modules/hawk/.npmignore)0
-rwxr-xr-xdeps/npm/node_modules/hawk/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/hawk/.travis.yml)0
-rwxr-xr-xdeps/npm/node_modules/hawk/LICENSE (renamed from deps/npm/node_modules/request/node_modules/hawk/LICENSE)0
-rwxr-xr-xdeps/npm/node_modules/hawk/README.md (renamed from deps/npm/node_modules/request/node_modules/hawk/README.md)10
-rw-r--r--deps/npm/node_modules/hawk/bower.json (renamed from deps/npm/node_modules/request/node_modules/hawk/bower.json)0
-rw-r--r--deps/npm/node_modules/hawk/component.json (renamed from deps/npm/node_modules/request/node_modules/hawk/component.json)0
-rwxr-xr-xdeps/npm/node_modules/hawk/example/usage.js (renamed from deps/npm/node_modules/request/node_modules/hawk/example/usage.js)1
-rwxr-xr-xdeps/npm/node_modules/hawk/images/hawk.png (renamed from deps/npm/node_modules/request/node_modules/hawk/images/hawk.png)bin6945 -> 6945 bytes
-rwxr-xr-xdeps/npm/node_modules/hawk/images/logo.png (renamed from deps/npm/node_modules/request/node_modules/hawk/images/logo.png)bin71732 -> 71732 bytes
-rwxr-xr-xdeps/npm/node_modules/hawk/lib/browser.js (renamed from deps/npm/node_modules/request/node_modules/hawk/lib/browser.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/lib/client.js (renamed from deps/npm/node_modules/request/node_modules/hawk/lib/client.js)3
-rwxr-xr-xdeps/npm/node_modules/hawk/lib/crypto.js (renamed from deps/npm/node_modules/request/node_modules/hawk/lib/crypto.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/lib/index.js)1
-rwxr-xr-xdeps/npm/node_modules/hawk/lib/server.js (renamed from deps/npm/node_modules/request/node_modules/hawk/lib/server.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/lib/utils.js (renamed from deps/npm/node_modules/request/node_modules/hawk/lib/utils.js)1
-rw-r--r--deps/npm/node_modules/hawk/package.json (renamed from deps/npm/node_modules/request/node_modules/hawk/package.json)105
-rwxr-xr-xdeps/npm/node_modules/hawk/test/browser.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/browser.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/test/client.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/client.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/test/crypto.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/crypto.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/test/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/index.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/test/readme.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/readme.js)1
-rwxr-xr-xdeps/npm/node_modules/hawk/test/server.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/server.js)0
-rwxr-xr-xdeps/npm/node_modules/hawk/test/uri.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/uri.js)1
-rwxr-xr-xdeps/npm/node_modules/hawk/test/utils.js (renamed from deps/npm/node_modules/request/node_modules/hawk/test/utils.js)0
-rw-r--r--deps/npm/node_modules/hoek/.npmignore (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore)0
-rw-r--r--deps/npm/node_modules/hoek/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/qs/.travis.yml)0
-rw-r--r--deps/npm/node_modules/hoek/CONTRIBUTING.md (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/CONTRIBUTING.md)0
-rw-r--r--deps/npm/node_modules/hoek/LICENSE (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE)0
-rw-r--r--deps/npm/node_modules/hoek/README.md (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md)0
-rw-r--r--deps/npm/node_modules/hoek/images/hoek.png (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png)bin37939 -> 37939 bytes
-rw-r--r--deps/npm/node_modules/hoek/lib/escape.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js)0
-rw-r--r--deps/npm/node_modules/hoek/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js)0
-rw-r--r--deps/npm/node_modules/hoek/package.json (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/package.json)92
-rw-r--r--deps/npm/node_modules/hoek/test/escaper.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js)0
-rw-r--r--deps/npm/node_modules/hoek/test/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js)0
-rw-r--r--deps/npm/node_modules/hoek/test/modules/ignore.txt (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/ignore.txt)0
-rw-r--r--deps/npm/node_modules/hoek/test/modules/test1.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js)0
-rw-r--r--deps/npm/node_modules/hoek/test/modules/test2.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js)0
-rw-r--r--deps/npm/node_modules/hoek/test/modules/test3.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js)0
-rw-r--r--deps/npm/node_modules/hosted-git-info/package.json87
-rw-r--r--deps/npm/node_modules/http-signature/.dir-locals.el (renamed from deps/npm/node_modules/request/node_modules/http-signature/.dir-locals.el)0
-rw-r--r--deps/npm/node_modules/http-signature/.npmignore (renamed from deps/npm/node_modules/request/node_modules/http-signature/.npmignore)0
-rw-r--r--deps/npm/node_modules/http-signature/LICENSE (renamed from deps/npm/node_modules/request/node_modules/http-signature/LICENSE)0
-rw-r--r--deps/npm/node_modules/http-signature/README.md (renamed from deps/npm/node_modules/request/node_modules/http-signature/README.md)0
-rw-r--r--deps/npm/node_modules/http-signature/http_signing.md (renamed from deps/npm/node_modules/request/node_modules/http-signature/http_signing.md)1
-rw-r--r--deps/npm/node_modules/http-signature/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/lib/index.js)0
-rw-r--r--deps/npm/node_modules/http-signature/lib/parser.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/lib/parser.js)0
-rw-r--r--deps/npm/node_modules/http-signature/lib/signer.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/lib/signer.js)0
-rw-r--r--deps/npm/node_modules/http-signature/lib/util.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/lib/util.js)0
-rw-r--r--deps/npm/node_modules/http-signature/lib/verify.js (renamed from deps/npm/node_modules/request/node_modules/http-signature/lib/verify.js)0
-rw-r--r--deps/npm/node_modules/http-signature/package.json (renamed from deps/npm/node_modules/request/node_modules/http-signature/package.json)99
-rw-r--r--deps/npm/node_modules/iferr/.npmignore (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.npmignore)0
-rw-r--r--deps/npm/node_modules/iferr/LICENSE (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/license.md)8
-rw-r--r--deps/npm/node_modules/iferr/README.md40
-rw-r--r--deps/npm/node_modules/iferr/index.coffee24
-rw-r--r--deps/npm/node_modules/iferr/index.js49
-rw-r--r--deps/npm/node_modules/iferr/package.json75
-rw-r--r--deps/npm/node_modules/iferr/test/index.coffee42
-rw-r--r--deps/npm/node_modules/iferr/test/mocha.opts2
-rw-r--r--deps/npm/node_modules/inflight/package.json93
-rw-r--r--deps/npm/node_modules/inherits/package.json102
-rw-r--r--deps/npm/node_modules/ini/package.json90
-rw-r--r--deps/npm/node_modules/init-package-json/package.json100
-rw-r--r--deps/npm/node_modules/is-absolute/LICENSE (renamed from deps/npm/node_modules/which/node_modules/is-absolute/LICENSE)0
-rw-r--r--deps/npm/node_modules/is-absolute/README.md (renamed from deps/npm/node_modules/which/node_modules/is-absolute/README.md)0
-rw-r--r--deps/npm/node_modules/is-absolute/index.js (renamed from deps/npm/node_modules/which/node_modules/is-absolute/index.js)0
-rw-r--r--deps/npm/node_modules/is-absolute/package.json (renamed from deps/npm/node_modules/which/node_modules/is-absolute/package.json)97
-rw-r--r--deps/npm/node_modules/is-builtin-module/index.js (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js)0
-rw-r--r--deps/npm/node_modules/is-builtin-module/license (renamed from deps/npm/node_modules/osenv/node_modules/os-tmpdir/license)0
-rw-r--r--deps/npm/node_modules/is-builtin-module/package.json (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/package.json)117
-rw-r--r--deps/npm/node_modules/is-builtin-module/readme.md (renamed from deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/readme.md)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/.npmignore (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.npmignore)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.travis.yml)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/README.md)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/example.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/example.js)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/formats.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/formats.js)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/index.js)12
-rw-r--r--deps/npm/node_modules/is-my-json-valid/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json)97
-rw-r--r--deps/npm/node_modules/is-my-json-valid/require.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/require.js)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/fixtures/cosmic.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/fixtures/cosmic.js)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/default.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/default.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/format.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/format.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/items.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/items.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/not.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/not.json)2
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/required.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/required.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/type.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/type.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/json-schema.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema.js)0
-rw-r--r--deps/npm/node_modules/is-my-json-valid/test/misc.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/misc.js)0
-rw-r--r--deps/npm/node_modules/is-property/.npmignore (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/.npmignore)0
-rw-r--r--deps/npm/node_modules/is-property/LICENSE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE)0
-rw-r--r--deps/npm/node_modules/is-property/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/README.md)2
-rw-r--r--deps/npm/node_modules/is-property/is-property.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/is-property.js)0
-rw-r--r--deps/npm/node_modules/is-property/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json)99
-rw-r--r--deps/npm/node_modules/is-relative/LICENSE-MIT (renamed from deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/LICENSE-MIT)0
-rw-r--r--deps/npm/node_modules/is-relative/README.md (renamed from deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/README.md)0
-rw-r--r--deps/npm/node_modules/is-relative/index.js (renamed from deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/index.js)0
-rw-r--r--deps/npm/node_modules/is-relative/package.json (renamed from deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/package.json)108
-rw-r--r--deps/npm/node_modules/isarray/README.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/README.md)0
-rw-r--r--deps/npm/node_modules/isarray/build/build.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js)0
-rw-r--r--deps/npm/node_modules/isarray/component.json (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/component.json)0
-rw-r--r--deps/npm/node_modules/isarray/index.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/index.js)0
-rw-r--r--deps/npm/node_modules/isarray/package.json (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json)88
-rw-r--r--deps/npm/node_modules/isstream/.npmignore (renamed from deps/npm/node_modules/request/node_modules/isstream/.npmignore)0
-rw-r--r--deps/npm/node_modules/isstream/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/isstream/.travis.yml)0
-rw-r--r--deps/npm/node_modules/isstream/LICENSE.md (renamed from deps/npm/node_modules/request/node_modules/isstream/LICENSE.md)0
-rw-r--r--deps/npm/node_modules/isstream/README.md (renamed from deps/npm/node_modules/request/node_modules/isstream/README.md)0
-rw-r--r--deps/npm/node_modules/isstream/isstream.js (renamed from deps/npm/node_modules/request/node_modules/isstream/isstream.js)0
-rw-r--r--deps/npm/node_modules/isstream/package.json (renamed from deps/npm/node_modules/request/node_modules/isstream/package.json)104
-rw-r--r--deps/npm/node_modules/isstream/test.js (renamed from deps/npm/node_modules/request/node_modules/isstream/test.js)3
-rw-r--r--deps/npm/node_modules/jju/.npmignore (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.npmignore)5
-rw-r--r--deps/npm/node_modules/jju/README.md (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/README.md)1
-rw-r--r--deps/npm/node_modules/jju/index.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/index.js)0
-rw-r--r--deps/npm/node_modules/jju/lib/analyze.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/analyze.js)1
-rw-r--r--deps/npm/node_modules/jju/lib/document.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/document.js)1
-rw-r--r--deps/npm/node_modules/jju/lib/parse.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/parse.js)1
-rw-r--r--deps/npm/node_modules/jju/lib/stringify.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/stringify.js)1
-rw-r--r--deps/npm/node_modules/jju/lib/unicode.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/unicode.js)0
-rw-r--r--deps/npm/node_modules/jju/lib/utils.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/utils.js)1
-rw-r--r--deps/npm/node_modules/jju/package.json88
-rw-r--r--deps/npm/node_modules/jju/package.yaml (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.yaml)3
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/.editorconfig (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/.editorconfig)0
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/.npmignore (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/.npmignore)0
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/LICENSE (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/LICENSE)1
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/README.md (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/README.md)0
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/index.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/index.js)0
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/package.json (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/package.json)97
-rw-r--r--deps/npm/node_modules/json-parse-helpfulerror/test/test.js (renamed from deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/test/test.js)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/.npmignore (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/.npmignore)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/CHANGELOG.md (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/CHANGELOG.md)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/LICENSE (renamed from deps/npm/node_modules/config-chain/node_modules/proto-list/LICENSE)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/Makefile (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/Makefile)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/README.md (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/README.md)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/package.json (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/package.json)92
-rw-r--r--deps/npm/node_modules/json-stringify-safe/stringify.js (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/stringify.js)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/test/mocha.opts (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/test/mocha.opts)0
-rw-r--r--deps/npm/node_modules/json-stringify-safe/test/stringify_test.js (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/test/stringify_test.js)0
-rw-r--r--deps/npm/node_modules/jsonpointer/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/.travis.yml)0
-rw-r--r--deps/npm/node_modules/jsonpointer/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/README.md)0
-rw-r--r--deps/npm/node_modules/jsonpointer/jsonpointer.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/jsonpointer.js)0
-rw-r--r--deps/npm/node_modules/jsonpointer/package.json93
-rw-r--r--deps/npm/node_modules/jsonpointer/test.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/test.js)0
-rw-r--r--deps/npm/node_modules/lockfile/package.json96
-rw-r--r--deps/npm/node_modules/lodash._arraycopy/LICENSE.txt (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/lodash._arraycopy/README.md20
-rw-r--r--deps/npm/node_modules/lodash._arraycopy/index.js29
-rw-r--r--deps/npm/node_modules/lodash._arraycopy/package.json97
-rw-r--r--deps/npm/node_modules/lodash._arrayeach/LICENSE.txt (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/lodash._arrayeach/README.md20
-rw-r--r--deps/npm/node_modules/lodash._arrayeach/index.js31
-rw-r--r--deps/npm/node_modules/lodash._arrayeach/package.json97
-rw-r--r--deps/npm/node_modules/lodash._baseassign/LICENSE.txt (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/lodash._baseassign/README.md20
-rw-r--r--deps/npm/node_modules/lodash._baseassign/index.js27
-rw-r--r--deps/npm/node_modules/lodash._baseassign/package.json116
-rw-r--r--deps/npm/node_modules/lodash._basecallback/LICENSE (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/lodash._basecallback/README.md20
-rw-r--r--deps/npm/node_modules/lodash._basecallback/index.js422
-rw-r--r--deps/npm/node_modules/lodash._basecallback/package.json118
-rw-r--r--deps/npm/node_modules/lodash._baseclone/LICENSE (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/lodash._baseclone/README.md20
-rw-r--r--deps/npm/node_modules/lodash._baseclone/index.js271
-rw-r--r--deps/npm/node_modules/lodash._baseclone/package.json120
-rw-r--r--deps/npm/node_modules/lodash._basecopy/LICENSE.txt (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/lodash._basecopy/README.md20
-rw-r--r--deps/npm/node_modules/lodash._basecopy/index.js32
-rw-r--r--deps/npm/node_modules/lodash._basecopy/package.json113
-rw-r--r--deps/npm/node_modules/lodash._basedifference/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._basedifference/README.md20
-rw-r--r--deps/npm/node_modules/lodash._basedifference/index.js63
-rw-r--r--deps/npm/node_modules/lodash._basedifference/package.json117
-rw-r--r--deps/npm/node_modules/lodash._baseflatten/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._baseflatten/README.md20
-rw-r--r--deps/npm/node_modules/lodash._baseflatten/index.js131
-rw-r--r--deps/npm/node_modules/lodash._baseflatten/package.json116
-rw-r--r--deps/npm/node_modules/lodash._basefor/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash._basefor/README.md20
-rw-r--r--deps/npm/node_modules/lodash._basefor/index.js86
-rw-r--r--deps/npm/node_modules/lodash._basefor/package.json113
-rw-r--r--deps/npm/node_modules/lodash._baseindexof/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash._baseindexof/README.md20
-rw-r--r--deps/npm/node_modules/lodash._baseindexof/index.js57
-rw-r--r--deps/npm/node_modules/lodash._baseindexof/package.json114
-rw-r--r--deps/npm/node_modules/lodash._baseisequal/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash._baseisequal/README.md20
-rw-r--r--deps/npm/node_modules/lodash._baseisequal/index.js342
-rw-r--r--deps/npm/node_modules/lodash._baseisequal/package.json117
-rw-r--r--deps/npm/node_modules/lodash._basetostring/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._basetostring/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/README.md)4
-rw-r--r--deps/npm/node_modules/lodash._basetostring/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/index.js)9
-rw-r--r--deps/npm/node_modules/lodash._basetostring/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json)106
-rw-r--r--deps/npm/node_modules/lodash._baseuniq/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._baseuniq/README.md20
-rw-r--r--deps/npm/node_modules/lodash._baseuniq/index.js68
-rw-r--r--deps/npm/node_modules/lodash._baseuniq/package.json118
-rw-r--r--deps/npm/node_modules/lodash._bindcallback/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash._bindcallback/README.md20
-rw-r--r--deps/npm/node_modules/lodash._bindcallback/index.js65
-rw-r--r--deps/npm/node_modules/lodash._bindcallback/package.json114
-rw-r--r--deps/npm/node_modules/lodash._cacheindexof/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash._cacheindexof/README.md20
-rw-r--r--deps/npm/node_modules/lodash._cacheindexof/index.js53
-rw-r--r--deps/npm/node_modules/lodash._cacheindexof/package.json114
-rw-r--r--deps/npm/node_modules/lodash._createcache/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._createcache/README.md20
-rw-r--r--deps/npm/node_modules/lodash._createcache/index.js91
-rw-r--r--deps/npm/node_modules/lodash._createcache/package.json116
-rw-r--r--deps/npm/node_modules/lodash._createpadding/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._createpadding/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/README.md)4
-rw-r--r--deps/npm/node_modules/lodash._createpadding/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/index.js)12
-rw-r--r--deps/npm/node_modules/lodash._createpadding/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json)104
-rw-r--r--deps/npm/node_modules/lodash._getnative/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash._getnative/README.md20
-rw-r--r--deps/npm/node_modules/lodash._getnative/index.js137
-rw-r--r--deps/npm/node_modules/lodash._getnative/package.json111
-rw-r--r--deps/npm/node_modules/lodash._isiterateecall/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash._isiterateecall/README.md20
-rw-r--r--deps/npm/node_modules/lodash._isiterateecall/index.js132
-rw-r--r--deps/npm/node_modules/lodash._isiterateecall/package.json113
-rw-r--r--deps/npm/node_modules/lodash.clonedeep/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.clonedeep/README.md20
-rw-r--r--deps/npm/node_modules/lodash.clonedeep/index.js63
-rw-r--r--deps/npm/node_modules/lodash.clonedeep/package.json123
-rw-r--r--deps/npm/node_modules/lodash.isarguments/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.isarguments/README.md20
-rw-r--r--deps/npm/node_modules/lodash.isarguments/index.js106
-rw-r--r--deps/npm/node_modules/lodash.isarguments/package.json120
-rw-r--r--deps/npm/node_modules/lodash.isarray/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.isarray/README.md20
-rw-r--r--deps/npm/node_modules/lodash.isarray/index.js180
-rw-r--r--deps/npm/node_modules/lodash.isarray/package.json124
-rw-r--r--deps/npm/node_modules/lodash.istypedarray/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.istypedarray/README.md20
-rw-r--r--deps/npm/node_modules/lodash.istypedarray/index.js110
-rw-r--r--deps/npm/node_modules/lodash.istypedarray/package.json119
-rw-r--r--deps/npm/node_modules/lodash.keys/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.keys/README.md20
-rw-r--r--deps/npm/node_modules/lodash.keys/index.js236
-rw-r--r--deps/npm/node_modules/lodash.keys/package.json126
-rw-r--r--deps/npm/node_modules/lodash.pad/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.pad/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md)4
-rw-r--r--deps/npm/node_modules/lodash.pad/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js)18
-rw-r--r--deps/npm/node_modules/lodash.pad/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json)96
-rw-r--r--deps/npm/node_modules/lodash.padleft/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.padleft/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md)0
-rw-r--r--deps/npm/node_modules/lodash.padleft/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js)0
-rw-r--r--deps/npm/node_modules/lodash.padleft/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json)96
-rw-r--r--deps/npm/node_modules/lodash.padright/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.padright/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md)0
-rw-r--r--deps/npm/node_modules/lodash.padright/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js)0
-rw-r--r--deps/npm/node_modules/lodash.padright/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json)96
-rw-r--r--deps/npm/node_modules/lodash.pairs/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.pairs/README.md20
-rw-r--r--deps/npm/node_modules/lodash.pairs/index.js78
-rw-r--r--deps/npm/node_modules/lodash.pairs/package.json121
-rw-r--r--deps/npm/node_modules/lodash.repeat/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.repeat/README.md (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/README.md)4
-rw-r--r--deps/npm/node_modules/lodash.repeat/index.js (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/index.js)12
-rw-r--r--deps/npm/node_modules/lodash.repeat/package.json (renamed from deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json)112
-rw-r--r--deps/npm/node_modules/lodash.restparam/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.restparam/README.md20
-rw-r--r--deps/npm/node_modules/lodash.restparam/index.js67
-rw-r--r--deps/npm/node_modules/lodash.restparam/package.json120
-rw-r--r--deps/npm/node_modules/lodash.union/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.union/README.md20
-rw-r--r--deps/npm/node_modules/lodash.union/index.js35
-rw-r--r--deps/npm/node_modules/lodash.union/package.json123
-rw-r--r--deps/npm/node_modules/lodash.uniq/LICENSE22
-rw-r--r--deps/npm/node_modules/lodash.uniq/README.md20
-rw-r--r--deps/npm/node_modules/lodash.uniq/index.js106
-rw-r--r--deps/npm/node_modules/lodash.uniq/package.json125
-rw-r--r--deps/npm/node_modules/lodash.without/LICENSE.txt22
-rw-r--r--deps/npm/node_modules/lodash.without/README.md20
-rw-r--r--deps/npm/node_modules/lodash.without/index.js89
-rw-r--r--deps/npm/node_modules/lodash.without/package.json122
-rw-r--r--deps/npm/node_modules/lru-cache/README.md14
-rw-r--r--deps/npm/node_modules/lru-cache/lib/lru-cache.js52
-rw-r--r--deps/npm/node_modules/lru-cache/package.json96
-rw-r--r--deps/npm/node_modules/lru-cache/test/basic.js51
-rw-r--r--deps/npm/node_modules/lru-cache/test/serialize.js215
-rw-r--r--deps/npm/node_modules/mime-db/HISTORY.md (renamed from deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/HISTORY.md)0
-rw-r--r--deps/npm/node_modules/mime-db/LICENSE (renamed from deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE)0
-rw-r--r--deps/npm/node_modules/mime-db/README.md (renamed from deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/README.md)0
-rw-r--r--deps/npm/node_modules/mime-db/db.json (renamed from deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/db.json)0
-rw-r--r--deps/npm/node_modules/mime-db/index.js (renamed from deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/index.js)0
-rw-r--r--deps/npm/node_modules/mime-db/package.json121
-rw-r--r--deps/npm/node_modules/mime-types/HISTORY.md (renamed from deps/npm/node_modules/request/node_modules/mime-types/HISTORY.md)0
-rw-r--r--deps/npm/node_modules/mime-types/LICENSE (renamed from deps/npm/node_modules/request/node_modules/mime-types/LICENSE)0
-rw-r--r--deps/npm/node_modules/mime-types/README.md (renamed from deps/npm/node_modules/request/node_modules/mime-types/README.md)0
-rw-r--r--deps/npm/node_modules/mime-types/index.js (renamed from deps/npm/node_modules/request/node_modules/mime-types/index.js)0
-rw-r--r--deps/npm/node_modules/mime-types/package.json (renamed from deps/npm/node_modules/request/node_modules/mime-types/package.json)99
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md121
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile6
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js5
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json83
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js32
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt1075
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt182
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js9
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js10
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh24
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js15
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js16
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js10
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js13
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js7
-rw-r--r--deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js50
-rw-r--r--deps/npm/node_modules/minimatch/package.json99
-rw-r--r--deps/npm/node_modules/minimist/.travis.yml (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml)0
-rw-r--r--deps/npm/node_modules/minimist/LICENSE (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE)0
-rw-r--r--deps/npm/node_modules/minimist/example/parse.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js)0
-rw-r--r--deps/npm/node_modules/minimist/index.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/index.js)38
-rw-r--r--deps/npm/node_modules/minimist/package.json (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/package.json)111
-rw-r--r--deps/npm/node_modules/minimist/readme.markdown (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown)0
-rw-r--r--deps/npm/node_modules/minimist/test/dash.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js)0
-rw-r--r--deps/npm/node_modules/minimist/test/default_bool.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js)0
-rw-r--r--deps/npm/node_modules/minimist/test/dotted.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js)0
-rw-r--r--deps/npm/node_modules/minimist/test/long.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js)0
-rw-r--r--deps/npm/node_modules/minimist/test/parse.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js)28
-rw-r--r--deps/npm/node_modules/minimist/test/parse_modified.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js)2
-rw-r--r--deps/npm/node_modules/minimist/test/short.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js)4
-rw-r--r--deps/npm/node_modules/minimist/test/whitespace.js (renamed from deps/npm/node_modules/mkdirp/node_modules/minimist/test/whitespace.js)0
-rw-r--r--deps/npm/node_modules/mkdirp/package.json100
-rw-r--r--deps/npm/node_modules/ms/.npmignore (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/.npmignore)0
-rw-r--r--deps/npm/node_modules/ms/History.md (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/History.md)0
-rw-r--r--deps/npm/node_modules/ms/LICENSE (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/LICENSE)0
-rw-r--r--deps/npm/node_modules/ms/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/README.md)0
-rw-r--r--deps/npm/node_modules/ms/index.js (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/index.js)0
-rw-r--r--deps/npm/node_modules/ms/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json)84
-rw-r--r--deps/npm/node_modules/mute-stream/LICENSE (renamed from deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/LICENSE)0
-rw-r--r--deps/npm/node_modules/mute-stream/README.md (renamed from deps/npm/node_modules/read/node_modules/mute-stream/README.md)0
-rw-r--r--deps/npm/node_modules/mute-stream/mute.js (renamed from deps/npm/node_modules/read/node_modules/mute-stream/mute.js)0
-rw-r--r--deps/npm/node_modules/mute-stream/package.json (renamed from deps/npm/node_modules/read/node_modules/mute-stream/package.json)89
-rw-r--r--deps/npm/node_modules/mute-stream/test/basic.js (renamed from deps/npm/node_modules/read/node_modules/mute-stream/test/basic.js)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js8
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js191
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md80
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js38
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json73
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js56
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown62
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js6
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js39
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json75
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js32
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt1075
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt182
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js9
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js10
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh24
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js15
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js16
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js10
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js50
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json101
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/package.json111
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json89
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/.npmignore6
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/History.md195
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Makefile36
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Readme.md188
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/bower.json28
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/browser.js168
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/component.json19
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/debug.js197
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node.js209
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json73
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/tar/package.json87
-rw-r--r--deps/npm/node_modules/node-gyp/package.json119
-rw-r--r--deps/npm/node_modules/node-uuid/.npmignore (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore)0
-rw-r--r--deps/npm/node_modules/node-uuid/LICENSE.md (renamed from deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md)2
-rw-r--r--deps/npm/node_modules/node-uuid/README.md (renamed from deps/npm/node_modules/request/node_modules/node-uuid/README.md)0
-rw-r--r--deps/npm/node_modules/node-uuid/benchmark/README.md (renamed from deps/npm/node_modules/request/node_modules/node-uuid/benchmark/README.md)0
-rw-r--r--deps/npm/node_modules/node-uuid/benchmark/bench.gnu (renamed from deps/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu)36
-rwxr-xr-xdeps/npm/node_modules/node-uuid/benchmark/bench.sh (renamed from deps/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.sh)0
-rw-r--r--deps/npm/node_modules/node-uuid/benchmark/benchmark-native.c (renamed from deps/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c)0
-rw-r--r--deps/npm/node_modules/node-uuid/benchmark/benchmark.js (renamed from deps/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js)0
-rwxr-xr-xdeps/npm/node_modules/node-uuid/bin/uuid (renamed from deps/npm/node_modules/request/node_modules/node-uuid/bin/uuid)0
-rw-r--r--deps/npm/node_modules/node-uuid/bower.json (renamed from deps/npm/node_modules/request/node_modules/node-uuid/bower.json)0
-rw-r--r--deps/npm/node_modules/node-uuid/component.json (renamed from deps/npm/node_modules/request/node_modules/node-uuid/component.json)0
-rw-r--r--deps/npm/node_modules/node-uuid/package.json (renamed from deps/npm/node_modules/request/node_modules/node-uuid/package.json)103
-rw-r--r--deps/npm/node_modules/node-uuid/test/compare_v1.js (renamed from deps/npm/node_modules/request/node_modules/node-uuid/test/compare_v1.js)0
-rw-r--r--deps/npm/node_modules/node-uuid/test/test.html (renamed from deps/npm/node_modules/request/node_modules/node-uuid/test/test.html)0
-rw-r--r--deps/npm/node_modules/node-uuid/test/test.js (renamed from deps/npm/node_modules/request/node_modules/node-uuid/test/test.js)0
-rw-r--r--deps/npm/node_modules/node-uuid/uuid.js (renamed from deps/npm/node_modules/request/node_modules/node-uuid/uuid.js)2
-rw-r--r--deps/npm/node_modules/nopt/package.json88
-rw-r--r--deps/npm/node_modules/normalize-git-url/package.json99
-rw-r--r--deps/npm/node_modules/normalize-package-data/package.json115
-rw-r--r--deps/npm/node_modules/npm-cache-filename/package.json78
-rw-r--r--deps/npm/node_modules/npm-install-checks/index.js1
-rw-r--r--deps/npm/node_modules/npm-install-checks/package.json100
-rw-r--r--deps/npm/node_modules/npm-install-checks/test/check-engine.js10
-rw-r--r--deps/npm/node_modules/npm-package-arg/package.json96
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE24
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json53
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json45
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json54
-rw-r--r--deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/package.json53
-rw-r--r--deps/npm/node_modules/npm-registry-client/package.json96
-rw-r--r--deps/npm/node_modules/npm-user-validate/package.json87
-rw-r--r--deps/npm/node_modules/npmlog/node_modules/gauge/package.json60
-rw-r--r--deps/npm/node_modules/npmlog/package.json84
-rw-r--r--deps/npm/node_modules/oauth-sign/LICENSE (renamed from deps/npm/node_modules/request/node_modules/oauth-sign/LICENSE)0
-rw-r--r--deps/npm/node_modules/oauth-sign/README.md (renamed from deps/npm/node_modules/request/node_modules/oauth-sign/README.md)2
-rw-r--r--deps/npm/node_modules/oauth-sign/index.js (renamed from deps/npm/node_modules/request/node_modules/oauth-sign/index.js)2
-rw-r--r--deps/npm/node_modules/oauth-sign/package.json (renamed from deps/npm/node_modules/request/node_modules/oauth-sign/package.json)82
-rw-r--r--deps/npm/node_modules/oauth-sign/test.js (renamed from deps/npm/node_modules/request/node_modules/oauth-sign/test.js)6
-rw-r--r--deps/npm/node_modules/once/package.json104
-rw-r--r--deps/npm/node_modules/opener/package.json89
-rw-r--r--deps/npm/node_modules/os-homedir/index.js (renamed from deps/npm/node_modules/osenv/node_modules/os-homedir/index.js)2
-rw-r--r--deps/npm/node_modules/os-homedir/license (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/license)0
-rw-r--r--deps/npm/node_modules/os-homedir/package.json (renamed from deps/npm/node_modules/osenv/node_modules/os-homedir/package.json)112
-rw-r--r--deps/npm/node_modules/os-homedir/readme.md (renamed from deps/npm/node_modules/osenv/node_modules/os-homedir/readme.md)0
-rw-r--r--deps/npm/node_modules/os-tmpdir/index.js (renamed from deps/npm/node_modules/osenv/node_modules/os-tmpdir/index.js)0
-rw-r--r--deps/npm/node_modules/os-tmpdir/license (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license)0
-rw-r--r--deps/npm/node_modules/os-tmpdir/package.json (renamed from deps/npm/node_modules/osenv/node_modules/os-tmpdir/package.json)109
-rw-r--r--deps/npm/node_modules/os-tmpdir/readme.md (renamed from deps/npm/node_modules/osenv/node_modules/os-tmpdir/readme.md)0
-rw-r--r--deps/npm/node_modules/osenv/package.json101
-rw-r--r--deps/npm/node_modules/path-array/.npmignore (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/.npmignore)0
-rw-r--r--deps/npm/node_modules/path-array/.travis.yml (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/.travis.yml)0
-rw-r--r--deps/npm/node_modules/path-array/History.md (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/History.md)0
-rw-r--r--deps/npm/node_modules/path-array/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/README.md)0
-rw-r--r--deps/npm/node_modules/path-array/index.js (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/index.js)0
-rw-r--r--deps/npm/node_modules/path-array/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/package.json)83
-rw-r--r--deps/npm/node_modules/path-array/test/test.js (renamed from deps/npm/node_modules/node-gyp/node_modules/path-array/test/test.js)0
-rw-r--r--deps/npm/node_modules/path-is-absolute/index.js (renamed from deps/npm/node_modules/glob/node_modules/path-is-absolute/index.js)0
-rw-r--r--deps/npm/node_modules/path-is-absolute/license (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license)0
-rw-r--r--deps/npm/node_modules/path-is-absolute/package.json (renamed from deps/npm/node_modules/glob/node_modules/path-is-absolute/package.json)111
-rw-r--r--deps/npm/node_modules/path-is-absolute/readme.md (renamed from deps/npm/node_modules/glob/node_modules/path-is-absolute/readme.md)0
-rw-r--r--deps/npm/node_modules/path-is-inside/package.json92
-rw-r--r--deps/npm/node_modules/process-nextick-args/.travis.yml (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml)0
-rw-r--r--deps/npm/node_modules/process-nextick-args/index.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/index.js)0
-rw-r--r--deps/npm/node_modules/process-nextick-args/license.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/license.md)0
-rw-r--r--deps/npm/node_modules/process-nextick-args/package.json (renamed from deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/package.json)76
-rw-r--r--deps/npm/node_modules/process-nextick-args/readme.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/readme.md)0
-rw-r--r--deps/npm/node_modules/process-nextick-args/test.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/test.js)0
-rw-r--r--deps/npm/node_modules/promzard/.npmignore (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/.npmignore)0
-rw-r--r--deps/npm/node_modules/promzard/LICENSE (renamed from deps/npm/node_modules/char-spinner/LICENSE)0
-rw-r--r--deps/npm/node_modules/promzard/README.md (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/README.md)0
-rw-r--r--deps/npm/node_modules/promzard/example/buffer.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/buffer.js)0
-rw-r--r--deps/npm/node_modules/promzard/example/index.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/index.js)0
-rw-r--r--deps/npm/node_modules/promzard/example/npm-init/README.md (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/README.md)0
-rw-r--r--deps/npm/node_modules/promzard/example/npm-init/init-input.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init-input.js)0
-rw-r--r--deps/npm/node_modules/promzard/example/npm-init/init.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init.js)0
-rw-r--r--deps/npm/node_modules/promzard/example/npm-init/package.json (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/package.json)0
-rw-r--r--deps/npm/node_modules/promzard/example/substack-input.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/example/substack-input.js)2
-rw-r--r--deps/npm/node_modules/promzard/package.json (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/package.json)79
-rw-r--r--deps/npm/node_modules/promzard/promzard.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/promzard.js)1
-rw-r--r--deps/npm/node_modules/promzard/test/basic.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/basic.js)0
-rw-r--r--deps/npm/node_modules/promzard/test/buffer.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/buffer.js)0
-rw-r--r--deps/npm/node_modules/promzard/test/exports.input (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/exports.input)0
-rw-r--r--deps/npm/node_modules/promzard/test/exports.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/exports.js)0
-rw-r--r--deps/npm/node_modules/promzard/test/fn.input (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/fn.input)0
-rw-r--r--deps/npm/node_modules/promzard/test/fn.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/fn.js)0
-rw-r--r--deps/npm/node_modules/promzard/test/simple.input (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/simple.input)0
-rw-r--r--deps/npm/node_modules/promzard/test/simple.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/simple.js)6
-rw-r--r--deps/npm/node_modules/promzard/test/validate.input (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/validate.input)0
-rw-r--r--deps/npm/node_modules/promzard/test/validate.js (renamed from deps/npm/node_modules/init-package-json/node_modules/promzard/test/validate.js)0
-rw-r--r--deps/npm/node_modules/proto-list/LICENSE (renamed from deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE)0
-rw-r--r--deps/npm/node_modules/proto-list/README.md (renamed from deps/npm/node_modules/config-chain/node_modules/proto-list/README.md)0
-rw-r--r--deps/npm/node_modules/proto-list/package.json (renamed from deps/npm/node_modules/config-chain/node_modules/proto-list/package.json)81
-rw-r--r--deps/npm/node_modules/proto-list/proto-list.js (renamed from deps/npm/node_modules/config-chain/node_modules/proto-list/proto-list.js)0
-rw-r--r--deps/npm/node_modules/proto-list/test/basic.js (renamed from deps/npm/node_modules/config-chain/node_modules/proto-list/test/basic.js)0
-rw-r--r--deps/npm/node_modules/qs/.eslintignore (renamed from deps/npm/node_modules/request/node_modules/qs/.eslintignore)0
-rw-r--r--deps/npm/node_modules/qs/.npmignore (renamed from deps/npm/node_modules/request/node_modules/qs/.npmignore)0
-rw-r--r--[-rwxr-xr-x]deps/npm/node_modules/qs/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml)1
-rw-r--r--deps/npm/node_modules/qs/CHANGELOG.md (renamed from deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md)0
-rw-r--r--deps/npm/node_modules/qs/CONTRIBUTING.md (renamed from deps/npm/node_modules/request/node_modules/qs/CONTRIBUTING.md)0
-rw-r--r--deps/npm/node_modules/qs/LICENSE (renamed from deps/npm/node_modules/request/node_modules/qs/LICENSE)0
-rw-r--r--deps/npm/node_modules/qs/README.md (renamed from deps/npm/node_modules/request/node_modules/qs/Readme.md)0
-rw-r--r--deps/npm/node_modules/qs/bower.json (renamed from deps/npm/node_modules/request/node_modules/qs/bower.json)0
-rw-r--r--deps/npm/node_modules/qs/component.json (renamed from deps/npm/node_modules/request/node_modules/qs/component.json)0
-rw-r--r--deps/npm/node_modules/qs/dist/qs.js (renamed from deps/npm/node_modules/request/node_modules/qs/dist/qs.js)0
-rw-r--r--deps/npm/node_modules/qs/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/qs/lib/index.js)0
-rw-r--r--deps/npm/node_modules/qs/lib/parse.js (renamed from deps/npm/node_modules/request/node_modules/qs/lib/parse.js)0
-rw-r--r--deps/npm/node_modules/qs/lib/stringify.js (renamed from deps/npm/node_modules/request/node_modules/qs/lib/stringify.js)0
-rw-r--r--deps/npm/node_modules/qs/lib/utils.js (renamed from deps/npm/node_modules/request/node_modules/qs/lib/utils.js)0
-rw-r--r--deps/npm/node_modules/qs/package.json (renamed from deps/npm/node_modules/request/node_modules/qs/package.json)94
-rw-r--r--deps/npm/node_modules/qs/test/parse.js (renamed from deps/npm/node_modules/request/node_modules/qs/test/parse.js)0
-rw-r--r--deps/npm/node_modules/qs/test/stringify.js (renamed from deps/npm/node_modules/request/node_modules/qs/test/stringify.js)0
-rw-r--r--deps/npm/node_modules/qs/test/utils.js (renamed from deps/npm/node_modules/request/node_modules/qs/test/utils.js)0
-rw-r--r--deps/npm/node_modules/read-cmd-shim/.npmignore (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore)3
-rw-r--r--deps/npm/node_modules/read-cmd-shim/README.md36
-rw-r--r--deps/npm/node_modules/read-cmd-shim/index.js54
-rw-r--r--deps/npm/node_modules/read-cmd-shim/package.json78
-rw-r--r--deps/npm/node_modules/read-cmd-shim/test/integration.js139
-rw-r--r--deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/package.json41
-rw-r--r--deps/npm/node_modules/read-installed/package.json108
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.editorconfig19
-rwxr-xr-xdeps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/benchmark.js40
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/package.json9
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/Grammar.md219
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/JSON5.md50
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.json63
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/portable-json5-tests.yaml916
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_analyze.js53
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_document.js214
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_errors.js56
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_parse.js171
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_portable.js60
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_stringify.js89
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_tokenize.js99
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_updates.js22
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/author.yaml31
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/deep-object.yaml36
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/delete.yaml36
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-array.yaml32
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-object.yaml32
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/npm-array-bin.yaml29
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/pkg-json5.yaml36
-rw-r--r--deps/npm/node_modules/read-package-json/package.json101
-rw-r--r--deps/npm/node_modules/read-package-tree/.travis.yml (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/.travis.yml)0
-rw-r--r--deps/npm/node_modules/read-package-tree/LICENSE (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/LICENSE)0
-rw-r--r--deps/npm/node_modules/read-package-tree/README.md68
-rw-r--r--deps/npm/node_modules/read-package-tree/package.json86
-rw-r--r--deps/npm/node_modules/read-package-tree/rpt.js190
-rw-r--r--deps/npm/node_modules/read-package-tree/test/basic.js155
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/bad/package.json2
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/deep-archy.txt11
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/deep/.keep (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@org/x/.keep)0
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/empty/node_modules/foo/package.json1
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/linkedroot-archy.txt11
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/noname/archy.txt2
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/noname/node_modules/foo/keep-alive (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@org/y/.keep)0
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/other/archy.txt2
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/other/node_modules/.bin (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@scope/x/.keep)0
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/root/archy.txt11
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/root/package.json2
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/selflink/archy.re13
-rw-r--r--deps/npm/node_modules/read-package-tree/test/fixtures/selflink/package.json2
-rw-r--r--deps/npm/node_modules/read/package.json97
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/core-util-is/README.md3
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/core-util-is/float.patch604
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/core-util-is/lib/util.js107
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/core-util-is/package.json37
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/core-util-is/util.js106
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/isarray/README.md54
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/isarray/build/build.js209
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/isarray/component.json19
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/isarray/index.js3
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/isarray/package.json38
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/string_decoder/.npmignore2
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/string_decoder/LICENSE20
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/string_decoder/README.md7
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/string_decoder/index.js221
-rw-r--r--deps/npm/node_modules/readable-stream/node_modules/string_decoder/package.json34
-rw-r--r--deps/npm/node_modules/readable-stream/package.json106
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/.travis.yml7
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/LICENSE (renamed from deps/npm/node_modules/read/node_modules/mute-stream/LICENSE)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/README.md (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/README.md)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/package.json90
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/readdir.js (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/readdir.js)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/basic.js (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/basic.js)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@org/x/.keep (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@scope/y/.keep)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@org/y/.keep (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/a/x/.keep)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@scope/x/.keep (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@scope/y/.keep (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/x/.keep (renamed from deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep)0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep0
-rw-r--r--deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep0
-rw-r--r--deps/npm/node_modules/realize-package-specifier/package.json78
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/README.md3
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/float.patch604
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js107
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json53
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js106
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/README.md54
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/build/build.js208
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json19
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js3
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json53
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml7
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/index.js13
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/package.json45
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/readme.md18
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/test.js24
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/.npmignore2
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE20
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/README.md7
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/index.js221
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/History.md11
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/LICENSE24
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/README.md53
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/browser.js62
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/node.js6
-rw-r--r--deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/package.json53
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js4
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json86
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md31
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/index.js6
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license21
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js4
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license21
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json86
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md31
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/readme.md33
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license21
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.travis.yml3
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.travis.yml3
-rw-r--r--deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json64
-rw-r--r--deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json42
-rw-r--r--deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json94
-rw-r--r--deps/npm/node_modules/request/node_modules/node-uuid/.npmignore2
-rw-r--r--deps/npm/node_modules/request/node_modules/tough-cookie/.jshintrc70
-rw-r--r--deps/npm/node_modules/request/package.json131
-rw-r--r--deps/npm/node_modules/retry/package.json87
-rw-r--r--deps/npm/node_modules/rimraf/package.json101
-rw-r--r--deps/npm/node_modules/semver/package.json83
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/README.md3
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/float.patch604
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/lib/util.js107
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/util.js106
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/README.md54
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/build/build.js208
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/component.json19
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/index.js3
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/package.json53
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml7
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/index.js13
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/license.md19
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/readme.md18
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/test.js24
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/.npmignore2
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/LICENSE20
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/README.md7
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/index.js221
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/package.json54
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/History.md11
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/LICENSE24
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/README.md53
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/browser.js62
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/node.js6
-rw-r--r--deps/npm/node_modules/sha/node_modules/readable-stream/package.json98
-rw-r--r--deps/npm/node_modules/sha/package.json84
-rw-r--r--deps/npm/node_modules/sigmund/LICENSE (renamed from deps/npm/node_modules/request/node_modules/json-stringify-safe/LICENSE)0
-rw-r--r--deps/npm/node_modules/sigmund/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md)0
-rw-r--r--deps/npm/node_modules/sigmund/bench.js (renamed from deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js)0
-rw-r--r--deps/npm/node_modules/sigmund/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json)97
-rw-r--r--deps/npm/node_modules/sigmund/sigmund.js (renamed from deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js)0
-rw-r--r--deps/npm/node_modules/sigmund/test/basic.js (renamed from deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js)1
-rw-r--r--deps/npm/node_modules/slide/package.json81
-rw-r--r--deps/npm/node_modules/sntp/.npmignore (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore)1
-rwxr-xr-xdeps/npm/node_modules/sntp/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml)1
-rwxr-xr-xdeps/npm/node_modules/sntp/LICENSE (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE)0
-rwxr-xr-xdeps/npm/node_modules/sntp/Makefile (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile)3
-rwxr-xr-xdeps/npm/node_modules/sntp/README.md (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/README.md)1
-rwxr-xr-xdeps/npm/node_modules/sntp/examples/offset.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js)1
-rwxr-xr-xdeps/npm/node_modules/sntp/examples/time.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js)1
-rwxr-xr-xdeps/npm/node_modules/sntp/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js)0
-rwxr-xr-xdeps/npm/node_modules/sntp/lib/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js)0
-rw-r--r--deps/npm/node_modules/sntp/package.json (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/package.json)99
-rwxr-xr-xdeps/npm/node_modules/sntp/test/index.js (renamed from deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js)1
-rw-r--r--deps/npm/node_modules/sorted-object/package.json85
-rw-r--r--deps/npm/node_modules/spdx-correct/README.md (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/README.md)0
-rw-r--r--deps/npm/node_modules/spdx-correct/index.js (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js)0
-rw-r--r--deps/npm/node_modules/spdx-correct/package.json (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json)87
-rw-r--r--deps/npm/node_modules/spdx-exceptions/.npmignore (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/.npmignore)0
-rw-r--r--deps/npm/node_modules/spdx-exceptions/LICENSE.md (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/LICENSE.md)0
-rw-r--r--deps/npm/node_modules/spdx-exceptions/README.md (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/README.md)0
-rw-r--r--deps/npm/node_modules/spdx-exceptions/index.json (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/index.json)0
-rw-r--r--deps/npm/node_modules/spdx-exceptions/package.json (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/package.json)80
-rw-r--r--deps/npm/node_modules/spdx-expression-parse/LICENSE (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/LICENSE)0
-rw-r--r--deps/npm/node_modules/spdx-expression-parse/README.md (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/README.md)0
-rw-r--r--deps/npm/node_modules/spdx-expression-parse/index.js (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js)0
-rw-r--r--deps/npm/node_modules/spdx-expression-parse/package.json (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/package.json)85
-rw-r--r--deps/npm/node_modules/spdx-expression-parse/parser.generated.js (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.generated.js)0
-rw-r--r--deps/npm/node_modules/spdx-license-ids/LICENSE (renamed from deps/npm/node_modules/spdx/node_modules/spdx-license-ids/LICENSE)0
-rwxr-xr-xdeps/npm/node_modules/spdx-license-ids/README.md (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/README.md)0
-rw-r--r--deps/npm/node_modules/spdx-license-ids/package.json (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/package.json)121
-rw-r--r--deps/npm/node_modules/spdx-license-ids/spdx-license-ids.json (renamed from deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/spdx-license-ids.json)0
-rw-r--r--deps/npm/node_modules/spdx/LICENSE.md7
-rw-r--r--deps/npm/node_modules/spdx/README.md145
-rwxr-xr-xdeps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md55
-rw-r--r--deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json78
-rw-r--r--deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json296
-rw-r--r--deps/npm/node_modules/spdx/package.json73
-rw-r--r--deps/npm/node_modules/spdx/source/exceptions.json11
-rw-r--r--deps/npm/node_modules/spdx/source/parser.generated.js1255
-rw-r--r--deps/npm/node_modules/spdx/source/ranges.json194
-rw-r--r--deps/npm/node_modules/spdx/source/spdx.js161
-rw-r--r--deps/npm/node_modules/string_decoder/.npmignore (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/.npmignore)0
-rw-r--r--deps/npm/node_modules/string_decoder/LICENSE (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/LICENSE)0
-rw-r--r--deps/npm/node_modules/string_decoder/README.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/README.md)0
-rw-r--r--deps/npm/node_modules/string_decoder/index.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/index.js)0
-rw-r--r--deps/npm/node_modules/string_decoder/package.json (renamed from deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json)87
-rw-r--r--deps/npm/node_modules/stringstream/.npmignore (renamed from deps/npm/node_modules/request/node_modules/stringstream/.npmignore)0
-rw-r--r--deps/npm/node_modules/stringstream/.travis.yml (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml)0
-rw-r--r--deps/npm/node_modules/stringstream/LICENSE.txt (renamed from deps/npm/node_modules/request/node_modules/stringstream/LICENSE.txt)0
-rw-r--r--deps/npm/node_modules/stringstream/README.md (renamed from deps/npm/node_modules/request/node_modules/stringstream/README.md)0
-rw-r--r--deps/npm/node_modules/stringstream/example.js (renamed from deps/npm/node_modules/request/node_modules/stringstream/example.js)0
-rw-r--r--deps/npm/node_modules/stringstream/package.json (renamed from deps/npm/node_modules/request/node_modules/stringstream/package.json)84
-rw-r--r--deps/npm/node_modules/stringstream/stringstream.js (renamed from deps/npm/node_modules/request/node_modules/stringstream/stringstream.js)0
-rw-r--r--deps/npm/node_modules/strip-ansi/index.js (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js)0
-rw-r--r--deps/npm/node_modules/strip-ansi/license (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license)0
-rw-r--r--deps/npm/node_modules/strip-ansi/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json)146
-rw-r--r--deps/npm/node_modules/strip-ansi/readme.md (renamed from deps/npm/node_modules/columnify/node_modules/strip-ansi/readme.md)0
-rw-r--r--deps/npm/node_modules/supports-color/index.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/index.js)0
-rw-r--r--deps/npm/node_modules/supports-color/license (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license)0
-rw-r--r--deps/npm/node_modules/supports-color/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json)134
-rw-r--r--deps/npm/node_modules/supports-color/readme.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/readme.md)0
-rw-r--r--deps/npm/node_modules/tar/package.json97
-rw-r--r--deps/npm/node_modules/text-table/package.json113
-rw-r--r--deps/npm/node_modules/tough-cookie/.editorconfig (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/.editorconfig)0
-rw-r--r--deps/npm/node_modules/tough-cookie/.npmignore (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/.npmignore)0
-rw-r--r--deps/npm/node_modules/tough-cookie/.travis.yml (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/.travis.yml)0
-rw-r--r--deps/npm/node_modules/tough-cookie/LICENSE (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/LICENSE)0
-rw-r--r--deps/npm/node_modules/tough-cookie/README.md (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/README.md)0
-rw-r--r--deps/npm/node_modules/tough-cookie/generate-pubsuffix.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/lib/cookie.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/lib/cookie.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/lib/memstore.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/lib/memstore.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/lib/pathMatch.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/lib/pathMatch.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/lib/permuteDomain.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/lib/permuteDomain.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/lib/pubsuffix.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/lib/store.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/lib/store.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/package.json (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/package.json)108
-rw-r--r--deps/npm/node_modules/tough-cookie/public-suffix.txt (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/public-suffix.txt)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/api_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/api_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/cookie_jar_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_jar_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/cookie_sorting_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_sorting_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/cookie_to_json_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_to_json_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/cookie_to_string_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_to_string_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/date_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/date_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/domain_and_path_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/domain_and_path_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/ietf_data/dates/bsd-examples.json (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/dates/bsd-examples.json)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/ietf_data/dates/examples.json (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/dates/examples.json)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/ietf_data/parser.json (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/parser.json)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/ietf_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/jar_serialization_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/jar_serialization_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/lifetime_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/lifetime_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/parsing_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/parsing_test.js)0
-rw-r--r--deps/npm/node_modules/tough-cookie/test/regression_test.js (renamed from deps/npm/node_modules/request/node_modules/tough-cookie/test/regression_test.js)0
-rw-r--r--deps/npm/node_modules/tunnel-agent/LICENSE (renamed from deps/npm/node_modules/request/node_modules/tunnel-agent/LICENSE)0
-rw-r--r--deps/npm/node_modules/tunnel-agent/README.md (renamed from deps/npm/node_modules/request/node_modules/tunnel-agent/README.md)0
-rw-r--r--deps/npm/node_modules/tunnel-agent/index.js (renamed from deps/npm/node_modules/request/node_modules/tunnel-agent/index.js)6
-rw-r--r--deps/npm/node_modules/tunnel-agent/package.json (renamed from deps/npm/node_modules/request/node_modules/tunnel-agent/package.json)78
-rw-r--r--deps/npm/node_modules/typedarray/.travis.yml (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/.travis.yml)0
-rw-r--r--deps/npm/node_modules/typedarray/LICENSE (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/LICENSE)0
-rw-r--r--deps/npm/node_modules/typedarray/example/tarray.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/example/tarray.js)0
-rw-r--r--deps/npm/node_modules/typedarray/index.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/index.js)0
-rw-r--r--deps/npm/node_modules/typedarray/package.json (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json)128
-rw-r--r--deps/npm/node_modules/typedarray/readme.markdown (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/readme.markdown)0
-rw-r--r--deps/npm/node_modules/typedarray/test/server/undef_globals.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js)2
-rw-r--r--deps/npm/node_modules/typedarray/test/tarray.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/tarray.js)0
-rw-r--r--deps/npm/node_modules/uid-number/package.json79
-rw-r--r--deps/npm/node_modules/umask/package.json85
-rw-r--r--deps/npm/node_modules/unique-filename/.npmignore5
-rw-r--r--deps/npm/node_modules/unique-filename/README.md33
-rw-r--r--deps/npm/node_modules/unique-filename/index.js8
-rw-r--r--deps/npm/node_modules/unique-filename/package.json76
-rw-r--r--deps/npm/node_modules/unique-filename/test/index.js23
-rw-r--r--deps/npm/node_modules/unique-slug/.npmignore5
-rw-r--r--deps/npm/node_modules/unique-slug/README.md19
-rw-r--r--deps/npm/node_modules/unique-slug/index.js15
-rw-r--r--deps/npm/node_modules/unique-slug/package.json74
-rw-r--r--deps/npm/node_modules/unique-slug/test/index.js13
-rw-r--r--deps/npm/node_modules/unpipe/HISTORY.md4
-rw-r--r--deps/npm/node_modules/unpipe/LICENSE (renamed from deps/npm/node_modules/github-url-from-git/LICENSE)2
-rw-r--r--deps/npm/node_modules/unpipe/README.md43
-rw-r--r--deps/npm/node_modules/unpipe/index.js69
-rw-r--r--deps/npm/node_modules/unpipe/package.json83
-rw-r--r--deps/npm/node_modules/util-deprecate/History.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/History.md)0
-rw-r--r--deps/npm/node_modules/util-deprecate/LICENSE (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/LICENSE)0
-rw-r--r--deps/npm/node_modules/util-deprecate/README.md (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/README.md)0
-rw-r--r--deps/npm/node_modules/util-deprecate/browser.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/browser.js)0
-rw-r--r--deps/npm/node_modules/util-deprecate/node.js (renamed from deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/node.js)0
-rw-r--r--deps/npm/node_modules/util-deprecate/package.json (renamed from deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/package.json)91
-rw-r--r--deps/npm/node_modules/util-extend/README.md (renamed from deps/npm/node_modules/read-installed/node_modules/util-extend/README.md)0
-rw-r--r--deps/npm/node_modules/util-extend/extend.js (renamed from deps/npm/node_modules/read-installed/node_modules/util-extend/extend.js)0
-rw-r--r--deps/npm/node_modules/util-extend/package.json (renamed from deps/npm/node_modules/read-installed/node_modules/util-extend/package.json)71
-rw-r--r--deps/npm/node_modules/util-extend/test.js (renamed from deps/npm/node_modules/read-installed/node_modules/util-extend/test.js)0
-rw-r--r--deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/LICENSE24
-rw-r--r--deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/LICENSE24
-rwxr-xr-xdeps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/README.md55
-rw-r--r--deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/package.json77
-rw-r--r--deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/spdx-license-ids.json303
-rw-r--r--deps/npm/node_modules/validate-npm-package-license/package.json90
-rw-r--r--deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml4
-rw-r--r--deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json25
-rw-r--r--deps/npm/node_modules/validate-npm-package-name/package.json96
-rw-r--r--deps/npm/node_modules/wcwidth/.npmignore (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.npmignore)0
-rw-r--r--deps/npm/node_modules/wcwidth/LICENSE (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/LICENSE)1
-rw-r--r--deps/npm/node_modules/wcwidth/Readme.md (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/Readme.md)0
-rw-r--r--deps/npm/node_modules/wcwidth/combining.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/combining.js)0
-rw-r--r--deps/npm/node_modules/wcwidth/docs/index.md (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/docs/index.md)3
-rw-r--r--deps/npm/node_modules/wcwidth/index.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/index.js)0
-rw-r--r--deps/npm/node_modules/wcwidth/package.json (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/package.json)82
-rw-r--r--deps/npm/node_modules/wcwidth/test/index.js (renamed from deps/npm/node_modules/columnify/node_modules/wcwidth/test/index.js)0
-rw-r--r--deps/npm/node_modules/which/package.json85
-rw-r--r--deps/npm/node_modules/wrappy/package.json92
-rw-r--r--deps/npm/node_modules/write-file-atomic/package.json78
-rw-r--r--deps/npm/node_modules/xtend/.npmignore (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.npmignore)0
-rw-r--r--deps/npm/node_modules/xtend/LICENCE (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE)0
-rw-r--r--deps/npm/node_modules/xtend/Makefile (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/Makefile)0
-rw-r--r--deps/npm/node_modules/xtend/README.md (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/README.md)0
-rw-r--r--deps/npm/node_modules/xtend/immutable.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/immutable.js)0
-rw-r--r--deps/npm/node_modules/xtend/mutable.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/mutable.js)0
-rw-r--r--deps/npm/node_modules/xtend/package.json (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json)141
-rw-r--r--deps/npm/node_modules/xtend/test.js (renamed from deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/test.js)0
-rw-r--r--deps/npm/package.json79
-rwxr-xr-xdeps/npm/scripts/index-build.js61
-rw-r--r--deps/npm/scripts/installable.sh13
-rw-r--r--deps/npm/scripts/publish-tag.js4
-rw-r--r--deps/npm/test/common.js7
-rwxr-xr-xdeps/npm/test/disabled/package-config/test.js29
-rw-r--r--deps/npm/test/fixtures/config/userconfig-with-gc42
-rw-r--r--deps/npm/test/packages/npm-test-blerg/test.js9
-rw-r--r--deps/npm/test/packages/npm-test-blerg3/test.js9
-rw-r--r--deps/npm/test/packages/npm-test-bundled-git/test.js6
-rw-r--r--deps/npm/test/packages/npm-test-ignore-nested-nm/test.js2
-rw-r--r--deps/npm/test/packages/npm-test-missing-bindir/test.js9
-rw-r--r--deps/npm/test/packages/npm-test-optional-deps/test.js12
-rw-r--r--deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json25
-rw-r--r--deps/npm/test/packages/npm-test-shrinkwrap/test.js17
-rw-r--r--deps/npm/test/run.js164
-rw-r--r--deps/npm/test/tap/00-check-mock-dep.js20
-rw-r--r--deps/npm/test/tap/00-config-setup.js76
-rw-r--r--deps/npm/test/tap/00-verify-bundle-deps.js19
-rw-r--r--deps/npm/test/tap/00-verify-ls-ok.js24
-rw-r--r--deps/npm/test/tap/404-parent.js59
-rw-r--r--deps/npm/test/tap/404-private-registry.js2
-rw-r--r--deps/npm/test/tap/access.js5
-rw-r--r--deps/npm/test/tap/add-remote-git-fake-windows.js1
-rw-r--r--deps/npm/test/tap/add-remote-git-get-resolved.js2
-rw-r--r--deps/npm/test/tap/adduser-always-auth.js135
-rw-r--r--deps/npm/test/tap/adduser-legacy-auth.js4
-rw-r--r--deps/npm/test/tap/bin.js24
-rw-r--r--deps/npm/test/tap/bitbucket-https-url-with-creds.js2
-rw-r--r--deps/npm/test/tap/bitbucket-shortcut-package.js4
-rw-r--r--deps/npm/test/tap/bitbucket-shortcut.js6
-rw-r--r--deps/npm/test/tap/bugs.js170
-rw-r--r--deps/npm/test/tap/build-already-built.js59
-rw-r--r--deps/npm/test/tap/builtin-config.js166
-rw-r--r--deps/npm/test/tap/bundled-dependencies-nonarray.js34
-rw-r--r--deps/npm/test/tap/cache-add-localdir-fallback.js88
-rw-r--r--deps/npm/test/tap/cache-add-unpublished.js25
-rw-r--r--deps/npm/test/tap/cache-shasum-fork.js7
-rw-r--r--deps/npm/test/tap/cache-shasum.js59
-rw-r--r--deps/npm/test/tap/check-cpu-reqs.js63
-rw-r--r--deps/npm/test/tap/check-engine-reqs.js65
-rw-r--r--deps/npm/test/tap/check-install-self.js66
-rw-r--r--deps/npm/test/tap/check-os-reqs.js63
-rw-r--r--deps/npm/test/tap/check-permissions.js88
-rw-r--r--deps/npm/test/tap/circular-dep.js5
-rw-r--r--deps/npm/test/tap/config-basic.js39
-rw-r--r--deps/npm/test/tap/config-builtin.js34
-rw-r--r--deps/npm/test/tap/config-certfile.js18
-rw-r--r--deps/npm/test/tap/config-credentials.js288
-rw-r--r--deps/npm/test/tap/config-edit.js56
-rw-r--r--deps/npm/test/tap/config-malformed.js4
-rw-r--r--deps/npm/test/tap/config-meta.js101
-rw-r--r--deps/npm/test/tap/config-private.js70
-rw-r--r--deps/npm/test/tap/config-project.js32
-rw-r--r--deps/npm/test/tap/config-save.js135
-rw-r--r--deps/npm/test/tap/cruft-test.js43
-rw-r--r--deps/npm/test/tap/dedupe-scoped.js12
-rw-r--r--deps/npm/test/tap/dedupe.js44
-rw-r--r--deps/npm/test/tap/deprecate.js6
-rw-r--r--deps/npm/test/tap/dist-tag.js186
-rw-r--r--deps/npm/test/tap/do-not-remove-other-bins.js131
-rw-r--r--deps/npm/test/tap/extraneous-dep-cycle-ls-ok.js70
-rw-r--r--deps/npm/test/tap/false-name.js13
-rw-r--r--deps/npm/test/tap/gently-rm-cmdshims.js157
-rw-r--r--deps/npm/test/tap/gently-rm-overeager.js45
-rw-r--r--deps/npm/test/tap/gently-rm-symlink.js92
-rw-r--r--deps/npm/test/tap/get.js102
-rw-r--r--deps/npm/test/tap/gist-short-shortcut.js2
-rw-r--r--deps/npm/test/tap/git-cache-no-hooks.js70
-rw-r--r--deps/npm/test/tap/git-dependency-install-link.js1
-rw-r--r--deps/npm/test/tap/git-npmignore.js135
-rw-r--r--deps/npm/test/tap/github-shortcut.js8
-rw-r--r--deps/npm/test/tap/gitlab-shortcut-package.js4
-rw-r--r--deps/npm/test/tap/gitlab-shortcut.js6
-rw-r--r--deps/npm/test/tap/global-prefix-set-in-userconfig.js30
-rw-r--r--deps/npm/test/tap/graceful-restart.js3
-rw-r--r--deps/npm/test/tap/ignore-install-link.js75
-rw-r--r--deps/npm/test/tap/init-interrupt.js46
-rw-r--r--deps/npm/test/tap/install-actions.js108
-rw-r--r--deps/npm/test/tap/install-at-locally.js8
-rw-r--r--deps/npm/test/tap/install-bad-dep-format.js58
-rw-r--r--deps/npm/test/tap/install-bad-man.js57
-rw-r--r--deps/npm/test/tap/install-cli-only-development.js85
-rw-r--r--deps/npm/test/tap/install-cli-only-production.js88
-rw-r--r--deps/npm/test/tap/install-cli-production.js4
-rw-r--r--deps/npm/test/tap/install-into-likenamed-folder.js44
-rw-r--r--deps/npm/test/tap/install-local-dep-cycle.js79
-rw-r--r--deps/npm/test/tap/install-man.js58
-rw-r--r--deps/npm/test/tap/install-order.js37
-rw-r--r--deps/npm/test/tap/install-save-local.js12
-rw-r--r--deps/npm/test/tap/install-scoped-already-installed.js20
-rw-r--r--deps/npm/test/tap/install-scoped-with-peer-dependency.js7
-rw-r--r--deps/npm/test/tap/install-with-dev-dep-duplicate.js7
-rw-r--r--deps/npm/test/tap/invalid-cmd-exit-code.js22
-rw-r--r--deps/npm/test/tap/is-fs-access-available.js54
-rw-r--r--deps/npm/test/tap/lifecycle.js10
-rw-r--r--deps/npm/test/tap/link.js49
-rw-r--r--deps/npm/test/tap/locker.js78
-rw-r--r--deps/npm/test/tap/logout.js44
-rw-r--r--deps/npm/test/tap/ls-env.js44
-rw-r--r--deps/npm/test/tap/ls-l-depth-0.js6
-rw-r--r--deps/npm/test/tap/ls-no-results.js12
-rw-r--r--deps/npm/test/tap/ls-top-errors.js71
-rw-r--r--deps/npm/test/tap/nerf-dart.js30
-rw-r--r--deps/npm/test/tap/nested-extraneous.js46
-rw-r--r--deps/npm/test/tap/no-global-warns.js67
-rw-r--r--deps/npm/test/tap/no-scan-full-global-dir.js100
-rw-r--r--deps/npm/test/tap/noargs-install-config-save.js79
-rw-r--r--deps/npm/test/tap/normalize-package-explode.js26
-rw-r--r--deps/npm/test/tap/npm-api-not-loaded-error.js42
-rw-r--r--deps/npm/test/tap/optional-metadep-rollback-collision.js16
-rw-r--r--deps/npm/test/tap/outdated-depth-deep.js77
-rw-r--r--deps/npm/test/tap/outdated-depth-integer.js51
-rw-r--r--deps/npm/test/tap/outdated-depth.js3
-rw-r--r--deps/npm/test/tap/outdated-git.js2
-rw-r--r--deps/npm/test/tap/outdated-local.js1
-rw-r--r--deps/npm/test/tap/outdated-notarget.js46
-rw-r--r--deps/npm/test/tap/outdated-private.js113
-rw-r--r--deps/npm/test/tap/outdated.js9
-rw-r--r--deps/npm/test/tap/owner.js134
-rw-r--r--deps/npm/test/tap/pack-scoped.js64
-rw-r--r--deps/npm/test/tap/peer-deps-invalid.js34
-rw-r--r--deps/npm/test/tap/peer-deps-toplevel.js30
-rw-r--r--deps/npm/test/tap/peer-deps-without-package-json.js8
-rw-r--r--deps/npm/test/tap/peer-deps.js26
-rw-r--r--deps/npm/test/tap/prepublish.js76
-rw-r--r--deps/npm/test/tap/progress-config.js56
-rw-r--r--deps/npm/test/tap/publish-access-scoped.js54
-rw-r--r--deps/npm/test/tap/publish-access-unscoped-restricted-fails.js46
-rw-r--r--deps/npm/test/tap/publish-access-unscoped.js54
-rw-r--r--deps/npm/test/tap/publish-config.js52
-rw-r--r--deps/npm/test/tap/publish-scoped.js66
-rw-r--r--deps/npm/test/tap/pwd-prefix.js20
-rw-r--r--deps/npm/test/tap/referer.js16
-rw-r--r--deps/npm/test/tap/registry.js47
-rw-r--r--deps/npm/test/tap/repo.js76
-rw-r--r--deps/npm/test/tap/rm-linked.js136
-rw-r--r--deps/npm/test/tap/run-script.js7
-rw-r--r--deps/npm/test/tap/semver-doc.js16
-rw-r--r--deps/npm/test/tap/semver-tag.js10
-rw-r--r--deps/npm/test/tap/shrinkwrap-dev-dependency.js4
-rw-r--r--deps/npm/test/tap/shrinkwrap-empty-deps.js3
-rw-r--r--deps/npm/test/tap/shrinkwrap-local-dependency.js101
-rw-r--r--deps/npm/test/tap/shrinkwrap-prod-dependency-also.js93
-rw-r--r--deps/npm/test/tap/shrinkwrap-scoped-auth.js122
-rw-r--r--deps/npm/test/tap/sorted-package-json.js87
-rw-r--r--deps/npm/test/tap/spawn-enoent-help.js28
-rw-r--r--deps/npm/test/tap/spawn-enoent.js35
-rw-r--r--deps/npm/test/tap/splat-with-only-prerelease-to-latest.js11
-rw-r--r--deps/npm/test/tap/symlink-cycle.js61
-rw-r--r--deps/npm/test/tap/team.js3
-rw-r--r--deps/npm/test/tap/test-run-ls.js28
-rw-r--r--deps/npm/test/tap/uninstall-in-reverse.js38
-rw-r--r--deps/npm/test/tap/uninstall-package.js4
-rw-r--r--deps/npm/test/tap/update-examples.js59
-rw-r--r--deps/npm/test/tap/update-path.js35
-rw-r--r--deps/npm/test/tap/verify-no-lifecycle-on-repo.js54
-rw-r--r--deps/npm/test/tap/version-no-git.js56
-rw-r--r--deps/npm/test/tap/version-no-package.js36
-rw-r--r--deps/npm/test/tap/version-no-tags.js80
-rw-r--r--deps/npm/test/tap/view.js316
-rw-r--r--deps/npm/test/tap/whoami.js70
-rw-r--r--deps/npm/test/tap/zz-cleanup.js8
1820 files changed, 35576 insertions, 33959 deletions
diff --git a/deps/npm/.mailmap b/deps/npm/.mailmap
index 84886514da..55383ba8df 100644
--- a/deps/npm/.mailmap
+++ b/deps/npm/.mailmap
@@ -24,6 +24,7 @@ Isaac Z. Schlueter <i@izs.me> <i@foohack.com>
Isaac Z. Schlueter <i@izs.me> isaacs <i@izs.me>
Jake Verbaten <raynos2@gmail.com>
James Sanders <jimmyjazz14@gmail.com>
+James Treworgy <jamietre@gmail.com>
Jason Smith <jhs@iriscouch.com>
Jonas Weber <github@jonasw.de>
Julien Meddah <julien.meddah@deveryware.com>
diff --git a/deps/npm/.travis.yml b/deps/npm/.travis.yml
index d555682984..e5828a3975 100644
--- a/deps/npm/.travis.yml
+++ b/deps/npm/.travis.yml
@@ -8,7 +8,7 @@ env:
- DEPLOY_VERSION=testing
before_install:
- "npm config set spin false"
- - "npm install -g npm/npm#2.x"
+ - "node . install -g ."
- "sudo mkdir -p /var/run/couchdb"
script: "npm run-script test-all"
notifications:
diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS
index 9b03dc4d36..cbafe00659 100644
--- a/deps/npm/AUTHORS
+++ b/deps/npm/AUTHORS
@@ -291,11 +291,12 @@ Eduardo Pinho <enet4mikeenet@gmail.com>
Rachel Hutchison <rhutchix@intel.com>
Ryan Temple <ryantemple145@gmail.com>
Eugene Sharygin <eush77@gmail.com>
-Nick Heiner <nick.heiner@opower.com>
James Talmage <james@talmage.io>
jane arc <jane@uber.com>
Joseph Dykstra <josephdykstra@gmail.com>
+Andrew Crites <ajcrites@gmail.com>
Joshua Egan <josh-egan@users.noreply.github.com>
+Carlos Alberto <euprogramador@gmail.com>
Thomas Cort <thomasc@ssimicro.com>
Thaddee Tyl <thaddee.tyl@gmail.com>
Steve Klabnik <steve@steveklabnik.com>
@@ -308,7 +309,7 @@ murgatroid99 <mlumish@google.com>
Marcin Cieslak <saper@saper.info>
João Reis <reis@janeasystems.com>
Matthew Hasbach <hasbach.git@gmail.com>
-Anna Henningsen <sqrt@entless.org>
Jon Hall <jon_hall@outlook.com>
+Anna Henningsen <sqrt@entless.org>
+James Treworgy <jamietre@gmail.com>
James Hartig <james@levenlabs.com>
-snopeks <stephaniesnopek@gmail.com>
diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md
index 8a8dbbca44..d4c1ba4aa2 100644
--- a/deps/npm/CHANGELOG.md
+++ b/deps/npm/CHANGELOG.md
@@ -1,49 +1,118 @@
-### v2.14.7 (2015-10-01):
+### v3.3.6 (2015-09-30):
+
+I have the most exciting news for you this week. YOU HAVE NO IDEA. Well,
+ok, maybe you do if you follow my twitter.
+
+Performance just got 5 bazillion times better (under some circumstances,
+ymmv, etc). So– my test scenario is our very own website. In npm@2, on my
+macbook running `npm ls` takes about 5 seconds. Personally it's more than
+I'd like, but it's entire workable. In npm@3 it has been taking _50_ seconds,
+which is appalling. But after doing some work on Monday isolating the performance
+issues I've been able to reduce npm@3's run time back down to 5 seconds.
+
+Other scenarios were even worse, there was one that until now in npm@3 that
+took almost 6 minutes, and has been reduced to 14 seconds.
+
+* [`7bc0d4c`](https:github.com/npm/npm/commit/7bc0d4c)
+ [`cf42217`](https:github.com/npm/npm/commit/cf42217)
+ [#8826](https://github.com/npm/npm/issues/8826)
+ Stop using deepclone on super big datastructures. Avoid cloning
+ all-together even when that means mutating things, when possible.
+ Otherwise use a custom written tree-copying function that understands
+ the underlying datastructure well enough to only copy what we absolutely
+ need to.
+ ([@iarna](https://github.com/iarna))
+
+In other news, look for us this Friday and Saturday at the amazing
+[Open Source and Feelings](https://osfeels.com) conference, where something like a
+third of the company will be attending.
+
+#### And finally a dependency update
+
+* [`a6a4437`](https:github.com/npm/npm/commit/a6a4437)
+ glob@5.0.15
+ ([@isaacs](https://github.com/isaacs))
+
+#### And some subdep updates
+
+* [`cc5e6a0`](https:github.com/npm/npm/commit/cc5e6a0)
+ hoek@2.16.3
+ ([@nlf](https://github.com/nlf))
+* [`912a516`](https:github.com/npm/npm/commit/912a516)
+ boom@2.9.0
+ ([@arb](https://github.com/arb))
+* [`63944e9`](https:github.com/npm/npm/commit/63944e9)
+ bluebird@2.10.1
+ ([@petkaantonov](https://github.com/petkaantonov))
+* [`ef16003`](https:github.com/npm/npm/commit/ef16003)
+ mime-types@2.1.7 & mime-db@1.19.0
+ ([@dougwilson](https://github.com/dougwilson))
+* [`2b8c0dd`](https:github.com/npm/npm/commit/2b8c0dd)
+ request@2.64.0
+ ([@simov](https://github.com/simov))
+* [`8139124`](https:github.com/npm/npm/commit/8139124)
+ brace-expansion@1.1.1
+ ([@juliangruber](https://github.com/juliangruber))
+
+### v3.3.5 (2015-09-24):
-#### MORE RELEASE STAGGERING?!
+Some of you all may not be aware, but npm is ALSO a company. I tell you this
+'cause npm-the-company had an all-staff get together this week, flying in
+our remote folks from around the world. That was great, but it also
+basically eliminated normal work on Monday and Tuesday.
-Hi all, and greetings from [Open Source & Feelings](http://osfeels.com)!
+Still, we've got a couple of really important bug fixes this week. Plus a
+lil bit from the [now LTS 2.x branch](https://github.com/npm/npm/releases/tag/v2.14.6).
-So we're switching gears a little with how we handle our weekly releases: from
-now on, we're going to stagger release weeks between dependency bumps and
-regular patches. So, this week, aside from a doc change, we'll be doing only
-version bumps. Expect actual patches next week!
+#### ATTENTION WINDOWS USERS
-#### TOTALLY FOLLOWING THE RULES ALREADY
+If you previously updated to npm 3 and you try to update again, you may get
+an error messaging telling you that npm won't install npm into itself. Until you
+are at 3.3.5 or greater, you can get around this with `npm install -f -g npm`.
-So I snuck this in, because it's our own [@snopeks](https://github.com/snopeks)'
-first contribution to the main `npm` repo. She's been helping with building
-support documents for Orgs, and contributed her general intro guide to the new
-feature so you can read it with `npm help orgs` right in your terminal!
+* [`bef06f5`](https://github.com/npm/npm/commit/bef06f5)
+ [#9741](https://github.com/npm/npm/pull/9741) Uh... so... er... it
+ seems that since npm@3.2.0 on Windows with a default configuration, it's
+ been impossible to update npm. Well, that's not actually true, there's a
+ work around (see above), but it shouldn't be complaining in the first
+ place.
+ ([@iarna](https://github.com/iarna))
-* [`8324ea0`](https://github.com/npm/npm/commit/8324ea023ace4e08b6b8959ad199e2457af9f9cf)
- [#9761](https://github.com/npm/npm/pull/9761) Added general user guide for
- Orgs.
- ([@snopeks](https://github.com/snopeks))
+#### STACK OVERFLOWS ON PUBLISH
-#### JUST. ONE. MORE.
+* [`330b496`](https://github.com/npm/npm/commit/330b496)
+ [#9667](https://github.com/npm/npm/pull/9667)
+ We were keeping track of metadata about your project while packing the
+ tree in a way that resulted in this data being written to packed tar files
+ headers. When this metadata included cycles, it resulted in the the tar
+ file entering an infinite recursive loop and eventually crashing with a
+ stack overflow.
-* [`9a502ca`](https://github.com/npm/npm/commit/9a502ca96e2d43ec75a8f684c9ca33af7e910f0a)
- Use unique package name in tests to work around weird test-state-based
- failures.
+ I've patched this by keeping track of your metadata by closing over the
+ variables in question instead, and I've further restricted gathering and
+ tracking the metadata to times when it's actually needed. (Which is only
+ if you need bundled modules.)
([@iarna](https://github.com/iarna))
-#### OKAY ACTUALLY THE THING I WAS SUPPOSED TO DO
+#### LESS CRASHY ERROR MESSAGES ON BAD PACKAGES
-Anyway -- here's your version bump! :)
+* [`829921f`](https://github.com/npm/npm/commit/829921f)
+ [#9741](https://github.com/npm/npm/pull/9741)
+ Packages with invalid names or versions were crashing the installer. These
+ are now captured and warned as was originally intended.
+ ([@iarna](https://github.com/iarna))
+
+#### ONE DEPENDENCY UPDATE
-* [`4aeb94c`](https://github.com/npm/npm/commit/4aeb94c9f0df3f41802cf2e0397a998f3b527c25)
- `request@2.64.0`: No longer defaulting to `application/json` for `json`
- requests. Also some minor doc and packaging patches.
+* [`963295c`](https://github.com/npm/npm/commit/963295c)
+ npm-install-checks@2.0.1
+ ([@iarna](https://github.com/iarna))
+
+#### AND ONE SUBDEPENDENCY
+
+* [`448737d`](https://github.com/npm/npm/commit/448737d)
+ request@2.63.0
([@simov](https://github.com/simov))
- `minimatch@3.0.0`: No longer packaging browser modules.
- ([@isaacs](https://github.com/isaacs))
-* [`a18b213`](https://github.com/npm/npm/commit/a18b213e6945a8f5faf882927829ac95f844e2aa)
- `glob@5.0.15`: Upgraded `minimatch` dependency.
- ([@isaacs](https://github.com/isaacs))
-* [`9eb64d4`](https://github.com/npm/npm/commit/9eb64e44509519ca9d788502edb2eba4cea5c86b)
- `nock@2.13.0`
- ([@pgte](https://github.com/pgte))
### v2.14.6 (2015-09-24):
@@ -65,12 +134,70 @@ Still, we're bringing you a couple of tiny little changes this week!
making `json` requests.
([@simov](https://github.com/simov))
+### v3.3.4 (2015-09-17):
+
+This is a relatively quiet release, bringing a few bug fixes and
+some module updates, plus via the
+[2.14.5 release](https://github.com/npm/npm/releases/tag/v2.14.5)
+some forward compatibility fixes with versions of Node that
+aren't yet released.
+
+#### NO BETA NOTICE THIS TIME!!
+
+But, EXCITING NEWS FRIENDS, this week marks the exit of npm@3
+from beta. This means that the week of this release,
+[v3.3.3](https://github.com/npm/npm/releases/tag/v3.3.3) will
+become `latest` and this version (v3.3.4) will become `next`!!
+
+#### CRUFT FOR THE CRUFT GODS
+
+What I call "cruft", by which I mean, files sitting around in
+your `node_modules` folder, will no longer produce warnings in
+`npm ls` nor during `npm install`. This brings npm@3's behavior
+in line with npm@2.
+
+* [`a127801`](https://github.com/npm/npm/commit/a127801)
+ [#9285](https://github.com/npm/npm/pull/9586)
+ Stop warning about cruft in module directories.
+ ([@iarna](https://github.com/iarna))
+
+#### BETTER ERROR MESSAGE
+
+* [`95ee92c`](https://github.com/npm/npm/commit/95ee92c)
+ [#9433](https://github.com/npm/npm/issues/9433)
+ Give better error messages for invalid urls in the dependecy
+ list.
+ ([@jamietre](https://github.com/jamietre))
+
+#### MODULE UPDATES
+
+* [`ebb92ca`](https://github.com/npm/npm/commit/ebb92ca)
+ retry@0.8.0 [(@tim-kos](https://github.com/tim-kos))
+* [`55f1285`](https://github.com/npm/npm/commit/55f1285)
+ normalize-package-data@2.3.4 [(@zkat](https://github.com/zkat))
+* [`6d4ebff`](https://github.com/npm/npm/commit/6d4ebff)
+ sha@2.0.1 [(@ForbesLindesay](https://github.com/ForbesLindesay))
+* [`09a9c7a`](https://github.com/npm/npm/commit/09a9c7a)
+ semver@5.0.3 [(@isaacs](https://github.com/isaacs))
+* [`745000f`](https://github.com/npm/npm/commit/745000f)
+ node-gyp@3.0.3 [(@rvagg](https://github.com/rvagg))
+
+#### SUB DEP MODULE UPDATES
+
+* [`578ca25`](https://github.com/npm/npm/commit/578ca25)
+ request@2.62.0 [(@simov](https://github.com/simov))
+* [`1d8996e`](https://github.com/npm/npm/commit/1d8996e)
+ jju@1.2.1 [(@rlidwka](https://github.com/rlidwka))
+* [`6da1ba4`](https://github.com/npm/npm/commit/6da1ba4)
+ hoek@2.16.2 [(@nlf](https://github.com/nlf))
+
### v2.14.5 (2015-09-17):
#### NPM IS DEAD. LONG LIVE NPM
-That's right folks. As of this week, `npm@latest` is `npm@3`! There's some
-really great shiny new things over there, and you should really take a look.
+That's right folks. As of this week, `npm@next` is `npm@3`, which means it'll be
+`npm@latest` next week! There's some really great shiny new things over there,
+and you should really take a look.
Many kudos to [@iarna](https://github.com/iarna) for her hard work on `npm@3`!
@@ -138,6 +265,141 @@ bunch of patches to get the latest npm working.
`semver@5.0.3`: Removed uglify-js dead code.
([@isaacs](https://github.com/isaacs))
+### v3.3.3 (2015-09-10):
+
+This short week brought us brings us a few small bug fixes, a
+doc change and a whole lotta dependency updates.
+
+Plus, as usual, this includes a forward port of everything in
+[`npm@2.14.4`](https://github.com/npm/npm/releases/tag/v2.14.4).
+
+#### BETA BUT NOT FOREVER
+
+**_THIS IS BETA SOFTWARE_**. `npm@3` will remain in beta until
+we're confident that it's stable and have assessed the effect of
+the breaking changes on the community. During that time we will
+still be doing `npm@2` releases, with `npm@2` tagged as `latest`
+and `next`. We'll _also_ be publishing new releases of `npm@3`
+as `npm@v3.x-next` and `npm@v3.x-latest` alongside those
+versions until we're ready to switch everyone over to `npm@3`.
+We need your help to find and fix its remaining bugs. It's a
+significant rewrite, so we are _sure_ there still significant
+bugs remaining. So do us a solid and deploy it in non-critical
+CI environments and for day-to-day use, but maybe don't use it
+for production maintenance or frontline continuous deployment
+just yet.
+
+#### REMOVE INSTALLED BINARIES ON WINDOWS
+
+So waaaay back at the start of August, I fixed a bug with
+[#9198](https://github.com/npm/npm/pull/9198). That fix made it
+so that if you had two modules installed that both installed the
+same binary (eg `gulp` & `gulp-cli`), that removing one wouldn't
+remove the binary if it was owned by the other.
+
+It did this by doing some hocus-pocus that, turns out, was
+Unix-specific, so on Windows it just threw up its hands and
+stopped removing installed binaries at all. Not great.
+
+So today we're fixing that– it let us maintain the same safety
+that we added in #9198, but ALSO works with windows.
+
+* [`25fbaed`](https://github.com/npm/npm/commit/25fbaed)
+ [#9394](https://github.com/npm/npm/issues/9394)
+ Treat cmd-shims the same way we treat symlinks
+ ([@iarna](https://github.com/iarna))
+
+#### API DOCUMENTATION HAS BEEN SACRIFICED THE API GOD
+
+The documentation of the internal APIs of npm is going away,
+because it would lead people into thinking they should integrate
+with npm by using it. Please don't do that! In the future, we'd
+like to give you a suite of stand alone modules that provide
+better, more stand alone APIs for your applications to build on.
+But for now, call the npm binary with `process.exec` or
+`process.spawn` instead.
+
+* [`2fb60bf`](https://github.com/npm/npm/commit/2fb60bf)
+ Remove misleading API documentation
+ ([@othiym23](https://github.com/othiym23))
+
+#### ALLOW `npm link` ON WINDOWS W/ PRERELEASE VERSIONS OF NODE
+
+We never meant to have this be a restriction in the first place
+and it was only just discovered with the recent node 4.0.0
+release candidate.
+
+* [`6665e54`](https://github.com/npm/npm/commit/6665e54)
+ [#9505](https://github.com/npm/npm/pull/9505)
+ Allow npm link to run on windows with prerelease versions of
+ node
+ ([@jon-hall](https://github.com/jon-hall))
+
+#### graceful-fs update
+
+We're updating all of npm's deps to use the most recent
+`graceful-fs`. This turns out to be important for future not yet
+released versions of node, because older versions monkey-patch
+`fs` in ways that will break in the future. Plus it ALSO makes
+use of `process.binding` which is an internal API that npm
+definitely shouldn't have been using. We're not done yet, but
+this is the bulk of them.
+
+* [`e7bc98e`](https://github.com/npm/npm/commit/e7bc98e)
+ write-file-atomic@1.1.3
+ ([@iarna](https://github.com/iarna))
+* [`7417600`](https://github.com/npm/npm/commit/7417600)
+ tar@2.2.1
+ ([@zkat](https://github.com/zkat))
+* [`e4e9d40`](https://github.com/npm/npm/commit/e4e9d40)
+ read-package-json@2.0.1
+ ([@zkat](https://github.com/zkat))
+* [`481611d`](https://github.com/npm/npm/commit/481611d)
+ read-installed@4.0.3
+ ([@zkat](https://github.com/zkat))
+* [`0dabbda`](https://github.com/npm/npm/commit/0dabbda)
+ npm-registry-client@7.0.4
+ ([@zkat](https://github.com/zkat))
+* [`c075a91`](https://github.com/npm/npm/commit/c075a91)
+ fstream@1.0.8
+ ([@zkat](https://github.com/zkat))
+* [`2e4341a`](https://github.com/npm/npm/commit/2e4341a)
+ fs-write-stream-atomic@1.0.4
+ ([@zkat](https://github.com/zkat))
+* [`18ad16e`](https://github.com/npm/npm/commit/18ad16e)
+ fs-vacuum@1.2.7
+ ([@zkat](https://github.com/zkat))
+
+#### DEPENDENCY UPDATES
+
+* [`9d6666b`](https://github.com/npm/npm/commit/9d6666b)
+ node-gyp@3.0.1
+ ([@rvagg](https://github.com/rvagg))
+* [`349c4df`](https://github.com/npm/npm/commit/349c4df)
+ retry@0.7.0
+ ([@tim-kos](https://github.com/tim-kos))
+* [`f507551`](https://github.com/npm/npm/commit/f507551)
+ which@1.1.2
+ ([@isaacs](https://github.com/isaacs))
+* [`e5b6743`](https://github.com/npm/npm/commit/e5b6743)
+ nopt@3.0.4
+ ([@zkat](https://github.com/zkat))
+
+#### THE DEPENDENCIES OF OUR DEPENDENCIES ARE OUR DEPENDENCIES UPDATES
+
+* [`316382d`](https://github.com/npm/npm/commit/316382d)
+ mime-types@2.1.6 & mime-db@1.18.0
+* [`64b741e`](https://github.com/npm/npm/commit/64b741e)
+ spdx-correct@1.0.1
+* [`fff62ac`](https://github.com/npm/npm/commit/fff62ac)
+ process-nextick-args@1.0.3
+* [`9d6488c`](https://github.com/npm/npm/commit/9d6488c)
+ cryptiles@2.0.5
+* [`1912012`](https://github.com/npm/npm/commit/1912012)
+ bluebird@2.10.0
+* [`4d09402`](https://github.com/npm/npm/commit/4d09402)
+ readdir-scoped-modules@1.0.2
+
### v2.14.4 (2015-09-10):
#### THE GREAT NODEv4 SAGA
@@ -219,6 +481,41 @@ updates related to this:
`nopt@3.0.4`: Minor clarifications to docs about how array and errors work.
([@zkat](https://github.com/zkat))
+### v3.3.2 (2015-09-04):
+
+#### PLEASE HOLD FOR THE NEXT AVAILABLE MAINTAINER
+
+This is a tiny little maintenance release, both to update dependencies and to
+keep `npm@3` up to date with changes made to `npm@2`.
+[@othiym23](https://github.com/othiym23) is putting out this release (again) as
+his esteemed colleague [@iarna](https://github.com/iarna) finishes relocating
+herself, her family, and her sizable anime collection all the way across North
+America. It contains [all the goodies in
+`npm@2.14.3`](https://github.com/npm/npm/releases/tag/v2.14.3) and one other
+dependency update.
+
+#### BETA WARNINGS FOR FUN AND PROFIT
+
+**_THIS IS BETA SOFTWARE_**. `npm@3` will remain in beta until we're
+confident that it's stable and have assessed the effect of the breaking
+changes on the community. During that time we will still be doing `npm@2`
+releases, with `npm@2` tagged as `latest` and `next`. We'll _also_ be
+publishing new releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest`
+alongside those versions until we're ready to switch everyone over to
+`npm@3`. We need your help to find and fix its remaining bugs. It's a
+significant rewrite, so we are _sure_ there still significant bugs
+remaining. So do us a solid and deploy it in non-critical CI environments
+and for day-to-day use, but maybe don't use it for production maintenance or
+frontline continuous deployment just yet.
+
+That said, it's getting there! It will be leaving beta very soon!
+
+#### ONE OTHER DEPENDENCY UPDATE
+
+* [`bb5de34`](https://github.com/npm/npm/commit/bb5de3493531228df0bd3f0742d5493c826be6dd)
+ `is-my-json-valid@2.12.2`: Upgrade to a new, modernized version of
+ `json-pointer`. ([@mafintosh](https://github.com/mafintosh))
+
### v2.14.3 (2015-09-03):
#### TEAMS AND ORGS STILL BETA. CLI CODE STILL SOLID.
@@ -261,6 +558,101 @@ No actual dep updates this week, but we're bumping a couple of devDeps:
`deep-equal@1.0.1`: Make `null == undefined` in non-strict mode
([@isaacs](https://github.com/isaacs))
+### v3.3.1 (2015-08-27):
+
+Hi all, this `npm@3` update brings you another round of bug fixes. The
+headliner here is that `npm update` works again. We're running down the
+clock on blocker 3.x issues! Shortly after that hits zero we'll be
+promoting 3.x to latest!!
+
+And of course, we have changes that were brought forward from 2.x. Check out
+the release notes for
+[2.14.1](https://github.com/npm/npm/releases/tag/v2.14.1) and
+[2.14.2](https://github.com/npm/npm/releases/tag/v2.14.2).
+
+#### BETA WARNINGS FOR FUN AND PROFIT
+
+**_THIS IS BETA SOFTWARE_**. `npm@3` will remain in beta until we're
+confident that it's stable and have assessed the effect of the breaking
+changes on the community. During that time we will still be doing `npm@2`
+releases, with `npm@2` tagged as `latest` and `next`. We'll _also_ be
+publishing new releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest`
+alongside those versions until we're ready to switch everyone over to
+`npm@3`. We need your help to find and fix its remaining bugs. It's a
+significant rewrite, so we are _sure_ there still significant bugs
+remaining. So do us a solid and deploy it in non-critical CI environments
+and for day-to-day use, but maybe don't use it for production maintenance or
+frontline continuous deployment just yet.
+
+#### NPM UPDATE, NOW AGAIN YOUR FRIEND
+
+* [`f130a00`](https://github.com/npm/npm/commit/f130a00)
+ [#9095](https://github.com/npm/npm/issues/9095)
+ `npm update` once again works! Previously, after selecting packages
+ to update, it would then pick the wrong location to run the install
+ from. ([@iarna](https://github.com/iarna))
+
+#### MORE VERBOSING FOR YOUR VERBOSE LIFECYCLES
+
+* [`d088b7d`](https://github.com/npm/npm/commit/d088b7d)
+ [#9227](https://github.com/npm/npm/pull/9227)
+ Add some additional logging at the verbose and silly levels
+ when running lifecycle scripts. Hopefully this will make
+ debugging issues with them a bit easier!
+ ([@saper](https://github.com/saper))
+
+#### AND SOME OTHER BUG FIXES…
+
+* [`f4a5784`](https://github.com/npm/npm/commit/f4a5784)
+ [#9308](https://github.com/npm/npm/issues/9308)
+ Make fetching metadata for local modules faster! This ALSO means
+ that doing things like running `npm repo` won't build your
+ module and maybe run `prepublish`.
+ ([@iarna](https://github.com/iarna))
+
+* [`4468c92`](https://github.com/npm/npm/commit/4468c92)
+ [#9205](https://github.com/npm/npm/issues/9205)
+ Fix a bug where local modules would sometimes not resolve relative
+ links using the correct base path.
+ ([@iarna](https://github.com/iarna))
+
+* [`d395a6b`](https://github.com/npm/npm/commit/d395a6b)
+ [#8995](https://github.com/npm/npm/issues/8995)
+ Certain combinations of packages could result in different install orders for their
+ initial installation than for reinstalls run on the same folder.
+ ([@iarna](https://github.com/iarna))
+
+* [`d119ea6`](https://github.com/npm/npm/commit/d119ea6)
+ [#9113](https://github.com/npm/npm/issues/9113)
+ Make extraneous packages _always_ up in `npm ls`. Previously, if an
+ extraneous package had a dependency that depended back on the original
+ package this would result in the package not showing up in `ls`.
+ ([@iarna](https://github.com/iarna))
+
+* [`02420dc`](https://github.com/npm/npm/commit/02420dc)
+ [#9113](https://github.com/npm/npm/issues/9113)
+ Stop warning about missing top level package.json files. Errors in said
+ files will still be reported.
+ ([@iarna](https://github.com/iarna))
+
+#### SOME DEP UPDATES
+
+* [`1ed1364`](https://github.com/npm/npm/commit/1ed1364) rimraf@2.4.3
+ ([@isaacs](https://github.com/isaacs)) Added EPERM to delay/retry loop
+* [`e7b8315`](https://github.com/npm/npm/commit/e7b8315) read@1.0.7
+ Smaller distribution package, better metadata
+ ([@isaacs](https://github.com/isaacs))
+
+#### SOME DEPS OF DEPS UPDATES
+
+* [`b273bcc`](https://github.com/npm/npm/commit/b273bcc) mime-types@2.1.5
+* [`df6e225`](https://github.com/npm/npm/commit/df6e225) mime-db@1.17.0
+* [`785f2ad`](https://github.com/npm/npm/commit/785f2ad) is-my-json-valid@2.12.1
+* [`88170dd`](https://github.com/npm/npm/commit/88170dd) form-data@1.0.0-rc3
+* [`af5357b`](https://github.com/npm/npm/commit/af5357b) request@2.61.0
+* [`337f96a`](https://github.com/npm/npm/commit/337f96a) chalk@1.1.1
+* [`3dfd74d`](https://github.com/npm/npm/commit/3dfd74d) async@1.4.2
+
### v2.14.2 (2015-08-27):
#### GETTING THAT PESKY `preferGlobal` WARNING RIGHT
@@ -402,6 +794,106 @@ appreciate everybody's patience and understanding tremendously.
`request@2.61.0`: Bug fixes and keep-alive tweaks.
([@simov](https://github.com/simov))
+### v3.3.0 (2015-08-13):
+
+This is a pretty EXCITING week. But I may be a little excitable– or
+possibly sleep deprived, it's sometimes hard to tell them apart. =D So
+[Kat](https://github.com/zkat) really went the extra mile this week and got
+the client side support for teams and orgs out in this week's 2.x release.
+You can't use that just yet, 'cause we have to turn on some server side
+stuff too, but this way it'll be there for you all the moment we do! Check
+out the details over in the [2.14.0 release
+notes](https://github.com/npm/npm/releases/tag/v2.14.0)!
+
+But we over here in 3.x ALSO got a new feature this week, check out the new
+`--only` and `--also` flags for better control over when dev and production
+dependencies are used by various npm commands.
+
+That, and some important bug fixes round out this week. Enjoy everyone!
+
+#### NEVER SHALL NOT BETA THE BETA
+
+**_THIS IS BETA SOFTWARE_**. EXCITING NEW BETA WARNING!!! Ok, I fibbed,
+EXACTLY THE SAME BETA WARNINGS: `npm@3` will remain in beta until we're
+confident that it's stable and have assessed the effect of the breaking
+changes on the community. During that time we will still be doing `npm@2`
+releases, with `npm@2` tagged as `latest` and `next`. We'll _also_ be
+publishing new releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest`
+alongside those versions until we're ready to switch everyone over to
+`npm@3`. We need your help to find and fix its remaining bugs. It's a
+significant rewrite, so we are _sure_ there still significant bugs
+remaining. So do us a solid and deploy it in non-critical CI environments
+and for day-to-day use, but maybe don't use it for production maintenance or
+frontline continuous deployment just yet.
+
+#### ONLY ALSO DEV
+
+Hey we've got a SUPER cool new feature for you all, thanks to the fantastic
+work of [@davglass](https://github.com/davglass) and
+[@bengl](https://github.com/bengl) we have `--only=prod`,
+`--only=dev`, `--also=prod` and `--also=dev` options. These apply in
+various ways to: `npm install`, `npm ls`, `npm outdated` and `npm update`.
+
+So for instance:
+
+```
+npm install --only=dev
+```
+
+Only installs dev dependencies. By contrast:
+
+```
+npm install --only=prod
+```
+
+Will only install prod dependencies and is very similar to `--production`
+but differs in that it doesn't set the environment variables that
+`--production` does.
+
+The related new flag, `--also` is most useful with things like:
+
+```
+npm shrinkwrap --also=dev
+```
+
+As shrinkwraps don't include dev deps by default. This replaces passing in
+`--dev` in that scenario.
+
+And that leads into the fact that this deprecates `--dev` as its semantics
+across commands were inconsistent and confusing.
+
+* [`3ab1eea`](https://github.com/npm/npm/commit/3ab1eea)
+ [#9024](https://github.com/npm/npm/pull/9024)
+ Add support for `--only`, `--also` and deprecate `--dev`
+ ([@bengl](https://github.com/bengl))
+
+#### DON'T TOUCH! THAT'S NOT YOUR BIN
+
+* [`b31812e`](https://github.com/npm/npm/commit/b31812e)
+ [#8996](https://github.com/npm/npm/pull/8996)
+ When removing a module that has bin files, if one that we're going to
+ remove is a symlink to a DIFFERENT module, leave it alone. This only happens
+ when you have two modules that try to provide the same bin.
+ ([@iarna](https://github.com/iarna))
+
+#### THERE'S AN END IN SIGHT
+
+* [`d2178a9`](https://github.com/npm/npm/commit/d2178a9)
+ [#9223](https://github.com/npm/npm/pull/9223)
+ Close a bunch of infinite loops that could show up with symlink cycles in your dependencies.
+ ([@iarna](https://github.com/iarna))
+
+#### OOPS DIDN'T MEAN TO FIX THAT
+
+Well, not _just_ yet. This was scheduled for next week, but it snuck into
+2.x this week.
+
+* [`139dd92`](https://github.com/npm/npm/commit/139dd92)
+ [#8716](https://github.com/npm/npm/pull/8716)
+ `npm init` will now only pick up the modules you install, not everything
+ else that got flattened with them.
+ ([@iarna](https://github.com/iarna))
+
### v2.14.0 (2015-08-13):
#### IT'S HERE! KINDA!
@@ -455,6 +947,69 @@ All of these changes were done under [`#9011`](https://github.com/npm/npm/pull/9
around semver range, thus making it valid semver.
([@KenanY](https://github.com/KenanY))
+### v3.2.2 (2015-08-08):
+
+Lot's of lovely bug fixes for `npm@3`. I'm also suuuuper excited that I
+think we have a handle on stack explosions that effect a small portion of
+our users. We also have some tantalizing clues as to where some low hanging
+fruit may be for performance issues.
+
+And of course, in addition to the npm@3 specific bug fixes, there are some
+great one's coming in from npm@2! [@othiym23](https://github.com/othiym23)
+put together that release this week– check out its
+[release notes](https://github.com/npm/npm/releases/tag/v2.13.4) for the deets.
+
+#### AS ALWAYS STILL BETA
+
+**_THIS IS BETA SOFTWARE_**. Just like the airline safety announcements,
+we're not taking this plane off till we finish telling you: `npm@3` will
+remain in beta until we're confident that it's stable and have assessed the
+effect of the breaking changes on the community. During that time we will
+still be doing `npm@2` releases, with `npm@2` tagged as `latest` and `next`.
+We'll _also_ be publishing new releases of `npm@3` as `npm@v3.x-next` and
+`npm@v3.x-latest` alongside those versions until we're ready to switch
+everyone over to `npm@3`. We need your help to find and fix its remaining
+bugs. It's a significant rewrite, so we are _sure_ there still significant
+bugs remaining. So do us a solid and deploy it in non-critical CI
+environments and for day-to-day use, but maybe don't use it for production
+maintenance or frontline continuous deployment just yet.
+
+#### BUG FIXES
+
+* [`a8c8a13`](https://github.com/npm/npm/commit/a8c8a13)
+ [#9050](https://github.com/npm/npm/issues/9050)
+ Resolve peer deps relative to the parent of the requirer
+ ([@iarna](http://github.com/iarna))
+* [`05f0226`](https://github.com/npm/npm/commit/05f0226)
+ [#9077](https://github.com/npm/npm/issues/9077)
+ Fix crash when saving `git+ssh` urls
+ ([@iarna](http://github.com/iarna))
+* [`e4a3808`](https://github.com/npm/npm/commit/e4a3808)
+ [#8951](https://github.com/npm/npm/issues/8951)
+ Extend our patch to allow `*` to match something when a package only has
+ prerelease versions to everything and not just the cache.
+ ([@iarna](http://github.com/iarna))
+* [`d135abf`](https://github.com/npm/npm/commit/d135abf)
+ [#8871](https://github.com/npm/npm/issues/8871)
+ Don't warn about a missing `package.json` or missing fields in the global
+ install directory.
+ ([@iarna](http://github.com/iarna))
+
+#### DEP VERSION BUMPS
+
+* [`990ee4f`](https://github.com/npm/npm/commit/990ee4f)
+ path-is-inside@1.0.1 ([@domenic](https://github.com/domenic))
+* [`1f71ec0`](https://github.com/npm/npm/commit/1f71ec0)
+ lodash.clonedeep@3.0.2 ([@jdalton](https://github.com/jdalton))
+* [`a091354`](https://github.com/npm/npm/commit/a091354)
+ marked@0.3.5 ([@chjj](https://github.com/chjj))
+* [`fc51f28`](https://github.com/npm/npm/commit/fc51f28)
+ tap@1.3.2 ([@isaacs](https://github.com/isaacs))
+* [`3569ec0`](https://github.com/npm/npm/commit/3569ec0)
+ nock@2.10.0 ([@pgte](https://github.com/pgte))
+* [`ad5f6fd`](https://github.com/npm/npm/commit/ad5f6fd)
+ npm-registry-mock@1.0.1 ([@isaacs](https://github.com/isaacs))
+
### v2.13.5 (2015-08-07):
This is another quiet week for the `npm@2` release.
@@ -505,6 +1060,51 @@ like _you_, which we think is swell. Thanks!
* [`4bbc86e`](https://github.com/npm/npm/commit/4bbc86e3825e2eee9a8758ba26bdea0cb6a2581e)
`nock@2.10.0` ([@pgte](https://github.com/pgte))
+### v3.2.1 (2015-07-31):
+
+#### AN EXTRA QUIET RELEASE
+
+A bunch of stuff got deferred for various reasons, which just means more
+branches to land next week!
+
+Don't forget to check out [Kat's 2.x release](https://github.com/npm/npm/releases/tag/v2.13.4) for other quiet goodies.
+
+#### AS ALWAYS STILL BETA
+
+**_THIS IS BETA SOFTWARE_**. Yes, we're still reminding you of this. No,
+you can't be excused. `npm@3` will remain in beta until we're confident
+that it's stable and have assessed the effect of the breaking changes on the
+community. During that time we will still be doing `npm@2` releases, with
+`npm@2` tagged as `latest` and `next`. We'll _also_ be publishing new
+releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest` alongside those
+versions until we're ready to switch everyone over to `npm@3`. We need your
+help to find and fix its remaining bugs. It's a significant rewrite, so we
+are _sure_ there still significant bugs remaining. So do us a solid and
+deploy it in non-critical CI environments and for day-to-day use, but maybe
+don't use it for production maintenance or frontline continuous deployment
+just yet.
+
+
+#### MAKING OUR TESTS TEST THE THING THEY TEST
+
+* [`6e53c3d`](https://github.com/npm/npm/commit/6e53c3d)
+ [#8985](https://github.com/npm/npm/pull/8985)
+ Many thanks to @bengl for noticing that one of our tests wasn't testing
+ what it claimed it was testing! ([@bengl](https://github.com/bengl))
+
+#### MY PACKAGE.JSON WAS ALREADY IN THE RIGHT ORDER
+
+* [`eb2c7aa`](https://github.com/npm/npm/commit/d00d0f)
+ [#9068](https://github.com/npm/npm/pull/9079)
+ Stop sorting keys in the `package.json` that we haven't edited. Many
+ thanks to [@Qix-](https://github.com/Qix-) for bringing this up and
+ providing a first pass at a patch for this.
+ ([@iarna](https://github.com/iarna))
+
+#### DEV DEP UPDATE
+
+* [`555f60c`](https://github.com/npm/npm/commit/555f60c) marked@0.3.4
+
### v2.13.4 (2015-07-30):
#### JULY ENDS ON A FAIRLY QUIET NOTE
@@ -536,6 +1136,103 @@ Hooray.
nock@2.9.1
([@pgte](https://github.com/pgte))
+### v3.2.0 (2015-07-24):
+
+#### MORE CONFIG, BETTER WINDOWS AND A BUG FIX
+
+This is a smallish release with a new config option and some bug fixes. And
+lots of module updates.
+
+#### BETA BETAS ON
+
+**_THIS IS BETA SOFTWARE_**. Yes, we're still reminding you of this. No,
+you can't be excused. `npm@3` will remain in beta until we're confident
+that it's stable and have assessed the effect of the breaking changes on the
+community. During that time we will still be doing `npm@2` releases, with
+`npm@2` tagged as `latest` and `next`. We'll _also_ be publishing new
+releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest` alongside those
+versions until we're ready to switch everyone over to `npm@3`. We need your
+help to find and fix its remaining bugs. It's a significant rewrite, so we
+are _sure_ there still significant bugs remaining. So do us a solid and
+deploy it in non-critical CI environments and for day-to-day use, but maybe
+don't use it for production maintenance or frontline continuous deployment
+just yet.
+
+
+#### NEW CONFIGS, LESS PROGRESS
+
+* [`423d8f7`](https://github.com/npm/npm/commit/423d8f7)
+ [#8704](https://github.com/npm/npm/issues/8704)
+ Add the ability to disable the new progress bar with `--no-progress`
+ ([@iarna](https://github.com/iarna))
+
+#### AND BUG FIXES
+
+* [`b3ee452`](https://github.com/npm/npm/commit/b3ee452)
+ [#9038](https://github.com/npm/npm/pull/9038)
+ We previously disabled the use of the new `fs.access` API on Windows, but
+ the bug we were seeing is fixed in io.js@1.5.0 so we now use `fs.access`
+ if you're using that version or greater.
+ ([@iarna](https://github.com/iarna))
+
+* [`b181fa3`](https://github.com/npm/npm/commit/b181fa3)
+ [#8921](https://github.com/npm/npm/issues/8921)
+ [#8637](https://github.com/npm/npm/issues/8637)
+ Rejigger how we validate modules for install. This allow is to fix
+ a problem where arch/os checking wasn't being done at all.
+ It also made it easy to add back in a check that declines to
+ install a module in itself unless you force it.
+ ([@iarna](https://github.com/iarna))
+
+#### AND A WHOLE BUNCH OF SUBDEP VERSIONS
+
+These are all development dependencies and semver-compatible subdep
+upgrades, so they should not have visible impact on users.
+
+* [`6b3f6d9`](https://github.com/npm/npm/commit/6b3f6d9) standard@4.3.3
+* [`f4e22e5`](https://github.com/npm/npm/commit/f4e22e5) readable-stream@2.0.2 (inside concat-stream)
+* [`f130bfc`](https://github.com/npm/npm/commit/f130bfc) minimatch@2.0.10 (inside node-gyp's copy of glob)
+* [`36c6a0d`](https://github.com/npm/npm/commit/36c6a0d) caseless@0.11.0
+* [`80df59c`](https://github.com/npm/npm/commit/80df59c) chalk@1.1.0
+* [`ea935d9`](https://github.com/npm/npm/commit/ea935d9) bluebird@2.9.34
+* [`3588a0c`](https://github.com/npm/npm/commit/3588a0c) extend@3.0.0
+* [`c6a8450`](https://github.com/npm/npm/commit/c6a8450) form-data@1.0.0-rc2
+* [`a04925b`](https://github.com/npm/npm/commit/a04925b) har-validator@1.8.0
+* [`ee7c095`](https://github.com/npm/npm/commit/ee7c095) has-ansi@2.0.0
+* [`944fc34`](https://github.com/npm/npm/commit/944fc34) hawk@3.1.0
+* [`783dc7b`](https://github.com/npm/npm/commit/783dc7b) lodash._basecallback@3.3.1
+* [`acef0fe`](https://github.com/npm/npm/commit/acef0fe) lodash._baseclone@3.3.0
+* [`dfe959a`](https://github.com/npm/npm/commit/dfe959a) lodash._basedifference@3.0.3
+* [`a03bc76`](https://github.com/npm/npm/commit/a03bc76) lodash._baseflatten@3.1.4
+* [`8a07d50`](https://github.com/npm/npm/commit/8a07d50) lodash._basetostring@3.0.1
+* [`7785e3f`](https://github.com/npm/npm/commit/7785e3f) lodash._baseuniq@3.0.3
+* [`826fb35`](https://github.com/npm/npm/commit/826fb35) lodash._createcache@3.1.2
+* [`76030b3`](https://github.com/npm/npm/commit/76030b3) lodash._createpadding@3.6.1
+* [`1a49ec6`](https://github.com/npm/npm/commit/1a49ec6) lodash._getnative@3.9.1
+* [`eebe47f`](https://github.com/npm/npm/commit/eebe47f) lodash.isarguments@3.0.4
+* [`09994d4`](https://github.com/npm/npm/commit/09994d4) lodash.isarray@3.0.4
+* [`b6f8dbf`](https://github.com/npm/npm/commit/b6f8dbf) lodash.keys@3.1.2
+* [`c67dd6b`](https://github.com/npm/npm/commit/c67dd6b) lodash.pad@3.1.1
+* [`4add042`](https://github.com/npm/npm/commit/4add042) lodash.repeat@3.0.1
+* [`e04993c`](https://github.com/npm/npm/commit/e04993c) lru-cache@2.6.5
+* [`2ed7da4`](https://github.com/npm/npm/commit/2ed7da4) mime-db@1.15.0
+* [`ae08244`](https://github.com/npm/npm/commit/ae08244) mime-types@2.1.3
+* [`e71410e`](https://github.com/npm/npm/commit/e71410e) os-homedir@1.0.1
+* [`67c13e0`](https://github.com/npm/npm/commit/67c13e0) process-nextick-args@1.0.2
+* [`12ee041`](https://github.com/npm/npm/commit/12ee041) qs@4.0.0
+* [`15564a6`](https://github.com/npm/npm/commit/15564a6) spdx-license-ids@1.0.2
+* [`8733bff`](https://github.com/npm/npm/commit/8733bff) supports-color@2.0.0
+* [`230943c`](https://github.com/npm/npm/commit/230943c) tunnel-agent@0.4.1
+* [`26a4653`](https://github.com/npm/npm/commit/26a4653) ansi-styles@2.1.0
+* [`3d27081`](https://github.com/npm/npm/commit/3d27081) bl@1.0.0
+* [`9efa110`](https://github.com/npm/npm/commit/9efa110) async@1.4.0
+
+#### MERGED FORWARD
+
+* As usual, we've ported all the npm@2 goodies in this week's
+ [v2.13.3](https://github.com/npm/npm/releases/tag/v2.13.3)
+ release.
+
### v2.13.3 (2015-07-23):
#### I'M SAVING THE GOOD JOKES FOR MORE INTERESTING RELEASES
@@ -635,6 +1332,79 @@ And some other version bumps for good measure.
Fixes this thing where Kat decided to save `nock` as a regular dependency ;)
([@othiym23](https://github.com/othiym23))
+### v3.1.3 (2015-07-17):
+
+Rebecca: So Kat, I hear this week's other release uses a dialog between us to
+explain what changed?
+
+Kat: Well, you could say that…
+
+Rebecca: I would! This week I fixed more npm@3 bugs!
+
+Kat: That sounds familiar.
+
+Rebecca: Eheheheh, well, before we look at those, a word from our sponsor…
+
+#### BETA IS AS BETA DOES
+
+**_THIS IS BETA SOFTWARE_**. Yes, we're still reminding you of this. No,
+you can't be excused. `npm@3` will remain in beta until we're confident
+that it's stable and have assessed the effect of the breaking changes on the
+community. During that time we will still be doing `npm@2` releases, with
+`npm@2` tagged as `latest` and `next`. We'll _also_ be publishing new
+releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest` alongside those
+versions until we're ready to switch everyone over to `npm@3`. We need your
+help to find and fix its remaining bugs. It's a significant rewrite, so we
+are _sure_ there still significant bugs remaining. So do us a solid and
+deploy it in non-critical CI environments and for day-to-day use, but maybe
+don't use it for production maintenance or frontline continuous deployment
+just yet.
+
+Rebecca: Ok, enough of the dialoguing, that's Kat's schtick. But do remember
+kids, betas hide in dark hallways waiting to break your stuff, stuff like…
+
+#### SO MANY LINKS YOU COULD MAKE A CHAIN
+
+* [`6d69ec9`](https://github.com/npm/npm/6d69ec9)
+ [#8967](https://github.com/npm/npm/issues/8967)
+ Removing a module linked into your globals would result in having
+ all of its subdeps removed. Since the npm release process does
+ exactly this, it burned me -every- -single- -week-. =D
+ While we're here, we also removed extraneous warns that used to
+ spill out when you'd remove a symlink.
+ ([@iarna](https://github.com/iarna))
+
+* [`fdb360f`](https://github.com/npm/npm/fdb360f)
+ [#8874](https://github.com/npm/npm/issues/8874)
+ Linking scoped modules was failing outright, but this fixes that
+ and updates our tests so we don't do it again.
+ ([@iarna](https://github.com/iarna))
+
+#### WE'LL TRY NOT TO CRACK YOUR WINDOWS
+
+* [`9fafb18`](https://github.com/npm/npm/9fafb18)
+ [#8701](https://github.com/npm/npm/issues/8701)
+ npm@3 introduced permissions checks that run before it actually tries to
+ do something. This saves you from having an install fail half way
+ through. We did this using the shiny new `fs.access` function available
+ in `node 0.12` and `io.js`, with fallback options for older nodes. Unfortunately
+ the way we implemented the fallback caused racey problems for Windows systems.
+ This fixes that by ensuring we only ever run any one check on a directory once.
+ BUT it turns out there are bugs in `fs.access` on Windows. So this ALSO just disables
+ the use of `fs.access` on Windows entirely until that settles out.
+ ([@iarna](https://github.com/iarna))
+
+#### ZOOM ZOOM, DEP UPDATES
+
+* [`5656baa`](https://github.com/npm/npm/5656baa)
+ `gauge@1.2.2`: Better handle terminal resizes while printing the progress bar
+ ([@iarna](https://github.com/iarna))
+
+#### MERGED FORWARD
+
+* Check out Kat's [super-fresh release notes for v2.13.2](https://github.com/npm/npm/releases/tag/v2.13.2)
+ and see all the changes we ported from npm@2.
+
### v2.13.2 (2015-07-16):
#### HOLD ON TO YOUR TENTACLES... IT'S NPM RELEASE TIME!
@@ -708,6 +1478,92 @@ Both: Stay Freeesh~
`node-gyp@2.0.2`: Fixes an issue with long paths on Win32
([@TooTallNate](https://github.com/TooTallNate))
+### v3.1.2
+
+#### SO VERY BETA RELEASE
+
+So, `v3.1.1` managed to actually break installing local modules. And then
+immediately after I drove to an island for the weekend. 😁 So let's get
+this fixed outside the usual release train!
+
+Fortunately it didn't break installing _global_ modules and so you could
+swap it out for another version at least.
+
+#### DISCLAIMER MEANS WHAT IT SAYS
+
+**_THIS IS BETA SOFTWARE_**. Yes, we're still reminding you of this. No,
+you can't be excused. `npm@3` will remain in beta until we're confident
+that it's stable and have assessed the effect of the breaking changes on the
+community. During that time we will still be doing `npm@2` releases, with
+`npm@2` tagged as `latest` and `next`. We'll _also_ be publishing new
+releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest` alongside those
+versions until we're ready to switch everyone over to `npm@3`. We need your
+help to find and fix its remaining bugs. It's a significant rewrite, so we
+are _sure_ there still significant bugs remaining. So do us a solid and
+deploy it in non-critical CI environments and for day-to-day use, but maybe
+don't use it for production maintenance or frontline continuous deployment
+just yet.
+
+#### THIS IS IT, THE REASON
+
+* [`f5e19df`](https://github.com/npm/npm/commit/f5e19df)
+ [#8893](https://github.com/npm/npm/issues/8893)
+ Fix crash when installing local modules introduced by the fix for
+ [#8608](https://github.com/npm/npm/issues/8608)
+ ([@iarna](https://github.com/iarna)
+
+### v3.1.1
+
+#### RED EYE RELEASE
+
+Rebecca's up too late writing tests, so you can have npm@3 bug fixes! Lots
+of great new issues from you all! ❤️️ Keep it up!
+
+#### YUP STILL BETA, PLEASE PAY ATTENTION
+
+**_THIS IS BETA SOFTWARE_**. Yes, we're still reminding you of this. No,
+you can't be excused. `npm@3` will remain in beta until we're confident
+that it's stable and have assessed the effect of the breaking changes on the
+community. During that time we will still be doing `npm@2` releases, with
+`npm@2` tagged as `latest` and `next`. We'll _also_ be publishing new
+releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest` alongside those
+versions until we're ready to switch everyone over to `npm@3`. We need your
+help to find and fix its remaining bugs. It's a significant rewrite, so we
+are _sure_ there still significant bugs remaining. So do us a solid and
+deploy it in non-critical CI environments and for day-to-day use, but maybe
+don't use it for production maintenance or frontline continuous deployment
+just yet.
+
+#### BOOGS
+
+* [`9badfd6`](https://github.com/npm/npm/commit/9babfd63f19f2d80b2d2624e0963b0bdb0d76ef4)
+ [#8608](https://github.com/npm/npm/issues/8608)
+ Make global installs and uninstalls MUCH faster by only reading the directories of
+ modules referred to by arguments.
+ ([@iarna](https://github.com/iarna)
+* [`075a5f0`](https://github.com/npm/npm/commit/075a5f046ab6837f489b08d44cb601e9fdb369b7)
+ [#8660](https://github.com/npm/npm/issues/8660)
+ Failed optional deps would still result in the optional deps own
+ dependencies being installed. We now find them and fail them out of the
+ tree.
+ ([@iarna](https://github.com/iarna)
+* [`c9fbbb5`](https://github.com/npm/npm/commit/c9fbbb540083396ea58fd179d81131d959d8e049)
+ [#8863](https://github.com/npm/npm/issues/8863)
+ The "no compatible version found" error message was including only the
+ version requested, not the name of the package we wanted. Ooops!
+ ([@iarna](https://github.com/iarna)
+* [`32e6bbd`](https://github.com/npm/npm/commit/32e6bbd21744dcbe8c0720ab53f60caa7f2a0588)
+ [#8806](https://github.com/npm/npm/issues/8806)
+ The "uninstall" lifecycle was being run after all of a module's dependencies has been
+ removed. This reverses that order-- this means "uninstall" lifecycles can make use
+ of the package's dependencies.
+ ([@iarna](https://github.com/iarna)
+
+#### MERGED FORWARD
+
+* Check out the [v2.13.1 release notes](https://github.com/npm/npm/releases/tag/v2.13.1)
+ and see all the changes we ported from npm@2.
+
### v2.13.1 (2015-07-09):
#### KAUAI WAS NICE. I MISS IT.
@@ -758,6 +1614,120 @@ updated at their own pace.
* [`b168e33`](https://github.com/npm/npm/commit/b168e33ad46faf47020a45f72ba8cec8c644bdb9)
undeduplicate `strip-ansi` ([@othiym23](https://github.com/othiym23))
+### v3.1.0 (2015-07-02):
+
+This has been a brief week of bug fixes, plus some fun stuff merged forward
+from this weeks 2.x release. See the
+[2.13.0 release notes](https://github.com/npm/npm/releases/tag/v2.13.0)
+for details on that.
+
+You all have been AWESOME with
+[all](https://github.com/npm/npm/milestones/3.x)
+[the](https://github.com/npm/npm/milestones/3.2.0)
+npm@3 bug reports! Thank you and keep up the great work!
+
+#### NEW PLACE, SAME CODE
+
+Remember how last week we said `npm@3` would go to `3.0-next` and latest
+tags? Yeaaah, no, please use `npm@v3.x-next` and `npm@v3.x-latest` going forward.
+
+I dunno why we said "suuure, we'll never do a feature release till we're out
+of beta" when we're still forward porting `npm@2.x` features. `¯\_(ツ)_/¯`
+
+If you do accidentally use the old tag names, I'll be maintaining them
+for a few releases, but they won't be around forever.
+
+#### YUP STILL BETA, PLEASE PAY ATTENTION
+
+**_THIS IS BETA SOFTWARE_**. `npm@3` will remain in beta until we're
+confident that it's stable and have assessed the effect of the breaking
+changes on the community. During that time we will still be doing `npm@2`
+releases, with `npm@2` tagged as `latest` and `next`. We'll _also_ be
+publishing new releases of `npm@3` as `npm@v3.x-next` and `npm@v3.x-latest`
+alongside those versions until we're ready to switch everyone over to
+`npm@3`. We need your help to find and fix its remaining bugs. It's a
+significant rewrite, so we are _sure_ there still significant bugs
+remaining. So do us a solid and deploy it in non-critical CI environments
+and for day-to-day use, but maybe don't use it for production maintenance
+or frontline continuous deployment just yet.
+
+#### BUGS ON THE WINDOWS
+
+ * [`0030ade`](https://github.com/npm/npm/commit/0030ade)
+ [#8685](https://github.com/npm/npm/issues/8685)
+ Windows would hang when trying to clone git repos
+ ([@euprogramador](https://github.com/npm/npm/pull/8777))
+ * [`b259bcc`](https://github.com/npm/npm/commit/b259bcc)
+ [#8786](https://github.com/npm/npm/pull/8786)
+ Windows permissions checks would cause installations to fail under some
+ circumstances. We're disabling the checks entirely for this release.
+ I'm hoping to check back with this next week to get a Windows friendly
+ fix in.
+ ([@iarna](https://github.com/iarna))
+
+#### SO MANY BUGS SQUASHED, JUST CALL US RAID
+
+ * [`0848698`](https://github.com/npm/npm/commit/0848698)
+ [#8686](https://github.com/npm/npm/pull/8686)
+ Stop leaving progress bar cruft on the screen during publication
+ ([@ajcrites](https://github.com/ajcrites))
+ * [`57c3cea`](https://github.com/npm/npm/commit/57c3cea)
+ [#8695](https://github.com/npm/npm/pull/8695)
+ Remote packages with shrinkwraps made npm cause node + iojs to explode
+ and catch fire. NO MORE.
+ ([@iarna](https://github.com/iarna))
+ * [`2875ba3`](https://github.com/npm/npm/commit/2875ba3)
+ [#8723](https://github.com/npm/npm/pull/8723)
+ I uh, told you that engineStrict checking had gone away last week.
+ TURNS OUT I LIED. So this is making that actually be true.
+ ([@iarna](https://github.com/iarna))
+ * [`28064e5`](https://github.com/npm/npm/commit/28064e5)
+ [#3358](https://github.com/npm/npm/issues/3358)
+ Consistently allow Unicode BOMs at the start of package.json files.
+ Previously this was allowed some of time, like when you were installing
+ modules, but not others, like running npm version or installing w/
+ `--save`.
+ ([@iarna](https://github.com/iarna))
+ * [`3cb6ad2`](https://github.com/npm/npm/commit/3cb6ad2)
+ [#8736](https://github.com/npm/npm/issues/8766)
+ npm@3 wasn't running the "install" lifecycle in your current (toplevel)
+ module. This broke modules that relied on C compilation. BOO.
+ ([@iarna](https://github.com/iarna))
+ * [`68da583`](https://github.com/npm/npm/commit/68da583)
+ [#8766](https://github.com/npm/npm/issues/8766)
+ To my great shame, `npm link package` wasn't working AT ALL if you
+ didn't have `package` already installed.
+ ([@iarna](https://github.com/iarna))
+ * [`edd7448`](https://github.com/npm/npm/commit/edd7448)
+ read-package-tree@5.0.0: This update makes read-package-tree not explode
+ when there's bad data in your node_modules folder. npm@2 silently
+ ignores this sort of thing.
+ ([@iarna](https://github.com/iarna))
+ * [`0bb08c8`](https://github.com/npm/npm/commit/0bb08c8)
+ [#8778](https://github.com/npm/npm/pull/8778)
+ RELATEDLY, we now show any errors from your node_modules folder after
+ your installation completes as warnings. We're also reporting these in
+ `npm ls` now.
+ ([@iarna](https://github.com/iarna))
+ * [`6c248ff`](https://github.com/npm/npm/commit/6c248ff)
+ [#8779](https://github.com/npm/npm/pull/8779)
+ Hey, you know how we used to complain if your `package.json` was
+ missing stuff? Well guess what, we are again. I know, I know, you can
+ thank me later.
+ ([@iarna](https://github.com/iarna))
+ * [`d6f7c98`](https://github.com/npm/npm/commit/d6f7c98)
+ So, when we were rolling back after errors we had untested code that
+ tried to undo moves. Being untested it turns out it was very broken.
+ I've removed it until we have time to do this right.
+ ([@iarna](https://github.com/iarna))
+
+#### NEW VERSION
+
+Just the one. Others came in via the 2.x release. Do check out its
+changelog, immediately following this message.
+
+ * [`4e602c5`](https://github.com/npm/npm/commit/4e602c5) lodash@3.2.2
+
### v2.13.0 (2015-07-02):
#### FORREST IS OUT! LET'S SNEAK IN ALL THE THINGS!
@@ -918,6 +1888,311 @@ with this fix.
* [`151904a`](https://github.com/npm/npm/commit/151904af39dc24567f8c98529a2a64a4dbcc960a)
`nopt@3.0.3` ([@isaacs](https://github.com/isaacs))
+### v3.0.0 (2015-06-25):
+
+Wow, it's finally here! This has been a long time coming. We are all
+delighted and proud to be getting this out into the world, and are looking
+forward to working with the npm user community to get it production-ready
+as quickly as possible.
+
+`npm@3` constitutes a nearly complete rewrite of npm's installer to be
+easier to maintain, and to bring a bunch of valuable new features and
+design improvements to you all.
+
+[@othiym23](https://github.com/othiym23) and
+[@isaacs](https://github.com/isaacs) have been
+[talking about the changes](http://blog.npmjs.org/post/91303926460/npm-cli-roadmap-a-periodic-update)
+in this release for well over a year, and it's been the primary focus of
+[@iarna](https://github.com/iarna) since she joined the team.
+
+Given that this is a near-total rewrite, all changes listed here are
+[@iarna](https://github.com/iarna)'s work unless otherwise specified.
+
+#### NO, REALLY, READ THIS PARAGRAPH. IT'S THE IMPORTANT ONE.
+
+**_THIS IS BETA SOFTWARE_**. `npm@3` will remain in beta until we're
+confident that it's stable and have assessed the effect of the breaking
+changes on the community. During that time we will still be doing `npm@2`
+releases, with `npm@2` tagged as `latest` and `next`. We'll _also_ be
+publishing new releases of `npm@3` as `npm@3.0-next` and `npm@3.0-latest`
+alongside those versions until we're ready to switch everyone over to
+`npm@3`. We need your help to find and fix its remaining bugs. It's a
+significant rewrite, so we are _sure_ there still significant bugs
+remaining. So do us a solid and deploy it in non-critical CI environments
+and for day-to-day use, but maybe don't use it for production maintenance
+or frontline continuous deployment just yet.
+
+#### BREAKING CHANGES
+
+##### `peerDependencies`
+
+`grunt`, `gulp`, and `broccoli` plugin maintainers take note! You will be
+affected by this change!
+
+* [#6930](https://github.com/npm/npm/issues/6930)
+ ([#6565](https://github.com/npm/npm/issues/6565))
+ `peerDependencies` no longer cause _anything_ to be implicitly installed.
+ Instead, npm will now warn if a packages `peerDependencies` are missing,
+ but it's up to the consumer of the module (i.e. you) to ensure the peers
+ get installed / are included in `package.json` as direct `dependencies`
+ or `devDependencies` of your package.
+* [#3803](https://github.com/npm/npm/issues/3803)
+ npm also no longer checks `peerDependencies` until after it has fully
+ resolved the tree.
+
+This shifts the responsibility for fulfilling peer dependencies from library
+/ framework / plugin maintainers to application authors, and is intended to
+get users out of the dependency hell caused by conflicting `peerDependency`
+constraints. npm's job is to keep you _out_ of dependency hell, not put you
+in it.
+
+##### `engineStrict`
+
+* [#6931](https://github.com/npm/npm/issues/6931) The rarely-used
+ `package.json` option `engineStrict` has been deprecated for several
+ months, producing warnings when it was used. Starting with `npm@3`, the
+ value of the field is ignored, and engine violations will only produce
+ warnings. If you, as a user, want strict `engines` field enforcement,
+ just run `npm config set engine-strict true`.
+
+As with the peer dependencies change, this is about shifting control from
+module authors to application authors. It turns out `engineStrict` was very
+difficult to understand even harder to use correctly, and more often than
+not just made modules using it difficult to deploy.
+
+##### `npm view`
+
+* [`77f1aec`](https://github.com/npm/npm/commit/77f1aec) With `npm view` (aka
+ `npm info`), always return arrays for versions, maintainers, etc. Previously
+ npm would return a plain value if there was only one, and multiple values if
+ there were more. ([@KenanY](https://github.com/KenanY))
+
+#### KNOWN BUGS
+
+Again, this is a _**BETA RELEASE**_, so not everything is working just yet.
+Here are the issues that we already know about. If you run into something
+that isn't on this list,
+[let us know](https://github.com/npm/npm/issues/new)!
+
+* [#8575](https://github.com/npm/npm/issues/8575)
+ Circular deps will never be removed by the prune-on-uninstall code.
+* [#8588](https://github.com/npm/npm/issues/8588)
+ Local deps where the dep name and the name in the package.json differ
+ don't result in an error.
+* [#8637](https://github.com/npm/npm/issues/8637)
+ Modules can install themselves as direct dependencies. npm@2 declined to
+ do this.
+* [#8660](https://github.com/npm/npm/issues/8660)
+ Dependencies of failed optional dependencies aren't rolled back when the
+ optional dependency is, and then are reported as extraneous thereafter.
+
+#### NEW FEATURES
+
+##### The multi-stage installer!
+
+* [#5919](https://github.com/npm/npm/issues/5919)
+ Previously the installer had a set of steps it executed for each package
+ and it would immediately start executing them as soon as it decided to
+ act on a package.
+
+ But now it executes each of those steps at the same time for all
+ packages, waiting for all of one stage to complete before moving on. This
+ eliminates many race conditions and makes the code easier to reason
+ about.
+
+This fixes, for instance:
+
+* [#6926](https://github.com/npm/npm/issues/6926)
+ ([#5001](https://github.com/npm/npm/issues/5001),
+ [#6170](https://github.com/npm/npm/issues/6170))
+ `install` and `postinstall` lifecycle scripts now only execute `after`
+ all the module with the script's dependencies are installed.
+
+##### Install: it looks different!
+
+You'll now get a tree much like the one produced by `npm ls` that
+highlights in orange the packages that were installed. Similarly, any
+removed packages will have their names prefixed by a `-`.
+
+Also, `npm outdated` used to include the name of the module in the
+`Location` field:
+
+```
+Package Current Wanted Latest Location
+deep-equal MISSING 1.0.0 1.0.0 deep-equal
+glob 4.5.3 4.5.3 5.0.10 rimraf > glob
+```
+
+Now it shows the module that required it as the final point in the
+`Location` field:
+
+```
+Package Current Wanted Latest Location
+deep-equal MISSING 1.0.0 1.0.0 npm
+glob 4.5.3 4.5.3 5.0.10 npm > rimraf
+```
+
+Previously the `Location` field was telling you where the module was on
+disk. Now it tells you what requires the module. When more than one thing
+requires the module you'll see it listed once for each thing requiring it.
+
+##### Install: it works different!
+
+* [#6928](https://github.com/npm/npm/issues/6928)
+ ([#2931](https://github.com/npm/npm/issues/2931)
+ [#2950](https://github.com/npm/npm/issues/2950))
+ `npm install` when you have an `npm-shrinkwrap.json` will ensure you have
+ the modules specified in it are installed in exactly the shape specified
+ no matter what you had when you started.
+* [#6913](https://github.com/npm/npm/issues/6913)
+ ([#1341](https://github.com/npm/npm/issues/1341)
+ [#3124](https://github.com/npm/npm/issues/3124)
+ [#4956](https://github.com/npm/npm/issues/4956)
+ [#6349](https://github.com/npm/npm/issues/6349)
+ [#5465](https://github.com/npm/npm/issues/5465))
+ `npm install` when some of your dependencies are missing sub-dependencies
+ will result in those sub-dependencies being installed. That is, `npm
+ install` now knows how to fix broken installs, most of the time.
+* [#5465](https://github.com/npm/npm/issues/5465)
+ If you directly `npm install` a module that's already a subdep of
+ something else and your new version is incompatible, it will now install
+ the previous version nested in the things that need it.
+* [`a2b50cf`](https://github.com/npm/npm/commit/a2b50cf)
+ [#5693](https://github.com/npm/npm/issues/5693)
+ When installing a new module, if it's mentioned in your
+ `npm-shrinkwrap.json` or your `package.json` use the version specifier
+ from there if you didn't specify one yourself.
+
+##### Flat, flat, flat!
+
+Your dependencies will now be installed *maximally flat*. Insofar as is
+possible, all of your dependencies, and their dependencies, and THEIR
+dependencies will be installed in your project's `node_modules` folder with no
+nesting. You'll only see modules nested underneath one another when two (or
+more) modules have conflicting dependencies.
+
+* [#3697](https://github.com/npm/npm/issues/3697)
+ This will hopefully eliminate most cases where windows users ended up
+ with paths that were too long for Explorer and other standard tools to
+ deal with.
+* [#6912](https://github.com/npm/npm/issues/6912)
+ ([#4761](https://github.com/npm/npm/issues/4761)
+ [#4037](https://github.com/npm/npm/issues/4037))
+ This also means that your installs will be deduped from the start.
+* [#5827](https://github.com/npm/npm/issues/5827)
+ This deduping even extends to git deps.
+* [#6936](https://github.com/npm/npm/issues/6936)
+ ([#5698](https://github.com/npm/npm/issues/5698))
+ Various commands are dedupe aware now.
+
+This has some implications for the behavior of other commands:
+
+* `npm uninstall` removes any dependencies of the module that you specified
+ that aren't required by any other module. Previously, it would only
+ remove those that happened to be installed under it, resulting in left
+ over cruft if you'd ever deduped.
+* `npm ls` now shows you your dependency tree organized around what
+ requires what, rather than where those modules are on disk.
+* [#6937](https://github.com/npm/npm/issues/6937)
+ `npm dedupe` now flattens the tree in addition to deduping.
+
+And bundling of dependencies when packing or publishing changes too:
+
+* [#2442](https://github.com/npm/npm/issues/2442)
+ bundledDependencies no longer requires that you specify deduped sub deps.
+ npm can now see that a dependency is required by something bundled and
+ automatically include it. To put that another way, bundledDependencies
+ should ONLY include things that you included in dependencies,
+ optionalDependencies or devDependencies.
+* [#5437](https://github.com/npm/npm/issues/5437)
+ When bundling a dependency that's both a `devDependency` and the child of
+ a regular `dependency`, npm bundles the child dependency.
+
+As a demonstration of our confidence in our own work, npm's own
+dependencies are now flattened, deduped, and bundled in the `npm@3` style.
+This means that `npm@3` can't be packed or published by `npm@2`, which is
+something to be aware of if you're hacking on npm.
+
+##### Shrinkwraps: they are a-changin'!
+
+First of all, they should be idempotent now
+([#5779](https://github.com/npm/npm/issues/5779)). No more differences
+because the first time you install (without `npm-shrinkwrap.json`) and the
+second time (with `npm-shrinkwrap.json`).
+
+* [#6781](https://github.com/npm/npm/issues/6781)
+ Second, if you save your changes to `package.json` and you have
+ `npm-shrinkwrap.json`, then it will be updated as well. This applies to
+ all of the commands that update your tree:
+ * `npm install --save`
+ * `npm update --save`
+ * `npm dedupe --save` ([#6410](https://github.com/npm/npm/issues/6410))
+ * `npm uninstall --save`
+* [#4944](https://github.com/npm/npm/issues/4944)
+ ([#5161](https://github.com/npm/npm/issues/5161)
+ [#5448](https://github.com/npm/npm/issues/5448))
+ Third, because `node_modules` folders are now deduped and flat,
+ shrinkwrap has to also be smart enough to handle this.
+
+And finally, enjoy this shrinkwrap bug fix:
+
+* [#3675](https://github.com/npm/npm/issues/3675)
+ When shrinkwrapping a dependency that's both a `devDependency` and the
+ child of a regular `dependency`, npm now correctly includes the child.
+
+##### The Age of Progress (Bars)!
+
+* [#6911](https://github.com/npm/npm/issues/6911)
+ ([#1257](https://github.com/npm/npm/issues/1257)
+ [#5340](https://github.com/npm/npm/issues/5340)
+ [#6420](https://github.com/npm/npm/issues/6420))
+ The spinner is gone (yay? boo? will you miss it?), and in its place npm
+ has _progress bars_, so you actually have some sense of how long installs
+ will take. It's provided in Unicode and non-Unicode variants, and Unicode
+ support is automatically detected from your environment.
+
+#### TINY JEWELS
+
+The bottom is where we usually hide the less interesting bits of each
+release, but each of these are small but incredibly useful bits of this
+release, and very much worth checking out:
+
+* [`9ebe312`](https://github.com/npm/npm/commit/9ebe312)
+ Build system maintainers, rejoice: npm does a better job of cleaning up
+ after itself in your temporary folder.
+* [#6942](https://github.com/npm/npm/issues/6942)
+ Check for permissions issues prior to actually trying to install
+ anything.
+* Emit warnings at the end of the installation when possible, so that
+ they'll be on your screen when npm stops.
+* [#3505](https://github.com/npm/npm/issues/3505)
+ `npm --dry-run`: You can now ask that npm only report what it _would have
+ done_ with the new `--dry-run` flag. This can be passed to any of the
+ commands that change your `node_modules` folder: `install`, `uninstall`,
+ `update` and `dedupe`.
+* [`81b46fb`](https://github.com/npm/npm/commit/81b46fb)
+ npm now knows the correct URLs for `npm bugs` and `npm repo` for
+ repositories hosted on Bitbucket and GitLab, just like it does for GitHub
+ (and GitHub support now extends to projects hosted as gists as well as
+ traditional repositories).
+* [`5be4008a`](https://github.com/npm/npm/commit/5be4008a09730cfa3891d9f145e4ec7f2accd144)
+ npm has been cleaned up to pass the [`standard`](http://npm.im/standard)
+ style checker. Forrest and Rebecca both feel this makes it easier to read
+ and understand the code, and should also make it easier for new
+ contributors to put merge-ready patches.
+ ([@othiym23](https://github.com/othiym23))
+
+#### ZARRO BOOGS
+
+* [`6401643`](https://github.com/npm/npm/commit/6401643)
+ Make sure the global install directory exists before installing to it.
+ ([@thefourtheye](https://github.com/thefourtheye))
+* [#6158](https://github.com/npm/npm/issues/6158)
+ When we remove modules we do so inside-out running unbuild for each one.
+* [`960a765`](https://github.com/npm/npm/commit/960a765)
+ The short usage information for each subcommand has been brought in sync
+ with the documentation. ([@smikes](https://github.com/smikes))
+
### v2.12.0 (2015-06-18):
#### REMEMBER WHEN I SAID THAT THING ABOUT PERMISSIONS?
diff --git a/deps/npm/LICENSE b/deps/npm/LICENSE
index b6e3548d19..ab28d1e223 100644
--- a/deps/npm/LICENSE
+++ b/deps/npm/LICENSE
@@ -251,11 +251,11 @@ details.
Any data published to The npm Registry (including user account information) may
be removed or modified at the sole discretion of the npm server administrators.
-"npm Logo" created by Mathias Pettersson and Brian Hammond,
-used with permission.
+"npm Logo" contributed by Mathias Pettersson and Brian Hammond,
+use is subject to https://www.npmjs.com/policies/trademark
"Gubblebum Blocky" font
-Copyright (c) by Tjarda Koster, http://jelloween.deviantart.com
+Copyright (c) by Tjarda Koster, https://jelloween.deviantart.com
included for use in the npm website and documentation,
used with permission.
diff --git a/deps/npm/Makefile b/deps/npm/Makefile
index 34e40624b5..abdac9ceb7 100644
--- a/deps/npm/Makefile
+++ b/deps/npm/Makefile
@@ -16,10 +16,6 @@ cli_mandocs = $(shell find doc/cli -name '*.md' \
|sed 's|doc/cli/|man/man1/|g' ) \
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' ) \
@@ -36,10 +32,6 @@ cli_htmldocs = $(shell find doc/cli -name '*.md' \
|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/doc/api/|g' )
-
files_htmldocs = $(shell find doc/files -name '*.md' \
|sed 's|.md|.html|g' \
|sed 's|doc/files/|html/doc/files/|g' ) \
@@ -51,9 +43,9 @@ misc_htmldocs = $(shell find doc/misc -name '*.md' \
|sed 's|doc/misc/|html/doc/misc/|g' ) \
html/doc/index.html
-mandocs = $(api_mandocs) $(cli_mandocs) $(files_mandocs) $(misc_mandocs)
+mandocs = $(cli_mandocs) $(files_mandocs) $(misc_mandocs)
-htmldocs = $(api_htmldocs) $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs)
+htmldocs = $(cli_htmldocs) $(files_htmldocs) $(misc_htmldocs)
all: doc
@@ -93,7 +85,6 @@ doc-clean:
.building_marked \
.building_marked-man \
html/doc \
- html/api \
man
# use `npm install marked-man` for this to work.
@@ -105,10 +96,6 @@ man/man1/%.1: doc/cli/%.md scripts/doc-build.sh package.json
@[ -d man/man1 ] || mkdir -p man/man1
scripts/doc-build.sh $< $@
-man/man3/%.3: doc/api/%.md scripts/doc-build.sh package.json
- @[ -d man/man3 ] || mkdir -p man/man3
- scripts/doc-build.sh $< $@
-
man/man5/npm-json.5: man/man5/package.json.5
cp $< $@
@@ -138,12 +125,9 @@ 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 $< $@
@@ -168,7 +152,7 @@ node_modules/.bin/marked-man:
doc: man
-man: $(cli_docs) $(api_docs)
+man: $(cli_docs)
test: doc
node cli.js test
diff --git a/deps/npm/bin/node-gyp-bin/node-gyp.cmd b/deps/npm/bin/node-gyp-bin/node-gyp.cmd
index 83ea8f5924..bb0a7f7106 100755
--- a/deps/npm/bin/node-gyp-bin/node-gyp.cmd
+++ b/deps/npm/bin/node-gyp-bin/node-gyp.cmd
@@ -1,5 +1,5 @@
-if not defined npm_config_node_gyp (
- node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %*
-) else (
+if not defined npm_config_node_gyp (
+ node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %*
+) else (
node %npm_config_node_gyp% %*
-)
+)
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js
index ace40ca791..60d00bf29a 100755
--- a/deps/npm/bin/npm-cli.js
+++ b/deps/npm/bin/npm-cli.js
@@ -1,75 +1,77 @@
#!/usr/bin/env node
;(function () { // wrapper in case we're in module_context mode
-// windows: running "npm blah" in this folder will invoke WSH, not node.
-if (typeof WScript !== "undefined") {
- WScript.echo("npm does not work when run\n"
- +"with the Windows Scripting Host\n\n"
- +"'cd' to a different directory,\n"
- +"or type 'npm.cmd <args>',\n"
- +"or type 'node npm <args>'.")
- WScript.quit(1)
- return
-}
-
-
-process.title = "npm"
-
-var log = require("npmlog")
-log.pause() // will be unpaused when config is loaded.
-log.info("it worked if it ends with", "ok")
-
-var path = require("path")
- , npm = require("../lib/npm.js")
- , npmconf = require("../lib/config/core.js")
- , errorHandler = require("../lib/utils/error-handler.js")
-
- , configDefs = npmconf.defs
- , shorthands = configDefs.shorthands
- , types = configDefs.types
- , nopt = require("nopt")
-
-// if npm is called as "npmg" or "npm_g", then
-// run in global mode.
-if (path.basename(process.argv[1]).slice(-1) === "g") {
- process.argv.splice(1, 1, "npm", "-g")
-}
-
-log.verbose("cli", process.argv)
-
-var conf = nopt(types, shorthands)
-npm.argv = conf.argv.remain
-if (npm.deref(npm.argv[0])) npm.command = npm.argv.shift()
-else conf.usage = true
-
-
-if (conf.version) {
- console.log(npm.version)
- return
-}
-
-if (conf.versions) {
- npm.command = "version"
- conf.usage = false
- npm.argv = []
-}
-
-log.info("using", "npm@%s", npm.version)
-log.info("using", "node@%s", process.version)
-
-process.on("uncaughtException", errorHandler)
-
-if (conf.usage && npm.command !== "help") {
- npm.argv.unshift(npm.command)
- npm.command = "help"
-}
-
-// now actually fire up npm and run the command.
-// this is how to use npm programmatically:
-conf._exit = true
-npm.load(conf, function (er) {
- if (er) return errorHandler(er)
- npm.commands[npm.command](npm.argv, errorHandler)
-})
+ // windows: running "npm blah" in this folder will invoke WSH, not node.
+ /*global WScript*/
+ if (typeof WScript !== 'undefined') {
+ WScript.echo(
+ 'npm does not work when run\n' +
+ 'with the Windows Scripting Host\n\n' +
+ "'cd' to a different directory,\n" +
+ "or type 'npm.cmd <args>',\n" +
+ "or type 'node npm <args>'."
+ )
+ WScript.quit(1)
+ return
+ }
+
+ process.title = 'npm'
+
+ var log = require('npmlog')
+ log.pause() // will be unpaused when config is loaded.
+
+ log.info('it worked if it ends with', 'ok')
+
+ var path = require('path')
+ var npm = require('../lib/npm.js')
+ var npmconf = require('../lib/config/core.js')
+ var errorHandler = require('../lib/utils/error-handler.js')
+
+ var configDefs = npmconf.defs
+ var shorthands = configDefs.shorthands
+ var types = configDefs.types
+ var nopt = require('nopt')
+
+ // if npm is called as "npmg" or "npm_g", then
+ // run in global mode.
+ if (path.basename(process.argv[1]).slice(-1) === 'g') {
+ process.argv.splice(1, 1, 'npm', '-g')
+ }
+
+ log.verbose('cli', process.argv)
+
+ var conf = nopt(types, shorthands)
+ npm.argv = conf.argv.remain
+ if (npm.deref(npm.argv[0])) npm.command = npm.argv.shift()
+ else conf.usage = true
+
+ if (conf.version) {
+ console.log(npm.version)
+ return
+ }
+
+ if (conf.versions) {
+ npm.command = 'version'
+ conf.usage = false
+ npm.argv = []
+ }
+
+ log.info('using', 'npm@%s', npm.version)
+ log.info('using', 'node@%s', process.version)
+
+ process.on('uncaughtException', errorHandler)
+
+ if (conf.usage && npm.command !== 'help') {
+ npm.argv.unshift(npm.command)
+ npm.command = 'help'
+ }
+
+ // now actually fire up npm and run the command.
+ // this is how to use npm programmatically:
+ conf._exit = true
+ npm.load(conf, function (er) {
+ if (er) return errorHandler(er)
+ npm.commands[npm.command](npm.argv, errorHandler)
+ })
})()
diff --git a/deps/npm/bin/read-package-json.js b/deps/npm/bin/read-package-json.js
index 3e5a0c77f2..7e62a0bd7d 100755
--- a/deps/npm/bin/read-package-json.js
+++ b/deps/npm/bin/read-package-json.js
@@ -1,22 +1,24 @@
var argv = process.argv
if (argv.length < 3) {
- console.error("Usage: read-package.json <file> [<fields> ...]")
+ console.error('Usage: read-package.json <file> [<fields> ...]')
process.exit(1)
}
-var fs = require("fs")
- , file = argv[2]
- , readJson = require("read-package-json")
+var file = argv[2]
+var readJson = require('read-package-json')
readJson(file, function (er, data) {
if (er) throw er
- if (argv.length === 3) console.log(data)
- else argv.slice(3).forEach(function (field) {
- field = field.split(".")
- var val = data
- field.forEach(function (f) {
- val = val[f]
+ if (argv.length === 3) {
+ console.log(data)
+ } else {
+ argv.slice(3).forEach(function (field) {
+ field = field.split('.')
+ var val = data
+ field.forEach(function (f) {
+ val = val[f]
+ })
+ console.log(val)
})
- console.log(val)
- })
+ }
})
diff --git a/deps/npm/cli.js b/deps/npm/cli.js
index 0df931e35a..05c5e21fb1 100755
--- a/deps/npm/cli.js
+++ b/deps/npm/cli.js
@@ -1,2 +1,2 @@
#!/usr/bin/env node
-require("./bin/npm-cli.js")
+require('./bin/npm-cli.js')
diff --git a/deps/npm/doc/api/npm-bin.md b/deps/npm/doc/api/npm-bin.md
deleted file mode 100644
index bd27af2fdc..0000000000
--- a/deps/npm/doc/api/npm-bin.md
+++ /dev/null
@@ -1,13 +0,0 @@
-npm-bin(3) -- Display npm bin folder
-====================================
-
-## SYNOPSIS
-
- npm.commands.bin(args, cb)
-
-## DESCRIPTION
-
-Print the folder where npm will install executables.
-
-This function should not be used programmatically. Instead, just refer
-to the `npm.bin` property.
diff --git a/deps/npm/doc/api/npm-bugs.md b/deps/npm/doc/api/npm-bugs.md
deleted file mode 100644
index cc4db8f9ec..0000000000
--- a/deps/npm/doc/api/npm-bugs.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-bugs(3) -- Bugs for a package in a web browser maybe
-========================================================
-
-## SYNOPSIS
-
- npm.commands.bugs(package, callback)
-
-## 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.
-
-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.
-
-This command will launch a browser, so this command may not be the most
-friendly for programmatic use.
diff --git a/deps/npm/doc/api/npm-cache.md b/deps/npm/doc/api/npm-cache.md
deleted file mode 100644
index e7079d8c1e..0000000000
--- a/deps/npm/doc/api/npm-cache.md
+++ /dev/null
@@ -1,30 +0,0 @@
-npm-cache(3) -- manage the npm cache programmatically
-=====================================================
-
-## SYNOPSIS
-
- npm.commands.cache([args], callback)
-
- // helpers
- npm.commands.cache.clean([args], callback)
- npm.commands.cache.add([args], callback)
- npm.commands.cache.read(name, version, forceBypass, callback)
-
-## DESCRIPTION
-
-This acts much the same ways as the npm-cache(1) command line
-functionality.
-
-The callback is called with the package.json data of the thing that is
-eventually added to or read from the cache.
-
-The top level `npm.commands.cache(...)` functionality is a public
-interface, and like all commands on the `npm.commands` object, it will
-match the command line behavior exactly.
-
-However, the cache folder structure and the cache helper functions are
-considered **internal** API surface, and as such, may change in future
-releases of npm, potentially without warning or significant version
-incrementation.
-
-Use at your own risk.
diff --git a/deps/npm/doc/api/npm-commands.md b/deps/npm/doc/api/npm-commands.md
deleted file mode 100644
index 36dcfd8d6b..0000000000
--- a/deps/npm/doc/api/npm-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(7)
diff --git a/deps/npm/doc/api/npm-config.md b/deps/npm/doc/api/npm-config.md
deleted file mode 100644
index 7ae2274281..0000000000
--- a/deps/npm/doc/api/npm-config.md
+++ /dev/null
@@ -1,45 +0,0 @@
-npm-config(3) -- Manage the npm configuration files
-===================================================
-
-## SYNOPSIS
-
- npm.commands.config(args, callback)
- var val = npm.config.get(key)
- npm.config.set(key, val)
-
-## 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:
-
-* `set`
-
- Sets a config parameter. The second element in `args` is interpreted as the
- key, and the third element is interpreted as the value.
-
-* `get`
-
- Gets the value of a config parameter. The second element in `args` is the
- key to get the value of.
-
-* `delete` (`rm` or `del`)
-
- Deletes a parameter from the config. The second element in `args` is the
- key to delete.
-
-* `list` (`ls`)
-
- Show all configs that aren't secret. No parameters necessary.
-
-* `edit`:
-
- Opens the config file in the default editor. This command isn't very useful
- programmatically, but it is made available.
-
-To programmatically access npm configuration settings, or set them for
-the duration of a program, use the `npm.config.set` and `npm.config.get`
-functions instead.
-
-## SEE ALSO
-
-* npm(3)
diff --git a/deps/npm/doc/api/npm-deprecate.md b/deps/npm/doc/api/npm-deprecate.md
deleted file mode 100644
index 200fb9c30a..0000000000
--- a/deps/npm/doc/api/npm-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(7)
diff --git a/deps/npm/doc/api/npm-docs.md b/deps/npm/doc/api/npm-docs.md
deleted file mode 100644
index 2c5fc5e632..0000000000
--- a/deps/npm/doc/api/npm-docs.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-docs(3) -- Docs for a package in a web browser maybe
-========================================================
-
-## SYNOPSIS
-
- npm.commands.docs(package, callback)
-
-## 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.
-
-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.
-
-This command will launch a browser, so this command may not be the most
-friendly for programmatic use.
diff --git a/deps/npm/doc/api/npm-edit.md b/deps/npm/doc/api/npm-edit.md
deleted file mode 100644
index b13fbb8578..0000000000
--- a/deps/npm/doc/api/npm-edit.md
+++ /dev/null
@@ -1,24 +0,0 @@
-npm-edit(3) -- Edit an installed package
-========================================
-
-## SYNOPSIS
-
- npm.commands.edit(package, callback)
-
-## DESCRIPTION
-
-Opens the package folder in the default editor (or whatever you've
-configured as the npm `editor` config -- see `npm help config`.)
-
-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.commands.edit(["connect"], callback)`
-to make a few changes to your locally installed copy.
-
-The first parameter is a string array with a single element, the package
-to open. The package can optionally have a version number attached.
-
-Since this command opens an editor in a new process, be careful about where
-and how this is used.
diff --git a/deps/npm/doc/api/npm-explore.md b/deps/npm/doc/api/npm-explore.md
deleted file mode 100644
index a239f3df31..0000000000
--- a/deps/npm/doc/api/npm-explore.md
+++ /dev/null
@@ -1,18 +0,0 @@
-npm-explore(3) -- Browse an installed package
-=============================================
-
-## SYNOPSIS
-
- npm.commands.explore(args, callback)
-
-## 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.
-
-Note that the package is *not* automatically rebuilt afterwards, so be
-sure to use `npm rebuild <pkg>` if you make any changes.
-
-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/doc/api/npm-help-search.md b/deps/npm/doc/api/npm-help-search.md
deleted file mode 100644
index 01b235ce72..0000000000
--- a/deps/npm/doc/api/npm-help-search.md
+++ /dev/null
@@ -1,30 +0,0 @@
-npm-help-search(3) -- Search the help pages
-===========================================
-
-## SYNOPSIS
-
- npm.commands.helpSearch(args, [silent,] callback)
-
-## DESCRIPTION
-
-This command is rarely useful, but it exists in the rare case that it is.
-
-This command takes an array of search terms and returns the help pages that
-match in order of best match.
-
-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:
-
-* hits:
- A map of args to number of hits on that arg. For example, {"npm": 3}
-* found:
- Total number of unique args that matched.
-* totalHits:
- Total number of hits.
-* lines:
- An array of all matching lines (and some adjacent lines).
-* file:
- Name of the file that matched
-
-The silent parameter is not necessary not used, but it may in the future.
diff --git a/deps/npm/doc/api/npm-init.md b/deps/npm/doc/api/npm-init.md
deleted file mode 100644
index 9b75bf7911..0000000000
--- a/deps/npm/doc/api/npm-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
-
-package.json(5)
diff --git a/deps/npm/doc/api/npm-install.md b/deps/npm/doc/api/npm-install.md
deleted file mode 100644
index 12f665a76c..0000000000
--- a/deps/npm/doc/api/npm-install.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-install(3) -- install a package programmatically
-====================================================
-
-## SYNOPSIS
-
- npm.commands.install([where,] packages, callback)
-
-## DESCRIPTION
-
-This acts much the same ways as installing on the command-line.
-
-The 'where' parameter is optional and only used internally, and it specifies
-where the packages should be installed to.
-
-The 'packages' parameter is an array of strings. Each element in the array is
-the name of a package to be installed.
-
-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/doc/api/npm-link.md b/deps/npm/doc/api/npm-link.md
deleted file mode 100644
index fe875ec60f..0000000000
--- a/deps/npm/doc/api/npm-link.md
+++ /dev/null
@@ -1,33 +0,0 @@
-npm-link(3) -- Symlink a package folder
-=======================================
-
-## SYNOPSIS
-
- npm.commands.link(callback)
- npm.commands.link(packages, callback)
-
-## DESCRIPTION
-
-Package linking is a two-step process.
-
-Without parameters, link will create a globally-installed
-symbolic link from `prefix/package-name` to the current folder.
-
-With a parameters, link will create a symlink from the local `node_modules`
-folder to the global symlink.
-
-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:
-
- npm.commands.link(cb) # creates global link from the cwd
- # (say redis package)
- npm.commands.link('redis', cb) # link-install the package
-
-Now, any changes to the redis package will be reflected in
-the package in the current working directory
diff --git a/deps/npm/doc/api/npm-load.md b/deps/npm/doc/api/npm-load.md
deleted file mode 100644
index de412aff5b..0000000000
--- a/deps/npm/doc/api/npm-load.md
+++ /dev/null
@@ -1,26 +0,0 @@
-npm-load(3) -- Load config settings
-===================================
-
-## SYNOPSIS
-
- npm.load(conf, cb)
-
-## DESCRIPTION
-
-npm.load() must be called before any other function call. Both parameters are
-optional, but the second is recommended.
-
-The first parameter is an object containing command-line config params, and the
-second parameter is a callback that will be called when npm is loaded and ready
-to serve.
-
-The first parameter should follow a similar structure as the package.json
-config object.
-
-For example, to emulate the --dev flag, pass an object that looks like this:
-
- {
- "dev": true
- }
-
-For a list of all the available command-line configs, see `npm help config`
diff --git a/deps/npm/doc/api/npm-ls.md b/deps/npm/doc/api/npm-ls.md
deleted file mode 100644
index 5de78f2104..0000000000
--- a/deps/npm/doc/api/npm-ls.md
+++ /dev/null
@@ -1,56 +0,0 @@
-npm-ls(3) -- List installed packages
-======================================
-
-## SYNOPSIS
-
- npm.commands.ls(args, [silent,] callback)
-
-## 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.
-
-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 `global` to list global packages.
-
-It will print out extraneous, missing, and invalid packages.
-
-If the silent parameter is set to true, nothing will be output to the screen,
-but the data will still be returned.
-
-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.
-
-## CONFIGURATION
-
-### 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.
-
-Note, if parseable is set or long isn't set, then duplicates will be trimmed.
-This means that if a submodule has the same dependency as a parent module, then the
-dependency will only be output once.
diff --git a/deps/npm/doc/api/npm-outdated.md b/deps/npm/doc/api/npm-outdated.md
deleted file mode 100644
index 89f4cf6faa..0000000000
--- a/deps/npm/doc/api/npm-outdated.md
+++ /dev/null
@@ -1,13 +0,0 @@
-npm-outdated(3) -- Check for outdated packages
-==============================================
-
-## SYNOPSIS
-
- npm.commands.outdated([packages,] callback)
-
-## DESCRIPTION
-
-This command will check the registry to see if the specified packages are
-currently outdated.
-
-If the 'packages' parameter is left out, npm will check all packages.
diff --git a/deps/npm/doc/api/npm-owner.md b/deps/npm/doc/api/npm-owner.md
deleted file mode 100644
index 71fcccff59..0000000000
--- a/deps/npm/doc/api/npm-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(7)
diff --git a/deps/npm/doc/api/npm-pack.md b/deps/npm/doc/api/npm-pack.md
deleted file mode 100644
index cb339c0c42..0000000000
--- a/deps/npm/doc/api/npm-pack.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-pack(3) -- Create a tarball from a package
-==============================================
-
-## SYNOPSIS
-
- npm.commands.pack([packages,] callback)
-
-## 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.
diff --git a/deps/npm/doc/api/npm-ping.md b/deps/npm/doc/api/npm-ping.md
deleted file mode 100644
index 4357fe2ba9..0000000000
--- a/deps/npm/doc/api/npm-ping.md
+++ /dev/null
@@ -1,14 +0,0 @@
-npm-ping(3) -- Ping npm registry
-================================
-
-## SYNOPSIS
-
- npm.registry.ping(registry, options, function (er, pong))
-
-## DESCRIPTION
-
-Attempts to connect to the given registry, returning a `pong`
-object with various metadata if it succeeds.
-
-This function is primarily useful for debugging connection issues
-to npm registries.
diff --git a/deps/npm/doc/api/npm-prefix.md b/deps/npm/doc/api/npm-prefix.md
deleted file mode 100644
index 806dd4b6cb..0000000000
--- a/deps/npm/doc/api/npm-prefix.md
+++ /dev/null
@@ -1,15 +0,0 @@
-npm-prefix(3) -- Display prefix
-===============================
-
-## SYNOPSIS
-
- npm.commands.prefix(args, callback)
-
-## DESCRIPTION
-
-Print the prefix to standard out.
-
-'args' is never used and callback is never called with data.
-'args' must be present or things will break.
-
-This function is not useful programmatically
diff --git a/deps/npm/doc/api/npm-prune.md b/deps/npm/doc/api/npm-prune.md
deleted file mode 100644
index 2a4f177485..0000000000
--- a/deps/npm/doc/api/npm-prune.md
+++ /dev/null
@@ -1,17 +0,0 @@
-npm-prune(3) -- Remove extraneous packages
-==========================================
-
-## SYNOPSIS
-
- npm.commands.prune([packages,] callback)
-
-## DESCRIPTION
-
-This command removes "extraneous" packages.
-
-The first parameter is optional, and it specifies packages to be removed.
-
-No packages are specified, then all packages will be checked.
-
-Extraneous packages are packages that are not listed on the parent
-package's dependencies list.
diff --git a/deps/npm/doc/api/npm-publish.md b/deps/npm/doc/api/npm-publish.md
deleted file mode 100644
index 6871dafb85..0000000000
--- a/deps/npm/doc/api/npm-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(7)
-* npm-adduser(1)
-* npm-owner(3)
diff --git a/deps/npm/doc/api/npm-rebuild.md b/deps/npm/doc/api/npm-rebuild.md
deleted file mode 100644
index 8b8989806a..0000000000
--- a/deps/npm/doc/api/npm-rebuild.md
+++ /dev/null
@@ -1,16 +0,0 @@
-npm-rebuild(3) -- Rebuild a package
-===================================
-
-## SYNOPSIS
-
- npm.commands.rebuild([packages,] callback)
-
-## DESCRIPTION
-
-This command runs the `npm build` 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.
-
-## CONFIGURATION
-
-See `npm help build`
diff --git a/deps/npm/doc/api/npm-repo.md b/deps/npm/doc/api/npm-repo.md
deleted file mode 100644
index af3c52fab6..0000000000
--- a/deps/npm/doc/api/npm-repo.md
+++ /dev/null
@@ -1,19 +0,0 @@
-npm-repo(3) -- Open package repository page in the browser
-========================================================
-
-## SYNOPSIS
-
- npm.commands.repo(package, callback)
-
-## DESCRIPTION
-
-This command tries to guess at the likely location of a package's
-repository URL, and then tries to open it using the `--browser`
-config param.
-
-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.
-
-This command will launch a browser, so this command may not be the most
-friendly for programmatic use.
diff --git a/deps/npm/doc/api/npm-restart.md b/deps/npm/doc/api/npm-restart.md
deleted file mode 100644
index 606c41bf85..0000000000
--- a/deps/npm/doc/api/npm-restart.md
+++ /dev/null
@@ -1,41 +0,0 @@
-npm-restart(3) -- Restart a package
-===================================
-
-## SYNOPSIS
-
- npm.commands.restart(packages, callback)
-
-## DESCRIPTION
-
-This restarts a package (or multiple packages).
-
-This runs a package's "stop", "restart", and "start" scripts, and associated
-pre- and post- scripts, in the order given below:
-
-1. prerestart
-2. prestop
-3. stop
-4. poststop
-5. restart
-6. prestart
-7. start
-8. poststart
-9. postrestart
-
-If no version is specified, then it restarts the "active" version.
-
-npm can restart multiple packages. Just specify multiple packages in
-the `packages` parameter.
-
-## NOTE
-
-Note that the "restart" script is run **in addition to** the "stop"
-and "start" scripts, not instead of them.
-
-This is the behavior as of `npm` major version 2. A change in this
-behavior will be accompanied by an increase in major version number
-
-## SEE ALSO
-
-* npm-start(3)
-* npm-stop(3)
diff --git a/deps/npm/doc/api/npm-root.md b/deps/npm/doc/api/npm-root.md
deleted file mode 100644
index 1c3ab56402..0000000000
--- a/deps/npm/doc/api/npm-root.md
+++ /dev/null
@@ -1,15 +0,0 @@
-npm-root(3) -- Display npm root
-===============================
-
-## SYNOPSIS
-
- npm.commands.root(args, callback)
-
-## DESCRIPTION
-
-Print the effective `node_modules` folder to standard out.
-
-'args' is never used and callback is never called with data.
-'args' must be present or things will break.
-
-This function is not useful programmatically.
diff --git a/deps/npm/doc/api/npm-run-script.md b/deps/npm/doc/api/npm-run-script.md
deleted file mode 100644
index 91ad95351b..0000000000
--- a/deps/npm/doc/api/npm-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(7)
-* npm-test(3)
-* npm-start(3)
-* npm-restart(3)
-* npm-stop(3)
diff --git a/deps/npm/doc/api/npm-search.md b/deps/npm/doc/api/npm-search.md
deleted file mode 100644
index 30651d76a4..0000000000
--- a/deps/npm/doc/api/npm-search.md
+++ /dev/null
@@ -1,35 +0,0 @@
-npm-search(3) -- Search for packages
-====================================
-
-## SYNOPSIS
-
- npm.commands.search(searchTerms, [silent,] [staleness,] callback)
-
-## DESCRIPTION
-
-Search the registry for packages matching the search terms. The available parameters are:
-
-* searchTerms:
- Array of search terms. These terms are case-insensitive.
-* silent:
- If true, npm will not log anything to the console.
-* staleness:
- This is the threshold for stale packages. "Fresh" packages are not refreshed
- from the registry. This value is measured in seconds.
-* 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:
-
- * name
- * description
- * maintainers
- * url
- * keywords
-
-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/doc/api/npm-shrinkwrap.md b/deps/npm/doc/api/npm-shrinkwrap.md
deleted file mode 100644
index 6584d6a0da..0000000000
--- a/deps/npm/doc/api/npm-shrinkwrap.md
+++ /dev/null
@@ -1,20 +0,0 @@
-npm-shrinkwrap(3) -- programmatically generate package shrinkwrap file
-====================================================
-
-## SYNOPSIS
-
- npm.commands.shrinkwrap(args, [silent,] callback)
-
-## DESCRIPTION
-
-This acts much the same ways as shrinkwrapping on the command-line.
-
-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.
-
-If the 'silent' parameter is set to true, nothing will be output to the screen,
-but the shrinkwrap file will still be written.
-
-Finally, 'callback' is a function that will be called when the shrinkwrap has
-been saved.
diff --git a/deps/npm/doc/api/npm-start.md b/deps/npm/doc/api/npm-start.md
deleted file mode 100644
index deeea90d97..0000000000
--- a/deps/npm/doc/api/npm-start.md
+++ /dev/null
@@ -1,13 +0,0 @@
-npm-start(3) -- Start a package
-===============================
-
-## SYNOPSIS
-
- npm.commands.start(packages, callback)
-
-## DESCRIPTION
-
-This runs a package's "start" script, if one was provided.
-
-npm can start multiple packages. Just specify multiple packages in the
-`packages` parameter.
diff --git a/deps/npm/doc/api/npm-stop.md b/deps/npm/doc/api/npm-stop.md
deleted file mode 100644
index 0f8333d351..0000000000
--- a/deps/npm/doc/api/npm-stop.md
+++ /dev/null
@@ -1,13 +0,0 @@
-npm-stop(3) -- Stop a package
-=============================
-
-## SYNOPSIS
-
- npm.commands.stop(packages, callback)
-
-## DESCRIPTION
-
-This runs a package's "stop" script, if one was provided.
-
-npm can run stop on multiple packages. Just specify multiple packages
-in the `packages` parameter.
diff --git a/deps/npm/doc/api/npm-tag.md b/deps/npm/doc/api/npm-tag.md
deleted file mode 100644
index 9cda0c407d..0000000000
--- a/deps/npm/doc/api/npm-tag.md
+++ /dev/null
@@ -1,23 +0,0 @@
-npm-tag(3) -- Tag a published version
-=====================================
-
-## SYNOPSIS
-
- npm.commands.tag(package@version, tag, callback)
-
-## DESCRIPTION
-
-Tags the specified version of the package with the specified tag, or the
-`--tag` config if not specified.
-
-The 'package@version' is an array of strings, but only the first two elements are
-currently used.
-
-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).
-
-The second element is the name of the tag to tag this version with. If this
-parameter is missing or falsey (empty), the default from the config will be
-used. For more information about how to set this config, check
-`man 3 npm-config` for programmatic usage or `man npm-config` for cli usage.
diff --git a/deps/npm/doc/api/npm-test.md b/deps/npm/doc/api/npm-test.md
deleted file mode 100644
index bc48dcc35f..0000000000
--- a/deps/npm/doc/api/npm-test.md
+++ /dev/null
@@ -1,16 +0,0 @@
-npm-test(3) -- Test a package
-=============================
-
-## SYNOPSIS
-
- npm.commands.test(packages, callback)
-
-## 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.
-
-npm can run tests on multiple packages. Just specify multiple packages
-in the `packages` parameter.
diff --git a/deps/npm/doc/api/npm-uninstall.md b/deps/npm/doc/api/npm-uninstall.md
deleted file mode 100644
index 4505295b3b..0000000000
--- a/deps/npm/doc/api/npm-uninstall.md
+++ /dev/null
@@ -1,16 +0,0 @@
-npm-uninstall(3) -- uninstall a package programmatically
-========================================================
-
-## SYNOPSIS
-
- npm.commands.uninstall(packages, callback)
-
-## DESCRIPTION
-
-This acts much the same ways as uninstalling on the command-line.
-
-The 'packages' parameter is an array of strings. Each element in the array is
-the name of a package to be uninstalled.
-
-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/doc/api/npm-unpublish.md b/deps/npm/doc/api/npm-unpublish.md
deleted file mode 100644
index 6cbc5c1f37..0000000000
--- a/deps/npm/doc/api/npm-unpublish.md
+++ /dev/null
@@ -1,20 +0,0 @@
-npm-unpublish(3) -- Remove a package from the registry
-======================================================
-
-## SYNOPSIS
-
- npm.commands.unpublish(package, callback)
-
-## DESCRIPTION
-
-This removes a package version from the registry, deleting its
-entry and removing the tarball.
-
-The package parameter must be defined.
-
-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.
-
-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/doc/api/npm-update.md b/deps/npm/doc/api/npm-update.md
deleted file mode 100644
index 52d7ec343c..0000000000
--- a/deps/npm/doc/api/npm-update.md
+++ /dev/null
@@ -1,18 +0,0 @@
-npm-update(3) -- Update a package
-=================================
-
-## SYNOPSIS
-
- npm.commands.update(packages, callback)
-
-# DESCRIPTION
-
-Updates a package, upgrading it to the latest version. It also installs any
-missing packages.
-
-The `packages` argument is an array of packages to update. The `callback`
-parameter will be called when done or when an error occurs.
-
-## SEE ALSO
-
-* npm-update(1)
diff --git a/deps/npm/doc/api/npm-version.md b/deps/npm/doc/api/npm-version.md
deleted file mode 100644
index bd40102c45..0000000000
--- a/deps/npm/doc/api/npm-version.md
+++ /dev/null
@@ -1,18 +0,0 @@
-npm-version(3) -- Bump a package version
-========================================
-
-## SYNOPSIS
-
- npm.commands.version(newversion, callback)
-
-## DESCRIPTION
-
-Run this in a package directory to bump the version and write the new
-data back to the package.json file.
-
-If run in a git repo, it will also create a version commit and tag, and
-fail if the repo is not clean.
-
-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/doc/api/npm-view.md b/deps/npm/doc/api/npm-view.md
deleted file mode 100644
index 0c110f52ed..0000000000
--- a/deps/npm/doc/api/npm-view.md
+++ /dev/null
@@ -1,93 +0,0 @@
-npm-view(3) -- View registry info
-=================================
-
-## SYNOPSIS
-
- npm.commands.view(args, [silent,] callback)
-
-## DESCRIPTION
-
-This command shows data about a package and prints it to the stream
-referenced by the `outfd` config, which defaults to stdout.
-
-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.
-
-The callback will be passed all of the data returned by the query.
-
-For example, to get the package registry entry for the `connect` package,
-you can do this:
-
- npm.commands.view(["connect"], callback)
-
-If no version is specified, "latest" is assumed.
-
-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.commands.view(["ronn@0.3.5", "dependencies"], callback)
-
-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.commands.view(["npm", "repository.url"], callback)
-
-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.commands.view(["express", "contributors.email"], callback)
-
-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.commands.view(["express", "contributors[0].email"], callback)
-
-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.commands.view(["express", "contributors.name", "contributors.email"], callback)
-
-"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 help json` for more on this.)
-
- npm.commands.view(["npm", "contributors"], callback)
-
-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.commands.view(["yui3@>0.5.4", "dependencies.jsdom"], callback)
-
-## 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 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.
-
-Console output can be disabled by setting the 'silent' parameter to true.
-
-## RETURN VALUE
-
-The data returned will be an object in this formation:
-
- { <version>:
- { <field>: <value>
- , ... }
- , ... }
-
-corresponding to the list of fields selected.
diff --git a/deps/npm/doc/api/npm-whoami.md b/deps/npm/doc/api/npm-whoami.md
deleted file mode 100644
index 598a1ab1a3..0000000000
--- a/deps/npm/doc/api/npm-whoami.md
+++ /dev/null
@@ -1,15 +0,0 @@
-npm-whoami(3) -- Display npm username
-=====================================
-
-## SYNOPSIS
-
- npm.commands.whoami(args, callback)
-
-## DESCRIPTION
-
-Print the `username` config to standard output.
-
-'args' is never used and callback is never called with data.
-'args' must be present or things will break.
-
-This function is not useful programmatically
diff --git a/deps/npm/doc/api/npm.md b/deps/npm/doc/api/npm.md
deleted file mode 100644
index 611292ec94..0000000000
--- a/deps/npm/doc/api/npm.md
+++ /dev/null
@@ -1,115 +0,0 @@
-npm(3) -- javascript package manager
-====================================
-
-## SYNOPSIS
-
- var npm = require("npm")
- npm.load([configObject, ]function (er, npm) {
- // use the npm object, now that it's loaded.
-
- npm.config.set(key, val)
- val = npm.config.get(key)
-
- console.log("prefix = %s", npm.prefix)
-
- npm.commands.install(["package"], cb)
- })
-
-## VERSION
-
-@VERSION@
-
-## DESCRIPTION
-
-This is the API documentation for npm.
-To find documentation of the command line
-client, see `npm(1)`.
-
-Prior to using npm's commands, `npm.load()` must be called. If you provide
-`configObject` as an object map 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)`, `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(7)` for a list of
-all possible commands.
-
-All commands on the command object take an **array** of positional argument
-**strings**. The last argument to any function is a callback. Some
-commands take other optional arguments.
-
-Configs cannot currently be set on a per function basis, as each call to
-npm.config.set will change the value for *all* npm commands in that process.
-
-To find API documentation for a specific command, run the `npm apihelp`
-command.
-
-## METHODS AND PROPERTIES
-
-* `npm.load(configs, cb)`
-
- Load the configuration params, and call the `cb` function once the
- globalconfig and userconfig files have been loaded as well, or on
- nextTick if they've already been loaded.
-
-* `npm.config`
-
- An object for accessing npm configuration parameters.
-
- * `npm.config.get(key)`
- * `npm.config.set(key, val)`
- * `npm.config.del(key)`
-
-* `npm.dir` or `npm.root`
-
- The `node_modules` directory where npm will operate.
-
-* `npm.prefix`
-
- The prefix where npm is operating. (Most often the current working
- directory.)
-
-* `npm.cache`
-
- The place where npm keeps JSON and tarballs it fetches from the
- registry (or uploads to the registry).
-
-* `npm.tmp`
-
- npm's temporary working directory.
-
-* `npm.deref`
-
- Get the "real" name for a command that has either an alias or
- abbreviation.
-
-## MAGIC
-
-For each of the methods in the `npm.commands` object, a method is added to the
-npm object, which takes a set of positional string arguments rather than an
-array and a callback.
-
-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.
-
-For example, this would work in a node repl:
-
- > npm = require("npm")
- > npm.load() // wait a sec...
- > npm.install("dnode", "express")
-
-Note that that *won't* work in a node program, since the `install`
-method will get called before the configuration load is completed.
-
-## ABBREVS
-
-In order to support `npm ins foo` instead of `npm install foo`, the
-`npm.commands` object has a set of abbreviations as well as the full
-method names. Use the `npm.deref` method to find the real name.
-
-For example:
-
- var cmd = npm.deref("unp") // cmd === "unpublish"
diff --git a/deps/npm/doc/cli/npm-bin.md b/deps/npm/doc/cli/npm-bin.md
index 33863b4571..8e1abbee8f 100644
--- a/deps/npm/doc/cli/npm-bin.md
+++ b/deps/npm/doc/cli/npm-bin.md
@@ -3,7 +3,7 @@ npm-bin(1) -- Display npm bin folder
## SYNOPSIS
- npm bin
+ npm bin [--global]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-bugs.md b/deps/npm/doc/cli/npm-bugs.md
index 002d9f7556..d2ad534fa3 100644
--- a/deps/npm/doc/cli/npm-bugs.md
+++ b/deps/npm/doc/cli/npm-bugs.md
@@ -3,8 +3,7 @@ npm-bugs(1) -- Bugs for a package in a web browser maybe
## SYNOPSIS
- npm bugs <pkgname>
- npm bugs (with no args in a package dir)
+ npm bugs [<pkgname>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-build.md b/deps/npm/doc/cli/npm-build.md
index 4d3467a160..019f225850 100644
--- a/deps/npm/doc/cli/npm-build.md
+++ b/deps/npm/doc/cli/npm-build.md
@@ -3,7 +3,7 @@ npm-build(1) -- Build a package
## SYNOPSIS
- npm build <package-folder>
+ npm build [<package-folder>]
* `<package-folder>`:
A folder containing a `package.json` file in its root.
diff --git a/deps/npm/doc/cli/npm-completion.md b/deps/npm/doc/cli/npm-completion.md
index bec0f60867..6c7f393562 100644
--- a/deps/npm/doc/cli/npm-completion.md
+++ b/deps/npm/doc/cli/npm-completion.md
@@ -3,7 +3,7 @@ npm-completion(1) -- Tab Completion for npm
## SYNOPSIS
- . <(npm completion)
+ source <(npm completion)
## DESCRIPTION
@@ -12,7 +12,10 @@ 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.
+everywhere:
+
+ npm completion >> ~/.bashrc
+ npm completion >> ~/.zshrc
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
diff --git a/deps/npm/doc/cli/npm-config.md b/deps/npm/doc/cli/npm-config.md
index 1d978c9dea..119840ef01 100644
--- a/deps/npm/doc/cli/npm-config.md
+++ b/deps/npm/doc/cli/npm-config.md
@@ -8,7 +8,6 @@ npm-config(1) -- Manage the npm configuration files
npm config delete <key>
npm config list
npm config edit
- npm c [set|get|delete|list]
npm get <key>
npm set <key> <value> [--global]
diff --git a/deps/npm/doc/cli/npm-dedupe.md b/deps/npm/doc/cli/npm-dedupe.md
index d3be01050c..c963dfa8e9 100644
--- a/deps/npm/doc/cli/npm-dedupe.md
+++ b/deps/npm/doc/cli/npm-dedupe.md
@@ -31,25 +31,20 @@ 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.
+The deduplication algorithm walks the tree, moving each dependency as far
+up in the tree as possible, even if duplicates are not found. This will
+result in both a flat and deduplicated tree.
+
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.
-If no suitable version can be found, then a warning is printed, and
-nothing is done.
-
-If any arguments are supplied, then they are filters, and only the
-named packages will be touched.
-
-Note that this operation transforms the dependency tree, and may
-result in packages getting updated versions, perhaps from the npm
-registry.
+Arguments are ignored. Dedupe always acts on the entire tree.
-This feature is experimental, and may change in future versions.
+Modules
-The `--tag` argument will apply to all of the affected dependencies. If a
-tag with the given name exists, the tagged version is preferred over newer
-versions.
+Note that this operation transforms the dependency tree, but will never
+result in new modules being installed.
## SEE ALSO
diff --git a/deps/npm/doc/cli/npm-deprecate.md b/deps/npm/doc/cli/npm-deprecate.md
index e625793495..1be6f491be 100644
--- a/deps/npm/doc/cli/npm-deprecate.md
+++ b/deps/npm/doc/cli/npm-deprecate.md
@@ -3,7 +3,7 @@ npm-deprecate(1) -- Deprecate a version of a package
## SYNOPSIS
- npm deprecate <name>[@<version>] <message>
+ npm deprecate <pkg>[@<version>] <message>
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-docs.md b/deps/npm/doc/cli/npm-docs.md
index 5db3d9f7e9..f5064c55e2 100644
--- a/deps/npm/doc/cli/npm-docs.md
+++ b/deps/npm/doc/cli/npm-docs.md
@@ -4,9 +4,9 @@ npm-docs(1) -- Docs for a package in a web browser maybe
## SYNOPSIS
npm docs [<pkgname> [<pkgname> ...]]
- npm docs (with no args in a package dir)
+ npm docs .
npm home [<pkgname> [<pkgname> ...]]
- npm home (with no args in a package dir)
+ npm home .
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-edit.md b/deps/npm/doc/cli/npm-edit.md
index 6a73317b81..89ecfa877e 100644
--- a/deps/npm/doc/cli/npm-edit.md
+++ b/deps/npm/doc/cli/npm-edit.md
@@ -3,7 +3,7 @@ npm-edit(1) -- Edit an installed package
## SYNOPSIS
- npm edit <name>[@<version>]
+ npm edit <pkg>[@<version>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-explore.md b/deps/npm/doc/cli/npm-explore.md
index fded534087..b66e08bfb9 100644
--- a/deps/npm/doc/cli/npm-explore.md
+++ b/deps/npm/doc/cli/npm-explore.md
@@ -3,7 +3,7 @@ npm-explore(1) -- Browse an installed package
## SYNOPSIS
- npm explore <name> [ -- <cmd>]
+ npm explore <pkg> [ -- <cmd>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-help-search.md b/deps/npm/doc/cli/npm-help-search.md
index 7bf7401ba0..0a40f1c43b 100644
--- a/deps/npm/doc/cli/npm-help-search.md
+++ b/deps/npm/doc/cli/npm-help-search.md
@@ -3,7 +3,7 @@ npm-help-search(1) -- Search npm help documentation
## SYNOPSIS
- npm help-search some search terms
+ npm help-search <text>
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-help.md b/deps/npm/doc/cli/npm-help.md
index 7991b1d38d..9fb96c9c2e 100644
--- a/deps/npm/doc/cli/npm-help.md
+++ b/deps/npm/doc/cli/npm-help.md
@@ -3,8 +3,7 @@ npm-help(1) -- Get help on npm
## SYNOPSIS
- npm help <topic>
- npm help some search terms
+ npm help <term> [<terms..>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-init.md b/deps/npm/doc/cli/npm-init.md
index ec4c25beda..e90f9ef04d 100644
--- a/deps/npm/doc/cli/npm-init.md
+++ b/deps/npm/doc/cli/npm-init.md
@@ -3,7 +3,7 @@ npm-init(1) -- Interactively create a package.json file
## SYNOPSIS
- npm init [-f|--force|-y|--yes]
+ npm init [--force|-f|--yes|-y]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-install.md b/deps/npm/doc/cli/npm-install.md
index be32f7b296..07c61e174a 100644
--- a/deps/npm/doc/cli/npm-install.md
+++ b/deps/npm/doc/cli/npm-install.md
@@ -3,15 +3,17 @@ npm-install(1) -- Install a package
## SYNOPSIS
- npm install (with no args in a package dir)
+ npm install (with no args, in package dir)
+ npm install [<@scope>/]<name>
+ npm install [<@scope>/]<name>@<tag>
+ npm install [<@scope>/]<name>@<version>
+ npm install [<@scope>/]<name>@<version range>
npm install <tarball file>
npm install <tarball url>
npm install <folder>
- npm install [@<scope>/]<name> [--save|--save-dev|--save-optional] [--save-exact]
- npm install [@<scope>/]<name>@<tag>
- npm install [@<scope>/]<name>@<version>
- npm install [@<scope>/]<name>@<version range>
- npm i (with any of the previous argument usage)
+
+ alias: npm i
+ common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run]
## DESCRIPTION
@@ -27,7 +29,7 @@ A `package` is:
* d) a `<name>@<version>` that is published on the registry (see `npm-registry(7)`) 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)
+* g) a `<git remote url>` that resolves to (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
@@ -71,7 +73,7 @@ after packing it up into a tarball (b).
npm install https://github.com/indexzero/forever/tarball/v0.5.6
-* `npm install [@<scope>/]<name> [--save|--save-dev|--save-optional]`:
+* `npm install [<@scope>/]<name> [--save|--save-dev|--save-optional]`:
Do a `<name>@<tag>` install, where `<tag>` is the "tag" config. (See
`npm-config(7)`.)
@@ -99,6 +101,9 @@ after packing it up into a tarball (b).
exact version rather than using npm's default semver range
operator.
+ Further, if you have an `npm-shrinkwrap.json` then it will be updated as
+ well.
+
`<scope>` is optional. The package will be downloaded from the registry
associated with the specified scope. If no registry is associated with
the given scope the default registry is assumed. See `npm-scope(7)`.
@@ -121,7 +126,7 @@ after packing it up into a tarball (b).
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 [@<scope>/]<name>@<tag>`:
+* `npm install [<@scope>/]<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
@@ -132,7 +137,7 @@ after packing it up into a tarball (b).
npm install sax@latest
npm install @myorg/mypackage@latest
-* `npm install [@<scope>/]<name>@<version>`:
+* `npm install [<@scope>/]<name>@<version>`:
Install the specified version of the package. This will fail if the
version has not been published to the registry.
@@ -142,7 +147,7 @@ after packing it up into a tarball (b).
npm install sax@0.1.1
npm install @myorg/privatepackage@1.5.0
-* `npm install [@<scope>/]<name>@<version range>`:
+* `npm install [<@scope>/]<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)`.
@@ -157,10 +162,10 @@ after packing it up into a tarball (b).
* `npm install <git remote url>`:
- Install a package by cloning a git remote url. The format of the git
- url is:
+ Installs the package from the hosted git provider, cloning it with
+ `git`. First it tries via the https (git with github) and if that fails, via ssh.
- <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:/]<path>[#<commit-ish>]
+ <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish>]
`<protocol>` is one of `git`, `git+ssh`, `git+http`, or
`git+https`. If no `<commit-ish>` is specified, then `master` is
@@ -241,6 +246,9 @@ The `--tag` argument will apply to all of the specified install targets. If a
tag with the given name exists, the tagged version is preferred over newer
versions.
+The `--dry-run` argument will report in the usual way what the install would
+have done without actually installing anything.
+
The `--force` argument will force npm to fetch remote resources even if a
local copy exists on disk.
@@ -264,6 +272,9 @@ 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.
+The `--only={prod[uction]|dev[elopment]}` argument will cause either only
+`devDependencies` or only non-`devDependencies` to be installed.
+
See `npm-config(7)`. Many of the configuration params have some
effect on installation, since that's most of what npm does.
@@ -271,26 +282,39 @@ effect on installation, since that's most of what npm does.
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)
+ load the existing node_modules tree from disk
+ clone the tree
+ fetch the package.json and assorted metadata and add it to the clone
+ walk the clone and add any missing dependencies
+ dependencies will be added as close to the top as is possible
+ without breaking any other modules
+ compare the original tree with the cloned tree and make a list of
+ actions to take to convert one to the other
+ execute all of the actions, deepest first
+ kinds of actions are install, update, remove and move
For this `package{dep}` structure: `A{B,C}, B{C}, C{D}`,
this algorithm produces:
A
+-- B
- `-- C
- `-- D
+ +-- 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.
+already caused C to be installed at a higher level. D is still installed
+at the top level because nothing conflicts with it.
+
+For `A{B,C}, B{C,D@1}, C{D@2}`, this algorithm produces:
+
+ A
+ +-- B
+ +-- C
+ `-- D@2
+ +-- D@1
+
+Because B's D@1 will be installed in the top leve, C now has to install D@2
+privately for itself.
See npm-folders(5) for a more detailed description of the specific
folder structures that npm creates.
diff --git a/deps/npm/doc/cli/npm-link.md b/deps/npm/doc/cli/npm-link.md
index b6d0c143ad..344fcbf1a7 100644
--- a/deps/npm/doc/cli/npm-link.md
+++ b/deps/npm/doc/cli/npm-link.md
@@ -3,9 +3,10 @@ npm-link(1) -- Symlink a package folder
## SYNOPSIS
- npm link (in package folder)
- npm link [@<scope>/]<pkgname>
- npm ln (with any of the previous argument usage)
+ npm link (in package dir)
+ npm link [<@scope>/]<pkg>[@<version>]
+
+ alias: npm ln
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-logout.md b/deps/npm/doc/cli/npm-logout.md
index 867953c024..411ea67e6c 100644
--- a/deps/npm/doc/cli/npm-logout.md
+++ b/deps/npm/doc/cli/npm-logout.md
@@ -3,7 +3,7 @@ npm-logout(1) -- Log out of the registry
## SYNOPSIS
- npm logout [--registry=url] [--scope=@orgname]
+ npm logout [--registry=<url>] [--scope=<@scope>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-ls.md b/deps/npm/doc/cli/npm-ls.md
index 318cdd8fd6..70835189aa 100644
--- a/deps/npm/doc/cli/npm-ls.md
+++ b/deps/npm/doc/cli/npm-ls.md
@@ -3,10 +3,9 @@ npm-ls(1) -- List installed packages
## SYNOPSIS
- npm list [[@<scope>/]<pkg> ...]
- npm ls [[@<scope>/]<pkg> ...]
- npm la [[@<scope>/]<pkg> ...]
- npm ll [[@<scope>/]<pkg> ...]
+ npm ls [[<@scope>/]<pkg> ...]
+
+ aliases: list, la, ll
## DESCRIPTION
@@ -28,6 +27,9 @@ 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.
+The tree shown is the logical dependency tree, based on package
+dependencies, not the physical layout of your node_modules folder.
+
When run as `ll` or `la`, it shows extended information by default.
## CONFIGURATION
@@ -81,6 +83,14 @@ Display only the dependency tree for packages in `dependencies`.
Display only the dependency tree for packages in `devDependencies`.
+### only
+
+* Type: String
+
+When "dev" or "development", is an alias to `dev`.
+
+When "prod" or "production", is an alias to `production`.`
+
## SEE ALSO
* npm-config(1)
diff --git a/deps/npm/doc/cli/npm-outdated.md b/deps/npm/doc/cli/npm-outdated.md
index aa2a7d5dd1..bdc9b9b8ed 100644
--- a/deps/npm/doc/cli/npm-outdated.md
+++ b/deps/npm/doc/cli/npm-outdated.md
@@ -3,7 +3,7 @@ npm-outdated(1) -- Check for outdated packages
## SYNOPSIS
- npm outdated [<name> [<name> ...]]
+ npm outdated [[<@scope>/]<pkg> ...]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-owner.md b/deps/npm/doc/cli/npm-owner.md
index b400f76378..1047a09bb8 100644
--- a/deps/npm/doc/cli/npm-owner.md
+++ b/deps/npm/doc/cli/npm-owner.md
@@ -3,9 +3,9 @@ npm-owner(1) -- Manage package owners
## SYNOPSIS
- npm owner ls <package name>
- npm owner add <user> <package name>
- npm owner rm <user> <package name>
+ npm owner add <user> [<@scope>/]<pkg>
+ npm owner rm <user> [<@scope>/]<pkg>
+ npm owner ls [<@scope>/]<pkg>
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-pack.md b/deps/npm/doc/cli/npm-pack.md
index 42bc1564be..f44f5e3620 100644
--- a/deps/npm/doc/cli/npm-pack.md
+++ b/deps/npm/doc/cli/npm-pack.md
@@ -3,15 +3,15 @@ npm-pack(1) -- Create a tarball from a package
## SYNOPSIS
- npm pack [<pkg> [<pkg> ...]]
+ npm pack [[<@scope>/]<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.
+tarball url, name@tag, name@version, name, or scoped 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.
diff --git a/deps/npm/doc/cli/npm-prune.md b/deps/npm/doc/cli/npm-prune.md
index 846a04240e..9089122117 100644
--- a/deps/npm/doc/cli/npm-prune.md
+++ b/deps/npm/doc/cli/npm-prune.md
@@ -3,8 +3,7 @@ npm-prune(1) -- Remove extraneous packages
## SYNOPSIS
- npm prune [<name> [<name ...]]
- npm prune [<name> [<name ...]] [--production]
+ npm prune [[<@scope>/]<pkg>...] [--production]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-publish.md b/deps/npm/doc/cli/npm-publish.md
index 8c447d0df9..8e4da32cd5 100644
--- a/deps/npm/doc/cli/npm-publish.md
+++ b/deps/npm/doc/cli/npm-publish.md
@@ -4,8 +4,10 @@ npm-publish(1) -- Publish a package
## SYNOPSIS
- npm publish <tarball> [--tag <tag>] [--access <public|restricted>]
- npm publish <folder> [--tag <tag>] [--access <public|restricted>]
+ npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>]
+
+ Publishes '.' if no argument supplied
+ Sets tag 'latest' if no --tag specified
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-rebuild.md b/deps/npm/doc/cli/npm-rebuild.md
index 7287208681..437737d9f4 100644
--- a/deps/npm/doc/cli/npm-rebuild.md
+++ b/deps/npm/doc/cli/npm-rebuild.md
@@ -3,11 +3,9 @@ npm-rebuild(1) -- Rebuild a package
## SYNOPSIS
- npm rebuild [<name> [<name> ...]]
- npm rb [<name> [<name> ...]]
+ npm rebuild [[<@scope>/<name>]...]
-* `<name>`:
- The package to rebuild
+ alias: npm rb
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-repo.md b/deps/npm/doc/cli/npm-repo.md
index 6bc6f3b375..523e135e8c 100644
--- a/deps/npm/doc/cli/npm-repo.md
+++ b/deps/npm/doc/cli/npm-repo.md
@@ -3,8 +3,7 @@ npm-repo(1) -- Open package repository page in the browser
## SYNOPSIS
- npm repo <pkgname>
- npm repo (with no args in a package dir)
+ npm repo [<pkg>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-rm.md b/deps/npm/doc/cli/npm-rm.md
deleted file mode 100644
index 6691265fff..0000000000
--- a/deps/npm/doc/cli/npm-rm.md
+++ /dev/null
@@ -1,23 +0,0 @@
-npm-rm(1) -- Remove a package
-=============================
-
-## SYNOPSIS
-
- npm rm <name>
- npm r <name>
- npm uninstall <name>
- npm un <name>
-
-## DESCRIPTION
-
-This uninstalls a package, completely removing everything npm installed
-on its behalf.
-
-## SEE ALSO
-
-* npm-prune(1)
-* npm-install(1)
-* npm-folders(5)
-* 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
index ca99e1206b..a1d5bf8629 100644
--- a/deps/npm/doc/cli/npm-root.md
+++ b/deps/npm/doc/cli/npm-root.md
@@ -3,7 +3,7 @@ npm-root(1) -- Display npm root
## SYNOPSIS
- npm root
+ npm root [-g]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-run-script.md b/deps/npm/doc/cli/npm-run-script.md
index 895e382f2f..1e956adcc0 100644
--- a/deps/npm/doc/cli/npm-run-script.md
+++ b/deps/npm/doc/cli/npm-run-script.md
@@ -3,8 +3,9 @@ npm-run-script(1) -- Run arbitrary package scripts
## SYNOPSIS
- npm run-script [command] [-- <args>]
- npm run [command] [-- <args>]
+ npm run-script <command> [-- <args>...]
+
+ alias: npm run
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-search.md b/deps/npm/doc/cli/npm-search.md
index 4757ad3202..e7e0defa07 100644
--- a/deps/npm/doc/cli/npm-search.md
+++ b/deps/npm/doc/cli/npm-search.md
@@ -4,8 +4,8 @@ npm-search(1) -- Search for packages
## SYNOPSIS
npm search [--long] [search terms ...]
- npm s [search terms ...]
- npm se [search terms ...]
+
+ aliases: s, se
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-shrinkwrap.md b/deps/npm/doc/cli/npm-shrinkwrap.md
index ca9cb257b9..b4548ca7c0 100644
--- a/deps/npm/doc/cli/npm-shrinkwrap.md
+++ b/deps/npm/doc/cli/npm-shrinkwrap.md
@@ -82,29 +82,32 @@ This generates `npm-shrinkwrap.json`, which will look something like this:
{
"name": "A",
- "version": "0.1.0",
+ "version": "1.1.0",
"dependencies": {
"B": {
- "version": "0.0.1",
+ "version": "1.0.1",
+ "from": "B@^1.0.0",
+ "resolved": "https://registry.npmjs.org/B/-/B-1.0.1.tgz",
"dependencies": {
"C": {
- "version": "0.0.1"
+ "version": "1.0.1",
+ "from": "org/C#v1.0.1",
+ "resolved": "git://github.com/org/C.git#5c380ae319fc4efe9e7f2d9c78b0faa588fd99b4"
}
}
}
}
}
-The shrinkwrap command has locked down the dependencies based on
-what's currently installed in node_modules. When `npm install`
-installs a package with an `npm-shrinkwrap.json` 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.0.1, regardless the
-dependencies and versions listed in A's, B's, and C's `package.json`
-files.
+The shrinkwrap command has locked down the dependencies based on what's
+currently installed in `node_modules`. The installation behavior is changed to:
+
+1. The module tree described by the shrinkwrap is reproduced. This means
+reproducing the structure described in the file, using the specific files
+referenced in "resolved" if available, falling back to normal package
+resolution using "version" if one isn't.
+2. The tree is walked and any missing dependencies are installed in the usual fasion.
### Using shrinkwrapped packages
@@ -126,15 +129,14 @@ 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
+2. Add or update dependencies. `npm install --save` each new or updated
+ package individually to update the `package.json` and the shrinkwrap.
+ 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.
+4. Commit the new `npm-shrinkwrap.json`, and publish your package.
You can use npm-outdated(1) to view dependencies with newer versions
available.
diff --git a/deps/npm/doc/cli/npm-star.md b/deps/npm/doc/cli/npm-star.md
index 5c076b3c3c..87d90b560c 100644
--- a/deps/npm/doc/cli/npm-star.md
+++ b/deps/npm/doc/cli/npm-star.md
@@ -3,8 +3,8 @@ npm-star(1) -- Mark your favorite packages
## SYNOPSIS
- npm star <pkgname> [<pkg>, ...]
- npm unstar <pkgname> [<pkg>, ...]
+ npm star [<pkg>...]
+ npm unstar [<pkg>...]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-stars.md b/deps/npm/doc/cli/npm-stars.md
index 7c28f5b2a5..1e225be29f 100644
--- a/deps/npm/doc/cli/npm-stars.md
+++ b/deps/npm/doc/cli/npm-stars.md
@@ -3,8 +3,7 @@ npm-stars(1) -- View packages marked as favorites
## SYNOPSIS
- npm stars
- npm stars [username]
+ npm stars [<user>]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-tag.md b/deps/npm/doc/cli/npm-tag.md
index d7118d4e58..357c0862f2 100644
--- a/deps/npm/doc/cli/npm-tag.md
+++ b/deps/npm/doc/cli/npm-tag.md
@@ -3,7 +3,8 @@ npm-tag(1) -- Tag a published version
## SYNOPSIS
- npm tag <name>@<version> [<tag>]
+ [DEPRECATED] npm tag <name>@<version> [<tag>]
+ See `dist-tag`
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-uninstall.md b/deps/npm/doc/cli/npm-uninstall.md
index bfa667c3e2..73e39a5fb0 100644
--- a/deps/npm/doc/cli/npm-uninstall.md
+++ b/deps/npm/doc/cli/npm-uninstall.md
@@ -3,8 +3,9 @@ npm-rm(1) -- Remove a package
## SYNOPSIS
- npm uninstall [@<scope>/]<package> [--save|--save-dev|--save-optional]
- npm rm (with any of the previous argument usage)
+ npm uninstall [<@scope>/]<pkg>[@<version>]... [--save|--save-dev|--save-optional]
+
+ aliases: remove, rm, r, un, unlink
## DESCRIPTION
@@ -27,6 +28,9 @@ the package version in your main package.json:
* `--save-optional`: Package will be removed from your `optionalDependencies`.
+Further, if you have an `npm-shrinkwrap.json` then it will be updated as
+well.
+
Scope is optional and follows the usual rules for `npm-scope(7)`.
Examples:
diff --git a/deps/npm/doc/cli/npm-unpublish.md b/deps/npm/doc/cli/npm-unpublish.md
index 1d5fe92878..0a5731ee1d 100644
--- a/deps/npm/doc/cli/npm-unpublish.md
+++ b/deps/npm/doc/cli/npm-unpublish.md
@@ -3,7 +3,7 @@ npm-unpublish(1) -- Remove a package from the registry
## SYNOPSIS
- npm unpublish [@<scope>/]<name>[@<version>]
+ npm unpublish [<@scope>/]<pkg>[@<version>]
## WARNING
diff --git a/deps/npm/doc/cli/npm-update.md b/deps/npm/doc/cli/npm-update.md
index ce31c28910..30a0702d7d 100644
--- a/deps/npm/doc/cli/npm-update.md
+++ b/deps/npm/doc/cli/npm-update.md
@@ -3,7 +3,7 @@ npm-update(1) -- Update a package
## SYNOPSIS
- npm update [-g] [<name> [<name> ...]]
+ npm update [-g] [<pkg>...]
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-version.md b/deps/npm/doc/cli/npm-version.md
index 0a00e78cd7..0527a4d713 100644
--- a/deps/npm/doc/cli/npm-version.md
+++ b/deps/npm/doc/cli/npm-version.md
@@ -5,6 +5,10 @@ npm-version(1) -- Bump a package version
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]
+ 'npm -v' or 'npm --version' to print npm version
+ 'npm view <pkg> version' to view a package's published version
+ 'npm ls' to inspect current package/dependency versions
+
## DESCRIPTION
Run this in a package directory to bump the version and write the new
diff --git a/deps/npm/doc/cli/npm-view.md b/deps/npm/doc/cli/npm-view.md
index 683ed09f46..2330c016ec 100644
--- a/deps/npm/doc/cli/npm-view.md
+++ b/deps/npm/doc/cli/npm-view.md
@@ -3,8 +3,9 @@ npm-view(1) -- View registry info
## SYNOPSIS
- npm view [@<scope>/]<name>[@<version>] [<field>[.<subfield>]...]
- npm v [@<scope>/]<name>[@<version>] [<field>[.<subfield>]...]
+ npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
+
+ aliases: info, show, v
## DESCRIPTION
diff --git a/deps/npm/doc/cli/npm-whoami.md b/deps/npm/doc/cli/npm-whoami.md
index 3ff8837ff4..70b6a48f44 100644
--- a/deps/npm/doc/cli/npm-whoami.md
+++ b/deps/npm/doc/cli/npm-whoami.md
@@ -3,7 +3,7 @@ npm-whoami(1) -- Display npm username
## SYNOPSIS
- npm whoami
+ npm whoami [--registry <registry>]
## DESCRIPTION
diff --git a/deps/npm/doc/files/package.json.md b/deps/npm/doc/files/package.json.md
index 91064b58b9..82e174677d 100644
--- a/deps/npm/doc/files/package.json.md
+++ b/deps/npm/doc/files/package.json.md
@@ -626,17 +626,10 @@ field is advisory only.
## engineStrict
-**NOTE: This feature is deprecated and will be removed in npm 3.0.0.**
+**This feature was deprecated with npm 3.0.0**
-If you are sure that your module will *definitely not* run properly on
-versions of Node/npm other than those specified in the `engines` object,
-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 object 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.
+Prior to npm 3.0.0, this feature was used to treat this package as if the
+user had set `engine-strict`.
## os
diff --git a/deps/npm/doc/misc/npm-config.md b/deps/npm/doc/misc/npm-config.md
index 4b9d32ba33..a28dd61d12 100644
--- a/deps/npm/doc/misc/npm-config.md
+++ b/deps/npm/doc/misc/npm-config.md
@@ -28,7 +28,7 @@ The four relevant files are:
* per-project config file (/path/to/my/project/.npmrc)
* per-user config file (~/.npmrc)
-* global config file ($PREFIX/npmrc)
+* global config file ($PREFIX/etc/npmrc)
* npm builtin config file (/path/to/npm/npmrc)
See npmrc(5) for more details.
@@ -124,6 +124,14 @@ you want your scoped package to be publicly viewable (and installable) set
Force npm to always require authentication when accessing the registry,
even for `GET` requests.
+### also
+
+* Default: null
+* Type: String
+
+When "dev" or "development" and running local `npm shrinkwrap`,
+`npm outdated`, or `npm update`, is an alias for `--dev`.
+
### bin-links
* Default: `true`
@@ -268,6 +276,17 @@ Install `dev-dependencies` along with packages.
Note that `dev-dependencies` are also installed if the `npat` flag is
set.
+### dry-run
+
+* Default: false
+* Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, `install`, `update`,
+`dedupe`, `uninstall`. This is NOT currently honored by network related
+commands, eg `dist-tags`, `owner`, `publish`, etc.
+
### editor
* Default: `EDITOR` environment variable if set, or `"vi"` on Posix,
@@ -561,6 +580,24 @@ Run tests on installation.
A node module to `require()` when npm loads. Useful for programmatic
usage.
+### only
+
+* Default: null
+* Type: String
+
+When "dev" or "development" and running local `npm install` without any
+arguments, only devDependencies (and their dependencies) are installed.
+
+When "dev" or "development" and running local `npm ls`, `npm outdated`, or
+`npm update`, is an alias for `--dev`.
+
+When "prod" or "production" and running local `npm install` without any
+arguments, only non-devDependencies (and their dependencies) are
+installed.
+
+When "prod" or "production" and running local `npm ls`, `npm outdated`, or
+`npm update`, is an alias for `--production`.
+
### optional
* Default: true
@@ -597,6 +634,16 @@ Set to true to run in "production" mode.
local `npm install` without any arguments.
2. Set the NODE_ENV="production" for lifecycle scripts.
+### progress
+
+* Default: true
+* Type: Boolean
+
+When set to `true`, npm will display a progress bar during time intensive
+operations, if `process.stderr` is a TTY.
+
+Set to `false` to suppress the progress bar.
+
### proprietary-attribs
* Default: true
@@ -772,17 +819,6 @@ 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.
-### spin
-
-* Default: true
-* Type: Boolean or `"always"`
-
-When set to `true`, npm will display an ascii spinner while it is doing
-things, if `process.stderr` is a TTY.
-
-Set to `false` to suppress the spinner, or set to `always` to output
-the spinner even for non-TTY outputs.
-
### strict-ssl
* Default: true
@@ -827,7 +863,7 @@ on success, but left behind on failure for forensic purposes.
### unicode
-* Default: true
+* Default: true on windows and mac/unix systems with a unicode locale
* Type: Boolean
When set to true, npm uses unicode characters in the tree output. When
diff --git a/deps/npm/doc/misc/npm-index.md b/deps/npm/doc/misc/npm-index.md
index 4efcb92af3..4af01fd689 100644
--- a/deps/npm/doc/misc/npm-index.md
+++ b/deps/npm/doc/misc/npm-index.md
@@ -141,10 +141,6 @@ Open package repository page in the browser
Restart a package
-### npm-rm(1)
-
-Remove a package
-
### npm-root(1)
Display npm root
@@ -217,166 +213,6 @@ Display npm username
Using npm in your Node programs
-### npm(3)
-
-javascript package manager
-
-### npm-bin(3)
-
-Display npm bin folder
-
-### npm-bugs(3)
-
-Bugs for a package in a web browser maybe
-
-### npm-cache(3)
-
-manage the npm cache programmatically
-
-### 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-ping(3)
-
-Ping npm registry
-
-### npm-prefix(3)
-
-Display prefix
-
-### npm-prune(3)
-
-Remove extraneous packages
-
-### npm-publish(3)
-
-Publish a package
-
-### npm-rebuild(3)
-
-Rebuild a package
-
-### npm-repo(3)
-
-Open package repository page in the browser
-
-### npm-restart(3)
-
-Restart 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-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
File system structures npm uses
@@ -421,10 +257,6 @@ Frequently Asked Questions
Index of all npm documentation
-### npm-orgs(7)
-
-Working with Teams & Orgs
-
### npm-registry(7)
The JavaScript Package Registry
diff --git a/deps/npm/doc/misc/npm-orgs.md b/deps/npm/doc/misc/npm-orgs.md
deleted file mode 100644
index 1f9977eadd..0000000000
--- a/deps/npm/doc/misc/npm-orgs.md
+++ /dev/null
@@ -1,90 +0,0 @@
-npm-orgs(7) -- Working with Teams & Orgs
-========================================
-
-## DESCRIPTION
-
-There are three levels of org users:
-
-1. Super admin, controls billing & adding people to the org.
-2. Team admin, manages team membership & package access.
-3. Developer, works on packages they are given access to.
-
-The super admin is the only person who can add users to the org because it impacts the monthly bill. The super admin will use the website to manage membership. Every org has a `developers` team that all users are automatically added to.
-
-The team admin is the person who manages team creation, team membership, and package access for teams. The team admin grants package access to teams, not individuals.
-
-The developer will be able to access packages based on the teams they are on. Access is either read-write or read-only.
-
-There are two main commands:
-
-1. `npm team` see npm-access(1) for more details
-2. `npm access` see npm-team(1) for more details
-
-## Team Admins create teams
-
-* Check who you’ve added to your org:
-
-```
-npm team ls <org>:developers
-```
-
-* Each org is automatically given a `developers` team, so you can see the whole list of team members in your org. This team automatically gets read-write access to all packages, but you can change that with the `access` command.
-
-* Create a new team:
-
-```
-npm team create <org:team>
-```
-
-* Add members to that team:
-
-```
-npm team add <org:team> <user>
-```
-
-## Publish a package and adjust package access
-
-* In package directory, run
-
-```
-npm init --scope=<org>
-```
-to scope it for your org & publish as usual
-
-* Grant access:
-
-```
-npm access grant <read-only|read-write> <org:team> [<package>]
-```
-
-* Revoke access:
-
-```
-npm access revoke <org:team> [<package>]
-```
-
-## Monitor your package access
-
-* See what org packages a team member can access:
-
-```
-npm access ls-packages <org> <user>
-```
-
-* See packages available to a specific team:
-
-```
-npm access ls-packages <org:team>
-```
-
-* Check which teams are collaborating on a package:
-
-```
-npm access ls-collaborators <pkg>
-```
-
-## SEE ALSO
-
-* npm-team(1)
-* npm-access(1)
-* npm-scope(7)
diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html
index 3ff8701c17..537f3c0659 100644
--- a/deps/npm/html/doc/README.html
+++ b/deps/npm/html/doc/README.html
@@ -140,7 +140,7 @@ specific purpose, or lack of malice in any given npm package.</p>
<p>If you have a complaint about a package in the public npm registry,
and cannot <a href="https://docs.npmjs.com/misc/disputes">resolve it with the package
owner</a>, please email
-<a href="&#x6d;&#x61;&#105;&#108;&#116;&#111;&#58;&#115;&#x75;&#x70;&#112;&#111;&#114;&#116;&#x40;&#x6e;&#x70;&#109;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;">&#115;&#x75;&#x70;&#112;&#111;&#114;&#116;&#x40;&#x6e;&#x70;&#109;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;</a> and explain the situation.</p>
+<a href="&#x6d;&#97;&#x69;&#x6c;&#116;&#111;&#x3a;&#x73;&#117;&#x70;&#x70;&#111;&#x72;&#x74;&#64;&#x6e;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#99;&#x6f;&#109;">&#x73;&#117;&#x70;&#x70;&#111;&#x72;&#x74;&#64;&#x6e;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#99;&#x6f;&#109;</a> and explain the situation.</p>
<p>Any data published to The npm Registry (including user account
information) may be removed or modified at the sole discretion of the
npm server administrators.</p>
@@ -183,5 +183,5 @@ will no doubt tell you to put the output in a gist or email.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@2.14.7</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/api/npm-bin.html b/deps/npm/html/doc/api/npm-bin.html
index f7dbcb1d66..1fb691d340 100644
--- a/deps/npm/html/doc/api/npm-bin.html
+++ b/deps/npm/html/doc/api/npm-bin.html
@@ -28,5 +28,5 @@ to the <code>npm.bin</code> property.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-bin &mdash; npm@2.14.7</p>
+<p id="footer">npm-bin &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-bugs.html b/deps/npm/html/doc/api/npm-bugs.html
index 787057361e..e63c7875cd 100644
--- a/deps/npm/html/doc/api/npm-bugs.html
+++ b/deps/npm/html/doc/api/npm-bugs.html
@@ -33,5 +33,5 @@ friendly for programmatic use.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-bugs &mdash; npm@2.14.7</p>
+<p id="footer">npm-bugs &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-cache.html b/deps/npm/html/doc/api/npm-cache.html
index 95640498f8..1dd1447942 100644
--- a/deps/npm/html/doc/api/npm-cache.html
+++ b/deps/npm/html/doc/api/npm-cache.html
@@ -42,5 +42,5 @@ incrementation.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-cache &mdash; npm@2.14.7</p>
+<p id="footer">npm-cache &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-commands.html b/deps/npm/html/doc/api/npm-commands.html
index 3b0dc843e2..278f9d6aad 100644
--- a/deps/npm/html/doc/api/npm-commands.html
+++ b/deps/npm/html/doc/api/npm-commands.html
@@ -36,5 +36,5 @@ usage, or <code>man 3 npm-&lt;command&gt;</code> for programmatic usage.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-commands &mdash; npm@2.14.7</p>
+<p id="footer">npm-commands &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-config.html b/deps/npm/html/doc/api/npm-config.html
index e2f2519246..ec60c18660 100644
--- a/deps/npm/html/doc/api/npm-config.html
+++ b/deps/npm/html/doc/api/npm-config.html
@@ -57,5 +57,5 @@ functions instead.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-config &mdash; npm@2.14.7</p>
+<p id="footer">npm-config &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-deprecate.html b/deps/npm/html/doc/api/npm-deprecate.html
index 5f35253d0c..6f3dd8a352 100644
--- a/deps/npm/html/doc/api/npm-deprecate.html
+++ b/deps/npm/html/doc/api/npm-deprecate.html
@@ -47,5 +47,5 @@ a deprecation warning to all who attempt to install it.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-deprecate &mdash; npm@2.14.7</p>
+<p id="footer">npm-deprecate &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-docs.html b/deps/npm/html/doc/api/npm-docs.html
index 908533f162..8465f62397 100644
--- a/deps/npm/html/doc/api/npm-docs.html
+++ b/deps/npm/html/doc/api/npm-docs.html
@@ -33,5 +33,5 @@ friendly for programmatic use.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-docs &mdash; npm@2.14.7</p>
+<p id="footer">npm-docs &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-edit.html b/deps/npm/html/doc/api/npm-edit.html
index 6acabac554..1a51093886 100644
--- a/deps/npm/html/doc/api/npm-edit.html
+++ b/deps/npm/html/doc/api/npm-edit.html
@@ -36,5 +36,5 @@ and how this is used.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-edit &mdash; npm@2.14.7</p>
+<p id="footer">npm-edit &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-explore.html b/deps/npm/html/doc/api/npm-explore.html
index 587ebfd036..fed88f0f13 100644
--- a/deps/npm/html/doc/api/npm-explore.html
+++ b/deps/npm/html/doc/api/npm-explore.html
@@ -31,5 +31,5 @@ sure to use <code>npm rebuild &lt;pkg&gt;</code> if you make any changes.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-explore &mdash; npm@2.14.7</p>
+<p id="footer">npm-explore &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-help-search.html b/deps/npm/html/doc/api/npm-help-search.html
index 0732f3f66f..e3560fe62c 100644
--- a/deps/npm/html/doc/api/npm-help-search.html
+++ b/deps/npm/html/doc/api/npm-help-search.html
@@ -44,5 +44,5 @@ Name of the file that matched</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-help-search &mdash; npm@2.14.7</p>
+<p id="footer">npm-help-search &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-init.html b/deps/npm/html/doc/api/npm-init.html
index 6beeaf6e2b..c43ad57aff 100644
--- a/deps/npm/html/doc/api/npm-init.html
+++ b/deps/npm/html/doc/api/npm-init.html
@@ -39,5 +39,5 @@ then go ahead and use this programmatically.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-init &mdash; npm@2.14.7</p>
+<p id="footer">npm-init &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-install.html b/deps/npm/html/doc/api/npm-install.html
index e697b8176f..6d16e5f360 100644
--- a/deps/npm/html/doc/api/npm-install.html
+++ b/deps/npm/html/doc/api/npm-install.html
@@ -32,5 +32,5 @@ installed or when an error has been encountered.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-install &mdash; npm@2.14.7</p>
+<p id="footer">npm-install &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-link.html b/deps/npm/html/doc/api/npm-link.html
index 4137329992..6ff53ac799 100644
--- a/deps/npm/html/doc/api/npm-link.html
+++ b/deps/npm/html/doc/api/npm-link.html
@@ -42,5 +42,5 @@ the package in the current working directory</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-link &mdash; npm@2.14.7</p>
+<p id="footer">npm-link &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-load.html b/deps/npm/html/doc/api/npm-load.html
index 2af4720ac4..a500b7ac5c 100644
--- a/deps/npm/html/doc/api/npm-load.html
+++ b/deps/npm/html/doc/api/npm-load.html
@@ -37,5 +37,5 @@ config object.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-load &mdash; npm@2.14.7</p>
+<p id="footer">npm-load &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-ls.html b/deps/npm/html/doc/api/npm-ls.html
index b0d31e2515..fec0008537 100644
--- a/deps/npm/html/doc/api/npm-ls.html
+++ b/deps/npm/html/doc/api/npm-ls.html
@@ -63,5 +63,5 @@ dependency will only be output once.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-ls &mdash; npm@2.14.7</p>
+<p id="footer">npm-ls &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-outdated.html b/deps/npm/html/doc/api/npm-outdated.html
index 5c564a6eea..560d73908e 100644
--- a/deps/npm/html/doc/api/npm-outdated.html
+++ b/deps/npm/html/doc/api/npm-outdated.html
@@ -28,5 +28,5 @@ currently outdated.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-outdated &mdash; npm@2.14.7</p>
+<p id="footer">npm-outdated &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-owner.html b/deps/npm/html/doc/api/npm-owner.html
index 32c0e6feac..b725cab759 100644
--- a/deps/npm/html/doc/api/npm-owner.html
+++ b/deps/npm/html/doc/api/npm-owner.html
@@ -47,5 +47,5 @@ that is not implemented at this time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-owner &mdash; npm@2.14.7</p>
+<p id="footer">npm-owner &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-pack.html b/deps/npm/html/doc/api/npm-pack.html
index da0a19993c..f4086f3b1d 100644
--- a/deps/npm/html/doc/api/npm-pack.html
+++ b/deps/npm/html/doc/api/npm-pack.html
@@ -33,5 +33,5 @@ overwritten the second time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-pack &mdash; npm@2.14.7</p>
+<p id="footer">npm-pack &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-ping.html b/deps/npm/html/doc/api/npm-ping.html
index b768c73d45..1bafcbffc5 100644
--- a/deps/npm/html/doc/api/npm-ping.html
+++ b/deps/npm/html/doc/api/npm-ping.html
@@ -29,4 +29,4 @@ to npm registries.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-ping &mdash; npm@2.14.7</p>
+<p id="footer">npm-ping &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-prefix.html b/deps/npm/html/doc/api/npm-prefix.html
index 6f9dcff791..87cb6cc9ec 100644
--- a/deps/npm/html/doc/api/npm-prefix.html
+++ b/deps/npm/html/doc/api/npm-prefix.html
@@ -29,5 +29,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-prefix &mdash; npm@2.14.7</p>
+<p id="footer">npm-prefix &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-prune.html b/deps/npm/html/doc/api/npm-prune.html
index 44f6755821..886a63134f 100644
--- a/deps/npm/html/doc/api/npm-prune.html
+++ b/deps/npm/html/doc/api/npm-prune.html
@@ -30,5 +30,5 @@ package&#39;s dependencies list.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-prune &mdash; npm@2.14.7</p>
+<p id="footer">npm-prune &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-publish.html b/deps/npm/html/doc/api/npm-publish.html
index 9aec5e5650..4ca8c6897f 100644
--- a/deps/npm/html/doc/api/npm-publish.html
+++ b/deps/npm/html/doc/api/npm-publish.html
@@ -46,5 +46,5 @@ the registry. Overwrites when the &quot;force&quot; environment variable is set
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-publish &mdash; npm@2.14.7</p>
+<p id="footer">npm-publish &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-rebuild.html b/deps/npm/html/doc/api/npm-rebuild.html
index f65c948f25..6f5c40d403 100644
--- a/deps/npm/html/doc/api/npm-rebuild.html
+++ b/deps/npm/html/doc/api/npm-rebuild.html
@@ -30,5 +30,5 @@ the new binary. If no &#39;packages&#39; parameter is specify, every package wil
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-rebuild &mdash; npm@2.14.7</p>
+<p id="footer">npm-rebuild &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-repo.html b/deps/npm/html/doc/api/npm-repo.html
index c0f95fa2c6..44f799e7c2 100644
--- a/deps/npm/html/doc/api/npm-repo.html
+++ b/deps/npm/html/doc/api/npm-repo.html
@@ -33,5 +33,5 @@ friendly for programmatic use.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-repo &mdash; npm@2.14.7</p>
+<p id="footer">npm-repo &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-restart.html b/deps/npm/html/doc/api/npm-restart.html
index 7390b50d27..f31a949fe4 100644
--- a/deps/npm/html/doc/api/npm-restart.html
+++ b/deps/npm/html/doc/api/npm-restart.html
@@ -52,5 +52,5 @@ behavior will be accompanied by an increase in major version number</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-restart &mdash; npm@2.14.7</p>
+<p id="footer">npm-restart &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-root.html b/deps/npm/html/doc/api/npm-root.html
index 706518ad20..bb10d3bd67 100644
--- a/deps/npm/html/doc/api/npm-root.html
+++ b/deps/npm/html/doc/api/npm-root.html
@@ -29,5 +29,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-root &mdash; npm@2.14.7</p>
+<p id="footer">npm-root &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-run-script.html b/deps/npm/html/doc/api/npm-run-script.html
index 196ea26143..6625e0ec80 100644
--- a/deps/npm/html/doc/api/npm-run-script.html
+++ b/deps/npm/html/doc/api/npm-run-script.html
@@ -41,5 +41,5 @@ assumed to be the command to run. All other elements are ignored.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-run-script &mdash; npm@2.14.7</p>
+<p id="footer">npm-run-script &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-search.html b/deps/npm/html/doc/api/npm-search.html
index 3c83b1a6c2..a7376b23ea 100644
--- a/deps/npm/html/doc/api/npm-search.html
+++ b/deps/npm/html/doc/api/npm-search.html
@@ -53,5 +53,5 @@ like).</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-search &mdash; npm@2.14.7</p>
+<p id="footer">npm-search &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-shrinkwrap.html b/deps/npm/html/doc/api/npm-shrinkwrap.html
index f9c37187ac..5764ab1fd5 100644
--- a/deps/npm/html/doc/api/npm-shrinkwrap.html
+++ b/deps/npm/html/doc/api/npm-shrinkwrap.html
@@ -33,5 +33,5 @@ been saved.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-shrinkwrap &mdash; npm@2.14.7</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-start.html b/deps/npm/html/doc/api/npm-start.html
index 2e02140363..79eaea8608 100644
--- a/deps/npm/html/doc/api/npm-start.html
+++ b/deps/npm/html/doc/api/npm-start.html
@@ -28,5 +28,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-start &mdash; npm@2.14.7</p>
+<p id="footer">npm-start &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-stop.html b/deps/npm/html/doc/api/npm-stop.html
index 7a83de6a08..e6dda89c79 100644
--- a/deps/npm/html/doc/api/npm-stop.html
+++ b/deps/npm/html/doc/api/npm-stop.html
@@ -28,5 +28,5 @@ in the <code>packages</code> parameter.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-stop &mdash; npm@2.14.7</p>
+<p id="footer">npm-stop &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-tag.html b/deps/npm/html/doc/api/npm-tag.html
index 6569e06327..ccd9da2099 100644
--- a/deps/npm/html/doc/api/npm-tag.html
+++ b/deps/npm/html/doc/api/npm-tag.html
@@ -36,5 +36,5 @@ used. For more information about how to set this config, check
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-tag &mdash; npm@2.14.7</p>
+<p id="footer">npm-tag &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-test.html b/deps/npm/html/doc/api/npm-test.html
index c556185e38..69bdab014b 100644
--- a/deps/npm/html/doc/api/npm-test.html
+++ b/deps/npm/html/doc/api/npm-test.html
@@ -30,5 +30,5 @@ in the <code>packages</code> parameter.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-test &mdash; npm@2.14.7</p>
+<p id="footer">npm-test &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-uninstall.html b/deps/npm/html/doc/api/npm-uninstall.html
index 33c7016ee7..c9cdf9f5da 100644
--- a/deps/npm/html/doc/api/npm-uninstall.html
+++ b/deps/npm/html/doc/api/npm-uninstall.html
@@ -30,5 +30,5 @@ uninstalled or when an error has been encountered.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-uninstall &mdash; npm@2.14.7</p>
+<p id="footer">npm-uninstall &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-unpublish.html b/deps/npm/html/doc/api/npm-unpublish.html
index 03e4d93ee8..e489cef111 100644
--- a/deps/npm/html/doc/api/npm-unpublish.html
+++ b/deps/npm/html/doc/api/npm-unpublish.html
@@ -33,5 +33,5 @@ the root package entry is removed from the registry entirely.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-unpublish &mdash; npm@2.14.7</p>
+<p id="footer">npm-unpublish &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-update.html b/deps/npm/html/doc/api/npm-update.html
index fc42422829..7492b63ee8 100644
--- a/deps/npm/html/doc/api/npm-update.html
+++ b/deps/npm/html/doc/api/npm-update.html
@@ -33,5 +33,5 @@ parameter will be called when done or when an error occurs.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-update &mdash; npm@2.14.7</p>
+<p id="footer">npm-update &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-version.html b/deps/npm/html/doc/api/npm-version.html
index d584335bae..7ff3a475d9 100644
--- a/deps/npm/html/doc/api/npm-version.html
+++ b/deps/npm/html/doc/api/npm-version.html
@@ -32,5 +32,5 @@ not have exactly one element. The only element should be a version number.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-version &mdash; npm@2.14.7</p>
+<p id="footer">npm-version &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-view.html b/deps/npm/html/doc/api/npm-view.html
index 110f222c02..8f8ccdff4a 100644
--- a/deps/npm/html/doc/api/npm-view.html
+++ b/deps/npm/html/doc/api/npm-view.html
@@ -81,5 +81,5 @@ the field name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-view &mdash; npm@2.14.7</p>
+<p id="footer">npm-view &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm-whoami.html b/deps/npm/html/doc/api/npm-whoami.html
index 30cd99f8a9..e56a2e5d83 100644
--- a/deps/npm/html/doc/api/npm-whoami.html
+++ b/deps/npm/html/doc/api/npm-whoami.html
@@ -29,5 +29,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-whoami &mdash; npm@2.14.7</p>
+<p id="footer">npm-whoami &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/api/npm.html b/deps/npm/html/doc/api/npm.html
index b1e961cb88..4911e3d59f 100644
--- a/deps/npm/html/doc/api/npm.html
+++ b/deps/npm/html/doc/api/npm.html
@@ -23,7 +23,7 @@ npm.load([configObject, ]function (er, npm) {
npm.commands.install([&quot;package&quot;], cb)
})
</code></pre><h2 id="version">VERSION</h2>
-<p>2.14.7</p>
+<p>3.3.0</p>
<h2 id="description">DESCRIPTION</h2>
<p>This is the API documentation for npm.
To find documentation of the command line
@@ -109,5 +109,5 @@ method names. Use the <code>npm.deref</code> method to find the real name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm &mdash; npm@2.14.7</p>
+<p id="footer">npm &mdash; npm@3.3.0</p>
diff --git a/deps/npm/html/doc/cli/npm-access.html b/deps/npm/html/doc/cli/npm-access.html
index 761aea5e52..15eb34c86a 100644
--- a/deps/npm/html/doc/cli/npm-access.html
+++ b/deps/npm/html/doc/cli/npm-access.html
@@ -84,5 +84,5 @@ with an HTTP 402 status code (logically enough), unless you use
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-access &mdash; npm@2.14.7</p>
+<p id="footer">npm-access &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-adduser.html b/deps/npm/html/doc/cli/npm-adduser.html
index a331bfbbf5..5b19a67f4f 100644
--- a/deps/npm/html/doc/cli/npm-adduser.html
+++ b/deps/npm/html/doc/cli/npm-adduser.html
@@ -68,5 +68,5 @@ precedence over any global configuration.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-adduser &mdash; npm@2.14.7</p>
+<p id="footer">npm-adduser &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-bin.html b/deps/npm/html/doc/cli/npm-bin.html
index 12c598c62f..050f864259 100644
--- a/deps/npm/html/doc/cli/npm-bin.html
+++ b/deps/npm/html/doc/cli/npm-bin.html
@@ -11,7 +11,7 @@
<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
+<pre><code>npm bin [--global]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Print the folder where npm will install executables.</p>
<h2 id="see-also">SEE ALSO</h2>
@@ -35,5 +35,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-bin &mdash; npm@2.14.7</p>
+<p id="footer">npm-bin &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-bugs.html b/deps/npm/html/doc/cli/npm-bugs.html
index fcd2b88da1..02a2e932c1 100644
--- a/deps/npm/html/doc/cli/npm-bugs.html
+++ b/deps/npm/html/doc/cli/npm-bugs.html
@@ -11,8 +11,7 @@
<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;
-npm bugs (with no args in a package dir)
+<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>
@@ -54,5 +53,5 @@ a <code>package.json</code> in the current folder and use the <code>name</code>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-bugs &mdash; npm@2.14.7</p>
+<p id="footer">npm-bugs &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-build.html b/deps/npm/html/doc/cli/npm-build.html
index 9bc9161432..b8689f190e 100644
--- a/deps/npm/html/doc/cli/npm-build.html
+++ b/deps/npm/html/doc/cli/npm-build.html
@@ -11,7 +11,7 @@
<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;
+<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>
@@ -40,5 +40,5 @@ directly, run:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-build &mdash; npm@2.14.7</p>
+<p id="footer">npm-build &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-bundle.html b/deps/npm/html/doc/cli/npm-bundle.html
index 81a65c1692..18cb054696 100644
--- a/deps/npm/html/doc/cli/npm-bundle.html
+++ b/deps/npm/html/doc/cli/npm-bundle.html
@@ -31,5 +31,5 @@ install packages into the local space.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-bundle &mdash; npm@2.14.7</p>
+<p id="footer">npm-bundle &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-cache.html b/deps/npm/html/doc/cli/npm-cache.html
index 8517937475..e9da236630 100644
--- a/deps/npm/html/doc/cli/npm-cache.html
+++ b/deps/npm/html/doc/cli/npm-cache.html
@@ -81,5 +81,5 @@ they do not make an HTTP request to the registry.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-cache &mdash; npm@2.14.7</p>
+<p id="footer">npm-cache &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-completion.html b/deps/npm/html/doc/cli/npm-completion.html
index 15f71fb290..48f05ec3f6 100644
--- a/deps/npm/html/doc/cli/npm-completion.html
+++ b/deps/npm/html/doc/cli/npm-completion.html
@@ -11,14 +11,16 @@
<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)
+<pre><code>source &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
+everywhere:</p>
+<pre><code>npm completion &gt;&gt; ~/.bashrc
+npm completion &gt;&gt; ~/.zshrc
+</code></pre><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
@@ -42,5 +44,5 @@ completions based on the arguments.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-completion &mdash; npm@2.14.7</p>
+<p id="footer">npm-completion &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-config.html b/deps/npm/html/doc/cli/npm-config.html
index d73762fe02..86b13ad581 100644
--- a/deps/npm/html/doc/cli/npm-config.html
+++ b/deps/npm/html/doc/cli/npm-config.html
@@ -16,7 +16,6 @@ npm config get &lt;key&gt;
npm config delete &lt;key&gt;
npm config list
npm config edit
-npm c [set|get|delete|list]
npm get &lt;key&gt;
npm set &lt;key&gt; &lt;value&gt; [--global]
</code></pre><h2 id="description">DESCRIPTION</h2>
@@ -66,5 +65,5 @@ global config.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-config &mdash; npm@2.14.7</p>
+<p id="footer">npm-config &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-dedupe.html b/deps/npm/html/doc/cli/npm-dedupe.html
index b8bab0074d..520d5158d7 100644
--- a/deps/npm/html/doc/cli/npm-dedupe.html
+++ b/deps/npm/html/doc/cli/npm-dedupe.html
@@ -31,20 +31,16 @@ be more effectively shared by multiple dependent packages.</p>
</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>The deduplication algorithm walks the tree, moving each dependency as far
+up in the tree as possible, even if duplicates are not found. This will
+result in both a flat and deduplicated 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>
-<p>The <code>--tag</code> argument will apply to all of the affected dependencies. If a
-tag with the given name exists, the tagged version is preferred over newer
-versions.</p>
+<p>Arguments are ignored. Dedupe always acts on the entire tree.</p>
+<p>Modules</p>
+<p>Note that this operation transforms the dependency tree, but will never
+result in new modules being installed.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-ls.html">npm-ls(1)</a></li>
@@ -63,5 +59,5 @@ versions.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-dedupe &mdash; npm@2.14.7</p>
+<p id="footer">npm-dedupe &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-deprecate.html b/deps/npm/html/doc/cli/npm-deprecate.html
index 9549631b69..33d09e1959 100644
--- a/deps/npm/html/doc/cli/npm-deprecate.html
+++ b/deps/npm/html/doc/cli/npm-deprecate.html
@@ -11,7 +11,7 @@
<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;
+<pre><code>npm deprecate &lt;pkg&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>
@@ -38,5 +38,5 @@ something like this:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-deprecate &mdash; npm@2.14.7</p>
+<p id="footer">npm-deprecate &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-dist-tag.html b/deps/npm/html/doc/cli/npm-dist-tag.html
index 2a683e7106..3435ecc32b 100644
--- a/deps/npm/html/doc/cli/npm-dist-tag.html
+++ b/deps/npm/html/doc/cli/npm-dist-tag.html
@@ -77,5 +77,5 @@ begin with a number or the letter <code>v</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-dist-tag &mdash; npm@2.14.7</p>
+<p id="footer">npm-dist-tag &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-docs.html b/deps/npm/html/doc/cli/npm-docs.html
index 0e17c157fc..7a9028f783 100644
--- a/deps/npm/html/doc/cli/npm-docs.html
+++ b/deps/npm/html/doc/cli/npm-docs.html
@@ -12,9 +12,9 @@
<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; [&lt;pkgname&gt; ...]]
-npm docs (with no args in a package dir)
+npm docs .
npm home [&lt;pkgname&gt; [&lt;pkgname&gt; ...]]
-npm home (with no args in a package dir)
+npm home .
</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>
@@ -56,5 +56,5 @@ the current folder and use the <code>name</code> property.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-docs &mdash; npm@2.14.7</p>
+<p id="footer">npm-docs &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-edit.html b/deps/npm/html/doc/cli/npm-edit.html
index 79c150019e..8d1bfc1efa 100644
--- a/deps/npm/html/doc/cli/npm-edit.html
+++ b/deps/npm/html/doc/cli/npm-edit.html
@@ -11,7 +11,7 @@
<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;]
+<pre><code>npm edit &lt;pkg&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>
@@ -49,5 +49,5 @@ or <code>&quot;notepad&quot;</code> on Windows.</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-edit &mdash; npm@2.14.7</p>
+<p id="footer">npm-edit &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-explore.html b/deps/npm/html/doc/cli/npm-explore.html
index 29364ad4f3..8be4b5af9a 100644
--- a/deps/npm/html/doc/cli/npm-explore.html
+++ b/deps/npm/html/doc/cli/npm-explore.html
@@ -11,7 +11,7 @@
<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;cmd&gt;]
+<pre><code>npm explore &lt;pkg&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
@@ -49,5 +49,5 @@ Windows</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-explore &mdash; npm@2.14.7</p>
+<p id="footer">npm-explore &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-help-search.html b/deps/npm/html/doc/cli/npm-help-search.html
index 2ff4a11ac6..ad9182bfdf 100644
--- a/deps/npm/html/doc/cli/npm-help-search.html
+++ b/deps/npm/html/doc/cli/npm-help-search.html
@@ -11,7 +11,7 @@
<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
+<pre><code>npm help-search &lt;text&gt;
</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>
@@ -46,5 +46,5 @@ where the terms were found in the documentation.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-help-search &mdash; npm@2.14.7</p>
+<p id="footer">npm-help-search &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-help.html b/deps/npm/html/doc/cli/npm-help.html
index 13b670b596..6678a564a3 100644
--- a/deps/npm/html/doc/cli/npm-help.html
+++ b/deps/npm/html/doc/cli/npm-help.html
@@ -11,8 +11,7 @@
<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
+<pre><code>npm help &lt;term&gt; [&lt;terms..&gt;]
</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
@@ -52,5 +51,5 @@ matches are equivalent to specifying a topic name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-help &mdash; npm@2.14.7</p>
+<p id="footer">npm-help &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-init.html b/deps/npm/html/doc/cli/npm-init.html
index d9c3d05247..c3e3443039 100644
--- a/deps/npm/html/doc/cli/npm-init.html
+++ b/deps/npm/html/doc/cli/npm-init.html
@@ -11,7 +11,7 @@
<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 [-f|--force|-y|--yes]
+<pre><code>npm init [--force|-f|--yes|-y]
</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,
@@ -48,5 +48,5 @@ defaults and not prompt you for any options.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-init &mdash; npm@2.14.7</p>
+<p id="footer">npm-init &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-install.html b/deps/npm/html/doc/cli/npm-install.html
index ab3e03f9ba..63057da690 100644
--- a/deps/npm/html/doc/cli/npm-install.html
+++ b/deps/npm/html/doc/cli/npm-install.html
@@ -11,15 +11,17 @@
<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)
+<pre><code>npm install (with no args, in package dir)
+npm install [&lt;@scope&gt;/]&lt;name&gt;
+npm install [&lt;@scope&gt;/]&lt;name&gt;@&lt;tag&gt;
+npm install [&lt;@scope&gt;/]&lt;name&gt;@&lt;version&gt;
+npm install [&lt;@scope&gt;/]&lt;name&gt;@&lt;version range&gt;
npm install &lt;tarball file&gt;
npm install &lt;tarball url&gt;
npm install &lt;folder&gt;
-npm install [@&lt;scope&gt;/]&lt;name&gt; [--save|--save-dev|--save-optional] [--save-exact]
-npm install [@&lt;scope&gt;/]&lt;name&gt;@&lt;tag&gt;
-npm install [@&lt;scope&gt;/]&lt;name&gt;@&lt;version&gt;
-npm install [@&lt;scope&gt;/]&lt;name&gt;@&lt;version range&gt;
-npm i (with any of the previous argument usage)
+
+alias: npm i
+common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run]
</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
@@ -32,7 +34,7 @@ by that. See <a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a>.</p>
<li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry (see <code><a href="../misc/npm-registry.html">npm-registry(7)</a></code>) 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>
+<li>g) a <code>&lt;git remote url&gt;</code> that resolves to (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
@@ -65,7 +67,7 @@ after packing it up into a tarball (b).</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;scope&gt;/]&lt;name&gt; [--save|--save-dev|--save-optional]</code>:</p>
+<li><p><code>npm install [&lt;@scope&gt;/]&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
@@ -86,6 +88,8 @@ package.json, there is an additional, optional flag:</p>
<li><p><code>--save-exact</code>: Saved dependencies will be configured with an
exact version rather than using npm&#39;s default semver range
operator.</p>
+<p>Further, if you have an <code>npm-shrinkwrap.json</code> then it will be updated as
+well.</p>
<p><code>&lt;scope&gt;</code> is optional. The package will be downloaded from the registry
associated with the specified scope. If no registry is associated with
the given scope the default registry is assumed. See <code><a href="../misc/npm-scope.html">npm-scope(7)</a></code>.</p>
@@ -107,7 +111,7 @@ npm install readable-stream --save --save-exact
working directory, then it will try to install that, and only try to
fetch the package by name if it is not valid.
</code></pre><ul>
-<li><p><code>npm install [@&lt;scope&gt;/]&lt;name&gt;@&lt;tag&gt;</code>:</p>
+<li><p><code>npm install [&lt;@scope&gt;/]&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>
@@ -115,14 +119,14 @@ fetch the package by name if it is not valid.
<pre><code> npm install sax@latest
npm install @myorg/mypackage@latest
</code></pre></li>
-<li><p><code>npm install [@&lt;scope&gt;/]&lt;name&gt;@&lt;version&gt;</code>:</p>
+<li><p><code>npm install [&lt;@scope&gt;/]&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
npm install @myorg/privatepackage@1.5.0
</code></pre></li>
-<li><p><code>npm install [@&lt;scope&gt;/]&lt;name&gt;@&lt;version range&gt;</code>:</p>
+<li><p><code>npm install [&lt;@scope&gt;/]&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
@@ -132,9 +136,9 @@ fetch the package by name if it is not valid.
npm install @myorg/privatepackage@&quot;&gt;=0.1.0 &lt;0.2.0&quot;
</code></pre></li>
<li><p><code>npm install &lt;git remote url&gt;</code>:</p>
-<p> Install a package by cloning a git remote url. The format of the git
- url is:</p>
-<pre><code> &lt;protocol&gt;://[&lt;user&gt;[:&lt;password&gt;]@]&lt;hostname&gt;[:&lt;port&gt;][:/]&lt;path&gt;[#&lt;commit-ish&gt;]
+<p> Installs the package from the hosted git provider, cloning it with
+ <code>git</code>. First it tries via the https (git with github) and if that fails, via ssh.</p>
+<pre><code> &lt;protocol&gt;://[&lt;user&gt;[:&lt;password&gt;]@]&lt;hostname&gt;[:&lt;port&gt;][:][/]&lt;path&gt;[#&lt;commit-ish&gt;]
</code></pre><p> <code>&lt;protocol&gt;</code> is one of <code>git</code>, <code>git+ssh</code>, <code>git+http</code>, or
<code>git+https</code>. If no <code>&lt;commit-ish&gt;</code> is specified, then <code>master</code> is
used.</p>
@@ -195,6 +199,8 @@ For example:</p>
</code></pre><p>The <code>--tag</code> argument will apply to all of the specified install targets. If a
tag with the given name exists, the tagged version is preferred over newer
versions.</p>
+<p>The <code>--dry-run</code> argument will report in the usual way what the install would
+have done without actually installing anything.</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
@@ -210,27 +216,39 @@ being installed.</p>
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>The <code>--only={prod[uction]|dev[elopment]}</code> argument will cause either only
+<code>devDependencies</code> or only non-<code>devDependencies</code> to be installed.</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)
+<pre><code>load the existing node_modules tree from disk
+clone the tree
+fetch the package.json and assorted metadata and add it to the clone
+walk the clone and add any missing dependencies
+ dependencies will be added as close to the top as is possible
+ without breaking any other modules
+compare the original tree with the cloned tree and make a list of
+actions to take to convert one to the other
+execute all of the actions, deepest first
+ kinds of actions are install, update, remove and move
</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
++-- 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>
+already caused C to be installed at a higher level. D is still installed
+at the top level because nothing conflicts with it.</p>
+<p>For <code>A{B,C}, B{C,D@1}, C{D@2}</code>, this algorithm produces:</p>
+<pre><code>A
++-- B
++-- C
+ `-- D@2
++-- D@1
+</code></pre><p>Because B&#39;s D@1 will be installed in the top leve, C now has to install D@2
+privately for itself.</p>
<p>See <a href="../files/npm-folders.html">npm-folders(5)</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>
@@ -277,5 +295,5 @@ affects a real use-case, it will be investigated.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-install &mdash; npm@2.14.7</p>
+<p id="footer">npm-install &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-link.html b/deps/npm/html/doc/cli/npm-link.html
index 322d02d469..0a944aff94 100644
--- a/deps/npm/html/doc/cli/npm-link.html
+++ b/deps/npm/html/doc/cli/npm-link.html
@@ -11,9 +11,10 @@
<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;scope&gt;/]&lt;pkgname&gt;
-npm ln (with any of the previous argument usage)
+<pre><code>npm link (in package dir)
+npm link [&lt;@scope&gt;/]&lt;pkg&gt;[@&lt;version&gt;]
+
+alias: npm ln
</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
@@ -72,5 +73,5 @@ include that scope, e.g.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-link &mdash; npm@2.14.7</p>
+<p id="footer">npm-link &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-logout.html b/deps/npm/html/doc/cli/npm-logout.html
index 16b97daae3..7fa51c9c13 100644
--- a/deps/npm/html/doc/cli/npm-logout.html
+++ b/deps/npm/html/doc/cli/npm-logout.html
@@ -11,7 +11,7 @@
<h1><a href="../cli/npm-logout.html">npm-logout</a></h1> <p>Log out of the registry</p>
<h2 id="synopsis">SYNOPSIS</h2>
-<pre><code>npm logout [--registry=url] [--scope=@orgname]
+<pre><code>npm logout [--registry=&lt;url&gt;] [--scope=&lt;@scope&gt;]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>When logged into a registry that supports token-based authentication, tell the
server to end this token&#39;s session. This will invalidate the token everywhere
@@ -55,5 +55,5 @@ that registry at the same time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-logout &mdash; npm@2.14.7</p>
+<p id="footer">npm-logout &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-ls.html b/deps/npm/html/doc/cli/npm-ls.html
index f36d7952cf..73144c1681 100644
--- a/deps/npm/html/doc/cli/npm-ls.html
+++ b/deps/npm/html/doc/cli/npm-ls.html
@@ -11,10 +11,9 @@
<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;scope&gt;/]&lt;pkg&gt; ...]
-npm ls [[@&lt;scope&gt;/]&lt;pkg&gt; ...]
-npm la [[@&lt;scope&gt;/]&lt;pkg&gt; ...]
-npm ll [[@&lt;scope&gt;/]&lt;pkg&gt; ...]
+<pre><code>npm ls [[&lt;@scope&gt;/]&lt;pkg&gt; ...]
+
+aliases: list, la, ll
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This command will print to stdout all the versions of packages that are
installed, as well as their dependencies, in a tree-structure.</p>
@@ -22,13 +21,15 @@ installed, as well as their dependencies, in a tree-structure.</p>
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@2.14.7 /path/to/npm
+<pre><code>npm@3.3.6 /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>The tree shown is the logical dependency tree, based on package
+dependencies, not the physical layout of your node_modules folder.</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>
@@ -73,6 +74,12 @@ project.</p>
<li>Default: false</li>
</ul>
<p>Display only the dependency tree for packages in <code>devDependencies</code>.</p>
+<h3 id="only">only</h3>
+<ul>
+<li>Type: String</li>
+</ul>
+<p>When &quot;dev&quot; or &quot;development&quot;, is an alias to <code>dev</code>.</p>
+<p>When &quot;prod&quot; or &quot;production&quot;, is an alias to <code>production</code>.`</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-config.html">npm-config(1)</a></li>
@@ -97,5 +104,5 @@ project.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-ls &mdash; npm@2.14.7</p>
+<p id="footer">npm-ls &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-outdated.html b/deps/npm/html/doc/cli/npm-outdated.html
index 29728e96ae..5a5f67b942 100644
--- a/deps/npm/html/doc/cli/npm-outdated.html
+++ b/deps/npm/html/doc/cli/npm-outdated.html
@@ -11,7 +11,7 @@
<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; ...]]
+<pre><code>npm outdated [[&lt;@scope&gt;/]&lt;pkg&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>
@@ -67,5 +67,5 @@ project.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-outdated &mdash; npm@2.14.7</p>
+<p id="footer">npm-outdated &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-owner.html b/deps/npm/html/doc/cli/npm-owner.html
index 603043dc6e..6cbc0f4bde 100644
--- a/deps/npm/html/doc/cli/npm-owner.html
+++ b/deps/npm/html/doc/cli/npm-owner.html
@@ -11,9 +11,9 @@
<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;
+<pre><code>npm owner add &lt;user&gt; [&lt;@scope&gt;/]&lt;pkg&gt;
+npm owner rm &lt;user&gt; [&lt;@scope&gt;/]&lt;pkg&gt;
+npm owner ls [&lt;@scope&gt;/]&lt;pkg&gt;
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Manage ownership of published packages.</p>
<ul>
@@ -49,5 +49,5 @@ that is not implemented at this time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-owner &mdash; npm@2.14.7</p>
+<p id="footer">npm-owner &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-pack.html b/deps/npm/html/doc/cli/npm-pack.html
index 77bf5578bb..7abf2f572b 100644
--- a/deps/npm/html/doc/cli/npm-pack.html
+++ b/deps/npm/html/doc/cli/npm-pack.html
@@ -11,13 +11,13 @@
<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; ...]]
+<pre><code>npm pack [[&lt;@scope&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>
+tarball url, name@tag, name@version, name, or scoped 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>
@@ -41,5 +41,5 @@ overwritten the second time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-pack &mdash; npm@2.14.7</p>
+<p id="footer">npm-pack &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-ping.html b/deps/npm/html/doc/cli/npm-ping.html
index e10095ec5a..4a78052b6c 100644
--- a/deps/npm/html/doc/cli/npm-ping.html
+++ b/deps/npm/html/doc/cli/npm-ping.html
@@ -32,4 +32,4 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-ping &mdash; npm@2.14.7</p>
+<p id="footer">npm-ping &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-prefix.html b/deps/npm/html/doc/cli/npm-prefix.html
index 96d63d7507..26aa01fda0 100644
--- a/deps/npm/html/doc/cli/npm-prefix.html
+++ b/deps/npm/html/doc/cli/npm-prefix.html
@@ -38,5 +38,5 @@ to contain a package.json file unless <code>-g</code> is also specified.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-prefix &mdash; npm@2.14.7</p>
+<p id="footer">npm-prefix &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-prune.html b/deps/npm/html/doc/cli/npm-prune.html
index d90b0fb25a..88d57ece8c 100644
--- a/deps/npm/html/doc/cli/npm-prune.html
+++ b/deps/npm/html/doc/cli/npm-prune.html
@@ -11,8 +11,7 @@
<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 ...]]
-npm prune [&lt;name&gt; [&lt;name ...]] [--production]
+<pre><code>npm prune [[&lt;@scope&gt;/]&lt;pkg&gt;...] [--production]
</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
@@ -41,5 +40,5 @@ negate <code>NODE_ENV</code> being set to <code>production</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-prune &mdash; npm@2.14.7</p>
+<p id="footer">npm-prune &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html
index b6372b2644..bc5884d872 100644
--- a/deps/npm/html/doc/cli/npm-publish.html
+++ b/deps/npm/html/doc/cli/npm-publish.html
@@ -11,8 +11,10 @@
<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; [--tag &lt;tag&gt;] [--access &lt;public|restricted&gt;]
-npm publish &lt;folder&gt; [--tag &lt;tag&gt;] [--access &lt;public|restricted&gt;]
+<pre><code>npm publish [&lt;tarball&gt;|&lt;folder&gt;] [--tag &lt;tag&gt;] [--access &lt;public|restricted&gt;]
+
+Publishes &#39;.&#39; if no argument supplied
+Sets tag &#39;latest&#39; if no --tag specified
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Publishes a package to the registry so that it can be installed by name. See
<code><a href="../misc/npm-developers.html">npm-developers(7)</a></code> for details on what&#39;s included in the published package, as
@@ -66,5 +68,5 @@ it is removed with <a href="../cli/npm-unpublish.html">npm-unpublish(1)</a>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-publish &mdash; npm@2.14.7</p>
+<p id="footer">npm-publish &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-rebuild.html b/deps/npm/html/doc/cli/npm-rebuild.html
index 4fb2d48108..92ef96425b 100644
--- a/deps/npm/html/doc/cli/npm-rebuild.html
+++ b/deps/npm/html/doc/cli/npm-rebuild.html
@@ -11,13 +11,10 @@
<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; ...]]
-npm rb [&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>
+<pre><code>npm rebuild [[&lt;@scope&gt;/&lt;name&gt;]...]
+
+alias: npm rb
+</code></pre><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>
@@ -38,5 +35,5 @@ the new binary.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-rebuild &mdash; npm@2.14.7</p>
+<p id="footer">npm-rebuild &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-repo.html b/deps/npm/html/doc/cli/npm-repo.html
index d66da6ab92..1d1445eafb 100644
--- a/deps/npm/html/doc/cli/npm-repo.html
+++ b/deps/npm/html/doc/cli/npm-repo.html
@@ -11,8 +11,7 @@
<h1><a href="../cli/npm-repo.html">npm-repo</a></h1> <p>Open package repository page in the browser</p>
<h2 id="synopsis">SYNOPSIS</h2>
-<pre><code>npm repo &lt;pkgname&gt;
-npm repo (with no args in a package dir)
+<pre><code>npm repo [&lt;pkg&gt;]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This command tries to guess at the likely location of a package&#39;s
repository URL, and then tries to open it using the <code>--browser</code>
@@ -42,5 +41,5 @@ a <code>package.json</code> in the current folder and use the <code>name</code>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-repo &mdash; npm@2.14.7</p>
+<p id="footer">npm-repo &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-restart.html b/deps/npm/html/doc/cli/npm-restart.html
index 7d9fe7b964..555c9fbeed 100644
--- a/deps/npm/html/doc/cli/npm-restart.html
+++ b/deps/npm/html/doc/cli/npm-restart.html
@@ -53,5 +53,5 @@ behavior will be accompanied by an increase in major version number</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-restart &mdash; npm@2.14.7</p>
+<p id="footer">npm-restart &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-rm.html b/deps/npm/html/doc/cli/npm-rm.html
deleted file mode 100644
index 1714fe27df..0000000000
--- a/deps/npm/html/doc/cli/npm-rm.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!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">
- <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-rm.html">
- <script async=true src="../../static/toc.js"></script>
-
- <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 r &lt;name&gt;
-npm uninstall &lt;name&gt;
-npm un &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="../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/npmrc.html">npmrc(5)</a></li>
-</ul>
-
-</div>
-
-<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
-<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
-<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
-<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
-<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
-<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
-<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
-<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
-</table>
-<p id="footer">npm-rm &mdash; npm@2.14.7</p>
-
diff --git a/deps/npm/html/doc/cli/npm-root.html b/deps/npm/html/doc/cli/npm-root.html
index e29dacdbea..e8e2a1890f 100644
--- a/deps/npm/html/doc/cli/npm-root.html
+++ b/deps/npm/html/doc/cli/npm-root.html
@@ -11,7 +11,7 @@
<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
+<pre><code>npm root [-g]
</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>
@@ -35,5 +35,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-root &mdash; npm@2.14.7</p>
+<p id="footer">npm-root &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-run-script.html b/deps/npm/html/doc/cli/npm-run-script.html
index 47f437d625..39f4d0d60b 100644
--- a/deps/npm/html/doc/cli/npm-run-script.html
+++ b/deps/npm/html/doc/cli/npm-run-script.html
@@ -11,8 +11,9 @@
<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 [command] [-- &lt;args&gt;]
-npm run [command] [-- &lt;args&gt;]
+<pre><code>npm run-script &lt;command&gt; [-- &lt;args&gt;...]
+
+alias: npm run
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This runs an arbitrary command from a package&#39;s <code>&quot;scripts&quot;</code> object. If no
<code>&quot;command&quot;</code> is provided, it will list the available scripts. <code>run[-script]</code> is
@@ -57,5 +58,5 @@ you should write:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-run-script &mdash; npm@2.14.7</p>
+<p id="footer">npm-run-script &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-search.html b/deps/npm/html/doc/cli/npm-search.html
index 049a5faa18..25ff96e1e8 100644
--- a/deps/npm/html/doc/cli/npm-search.html
+++ b/deps/npm/html/doc/cli/npm-search.html
@@ -12,8 +12,8 @@
<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 [--long] [search terms ...]
-npm s [search terms ...]
-npm se [search terms ...]
+
+aliases: s, se
</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.
@@ -49,5 +49,5 @@ fall on multiple lines.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-search &mdash; npm@2.14.7</p>
+<p id="footer">npm-search &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-shrinkwrap.html b/deps/npm/html/doc/cli/npm-shrinkwrap.html
index 3d11d8e0e4..66e3b08486 100644
--- a/deps/npm/html/doc/cli/npm-shrinkwrap.html
+++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html
@@ -72,27 +72,33 @@ when B hasn&#39;t changed at all.</p>
</code></pre><p>This generates <code>npm-shrinkwrap.json</code>, which will look something like this:</p>
<pre><code>{
&quot;name&quot;: &quot;A&quot;,
- &quot;version&quot;: &quot;0.1.0&quot;,
+ &quot;version&quot;: &quot;1.1.0&quot;,
&quot;dependencies&quot;: {
&quot;B&quot;: {
- &quot;version&quot;: &quot;0.0.1&quot;,
+ &quot;version&quot;: &quot;1.0.1&quot;,
+ &quot;from&quot;: &quot;B@^1.0.0&quot;,
+ &quot;resolved&quot;: &quot;https://registry.npmjs.org/B/-/B-1.0.1.tgz&quot;,
&quot;dependencies&quot;: {
&quot;C&quot;: {
- &quot;version&quot;: &quot;0.0.1&quot;
+ &quot;version&quot;: &quot;1.0.1&quot;,
+ &quot;from&quot;: &quot;org/C#v1.0.1&quot;,
+ &quot;resolved&quot;: &quot;git://github.com/org/C.git#5c380ae319fc4efe9e7f2d9c78b0faa588fd99b4&quot;
}
}
}
}
}
-</code></pre><p>The shrinkwrap command has locked down the dependencies based on
-what&#39;s currently installed in node_modules. When <code>npm install</code>
-installs a package with an <code>npm-shrinkwrap.json</code> in the package
-root, the shrinkwrap file (rather than <code>package.json</code> 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.0.1, regardless the
-dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s <code>package.json</code>
-files.</p>
+</code></pre><p>The shrinkwrap command has locked down the dependencies based on what&#39;s
+currently installed in <code>node_modules</code>. The installation behavior is changed to:</p>
+<ol>
+<li><p>The module tree described by the shrinkwrap is reproduced. This means
+reproducing the structure described in the file, using the specific files
+referenced in &quot;resolved&quot; if available, falling back to normal package
+resolution using &quot;version&quot; if one isn&#39;t.</p>
+</li>
+<li><p>The tree is walked and any missing dependencies are installed in the usual fasion.</p>
+</li>
+</ol>
<h3 id="using-shrinkwrapped-packages">Using shrinkwrapped packages</h3>
<p>Using a shrinkwrapped package is no different than using any other
package: you can <code>npm install</code> it by hand, or add a dependency to your
@@ -110,15 +116,14 @@ your package.</li>
<ol>
<li>Run <code>npm install</code> in the package root to install the current
versions of all dependencies.</li>
-<li>Add or update dependencies. <code>npm install</code> each new or updated
-package individually and then update <code>package.json</code>. 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
+<li>Add or update dependencies. <code>npm install --save</code> each new or updated
+package individually to update the <code>package.json</code> and the shrinkwrap.
+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 <code>npm shrinkwrap</code>, commit the new <code>npm-shrinkwrap.json</code>, and
-publish your package.</li>
+<li>Commit the new <code>npm-shrinkwrap.json</code>, 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>
@@ -164,5 +169,5 @@ contents rather than versions.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-shrinkwrap &mdash; npm@2.14.7</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-star.html b/deps/npm/html/doc/cli/npm-star.html
index 6a33768b77..c6a97f4192 100644
--- a/deps/npm/html/doc/cli/npm-star.html
+++ b/deps/npm/html/doc/cli/npm-star.html
@@ -11,8 +11,8 @@
<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;, ...]
+<pre><code>npm star [&lt;pkg&gt;...]
+npm unstar [&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>
@@ -36,5 +36,5 @@ a vaguely positive way to show that you care.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-star &mdash; npm@2.14.7</p>
+<p id="footer">npm-star &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-stars.html b/deps/npm/html/doc/cli/npm-stars.html
index 89b23b0a88..47aac754d3 100644
--- a/deps/npm/html/doc/cli/npm-stars.html
+++ b/deps/npm/html/doc/cli/npm-stars.html
@@ -11,8 +11,7 @@
<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]
+<pre><code>npm stars [&lt;user&gt;]
</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>
@@ -37,5 +36,5 @@ you will most certainly enjoy this command.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-stars &mdash; npm@2.14.7</p>
+<p id="footer">npm-stars &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-start.html b/deps/npm/html/doc/cli/npm-start.html
index 718160b63e..1b5fb427f1 100644
--- a/deps/npm/html/doc/cli/npm-start.html
+++ b/deps/npm/html/doc/cli/npm-start.html
@@ -34,5 +34,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-start &mdash; npm@2.14.7</p>
+<p id="footer">npm-start &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-stop.html b/deps/npm/html/doc/cli/npm-stop.html
index 2047d8e854..b7b63c2462 100644
--- a/deps/npm/html/doc/cli/npm-stop.html
+++ b/deps/npm/html/doc/cli/npm-stop.html
@@ -34,5 +34,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-stop &mdash; npm@2.14.7</p>
+<p id="footer">npm-stop &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html
index af7b2f746f..2a23eccd4a 100644
--- a/deps/npm/html/doc/cli/npm-tag.html
+++ b/deps/npm/html/doc/cli/npm-tag.html
@@ -11,7 +11,8 @@
<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;]
+<pre><code>[DEPRECATED] npm tag &lt;name&gt;@&lt;version&gt; [&lt;tag&gt;]
+See `dist-tag`
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>THIS COMMAND IS DEPRECATED. See <a href="../cli/npm-dist-tag.html">npm-dist-tag(1)</a> for details.</p>
<p>Tags the specified version of the package with the specified tag, or the
@@ -62,5 +63,5 @@ that do not begin with a number or the letter <code>v</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-tag &mdash; npm@2.14.7</p>
+<p id="footer">npm-tag &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-team.html b/deps/npm/html/doc/cli/npm-team.html
index cc23b76d82..60333b6c37 100644
--- a/deps/npm/html/doc/cli/npm-team.html
+++ b/deps/npm/html/doc/cli/npm-team.html
@@ -67,4 +67,4 @@ use the <code>npm access</code> command to grant or revoke the appropriate permi
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-team &mdash; npm@2.14.7</p>
+<p id="footer">npm-team &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-test.html b/deps/npm/html/doc/cli/npm-test.html
index bcd729a748..c48b3f6070 100644
--- a/deps/npm/html/doc/cli/npm-test.html
+++ b/deps/npm/html/doc/cli/npm-test.html
@@ -37,5 +37,5 @@ true.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-test &mdash; npm@2.14.7</p>
+<p id="footer">npm-test &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-uninstall.html b/deps/npm/html/doc/cli/npm-uninstall.html
index 8763c40adb..6d7429bbd7 100644
--- a/deps/npm/html/doc/cli/npm-uninstall.html
+++ b/deps/npm/html/doc/cli/npm-uninstall.html
@@ -11,8 +11,9 @@
<h1><a href="../cli/npm-rm.html">npm-rm</a></h1> <p>Remove a package</p>
<h2 id="synopsis">SYNOPSIS</h2>
-<pre><code>npm uninstall [@&lt;scope&gt;/]&lt;package&gt; [--save|--save-dev|--save-optional]
-npm rm (with any of the previous argument usage)
+<pre><code>npm uninstall [&lt;@scope&gt;/]&lt;pkg&gt;[@&lt;version&gt;]... [--save|--save-dev|--save-optional]
+
+aliases: remove, rm, r, un, unlink
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This uninstalls a package, completely removing everything npm installed
on its behalf.</p>
@@ -30,6 +31,8 @@ the package version in your main package.json:</p>
<li><p><code>--save-optional</code>: Package will be removed from your <code>optionalDependencies</code>.</p>
</li>
</ul>
+<p>Further, if you have an <code>npm-shrinkwrap.json</code> then it will be updated as
+well.</p>
<p>Scope is optional and follows the usual rules for <code><a href="../misc/npm-scope.html">npm-scope(7)</a></code>.</p>
<p>Examples:</p>
<pre><code>npm uninstall sax --save
@@ -57,5 +60,5 @@ npm uninstall dtrace-provider --save-optional
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-uninstall &mdash; npm@2.14.7</p>
+<p id="footer">npm-uninstall &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-unpublish.html b/deps/npm/html/doc/cli/npm-unpublish.html
index 667802cd4c..a5495578f4 100644
--- a/deps/npm/html/doc/cli/npm-unpublish.html
+++ b/deps/npm/html/doc/cli/npm-unpublish.html
@@ -11,7 +11,7 @@
<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;scope&gt;/]&lt;name&gt;[@&lt;version&gt;]
+<pre><code>npm unpublish [&lt;@scope&gt;/]&lt;pkg&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>
@@ -47,5 +47,5 @@ package again, a new version number must be used.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-unpublish &mdash; npm@2.14.7</p>
+<p id="footer">npm-unpublish &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-update.html b/deps/npm/html/doc/cli/npm-update.html
index e08a2c1150..0dcbb63f30 100644
--- a/deps/npm/html/doc/cli/npm-update.html
+++ b/deps/npm/html/doc/cli/npm-update.html
@@ -11,7 +11,7 @@
<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; ...]]
+<pre><code>npm update [-g] [&lt;pkg&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), respecting semver.</p>
@@ -119,5 +119,5 @@ be <em>downgraded</em>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-update &mdash; npm@2.14.7</p>
+<p id="footer">npm-update &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-version.html b/deps/npm/html/doc/cli/npm-version.html
index 34bb9c956b..3c03604995 100644
--- a/deps/npm/html/doc/cli/npm-version.html
+++ b/deps/npm/html/doc/cli/npm-version.html
@@ -12,6 +12,10 @@
<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 | premajor | preminor | prepatch | prerelease]
+
+&#39;npm -v&#39; or &#39;npm --version&#39; to print npm version
+&#39;npm view &lt;pkg&gt; version&#39; to view a package&#39;s published version
+&#39;npm ls&#39; to inspect current package/dependency versions
</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 <code>package.json</code> and, if present, <code>npm-shrinkwrap.json</code>.</p>
@@ -50,7 +54,7 @@ This step is skipped if the <code>--force</code> flag is set.</li>
<li>Run the <code>preversion</code> script. These scripts have access to the old <code>version</code> in package.json.
A typical use would be running your full test suite before deploying.
Any files you want added to the commit should be explicitly added using <code>git add</code>.</li>
-<li>Bump <code>version</code> in <code>package.json</code> as requested (<code>patch</code>, <code>minor</code>, <code>major</code>, etc). </li>
+<li>Bump <code>version</code> in <code>package.json</code> as requested (<code>patch</code>, <code>minor</code>, <code>major</code>, etc).</li>
<li>Run the <code>version</code> script. These scripts have access to the new <code>version</code> in package.json
(so they can incorporate it into file headers in generated files for example).
Again, scripts should explicitly add generated files to the commit using <code>git add</code>.</li>
@@ -95,5 +99,5 @@ and tag up to the server, and deletes the <code>build/temp</code> directory.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-version &mdash; npm@2.14.7</p>
+<p id="footer">npm-version &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-view.html b/deps/npm/html/doc/cli/npm-view.html
index 930a299af6..af6d736011 100644
--- a/deps/npm/html/doc/cli/npm-view.html
+++ b/deps/npm/html/doc/cli/npm-view.html
@@ -11,8 +11,9 @@
<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;scope&gt;/]&lt;name&gt;[@&lt;version&gt;] [&lt;field&gt;[.&lt;subfield&gt;]...]
-npm v [@&lt;scope&gt;/]&lt;name&gt;[@&lt;version&gt;] [&lt;field&gt;[.&lt;subfield&gt;]...]
+<pre><code>npm view [&lt;@scope&gt;/]&lt;name&gt;[@&lt;version&gt;] [&lt;field&gt;[.&lt;subfield&gt;]...]
+
+aliases: info, show, v
</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>
@@ -82,5 +83,5 @@ the field name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-view &mdash; npm@2.14.7</p>
+<p id="footer">npm-view &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm-whoami.html b/deps/npm/html/doc/cli/npm-whoami.html
index 1f25215aeb..2cb374a5ed 100644
--- a/deps/npm/html/doc/cli/npm-whoami.html
+++ b/deps/npm/html/doc/cli/npm-whoami.html
@@ -11,7 +11,7 @@
<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
+<pre><code>npm whoami [--registry &lt;registry&gt;]
</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>
@@ -33,5 +33,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-whoami &mdash; npm@2.14.7</p>
+<p id="footer">npm-whoami &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/cli/npm.html b/deps/npm/html/doc/cli/npm.html
index 9fd4df9b2d..7581ad5a29 100644
--- a/deps/npm/html/doc/cli/npm.html
+++ b/deps/npm/html/doc/cli/npm.html
@@ -13,7 +13,7 @@
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args]
</code></pre><h2 id="version">VERSION</h2>
-<p>2.14.7</p>
+<p>3.3.6</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
@@ -110,7 +110,7 @@ easily by doing <code>npm view npm contributors</code>.</p>
the issues list or ask on the mailing list.</p>
<ul>
<li><a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
-<li><a href="&#x6d;&#x61;&#105;&#108;&#116;&#111;&#58;&#110;&#112;&#x6d;&#x2d;&#64;&#x67;&#111;&#111;&#103;&#x6c;&#101;&#103;&#114;&#111;&#117;&#112;&#x73;&#x2e;&#99;&#111;&#x6d;">&#110;&#112;&#x6d;&#x2d;&#64;&#x67;&#111;&#111;&#103;&#x6c;&#101;&#103;&#114;&#111;&#117;&#112;&#x73;&#x2e;&#99;&#111;&#x6d;</a></li>
+<li><a href="&#x6d;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#x6e;&#x70;&#109;&#45;&#64;&#x67;&#x6f;&#111;&#103;&#x6c;&#x65;&#x67;&#x72;&#x6f;&#x75;&#112;&#x73;&#46;&#x63;&#x6f;&#109;">&#x6e;&#x70;&#109;&#45;&#64;&#x67;&#x6f;&#111;&#103;&#x6c;&#x65;&#x67;&#x72;&#x6f;&#x75;&#112;&#x73;&#46;&#x63;&#x6f;&#109;</a></li>
</ul>
<h2 id="bugs">BUGS</h2>
<p>When you find issues, please report them:</p>
@@ -118,7 +118,7 @@ the issues list or ask on the mailing list.</p>
<li>web:
<a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
<li>email:
-<a href="&#x6d;&#x61;&#105;&#108;&#116;&#111;&#58;&#x6e;&#112;&#x6d;&#x2d;&#x40;&#103;&#111;&#111;&#x67;&#x6c;&#101;&#x67;&#x72;&#x6f;&#x75;&#x70;&#x73;&#46;&#99;&#111;&#109;">&#x6e;&#112;&#x6d;&#x2d;&#x40;&#103;&#111;&#111;&#x67;&#x6c;&#101;&#x67;&#x72;&#x6f;&#x75;&#x70;&#x73;&#46;&#99;&#111;&#109;</a></li>
+<a href="&#109;&#97;&#105;&#x6c;&#x74;&#111;&#x3a;&#x6e;&#112;&#x6d;&#x2d;&#64;&#103;&#111;&#111;&#x67;&#x6c;&#101;&#103;&#x72;&#111;&#117;&#x70;&#x73;&#46;&#x63;&#111;&#109;">&#x6e;&#112;&#x6d;&#x2d;&#64;&#103;&#111;&#111;&#x67;&#x6c;&#101;&#103;&#x72;&#111;&#117;&#x70;&#x73;&#46;&#x63;&#111;&#109;</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>
@@ -128,7 +128,7 @@ will no doubt tell you to put the output in a gist or email.</p>
<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="&#x6d;&#x61;&#x69;&#108;&#x74;&#x6f;&#58;&#105;&#64;&#105;&#x7a;&#x73;&#46;&#x6d;&#101;">&#105;&#64;&#105;&#x7a;&#x73;&#46;&#x6d;&#101;</a></p>
+<a href="&#109;&#97;&#x69;&#108;&#116;&#111;&#x3a;&#105;&#64;&#x69;&#122;&#x73;&#46;&#x6d;&#101;">&#105;&#64;&#x69;&#122;&#x73;&#46;&#x6d;&#101;</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
@@ -154,5 +154,5 @@ will no doubt tell you to put the output in a gist or email.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm &mdash; npm@2.14.7</p>
+<p id="footer">npm &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/files/npm-folders.html b/deps/npm/html/doc/files/npm-folders.html
index 71ac40170d..95b1a32575 100644
--- a/deps/npm/html/doc/files/npm-folders.html
+++ b/deps/npm/html/doc/files/npm-folders.html
@@ -184,5 +184,5 @@ cannot be found elsewhere. See <code><a href="../files/package.json.html">packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-folders &mdash; npm@2.14.7</p>
+<p id="footer">npm-folders &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/files/npm-global.html b/deps/npm/html/doc/files/npm-global.html
index 71ac40170d..95b1a32575 100644
--- a/deps/npm/html/doc/files/npm-global.html
+++ b/deps/npm/html/doc/files/npm-global.html
@@ -184,5 +184,5 @@ cannot be found elsewhere. See <code><a href="../files/package.json.html">packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-folders &mdash; npm@2.14.7</p>
+<p id="footer">npm-folders &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/files/npm-json.html b/deps/npm/html/doc/files/npm-json.html
index 9fecd63fa7..e9f9c2f78d 100644
--- a/deps/npm/html/doc/files/npm-json.html
+++ b/deps/npm/html/doc/files/npm-json.html
@@ -473,15 +473,9 @@ are capable of properly installing your program. For example:</p>
</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><strong>NOTE: This feature is deprecated and will be removed in npm 3.0.0.</strong></p>
-<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> object,
-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 object 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.</p>
+<p><strong>This feature was deprecated with npm 3.0.0</strong></p>
+<p>Prior to npm 3.0.0, this feature was used to treat this package as if the
+user had set <code>engine-strict</code>.</p>
<h2 id="os">os</h2>
<p>You can specify which operating systems your
module will run on:</p>
@@ -565,5 +559,5 @@ ignored.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">package.json &mdash; npm@2.14.7</p>
+<p id="footer">package.json &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/files/npmrc.html b/deps/npm/html/doc/files/npmrc.html
index 01a596ff22..86742503c3 100644
--- a/deps/npm/html/doc/files/npmrc.html
+++ b/deps/npm/html/doc/files/npmrc.html
@@ -83,5 +83,5 @@ manner.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npmrc &mdash; npm@2.14.7</p>
+<p id="footer">npmrc &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/files/package.json.html b/deps/npm/html/doc/files/package.json.html
index 9fecd63fa7..e9f9c2f78d 100644
--- a/deps/npm/html/doc/files/package.json.html
+++ b/deps/npm/html/doc/files/package.json.html
@@ -473,15 +473,9 @@ are capable of properly installing your program. For example:</p>
</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><strong>NOTE: This feature is deprecated and will be removed in npm 3.0.0.</strong></p>
-<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> object,
-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 object 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.</p>
+<p><strong>This feature was deprecated with npm 3.0.0</strong></p>
+<p>Prior to npm 3.0.0, this feature was used to treat this package as if the
+user had set <code>engine-strict</code>.</p>
<h2 id="os">os</h2>
<p>You can specify which operating systems your
module will run on:</p>
@@ -565,5 +559,5 @@ ignored.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">package.json &mdash; npm@2.14.7</p>
+<p id="footer">package.json &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/index.html b/deps/npm/html/doc/index.html
index 7cc68acd4a..721c111d95 100644
--- a/deps/npm/html/doc/index.html
+++ b/deps/npm/html/doc/index.html
@@ -80,8 +80,6 @@
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-1-"><a href="cli/npm-restart.html">npm-restart(1)</a></h3>
<p>Restart a package</p>
-<h3 id="npm-rm-1-"><a href="cli/npm-rm.html">npm-rm(1)</a></h3>
-<p>Remove a package</p>
<h3 id="npm-root-1-"><a href="cli/npm-root.html">npm-root(1)</a></h3>
<p>Display npm root</p>
<h3 id="npm-run-script-1-"><a href="cli/npm-run-script.html">npm-run-script(1)</a></h3>
@@ -118,86 +116,6 @@
<p>Display npm username</p>
<h2 id="api-documentation">API Documentation</h2>
<p>Using npm in your Node programs</p>
-<h3 id="npm-3-"><a href="api/npm.html">npm(3)</a></h3>
-<p>javascript package manager</p>
-<h3 id="npm-bin-3-"><a href="api/npm-bin.html">npm-bin(3)</a></h3>
-<p>Display npm bin folder</p>
-<h3 id="npm-bugs-3-"><a href="api/npm-bugs.html">npm-bugs(3)</a></h3>
-<p>Bugs for a package in a web browser maybe</p>
-<h3 id="npm-cache-3-"><a href="api/npm-cache.html">npm-cache(3)</a></h3>
-<p>manage the npm cache programmatically</p>
-<h3 id="npm-commands-3-"><a href="api/npm-commands.html">npm-commands(3)</a></h3>
-<p>npm commands</p>
-<h3 id="npm-config-3-"><a href="api/npm-config.html">npm-config(3)</a></h3>
-<p>Manage the npm configuration files</p>
-<h3 id="npm-deprecate-3-"><a href="api/npm-deprecate.html">npm-deprecate(3)</a></h3>
-<p>Deprecate a version of a package</p>
-<h3 id="npm-docs-3-"><a href="api/npm-docs.html">npm-docs(3)</a></h3>
-<p>Docs for a package in a web browser maybe</p>
-<h3 id="npm-edit-3-"><a href="api/npm-edit.html">npm-edit(3)</a></h3>
-<p>Edit an installed package</p>
-<h3 id="npm-explore-3-"><a href="api/npm-explore.html">npm-explore(3)</a></h3>
-<p>Browse an installed package</p>
-<h3 id="npm-help-search-3-"><a href="api/npm-help-search.html">npm-help-search(3)</a></h3>
-<p>Search the help pages</p>
-<h3 id="npm-init-3-"><a href="api/npm-init.html">npm-init(3)</a></h3>
-<p>Interactively create a package.json file</p>
-<h3 id="npm-install-3-"><a href="api/npm-install.html">npm-install(3)</a></h3>
-<p>install a package programmatically</p>
-<h3 id="npm-link-3-"><a href="api/npm-link.html">npm-link(3)</a></h3>
-<p>Symlink a package folder</p>
-<h3 id="npm-load-3-"><a href="api/npm-load.html">npm-load(3)</a></h3>
-<p>Load config settings</p>
-<h3 id="npm-ls-3-"><a href="api/npm-ls.html">npm-ls(3)</a></h3>
-<p>List installed packages</p>
-<h3 id="npm-outdated-3-"><a href="api/npm-outdated.html">npm-outdated(3)</a></h3>
-<p>Check for outdated packages</p>
-<h3 id="npm-owner-3-"><a href="api/npm-owner.html">npm-owner(3)</a></h3>
-<p>Manage package owners</p>
-<h3 id="npm-pack-3-"><a href="api/npm-pack.html">npm-pack(3)</a></h3>
-<p>Create a tarball from a package</p>
-<h3 id="npm-ping-3-"><a href="api/npm-ping.html">npm-ping(3)</a></h3>
-<p>Ping npm registry</p>
-<h3 id="npm-prefix-3-"><a href="api/npm-prefix.html">npm-prefix(3)</a></h3>
-<p>Display prefix</p>
-<h3 id="npm-prune-3-"><a href="api/npm-prune.html">npm-prune(3)</a></h3>
-<p>Remove extraneous packages</p>
-<h3 id="npm-publish-3-"><a href="api/npm-publish.html">npm-publish(3)</a></h3>
-<p>Publish a package</p>
-<h3 id="npm-rebuild-3-"><a href="api/npm-rebuild.html">npm-rebuild(3)</a></h3>
-<p>Rebuild a package</p>
-<h3 id="npm-repo-3-"><a href="api/npm-repo.html">npm-repo(3)</a></h3>
-<p>Open package repository page in the browser</p>
-<h3 id="npm-restart-3-"><a href="api/npm-restart.html">npm-restart(3)</a></h3>
-<p>Restart a package</p>
-<h3 id="npm-root-3-"><a href="api/npm-root.html">npm-root(3)</a></h3>
-<p>Display npm root</p>
-<h3 id="npm-run-script-3-"><a href="api/npm-run-script.html">npm-run-script(3)</a></h3>
-<p>Run arbitrary package scripts</p>
-<h3 id="npm-search-3-"><a href="api/npm-search.html">npm-search(3)</a></h3>
-<p>Search for packages</p>
-<h3 id="npm-shrinkwrap-3-"><a href="api/npm-shrinkwrap.html">npm-shrinkwrap(3)</a></h3>
-<p>programmatically generate package shrinkwrap file</p>
-<h3 id="npm-start-3-"><a href="api/npm-start.html">npm-start(3)</a></h3>
-<p>Start a package</p>
-<h3 id="npm-stop-3-"><a href="api/npm-stop.html">npm-stop(3)</a></h3>
-<p>Stop a package</p>
-<h3 id="npm-tag-3-"><a href="api/npm-tag.html">npm-tag(3)</a></h3>
-<p>Tag a published version</p>
-<h3 id="npm-test-3-"><a href="api/npm-test.html">npm-test(3)</a></h3>
-<p>Test a package</p>
-<h3 id="npm-uninstall-3-"><a href="api/npm-uninstall.html">npm-uninstall(3)</a></h3>
-<p>uninstall a package programmatically</p>
-<h3 id="npm-unpublish-3-"><a href="api/npm-unpublish.html">npm-unpublish(3)</a></h3>
-<p>Remove a package from the registry</p>
-<h3 id="npm-update-3-"><a href="api/npm-update.html">npm-update(3)</a></h3>
-<p>Update a package</p>
-<h3 id="npm-version-3-"><a href="api/npm-version.html">npm-version(3)</a></h3>
-<p>Bump a package version</p>
-<h3 id="npm-view-3-"><a href="api/npm-view.html">npm-view(3)</a></h3>
-<p>View registry info</p>
-<h3 id="npm-whoami-3-"><a href="api/npm-whoami.html">npm-whoami(3)</a></h3>
-<p>Display npm username</p>
<h2 id="files">Files</h2>
<p>File system structures npm uses</p>
<h3 id="npm-folders-5-"><a href="files/npm-folders.html">npm-folders(5)</a></h3>
@@ -220,8 +138,6 @@
<p>Frequently Asked Questions</p>
<h3 id="npm-index-7-"><a href="misc/npm-index.html">npm-index(7)</a></h3>
<p>Index of all npm documentation</p>
-<h3 id="npm-orgs-7-"><a href="misc/npm-orgs.html">npm-orgs(7)</a></h3>
-<p>Working with Teams &amp; Orgs</p>
<h3 id="npm-registry-7-"><a href="misc/npm-registry.html">npm-registry(7)</a></h3>
<p>The JavaScript Package Registry</p>
<h3 id="npm-scope-7-"><a href="misc/npm-scope.html">npm-scope(7)</a></h3>
@@ -244,5 +160,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-index &mdash; npm@2.14.7</p>
+<p id="footer">npm-index &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-coding-style.html b/deps/npm/html/doc/misc/npm-coding-style.html
index ac3c95c105..ef9d62dca7 100644
--- a/deps/npm/html/doc/misc/npm-coding-style.html
+++ b/deps/npm/html/doc/misc/npm-coding-style.html
@@ -147,5 +147,5 @@ set to anything.&quot;</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-coding-style &mdash; npm@2.14.7</p>
+<p id="footer">npm-coding-style &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-config.html b/deps/npm/html/doc/misc/npm-config.html
index 0fd36894c9..e715e0541e 100644
--- a/deps/npm/html/doc/misc/npm-config.html
+++ b/deps/npm/html/doc/misc/npm-config.html
@@ -30,7 +30,7 @@ same.</p>
<ul>
<li>per-project config file (/path/to/my/project/.npmrc)</li>
<li>per-user config file (~/.npmrc)</li>
-<li>global config file ($PREFIX/npmrc)</li>
+<li>global config file ($PREFIX/etc/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>
@@ -107,6 +107,13 @@ you want your scoped package to be publicly viewable (and installable) set
</ul>
<p>Force npm to always require authentication when accessing the registry,
even for <code>GET</code> requests.</p>
+<h3 id="also">also</h3>
+<ul>
+<li>Default: null</li>
+<li>Type: String</li>
+</ul>
+<p>When &quot;dev&quot; or &quot;development&quot; and running local <code>npm shrinkwrap</code>,
+<code>npm outdated</code>, or <code>npm update</code>, is an alias for <code>--dev</code>.</p>
<h3 id="bin-links">bin-links</h3>
<ul>
<li>Default: <code>true</code></li>
@@ -226,6 +233,16 @@ e.g., <code>npm outdated --depth 9999</code></p>
<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="dry-run">dry-run</h3>
+<ul>
+<li>Default: false</li>
+<li>Type: Boolean</li>
+</ul>
+<p>Indicates that you don&#39;t want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, <code>install</code>, <code>update</code>,
+<code>dedupe</code>, <code>uninstall</code>. This is NOT currently honored by network related
+commands, eg <code>dist-tags</code>, <code>owner</code>, <code>publish</code>, etc.</p>
<h3 id="editor">editor</h3>
<ul>
<li>Default: <code>EDITOR</code> environment variable if set, or <code>&quot;vi&quot;</code> on Posix,
@@ -483,6 +500,20 @@ colored output if it is a TTY.</p>
</ul>
<p>A node module to <code>require()</code> when npm loads. Useful for programmatic
usage.</p>
+<h3 id="only">only</h3>
+<ul>
+<li>Default: null</li>
+<li>Type: String</li>
+</ul>
+<p>When &quot;dev&quot; or &quot;development&quot; and running local <code>npm install</code> without any
+arguments, only devDependencies (and their dependencies) are installed.</p>
+<p>When &quot;dev&quot; or &quot;development&quot; and running local <code>npm ls</code>, <code>npm outdated</code>, or
+<code>npm update</code>, is an alias for <code>--dev</code>.</p>
+<p>When &quot;prod&quot; or &quot;production&quot; and running local <code>npm install</code> without any
+arguments, only non-devDependencies (and their dependencies) are
+installed.</p>
+<p>When &quot;prod&quot; or &quot;production&quot; and running local <code>npm ls</code>, <code>npm outdated</code>, or
+<code>npm update</code>, is an alias for <code>--production</code>.</p>
<h3 id="optional">optional</h3>
<ul>
<li>Default: true</li>
@@ -516,6 +547,14 @@ it forces non-global commands to run in the specified folder.</p>
local <code>npm install</code> without any arguments.</li>
<li>Set the NODE_ENV=&quot;production&quot; for lifecycle scripts.</li>
</ol>
+<h3 id="progress">progress</h3>
+<ul>
+<li>Default: true</li>
+<li>Type: Boolean</li>
+</ul>
+<p>When set to <code>true</code>, npm will display a progress bar during time intensive
+operations, if <code>process.stderr</code> is a TTY.</p>
+<p>Set to <code>false</code> to suppress the progress bar.</p>
<h3 id="proprietary-attribs">proprietary-attribs</h3>
<ul>
<li>Default: true</li>
@@ -663,15 +702,6 @@ installing.</p>
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="spin">spin</h3>
-<ul>
-<li>Default: true</li>
-<li>Type: Boolean or <code>&quot;always&quot;</code></li>
-</ul>
-<p>When set to <code>true</code>, npm will display an ascii spinner while it is doing
-things, if <code>process.stderr</code> is a TTY.</p>
-<p>Set to <code>false</code> to suppress the spinner, or set to <code>always</code> to output
-the spinner even for non-TTY outputs.</p>
<h3 id="strict-ssl">strict-ssl</h3>
<ul>
<li>Default: true</li>
@@ -709,7 +739,7 @@ particular, use care when overriding this setting for public packages.</p>
on success, but left behind on failure for forensic purposes.</p>
<h3 id="unicode">unicode</h3>
<ul>
-<li>Default: true</li>
+<li>Default: true on windows and mac/unix systems with a unicode locale</li>
<li>Type: Boolean</li>
</ul>
<p>When set to true, npm uses unicode characters in the tree output. When
@@ -799,5 +829,5 @@ exit successfully.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-config &mdash; npm@2.14.7</p>
+<p id="footer">npm-config &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-developers.html b/deps/npm/html/doc/misc/npm-developers.html
index 03d1a8eda0..f291fb4e1d 100644
--- a/deps/npm/html/doc/misc/npm-developers.html
+++ b/deps/npm/html/doc/misc/npm-developers.html
@@ -195,5 +195,5 @@ from a fresh checkout.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-developers &mdash; npm@2.14.7</p>
+<p id="footer">npm-developers &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-disputes.html b/deps/npm/html/doc/misc/npm-disputes.html
index cf739f6b1c..d7c7597085 100644
--- a/deps/npm/html/doc/misc/npm-disputes.html
+++ b/deps/npm/html/doc/misc/npm-disputes.html
@@ -13,7 +13,7 @@
<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="&#109;&#x61;&#x69;&#108;&#116;&#111;&#58;&#x73;&#x75;&#x70;&#112;&#111;&#114;&#116;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;">&#x73;&#x75;&#x70;&#112;&#111;&#114;&#116;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;</a></li>
+<li>Email the author, CC <a href="&#109;&#x61;&#105;&#108;&#x74;&#111;&#58;&#115;&#x75;&#x70;&#x70;&#111;&#114;&#x74;&#64;&#x6e;&#x70;&#109;&#106;&#x73;&#x2e;&#99;&#x6f;&#x6d;">&#115;&#x75;&#x70;&#x70;&#111;&#114;&#x74;&#64;&#x6e;&#x70;&#109;&#106;&#x73;&#x2e;&#99;&#x6f;&#x6d;</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>
@@ -51,12 +51,12 @@ Joe&#39;s appropriate course of action in each case is the same.</p>
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 the npm support staff <a href="&#x6d;&#97;&#105;&#x6c;&#x74;&#111;&#58;&#x73;&#x75;&#x70;&#x70;&#x6f;&#x72;&#116;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#x2e;&#99;&#111;&#x6d;">&#x73;&#x75;&#x70;&#x70;&#x6f;&#x72;&#116;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#x2e;&#99;&#111;&#x6d;</a> to the CC list of
+adds the npm support staff <a href="&#109;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#115;&#117;&#112;&#x70;&#111;&#x72;&#116;&#x40;&#110;&#112;&#x6d;&#106;&#x73;&#46;&#99;&#111;&#109;">&#115;&#117;&#112;&#x70;&#111;&#x72;&#116;&#x40;&#110;&#112;&#x6d;&#106;&#x73;&#46;&#99;&#111;&#109;</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 support
-<a href="&#109;&#97;&#105;&#x6c;&#x74;&#111;&#58;&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#116;&#x40;&#110;&#x70;&#109;&#106;&#x73;&#46;&#x63;&#111;&#x6d;">&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#116;&#x40;&#110;&#x70;&#109;&#106;&#x73;&#46;&#x63;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
+<a href="&#x6d;&#97;&#x69;&#x6c;&#x74;&#111;&#58;&#x73;&#x75;&#112;&#x70;&#111;&#114;&#116;&#x40;&#110;&#112;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;">&#x73;&#x75;&#112;&#x70;&#111;&#114;&#116;&#x40;&#110;&#112;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
usually at least 4 weeks, but extra time is allowed around common
holidays.)</li>
</ol>
@@ -112,5 +112,5 @@ things into it.</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-disputes &mdash; npm@2.14.7</p>
+<p id="footer">npm-disputes &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-faq.html b/deps/npm/html/doc/misc/npm-faq.html
index eb017f3001..a6eaaaedba 100644
--- a/deps/npm/html/doc/misc/npm-faq.html
+++ b/deps/npm/html/doc/misc/npm-faq.html
@@ -237,7 +237,7 @@ that has a package.json in its root, or a git url.
<p>To check if the registry is down, open up
<a href="https://registry.npmjs.org/">https://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 us know by emailing <a href="&#x6d;&#x61;&#x69;&#108;&#x74;&#x6f;&#x3a;&#115;&#x75;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#x6e;&#x70;&#109;&#106;&#115;&#x2e;&#x63;&#111;&#109;">&#115;&#x75;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#x6e;&#x70;&#109;&#106;&#115;&#x2e;&#x63;&#111;&#109;</a>
+<p>If the registry IS down, let us know by emailing <a href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#111;&#58;&#115;&#x75;&#112;&#x70;&#111;&#114;&#x74;&#64;&#x6e;&#x70;&#x6d;&#106;&#x73;&#x2e;&#x63;&#x6f;&#x6d;">&#115;&#x75;&#112;&#x70;&#111;&#114;&#x74;&#64;&#x6e;&#x70;&#x6d;&#106;&#x73;&#x2e;&#x63;&#x6f;&#x6d;</a>
or posting an issue at <a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a>. If it&#39;s
down for the world (and not just on your local network) then we&#39;re
probably already being pinged about it.</p>
@@ -308,5 +308,5 @@ good folks at <a href="http://www.npmjs.com">npm, Inc.</a></p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-faq &mdash; npm@2.14.7</p>
+<p id="footer">npm-faq &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-index.html b/deps/npm/html/doc/misc/npm-index.html
index 2f7381b625..d91644ad5d 100644
--- a/deps/npm/html/doc/misc/npm-index.html
+++ b/deps/npm/html/doc/misc/npm-index.html
@@ -80,8 +80,6 @@
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-1-"><a href="../cli/npm-restart.html">npm-restart(1)</a></h3>
<p>Restart a package</p>
-<h3 id="npm-rm-1-"><a href="../cli/npm-rm.html">npm-rm(1)</a></h3>
-<p>Remove a package</p>
<h3 id="npm-root-1-"><a href="../cli/npm-root.html">npm-root(1)</a></h3>
<p>Display npm root</p>
<h3 id="npm-run-script-1-"><a href="../cli/npm-run-script.html">npm-run-script(1)</a></h3>
@@ -118,86 +116,6 @@
<p>Display npm username</p>
<h2 id="api-documentation">API Documentation</h2>
<p>Using npm in your Node programs</p>
-<h3 id="npm-3-"><a href="../api/npm.html">npm(3)</a></h3>
-<p>javascript package manager</p>
-<h3 id="npm-bin-3-"><a href="../api/npm-bin.html">npm-bin(3)</a></h3>
-<p>Display npm bin folder</p>
-<h3 id="npm-bugs-3-"><a href="../api/npm-bugs.html">npm-bugs(3)</a></h3>
-<p>Bugs for a package in a web browser maybe</p>
-<h3 id="npm-cache-3-"><a href="../api/npm-cache.html">npm-cache(3)</a></h3>
-<p>manage the npm cache programmatically</p>
-<h3 id="npm-commands-3-"><a href="../api/npm-commands.html">npm-commands(3)</a></h3>
-<p>npm commands</p>
-<h3 id="npm-config-3-"><a href="../api/npm-config.html">npm-config(3)</a></h3>
-<p>Manage the npm configuration files</p>
-<h3 id="npm-deprecate-3-"><a href="../api/npm-deprecate.html">npm-deprecate(3)</a></h3>
-<p>Deprecate a version of a package</p>
-<h3 id="npm-docs-3-"><a href="../api/npm-docs.html">npm-docs(3)</a></h3>
-<p>Docs for a package in a web browser maybe</p>
-<h3 id="npm-edit-3-"><a href="../api/npm-edit.html">npm-edit(3)</a></h3>
-<p>Edit an installed package</p>
-<h3 id="npm-explore-3-"><a href="../api/npm-explore.html">npm-explore(3)</a></h3>
-<p>Browse an installed package</p>
-<h3 id="npm-help-search-3-"><a href="../api/npm-help-search.html">npm-help-search(3)</a></h3>
-<p>Search the help pages</p>
-<h3 id="npm-init-3-"><a href="../api/npm-init.html">npm-init(3)</a></h3>
-<p>Interactively create a package.json file</p>
-<h3 id="npm-install-3-"><a href="../api/npm-install.html">npm-install(3)</a></h3>
-<p>install a package programmatically</p>
-<h3 id="npm-link-3-"><a href="../api/npm-link.html">npm-link(3)</a></h3>
-<p>Symlink a package folder</p>
-<h3 id="npm-load-3-"><a href="../api/npm-load.html">npm-load(3)</a></h3>
-<p>Load config settings</p>
-<h3 id="npm-ls-3-"><a href="../api/npm-ls.html">npm-ls(3)</a></h3>
-<p>List installed packages</p>
-<h3 id="npm-outdated-3-"><a href="../api/npm-outdated.html">npm-outdated(3)</a></h3>
-<p>Check for outdated packages</p>
-<h3 id="npm-owner-3-"><a href="../api/npm-owner.html">npm-owner(3)</a></h3>
-<p>Manage package owners</p>
-<h3 id="npm-pack-3-"><a href="../api/npm-pack.html">npm-pack(3)</a></h3>
-<p>Create a tarball from a package</p>
-<h3 id="npm-ping-3-"><a href="../api/npm-ping.html">npm-ping(3)</a></h3>
-<p>Ping npm registry</p>
-<h3 id="npm-prefix-3-"><a href="../api/npm-prefix.html">npm-prefix(3)</a></h3>
-<p>Display prefix</p>
-<h3 id="npm-prune-3-"><a href="../api/npm-prune.html">npm-prune(3)</a></h3>
-<p>Remove extraneous packages</p>
-<h3 id="npm-publish-3-"><a href="../api/npm-publish.html">npm-publish(3)</a></h3>
-<p>Publish a package</p>
-<h3 id="npm-rebuild-3-"><a href="../api/npm-rebuild.html">npm-rebuild(3)</a></h3>
-<p>Rebuild a package</p>
-<h3 id="npm-repo-3-"><a href="../api/npm-repo.html">npm-repo(3)</a></h3>
-<p>Open package repository page in the browser</p>
-<h3 id="npm-restart-3-"><a href="../api/npm-restart.html">npm-restart(3)</a></h3>
-<p>Restart a package</p>
-<h3 id="npm-root-3-"><a href="../api/npm-root.html">npm-root(3)</a></h3>
-<p>Display npm root</p>
-<h3 id="npm-run-script-3-"><a href="../api/npm-run-script.html">npm-run-script(3)</a></h3>
-<p>Run arbitrary package scripts</p>
-<h3 id="npm-search-3-"><a href="../api/npm-search.html">npm-search(3)</a></h3>
-<p>Search for packages</p>
-<h3 id="npm-shrinkwrap-3-"><a href="../api/npm-shrinkwrap.html">npm-shrinkwrap(3)</a></h3>
-<p>programmatically generate package shrinkwrap file</p>
-<h3 id="npm-start-3-"><a href="../api/npm-start.html">npm-start(3)</a></h3>
-<p>Start a package</p>
-<h3 id="npm-stop-3-"><a href="../api/npm-stop.html">npm-stop(3)</a></h3>
-<p>Stop a package</p>
-<h3 id="npm-tag-3-"><a href="../api/npm-tag.html">npm-tag(3)</a></h3>
-<p>Tag a published version</p>
-<h3 id="npm-test-3-"><a href="../api/npm-test.html">npm-test(3)</a></h3>
-<p>Test a package</p>
-<h3 id="npm-uninstall-3-"><a href="../api/npm-uninstall.html">npm-uninstall(3)</a></h3>
-<p>uninstall a package programmatically</p>
-<h3 id="npm-unpublish-3-"><a href="../api/npm-unpublish.html">npm-unpublish(3)</a></h3>
-<p>Remove a package from the registry</p>
-<h3 id="npm-update-3-"><a href="../api/npm-update.html">npm-update(3)</a></h3>
-<p>Update a package</p>
-<h3 id="npm-version-3-"><a href="../api/npm-version.html">npm-version(3)</a></h3>
-<p>Bump a package version</p>
-<h3 id="npm-view-3-"><a href="../api/npm-view.html">npm-view(3)</a></h3>
-<p>View registry info</p>
-<h3 id="npm-whoami-3-"><a href="../api/npm-whoami.html">npm-whoami(3)</a></h3>
-<p>Display npm username</p>
<h2 id="files">Files</h2>
<p>File system structures npm uses</p>
<h3 id="npm-folders-5-"><a href="../files/npm-folders.html">npm-folders(5)</a></h3>
@@ -220,8 +138,6 @@
<p>Frequently Asked Questions</p>
<h3 id="npm-index-7-"><a href="../misc/npm-index.html">npm-index(7)</a></h3>
<p>Index of all npm documentation</p>
-<h3 id="npm-orgs-7-"><a href="../misc/npm-orgs.html">npm-orgs(7)</a></h3>
-<p>Working with Teams &amp; Orgs</p>
<h3 id="npm-registry-7-"><a href="../misc/npm-registry.html">npm-registry(7)</a></h3>
<p>The JavaScript Package Registry</p>
<h3 id="npm-scope-7-"><a href="../misc/npm-scope.html">npm-scope(7)</a></h3>
@@ -244,5 +160,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-index &mdash; npm@2.14.7</p>
+<p id="footer">npm-index &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-orgs.html b/deps/npm/html/doc/misc/npm-orgs.html
index 8c6e768c25..2d92acc116 100644
--- a/deps/npm/html/doc/misc/npm-orgs.html
+++ b/deps/npm/html/doc/misc/npm-orgs.html
@@ -86,4 +86,4 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-orgs &mdash; npm@2.14.7</p>
+<p id="footer">npm-orgs &mdash; npm@3.3.7</p>
diff --git a/deps/npm/html/doc/misc/npm-registry.html b/deps/npm/html/doc/misc/npm-registry.html
index a622e53049..00065142ce 100644
--- a/deps/npm/html/doc/misc/npm-registry.html
+++ b/deps/npm/html/doc/misc/npm-registry.html
@@ -70,5 +70,5 @@ effectively implement the entire CouchDB API anyway.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-registry &mdash; npm@2.14.7</p>
+<p id="footer">npm-registry &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-scope.html b/deps/npm/html/doc/misc/npm-scope.html
index a2ac646333..de22c23db4 100644
--- a/deps/npm/html/doc/misc/npm-scope.html
+++ b/deps/npm/html/doc/misc/npm-scope.html
@@ -91,5 +91,5 @@ that registry instead.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-scope &mdash; npm@2.14.7</p>
+<p id="footer">npm-scope &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/npm-scripts.html b/deps/npm/html/doc/misc/npm-scripts.html
index 580535d2c5..62100d8260 100644
--- a/deps/npm/html/doc/misc/npm-scripts.html
+++ b/deps/npm/html/doc/misc/npm-scripts.html
@@ -207,5 +207,5 @@ scripts is for compilation which must be done on the target architecture.</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-scripts &mdash; npm@2.14.7</p>
+<p id="footer">npm-scripts &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/removing-npm.html b/deps/npm/html/doc/misc/removing-npm.html
index dc23b860d8..c41aa6d71d 100644
--- a/deps/npm/html/doc/misc/removing-npm.html
+++ b/deps/npm/html/doc/misc/removing-npm.html
@@ -57,5 +57,5 @@ modules. To track those down, you can do the following:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">removing-npm &mdash; npm@2.14.7</p>
+<p id="footer">removing-npm &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/doc/misc/semver.html b/deps/npm/html/doc/misc/semver.html
index de275ef6e9..3207ecacdb 100644
--- a/deps/npm/html/doc/misc/semver.html
+++ b/deps/npm/html/doc/misc/semver.html
@@ -282,5 +282,5 @@ range, use the <code>satisfies(version, range)</code> function.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">semver &mdash; npm@2.14.7</p>
+<p id="footer">semver &mdash; npm@3.3.6</p>
diff --git a/deps/npm/html/static/toc.js b/deps/npm/html/static/toc.js
index 2cfebd0aa9..7551e47efd 100644
--- a/deps/npm/html/static/toc.js
+++ b/deps/npm/html/static/toc.js
@@ -1,29 +1,29 @@
;(function () {
-var wrapper = document.getElementById("wrapper")
-var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
- .filter(function (el) {
- return el.parentNode === wrapper
- && el.tagName.match(/H[1-6]/)
- && el.id
- })
-var l = 2
- , toc = document.createElement("ul")
-toc.innerHTML = els.map(function (el) {
- var i = el.tagName.charAt(1)
- , out = ""
- while (i > l) {
- out += "<ul>"
- l ++
- }
- while (i < l) {
- out += "</ul>"
- l --
- }
- out += "<li><a href='#" + el.id + "'>" +
- ( el.innerText || el.text || el.innerHTML)
- + "</a>"
- return out
-}).join("\n")
-toc.id = "toc"
-document.body.appendChild(toc)
-})();
+ var wrapper = document.getElementById('wrapper')
+ var els = Array.prototype.slice.call(wrapper.getElementsByTagName('*'), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper &&
+ el.tagName.match(/H[1-6]/) &&
+ el.id
+ })
+ var l = 2
+ var toc = document.createElement('ul')
+ toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ var out = ''
+ while (i > l) {
+ out += '<ul>'
+ l++
+ }
+ while (i < l) {
+ out += '</ul>'
+ l--
+ }
+ out += '<li><a href=\'#' + el.id + '\'>' +
+ (el.innerText || el.text || el.innerHTML) +
+ '</a>'
+ return out
+ }).join('\n')
+ toc.id = 'toc'
+ document.body.appendChild(toc)
+})()
diff --git a/deps/npm/lib/access.js b/deps/npm/lib/access.js
index 790a760cb7..25a482a20e 100644
--- a/deps/npm/lib/access.js
+++ b/deps/npm/lib/access.js
@@ -35,6 +35,7 @@ access.completion = function (opts, cb) {
} else {
return cb(null, [])
}
+ break
case 'public':
case 'restricted':
case 'ls-packages':
diff --git a/deps/npm/lib/adduser.js b/deps/npm/lib/adduser.js
index 367f3ba0d9..630a2c5e6f 100644
--- a/deps/npm/lib/adduser.js
+++ b/deps/npm/lib/adduser.js
@@ -1,30 +1,32 @@
-
module.exports = adduser
-var log = require("npmlog")
- , npm = require("./npm.js")
- , read = require("read")
- , userValidate = require("npm-user-validate")
- , crypto
+var log = require('npmlog')
+var npm = require('./npm.js')
+var read = require('read')
+var userValidate = require('npm-user-validate')
+var crypto
try {
- crypto = require("crypto")
+ crypto = require('crypto')
} catch (ex) {}
-adduser.usage = "npm adduser\nThen enter stuff at the prompts"
+adduser.usage = 'npm adduser [--registry=url] [--scope=@orgname] [--always-auth]'
function adduser (args, cb) {
- npm.spinner.stop()
- if (!crypto) return cb(new Error(
- "You must compile node with ssl support to use the adduser feature"))
-
- var creds = npm.config.getCredentialsByURI(npm.config.get("registry"))
- var c = { u : creds.username || ""
- , p : creds.password || ""
- , e : creds.email || ""
- }
- , u = {}
- , fns = [readUsername, readPassword, readEmail, save]
+ if (!crypto) {
+ return cb(new Error(
+ 'You must compile node with ssl support to use the adduser feature'
+ ))
+ }
+
+ var creds = npm.config.getCredentialsByURI(npm.config.get('registry'))
+ var c = {
+ u: creds.username || '',
+ p: creds.password || '',
+ e: creds.email || ''
+ }
+ var u = {}
+ var fns = [readUsername, readPassword, readEmail, save]
loop()
function loop (er) {
@@ -37,9 +39,9 @@ function adduser (args, cb) {
function readUsername (c, u, cb) {
var v = userValidate.username
- read({prompt: "Username: ", default: c.u || ""}, function (er, un) {
+ read({prompt: 'Username: ', default: c.u || ''}, function (er, un) {
if (er) {
- return cb(er.message === "cancelled" ? er.message : er)
+ return cb(er.message === 'cancelled' ? er.message : er)
}
// make sure it's valid. we have to do this here, because
@@ -68,17 +70,17 @@ function readPassword (c, u, cb) {
var prompt
if (c.p && !c.changed) {
- prompt = "Password: (or leave unchanged) "
+ prompt = 'Password: (or leave unchanged) '
} else {
- prompt = "Password: "
+ prompt = 'Password: '
}
read({prompt: prompt, silent: true}, function (er, pw) {
if (er) {
- return cb(er.message === "cancelled" ? er.message : er)
+ return cb(er.message === 'cancelled' ? er.message : er)
}
- if (!c.changed && pw === "") {
+ if (!c.changed && pw === '') {
// when the username was not changed,
// empty response means "use the old value"
pw = c.p
@@ -102,10 +104,10 @@ function readPassword (c, u, cb) {
function readEmail (c, u, cb) {
var v = userValidate.email
- var r = { prompt: "Email: (this IS public) ", default: c.e || "" }
+ var r = { prompt: 'Email: (this IS public) ', default: c.e || '' }
read(r, function (er, em) {
if (er) {
- return cb(er.message === "cancelled" ? er.message : er)
+ return cb(er.message === 'cancelled' ? er.message : er)
}
if (!em) {
@@ -124,52 +126,48 @@ function readEmail (c, u, cb) {
}
function save (c, u, cb) {
- npm.spinner.start()
-
// save existing configs, but yank off for this PUT
- var uri = npm.config.get("registry")
- var scope = npm.config.get("scope")
+ var uri = npm.config.get('registry')
+ var scope = npm.config.get('scope')
// there may be a saved scope and no --registry (for login)
if (scope) {
- if (scope.charAt(0) !== "@") scope = "@" + scope
+ if (scope.charAt(0) !== '@') scope = '@' + scope
- var scopedRegistry = npm.config.get(scope + ":registry")
- var cliRegistry = npm.config.get("registry", "cli")
+ var scopedRegistry = npm.config.get(scope + ':registry')
+ var cliRegistry = npm.config.get('registry', 'cli')
if (scopedRegistry && !cliRegistry) uri = scopedRegistry
}
var params = {
- auth : {
- username : u.u,
- password : u.p,
- email : u.e
+ auth: {
+ username: u.u,
+ password: u.p,
+ email: u.e
}
}
npm.registry.adduser(uri, params, function (er, doc) {
- npm.spinner.stop()
if (er) return cb(er)
// don't want this polluting the configuration
- npm.config.del("_token", "user")
+ npm.config.del('_token', 'user')
- if (scope) npm.config.set(scope + ":registry", uri, "user")
+ if (scope) npm.config.set(scope + ':registry', uri, 'user')
if (doc && doc.token) {
npm.config.setCredentialsByURI(uri, {
- token : doc.token
+ token: doc.token
})
- }
- else {
+ } else {
npm.config.setCredentialsByURI(uri, {
- username : u.u,
- password : u.p,
- email : u.e,
- alwaysAuth : npm.config.get("always-auth")
+ username: u.u,
+ password: u.p,
+ email: u.e,
+ alwaysAuth: npm.config.get('always-auth')
})
}
- log.info("adduser", "Authorized user %s", u.u)
- npm.config.save("user", cb)
+ log.info('adduser', 'Authorized user %s', u.u)
+ npm.config.save('user', cb)
})
}
diff --git a/deps/npm/lib/bin.js b/deps/npm/lib/bin.js
index 5465112d88..2e02617d35 100644
--- a/deps/npm/lib/bin.js
+++ b/deps/npm/lib/bin.js
@@ -1,19 +1,22 @@
module.exports = bin
-var npm = require("./npm.js")
-var osenv = require("osenv")
+var npm = require('./npm.js')
+var osenv = require('osenv')
-bin.usage = "npm bin\nnpm bin -g\n(just prints the bin folder)"
+bin.usage = 'npm bin [--global]'
function bin (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
var b = npm.bin
- , PATH = osenv.path()
+ var PATH = osenv.path()
if (!silent) console.log(b)
process.nextTick(cb.bind(this, null, b))
- if (npm.config.get("global") && PATH.indexOf(b) === -1) {
- npm.config.get("logstream").write("(not in PATH env variable)\n")
+ if (npm.config.get('global') && PATH.indexOf(b) === -1) {
+ npm.config.get('logstream').write('(not in PATH env variable)\n')
}
}
diff --git a/deps/npm/lib/bugs.js b/deps/npm/lib/bugs.js
index 306d9bb4bf..d42e68faa5 100644
--- a/deps/npm/lib/bugs.js
+++ b/deps/npm/lib/bugs.js
@@ -1,16 +1,11 @@
-
module.exports = bugs
-bugs.usage = "npm bugs <pkgname>"
+bugs.usage = 'npm bugs [<pkgname>]'
-var npm = require("./npm.js")
- , log = require("npmlog")
- , opener = require("opener")
- , path = require("path")
- , readJson = require("read-package-json")
- , npa = require("npm-package-arg")
- , fs = require("fs")
- , mapToRegistry = require("./utils/map-to-registry.js")
+var npm = require('./npm.js')
+var log = require('npmlog')
+var opener = require('opener')
+var fetchPackageMetadata = require('./fetch-package-metadata.js')
bugs.completion = function (opts, cb) {
// FIXME: there used to be registry completion here, but it stopped making
@@ -19,51 +14,15 @@ bugs.completion = function (opts, cb) {
}
function bugs (args, cb) {
- var n = args.length && npa(args[0]).name || "."
- fs.stat(n, function (er, s) {
- if (er) {
- if (er.code === "ENOENT") return callRegistry(n, cb)
- return cb(er)
- }
- if (!s.isDirectory()) return callRegistry(n, cb)
- readJson(path.resolve(n, "package.json"), function(er, d) {
- if (er) return cb(er)
- getUrlAndOpen(d, cb)
- })
- })
-}
-
-function getUrlAndOpen (d, cb) {
- var repo = d.repository || d.repositories
- , url
- if (d.bugs) {
- url = (typeof d.bugs === "string") ? d.bugs : d.bugs.url
- }
- else if (repo) {
- if (Array.isArray(repo)) repo = repo.shift()
- if (repo.hasOwnProperty("url")) repo = repo.url
- log.verbose("bugs", "repository", repo)
- if (repo && repo.match(/^(https?:\/\/|git(:\/\/|@))github.com/)) {
- url = repo.replace(/^git(@|:\/\/)/, "https://")
- .replace(/^https?:\/\/github.com:/, "https://github.com/")
- .replace(/\.git$/, "")+"/issues"
- }
- }
- if (!url) {
- url = "https://www.npmjs.org/package/" + d.name
- }
- log.silly("bugs", "url", url)
- opener(url, { command: npm.config.get("browser") }, cb)
-}
-
-function callRegistry (name, cb) {
- mapToRegistry(name, npm.config, function (er, uri, auth) {
+ var n = args.length ? args[0] : '.'
+ fetchPackageMetadata(n, '.', function (er, d) {
if (er) return cb(er)
- npm.registry.get(uri + "/latest", { auth : auth }, function (er, d) {
- if (er) return cb(er)
-
- getUrlAndOpen(d, cb)
- })
+ var url = d.bugs && ((typeof d.bugs === 'string') ? d.bugs : d.bugs.url)
+ if (!url) {
+ url = 'https://www.npmjs.org/package/' + d.name
+ }
+ log.silly('bugs', 'url', url)
+ opener(url, { command: npm.config.get('browser') }, cb)
})
}
diff --git a/deps/npm/lib/build.js b/deps/npm/lib/build.js
index 1f2d2efceb..8d62cb61f8 100644
--- a/deps/npm/lib/build.js
+++ b/deps/npm/lib/build.js
@@ -7,100 +7,112 @@
// This runs AFTER install or link are completed.
-var npm = require("./npm.js")
- , log = require("npmlog")
- , chain = require("slide").chain
- , fs = require("graceful-fs")
- , path = require("path")
- , lifecycle = require("./utils/lifecycle.js")
- , readJson = require("read-package-json")
- , link = require("./utils/link.js")
- , linkIfExists = link.ifExists
- , cmdShim = require("cmd-shim")
- , cmdShimIfExists = cmdShim.ifExists
- , asyncMap = require("slide").asyncMap
- , ini = require("ini")
- , writeFile = require("write-file-atomic")
+var npm = require('./npm.js')
+var log = require('npmlog')
+var chain = require('slide').chain
+var fs = require('graceful-fs')
+var path = require('path')
+var lifecycle = require('./utils/lifecycle.js')
+var readJson = require('read-package-json')
+var link = require('./utils/link.js')
+var linkIfExists = link.ifExists
+var cmdShim = require('cmd-shim')
+var cmdShimIfExists = cmdShim.ifExists
+var asyncMap = require('slide').asyncMap
+var ini = require('ini')
+var writeFile = require('write-file-atomic')
+var getPackageId = require('./install/get-package-id.js')
module.exports = build
-build.usage = "npm build <folder>\n(this is plumbing)"
+build.usage = 'npm build [<folder>]'
build._didBuild = {}
build._noLC = {}
function build (args, global, didPre, didRB, cb) {
- if (typeof cb !== "function") cb = didRB, didRB = false
- if (typeof cb !== "function") cb = didPre, didPre = false
- if (typeof cb !== "function") {
- cb = global, global = npm.config.get("global")
+ if (typeof cb !== 'function') {
+ cb = didRB
+ didRB = false
}
+ if (typeof cb !== 'function') {
+ cb = didPre
+ didPre = false
+ }
+ if (typeof cb !== 'function') {
+ cb = global
+ global = npm.config.get('global')
+ }
+
// it'd be nice to asyncMap these, but actually, doing them
// in parallel generally munges up the output from node-waf
var builder = build_(global, didPre, didRB)
- chain(args.map(function (arg) { return function (cb) {
- builder(arg, cb)
- }}), cb)
+ chain(args.map(function (arg) {
+ return function (cb) {
+ builder(arg, cb)
+ }
+ }), cb)
}
-function build_ (global, didPre, didRB) { return function (folder, cb) {
- folder = path.resolve(folder)
- if (build._didBuild[folder]) log.info("build", "already built", folder)
- build._didBuild[folder] = true
- log.info("build", folder)
- readJson(path.resolve(folder, "package.json"), function (er, pkg) {
- if (er) return cb(er)
- chain
- ( [ !didPre && [lifecycle, pkg, "preinstall", folder]
- , [linkStuff, pkg, folder, global, didRB]
- , [writeBuiltinConf, pkg, folder]
- , didPre !== build._noLC && [lifecycle, pkg, "install", folder]
- , didPre !== build._noLC && [lifecycle, pkg, "postinstall", folder]
- , didPre !== build._noLC
- && npm.config.get("npat")
- && [lifecycle, pkg, "test", folder] ]
- , cb )
- })
-}}
+function build_ (global, didPre, didRB) {
+ return function (folder, cb) {
+ folder = path.resolve(folder)
+ if (build._didBuild[folder]) log.info('build', 'already built', folder)
+ build._didBuild[folder] = true
+ log.info('build', folder)
+ readJson(path.resolve(folder, 'package.json'), function (er, pkg) {
+ if (er) return cb(er)
+ chain([
+ !didPre && [lifecycle, pkg, 'preinstall', folder],
+ [linkStuff, pkg, folder, global, didRB],
+ [writeBuiltinConf, pkg, folder],
+ didPre !== build._noLC && [lifecycle, pkg, 'install', folder],
+ didPre !== build._noLC && [lifecycle, pkg, 'postinstall', folder],
+ didPre !== build._noLC && npm.config.get('npat') && [lifecycle, pkg, 'test', folder]
+ ],
+ cb)
+ })
+ }
+}
-function writeBuiltinConf (pkg, folder, cb) {
+var writeBuiltinConf = build.writeBuiltinConf = function (pkg, folder, cb) {
// the builtin config is "sticky". Any time npm installs
// itself globally, it puts its builtin config file there
var parent = path.dirname(folder)
var dir = npm.globalDir
- if (pkg.name !== "npm" ||
- !npm.config.get("global") ||
+ if (pkg.name !== 'npm' ||
+ !npm.config.get('global') ||
!npm.config.usingBuiltin ||
dir !== parent) {
return cb()
}
var data = ini.stringify(npm.config.sources.builtin.data)
- writeFile(path.resolve(folder, "npmrc"), data, cb)
+ writeFile(path.resolve(folder, 'npmrc'), data, cb)
}
-function linkStuff (pkg, folder, global, didRB, cb) {
+var linkStuff = build.linkStuff = function (pkg, folder, global, didRB, cb) {
// allow to opt out of linking binaries.
- if (npm.config.get("bin-links") === false) return cb()
+ if (npm.config.get('bin-links') === false) return cb()
// if it's global, and folder is in {prefix}/node_modules,
// then bins are in {prefix}/bin
// otherwise, then bins are in folder/../.bin
- var parent = pkg.name[0] === '@' ? path.dirname(path.dirname(folder)) : path.dirname(folder)
+ var parent = pkg.name && pkg.name[0] === '@' ? path.dirname(path.dirname(folder)) : path.dirname(folder)
var gnm = global && npm.globalDir
var gtop = parent === gnm
- log.info('linkStuff', pkg._id)
- log.silly('linkStuff', pkg._id, 'has', parent, 'as its parent node_modules')
- if (global) log.silly('linkStuff', pkg._id, 'is part of a global install')
- if (gnm) log.silly('linkStuff', pkg._id, 'is installed into a global node_modules')
- if (gtop) log.silly('linkStuff', pkg._id, 'is installed into the top-level global node_modules')
+ log.info('linkStuff', getPackageId(pkg))
+ log.silly('linkStuff', getPackageId(pkg), 'has', parent, 'as its parent node_modules')
+ if (global) log.silly('linkStuff', getPackageId(pkg), 'is part of a global install')
+ if (gnm) log.silly('linkStuff', getPackageId(pkg), 'is installed into a global node_modules')
+ if (gtop) log.silly('linkStuff', getPackageId(pkg), 'is installed into the top-level global node_modules')
shouldWarn(pkg, folder, global, function () {
asyncMap(
[linkBins, linkMans, !didRB && rebuildBundles],
function (fn, cb) {
if (!fn) return cb()
- log.verbose(fn.name, pkg._id)
+ log.verbose(fn.name, getPackageId(pkg))
fn(pkg, folder, parent, gtop, cb)
},
cb
@@ -108,16 +120,16 @@ function linkStuff (pkg, folder, global, didRB, cb) {
})
}
-function shouldWarn(pkg, folder, global, cb) {
+function shouldWarn (pkg, folder, global, cb) {
var parent = path.dirname(folder)
- , top = parent === npm.dir
- , cwd = npm.localPrefix
+ var top = parent === npm.dir
+ var cwd = npm.localPrefix
- readJson(path.resolve(cwd, "package.json"), function(er, topPkg) {
+ readJson(path.resolve(cwd, 'package.json'), function (er, topPkg) {
if (er) return cb(er)
var linkedPkg = path.basename(cwd)
- , currentPkg = path.basename(folder)
+ var currentPkg = path.basename(folder)
// current searched package is the linked package on first call
if (linkedPkg !== currentPkg) {
@@ -128,7 +140,7 @@ function shouldWarn(pkg, folder, global, cb) {
.indexOf(currentPkg) === -1) {
if (top && pkg.preferGlobal && !global) {
- log.warn("prefer global", pkg._id + " should be installed with -g")
+ log.warn('prefer global', getPackageId(pkg) + ' should be installed with -g')
}
}
}
@@ -138,76 +150,81 @@ function shouldWarn(pkg, folder, global, cb) {
}
function rebuildBundles (pkg, folder, parent, gtop, cb) {
- if (!npm.config.get("rebuild-bundle")) return cb()
+ if (!npm.config.get('rebuild-bundle')) return cb()
var deps = Object.keys(pkg.dependencies || {})
.concat(Object.keys(pkg.devDependencies || {}))
- , bundles = pkg.bundleDependencies || pkg.bundledDependencies || []
+ var bundles = pkg.bundleDependencies || pkg.bundledDependencies || []
- fs.readdir(path.resolve(folder, "node_modules"), function (er, files) {
+ fs.readdir(path.resolve(folder, 'node_modules'), function (er, files) {
// error means no bundles
if (er) return cb()
- log.verbose("rebuildBundles", files)
+ log.verbose('rebuildBundles', files)
// don't asyncMap these, because otherwise build script output
// gets interleaved and is impossible to read
chain(files.filter(function (file) {
// rebuild if:
// not a .folder, like .bin or .hooks
- return !file.match(/^[\._-]/)
+ return !file.match(/^[\._-]/) &&
// not some old 0.x style bundle
- && file.indexOf("@") === -1
+ file.indexOf('@') === -1 &&
// either not a dep, or explicitly bundled
- && (deps.indexOf(file) === -1 || bundles.indexOf(file) !== -1)
+ (deps.indexOf(file) === -1 || bundles.indexOf(file) !== -1)
}).map(function (file) {
- file = path.resolve(folder, "node_modules", file)
+ file = path.resolve(folder, 'node_modules', file)
return function (cb) {
if (build._didBuild[file]) return cb()
- log.verbose("rebuild bundle", file)
+ log.verbose('rebuild bundle', file)
// if file is not a package dir, then don't do it.
- fs.lstat(path.resolve(file, "package.json"), function (er) {
+ fs.lstat(path.resolve(file, 'package.json'), function (er) {
if (er) return cb()
build_(false)(file, cb)
})
- }}), cb)
+ }
+ }), cb)
})
}
function linkBins (pkg, folder, parent, gtop, cb) {
- if (!pkg.bin || !gtop && path.basename(parent) !== "node_modules") {
+ if (!pkg.bin || !gtop && path.basename(parent) !== 'node_modules') {
return cb()
}
var binRoot = gtop ? npm.globalBin
- : path.resolve(parent, ".bin")
- log.verbose("link bins", [pkg.bin, binRoot, gtop])
+ : path.resolve(parent, '.bin')
+ log.verbose('link bins', [pkg.bin, binRoot, gtop])
asyncMap(Object.keys(pkg.bin), function (b, cb) {
- linkBin( path.resolve(folder, pkg.bin[b])
- , path.resolve(binRoot, b)
- , gtop && folder
- , function (er) {
- if (er) return cb(er)
- // bins should always be executable.
- // XXX skip chmod on windows?
- var src = path.resolve(folder, pkg.bin[b])
- fs.chmod(src, npm.modes.exec, function (er) {
- if (er && er.code === "ENOENT" && npm.config.get("ignore-scripts")) {
- return cb()
- }
- if (er || !gtop) return cb(er)
- var dest = path.resolve(binRoot, b)
- , out = npm.config.get("parseable")
- ? dest + "::" + src + ":BINFILE"
- : dest + " -> " + src
- console.log(out)
- cb()
- })
- })
+ linkBin(
+ path.resolve(folder, pkg.bin[b]),
+ path.resolve(binRoot, b),
+ gtop && folder,
+ function (er) {
+ if (er) return cb(er)
+ // bins should always be executable.
+ // XXX skip chmod on windows?
+ var src = path.resolve(folder, pkg.bin[b])
+ fs.chmod(src, npm.modes.exec, function (er) {
+ if (er && er.code === 'ENOENT' && npm.config.get('ignore-scripts')) {
+ return cb()
+ }
+ if (er || !gtop) return cb(er)
+ var dest = path.resolve(binRoot, b)
+ var out = npm.config.get('parseable')
+ ? dest + '::' + src + ':BINFILE'
+ : dest + ' -> ' + src
+ log.clearProgress()
+ console.log(out)
+ log.showProgress()
+ cb()
+ })
+ }
+ )
}, cb)
}
function linkBin (from, to, gently, cb) {
- if (process.platform !== "win32") {
+ if (process.platform !== 'win32') {
return linkIfExists(from, to, gently, cb)
} else {
return cmdShimIfExists(from, to, cb)
@@ -215,10 +232,10 @@ function linkBin (from, to, gently, cb) {
}
function linkMans (pkg, folder, parent, gtop, cb) {
- if (!pkg.man || !gtop || process.platform === "win32") return cb()
+ if (!pkg.man || !gtop || process.platform === 'win32') return cb()
- var manRoot = path.resolve(npm.config.get("prefix"), "share", "man")
- log.verbose("linkMans", "man files are", pkg.man, "in", manRoot)
+ var manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
+ log.verbose('linkMans', 'man files are', pkg.man, 'in', manRoot)
// make sure that the mans are unique.
// otherwise, if there are dupes, it'll fail with EEXIST
@@ -231,14 +248,14 @@ function linkMans (pkg, folder, parent, gtop, cb) {
})
asyncMap(pkg.man, function (man, cb) {
- if (typeof man !== "string") return cb()
- log.silly("linkMans", "preparing to link", man)
+ if (typeof man !== 'string') return cb()
+ log.silly('linkMans', 'preparing to link', man)
var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
if (!parseMan) {
return cb(new Error(
- man+" is not a valid name for a man file. " +
- "Man files must end with a number, " +
- "and optionally a .gz suffix if they are compressed."
+ man + ' is not a valid name for a man file. ' +
+ 'Man files must end with a number, ' +
+ 'and optionally a .gz suffix if they are compressed.'
))
}
@@ -246,7 +263,7 @@ function linkMans (pkg, folder, parent, gtop, cb) {
var sxn = parseMan[2]
var bn = path.basename(stem)
var manSrc = path.resolve(folder, man)
- var manDest = path.join(manRoot, "man" + sxn, bn)
+ var manDest = path.join(manRoot, 'man' + sxn, bn)
linkIfExists(manSrc, manDest, gtop && folder, cb)
}, cb)
diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js
index 2e11be32f8..b4b04819c9 100644
--- a/deps/npm/lib/cache.js
+++ b/deps/npm/lib/cache.js
@@ -60,54 +60,54 @@ cache.unpack = unpack
cache.clean = clean
cache.read = read
-var npm = require("./npm.js")
- , fs = require("graceful-fs")
- , writeFileAtomic = require("write-file-atomic")
- , assert = require("assert")
- , rm = require("./utils/gently-rm.js")
- , readJson = require("read-package-json")
- , log = require("npmlog")
- , path = require("path")
- , asyncMap = require("slide").asyncMap
- , tar = require("./utils/tar.js")
- , fileCompletion = require("./utils/completion/file-completion.js")
- , deprCheck = require("./utils/depr-check.js")
- , addNamed = require("./cache/add-named.js")
- , addLocal = require("./cache/add-local.js")
- , addRemoteTarball = require("./cache/add-remote-tarball.js")
- , addRemoteGit = require("./cache/add-remote-git.js")
- , inflight = require("inflight")
- , realizePackageSpecifier = require("realize-package-specifier")
- , npa = require("npm-package-arg")
- , getStat = require("./cache/get-stat.js")
- , cachedPackageRoot = require("./cache/cached-package-root.js")
- , mapToRegistry = require("./utils/map-to-registry.js")
-
-cache.usage = "npm cache add <tarball file>"
- + "\nnpm cache add <folder>"
- + "\nnpm cache add <tarball url>"
- + "\nnpm cache add <git url>"
- + "\nnpm cache add <name>@<version>"
- + "\nnpm cache ls [<path>]"
- + "\nnpm cache clean [<pkg>[@<version>]]"
+var npm = require('./npm.js')
+var fs = require('graceful-fs')
+var writeFileAtomic = require('write-file-atomic')
+var assert = require('assert')
+var rm = require('./utils/gently-rm.js')
+var readJson = require('read-package-json')
+var log = require('npmlog')
+var path = require('path')
+var asyncMap = require('slide').asyncMap
+var tar = require('./utils/tar.js')
+var fileCompletion = require('./utils/completion/file-completion.js')
+var deprCheck = require('./utils/depr-check.js')
+var addNamed = require('./cache/add-named.js')
+var addLocal = require('./cache/add-local.js')
+var addRemoteTarball = require('./cache/add-remote-tarball.js')
+var addRemoteGit = require('./cache/add-remote-git.js')
+var inflight = require('inflight')
+var realizePackageSpecifier = require('realize-package-specifier')
+var npa = require('npm-package-arg')
+var getStat = require('./cache/get-stat.js')
+var cachedPackageRoot = require('./cache/cached-package-root.js')
+var mapToRegistry = require('./utils/map-to-registry.js')
+
+cache.usage = 'npm cache add <tarball file>' +
+ '\nnpm cache add <folder>' +
+ '\nnpm cache add <tarball url>' +
+ '\nnpm cache add <git url>' +
+ '\nnpm cache add <name>@<version>' +
+ '\nnpm cache ls [<path>]' +
+ '\nnpm cache clean [<pkg>[@<version>]]'
cache.completion = function (opts, cb) {
var argv = opts.conf.argv.remain
if (argv.length === 2) {
- return cb(null, ["add", "ls", "clean"])
+ return cb(null, ['add', 'ls', 'clean'])
}
switch (argv[2]) {
- case "clean":
- case "ls":
+ case 'clean':
+ case 'ls':
// cache and ls are easy, because the completion is
// what ls_ returns anyway.
// just get the partial words, minus the last path part
- var p = path.dirname(opts.partialWords.slice(3).join("/"))
- if (p === ".") p = ""
+ var p = path.dirname(opts.partialWords.slice(3).join('/'))
+ if (p === '.') p = ''
return ls_(p, 2, cb)
- case "add":
+ case 'add':
// Same semantics as install and publish.
return npm.commands.install.completion(opts, cb)
}
@@ -116,10 +116,10 @@ cache.completion = function (opts, cb) {
function cache (args, cb) {
var cmd = args.shift()
switch (cmd) {
- case "rm": case "clear": case "clean": return clean(args, cb)
- case "list": case "sl": case "ls": return ls(args, cb)
- case "add": return add(args, npm.prefix, cb)
- default: return cb("Usage: "+cache.usage)
+ case 'rm': case 'clear': case 'clean': return clean(args, cb)
+ case 'list': case 'sl': case 'ls': return ls(args, cb)
+ case 'add': return add(args, npm.prefix, cb)
+ default: return cb('Usage: ' + cache.usage)
}
}
@@ -127,30 +127,30 @@ function cache (args, cb) {
// just do a readJson and return.
// if they're not, then fetch them from the registry.
function read (name, ver, forceBypass, cb) {
- assert(typeof name === "string", "must include name of module to install")
- assert(typeof cb === "function", "must include callback")
+ assert(typeof name === 'string', 'must include name of module to install')
+ assert(typeof cb === 'function', 'must include callback')
if (forceBypass === undefined || forceBypass === null) forceBypass = true
- var root = cachedPackageRoot({name : name, version : ver})
+ var root = cachedPackageRoot({name: name, version: ver})
function c (er, data) {
- if (er) log.verbose("cache", "addNamed error for", name+"@"+ver, er)
+ if (er) log.verbose('cache', 'addNamed error for', name + '@' + ver, er)
if (data) deprCheck(data)
return cb(er, data)
}
- if (forceBypass && npm.config.get("force")) {
- log.verbose("using force", "skipping cache")
+ if (forceBypass && npm.config.get('force')) {
+ log.verbose('using force', 'skipping cache')
return addNamed(name, ver, null, c)
}
- readJson(path.join(root, "package", "package.json"), function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ readJson(path.join(root, 'package', 'package.json'), function (er, data) {
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
if (data) {
- if (!data.name) return cb(new Error("No name provided"))
- if (!data.version) return cb(new Error("No version provided"))
+ if (!data.name) return cb(new Error('No name provided'))
+ if (!data.version) return cb(new Error('No version provided'))
}
if (er) return addNamed(name, ver, null, c)
@@ -159,33 +159,33 @@ function read (name, ver, forceBypass, cb) {
}
function normalize (args) {
- var normalized = ""
+ var normalized = ''
if (args.length > 0) {
var a = npa(args[0])
if (a.name) normalized = a.name
- if (a.rawSpec) normalized = [normalized, a.rawSpec].join("/")
- if (args.length > 1) normalized = [normalized].concat(args.slice(1)).join("/")
+ if (a.rawSpec) normalized = [normalized, a.rawSpec].join('/')
+ if (args.length > 1) normalized = [normalized].concat(args.slice(1)).join('/')
}
- if (normalized.substr(-1) === "/") {
+ if (normalized.substr(-1) === '/') {
normalized = normalized.substr(0, normalized.length - 1)
}
normalized = path.normalize(normalized)
- log.silly("ls", "normalized", normalized)
+ log.silly('ls', 'normalized', normalized)
return normalized
}
// npm cache ls [<path>]
function ls (args, cb) {
- var prefix = npm.config.get("cache")
+ var prefix = npm.config.get('cache')
if (prefix.indexOf(process.env.HOME) === 0) {
- prefix = "~" + prefix.substr(process.env.HOME.length)
+ prefix = '~' + prefix.substr(process.env.HOME.length)
}
- ls_(normalize(args), npm.config.get("depth"), function (er, files) {
+ ls_(normalize(args), npm.config.get('depth'), function (er, files) {
console.log(files.map(function (f) {
return path.join(prefix, f)
- }).join("\n").trim())
+ }).join('\n').trim())
cb(er, files)
})
}
@@ -197,7 +197,7 @@ function ls_ (req, depth, cb) {
// npm cache clean [<path>]
function clean (args, cb) {
- assert(typeof cb === "function", "must include callback")
+ assert(typeof cb === 'function', 'must include callback')
if (!args) args = []
@@ -205,15 +205,17 @@ function clean (args, cb) {
if (f === npm.cache) {
fs.readdir(npm.cache, function (er, files) {
if (er) return cb()
- asyncMap( files.filter(function (f) {
- return npm.config.get("force") || f !== "-"
- }).map(function (f) {
- return path.join(npm.cache, f)
- })
- , rm, cb )
+ asyncMap(
+ files.filter(function (f) {
+ return npm.config.get('force') || f !== '-'
+ }).map(function (f) {
+ return path.join(npm.cache, f)
+ }),
+ rm,
+ cb
+ )
})
- }
- else {
+ } else {
rm(f, cb)
}
}
@@ -223,8 +225,8 @@ function clean (args, cb) {
// npm cache add <tarball>
// npm cache add <folder>
cache.add = function (pkg, ver, where, scrub, cb) {
- assert(typeof pkg === "string", "must include name of package to install")
- assert(typeof cb === "function", "must include callback")
+ assert(typeof pkg === 'string', 'must include name of package to install')
+ assert(typeof cb === 'function', 'must include callback')
if (scrub) {
return clean([], function (er) {
@@ -235,67 +237,63 @@ cache.add = function (pkg, ver, where, scrub, cb) {
return add([pkg, ver], where, cb)
}
-
var adding = 0
function add (args, where, cb) {
// this is hot code. almost everything passes through here.
// the args can be any of:
- // ["url"]
- // ["pkg", "version"]
- // ["pkg@version"]
- // ["pkg", "url"]
+ // ['url']
+ // ['pkg', 'version']
+ // ['pkg@version']
+ // ['pkg', 'url']
// This is tricky, because urls can contain @
// Also, in some cases we get [name, null] rather
// that just a single argument.
- var usage = "Usage:\n"
- + " npm cache add <tarball-url>\n"
- + " npm cache add <pkg>@<ver>\n"
- + " npm cache add <tarball>\n"
- + " npm cache add <folder>\n"
- , spec
+ var usage = 'Usage:\n' +
+ ' npm cache add <tarball-url>\n' +
+ ' npm cache add <pkg>@<ver>\n' +
+ ' npm cache add <tarball>\n' +
+ ' npm cache add <folder>\n'
+ var spec
- log.silly("cache add", "args", args)
+ log.silly('cache add', 'args', args)
if (args[1] === undefined) args[1] = null
// at this point the args length must ==2
if (args[1] !== null) {
- spec = args[0]+"@"+args[1]
+ spec = args[0] + '@' + args[1]
} else if (args.length === 2) {
spec = args[0]
}
- log.verbose("cache add", "spec", spec)
+ log.verbose('cache add', 'spec', spec)
if (!spec) return cb(usage)
- if (adding <= 0) {
- npm.spinner.start()
- }
adding++
cb = afterAdd(cb)
realizePackageSpecifier(spec, where, function (err, p) {
if (err) return cb(err)
- log.silly("cache add", "parsed spec", p)
+ log.silly('cache add', 'parsed spec', p)
switch (p.type) {
- case "local":
- case "directory":
+ case 'local':
+ case 'directory':
addLocal(p, null, cb)
break
- case "remote":
+ case 'remote':
// get auth, if possible
mapToRegistry(spec, npm.config, function (err, uri, auth) {
if (err) return cb(err)
- addRemoteTarball(p.spec, {name : p.name}, null, auth, cb)
+ addRemoteTarball(p.spec, { name: p.name }, null, auth, cb)
})
break
- case "git":
- case "hosted":
+ case 'git':
+ case 'hosted':
addRemoteGit(p.rawSpec, cb)
break
default:
@@ -307,47 +305,62 @@ function add (args, where, cb) {
}
function unpack (pkg, ver, unpackTarget, dMode, fMode, uid, gid, cb) {
- if (typeof cb !== "function") cb = gid, gid = null
- if (typeof cb !== "function") cb = uid, uid = null
- if (typeof cb !== "function") cb = fMode, fMode = null
- if (typeof cb !== "function") cb = dMode, dMode = null
+ if (typeof cb !== 'function') {
+ cb = gid
+ gid = null
+ }
+ if (typeof cb !== 'function') {
+ cb = uid
+ uid = null
+ }
+ if (typeof cb !== 'function') {
+ cb = fMode
+ fMode = null
+ }
+ if (typeof cb !== 'function') {
+ cb = dMode
+ dMode = null
+ }
read(pkg, ver, false, function (er) {
if (er) {
- log.error("unpack", "Could not read data for %s", pkg + "@" + ver)
+ log.error('unpack', 'Could not read data for %s', pkg + '@' + ver)
return cb(er)
}
npm.commands.unbuild([unpackTarget], true, function (er) {
if (er) return cb(er)
- tar.unpack( path.join(cachedPackageRoot({name : pkg, version : ver}), "package.tgz")
- , unpackTarget
- , dMode, fMode
- , uid, gid
- , cb )
+ tar.unpack(
+ path.join(cachedPackageRoot({ name: pkg, version: ver }), 'package.tgz'),
+ unpackTarget,
+ dMode, fMode,
+ uid, gid,
+ cb
+ )
})
})
}
-function afterAdd (cb) { return function (er, data) {
- adding--
- if (adding <= 0) npm.spinner.stop()
+function afterAdd (cb) {
+ return function (er, data) {
+ adding--
- if (er || !data || !data.name || !data.version) return cb(er, data)
- log.silly("cache", "afterAdd", data.name+"@"+data.version)
+ if (er || !data || !data.name || !data.version) return cb(er, data)
+ log.silly('cache', 'afterAdd', data.name + '@' + data.version)
- // Save the resolved, shasum, etc. into the data so that the next
- // time we load from this cached data, we have all the same info.
- var pj = path.join(cachedPackageRoot(data), "package", "package.json")
+ // Save the resolved, shasum, etc. into the data so that the next
+ // time we load from this cached data, we have all the same info.
+ var pj = path.join(cachedPackageRoot(data), 'package', 'package.json')
- var done = inflight(pj, cb)
- if (!done) return log.verbose("afterAdd", pj, "already in flight; not writing")
- log.verbose("afterAdd", pj, "not in flight; writing")
+ var done = inflight(pj, cb)
+ if (!done) return log.verbose('afterAdd', pj, 'already in flight; not writing')
+ log.verbose('afterAdd', pj, 'not in flight; writing')
- getStat(function (er, cs) {
- if (er) return done(er)
- writeFileAtomic(pj, JSON.stringify(data), {chown : cs}, function (er) {
- if (!er) log.verbose("afterAdd", pj, "written")
- return done(er, data)
+ getStat(function (er, cs) {
+ if (er) return done(er)
+ writeFileAtomic(pj, JSON.stringify(data), { chown: cs }, function (er) {
+ if (!er) log.verbose('afterAdd', pj, 'written')
+ return done(er, data)
+ })
})
- })
-}}
+ }
+}
diff --git a/deps/npm/lib/cache/add-local-tarball.js b/deps/npm/lib/cache/add-local-tarball.js
index e84b66dd8d..1bcb486232 100644
--- a/deps/npm/lib/cache/add-local-tarball.js
+++ b/deps/npm/lib/cache/add-local-tarball.js
@@ -1,26 +1,28 @@
-var mkdir = require("mkdirp")
- , assert = require("assert")
- , fs = require("graceful-fs")
- , writeFileAtomic = require("write-file-atomic")
- , path = require("path")
- , sha = require("sha")
- , npm = require("../npm.js")
- , log = require("npmlog")
- , tar = require("../utils/tar.js")
- , pathIsInside = require("path-is-inside")
- , getCacheStat = require("./get-stat.js")
- , cachedPackageRoot = require("./cached-package-root.js")
- , chownr = require("chownr")
- , inflight = require("inflight")
- , once = require("once")
- , writeStream = require("fs-write-stream-atomic")
- , randomBytes = require("crypto").pseudoRandomBytes // only need uniqueness
+var mkdir = require('mkdirp')
+var assert = require('assert')
+var fs = require('graceful-fs')
+var writeFileAtomic = require('write-file-atomic')
+var path = require('path')
+var sha = require('sha')
+var npm = require('../npm.js')
+var log = require('npmlog')
+var tar = require('../utils/tar.js')
+var pathIsInside = require('path-is-inside')
+var getCacheStat = require('./get-stat.js')
+var cachedPackageRoot = require('./cached-package-root.js')
+var chownr = require('chownr')
+var inflight = require('inflight')
+var once = require('once')
+var writeStream = require('fs-write-stream-atomic')
+var tempFilename = require('../utils/temp-filename.js')
+var rimraf = require('rimraf')
+var getPackageId = require('../install/get-package-id.js')
module.exports = addLocalTarball
function addLocalTarball (p, pkgData, shasum, cb) {
- assert(typeof p === "string", "must have path")
- assert(typeof cb === "function", "must have callback")
+ assert(typeof p === 'string', 'must have path')
+ assert(typeof cb === 'function', 'must have callback')
if (!pkgData) pkgData = {}
@@ -28,16 +30,16 @@ function addLocalTarball (p, pkgData, shasum, cb) {
if (!shasum) {
return sha.get(p, function (er, shasum) {
if (er) return cb(er)
- log.silly("addLocalTarball", "shasum (computed)", shasum)
+ log.silly('addLocalTarball', 'shasum (computed)', shasum)
addLocalTarball(p, pkgData, shasum, cb)
})
}
if (pathIsInside(p, npm.cache)) {
- if (path.basename(p) !== "package.tgz") {
- return cb(new Error("Not a valid cache tarball name: "+p))
+ if (path.basename(p) !== 'package.tgz') {
+ return cb(new Error('Not a valid cache tarball name: ' + p))
}
- log.verbose("addLocalTarball", "adding from inside cache", p)
+ log.verbose('addLocalTarball', 'adding from inside cache', p)
return addPlacedTarball(p, pkgData, shasum, cb)
}
@@ -51,8 +53,8 @@ function addLocalTarball (p, pkgData, shasum, cb) {
}
function addPlacedTarball (p, pkgData, shasum, cb) {
- assert(pkgData, "should have package data by now")
- assert(typeof cb === "function", "cb function required")
+ assert(pkgData, 'should have package data by now')
+ assert(typeof cb === 'function', 'cb function required')
getCacheStat(function (er, cs) {
if (er) return cb(er)
@@ -61,7 +63,7 @@ function addPlacedTarball (p, pkgData, shasum, cb) {
}
function addPlacedTarball_ (p, pkgData, uid, gid, resolvedSum, cb) {
- var folder = path.join(cachedPackageRoot(pkgData), "package")
+ var folder = path.join(cachedPackageRoot(pkgData), 'package')
// First, make sure we have the shasum, if we don't already.
if (!resolvedSum) {
@@ -74,7 +76,7 @@ function addPlacedTarball_ (p, pkgData, uid, gid, resolvedSum, cb) {
mkdir(folder, function (er) {
if (er) return cb(er)
- var pj = path.join(folder, "package.json")
+ var pj = path.join(folder, 'package.json')
var json = JSON.stringify(pkgData, null, 2)
writeFileAtomic(pj, json, function (er) {
cb(er, pkgData)
@@ -83,19 +85,19 @@ function addPlacedTarball_ (p, pkgData, uid, gid, resolvedSum, cb) {
}
function addTmpTarball (tgz, pkgData, shasum, cb) {
- assert(typeof cb === "function", "must have callback function")
- assert(shasum, "must have shasum by now")
+ assert(typeof cb === 'function', 'must have callback function')
+ assert(shasum, 'must have shasum by now')
- cb = inflight("addTmpTarball:" + tgz, cb)
- if (!cb) return log.verbose("addTmpTarball", tgz, "already in flight; not adding")
- log.verbose("addTmpTarball", tgz, "not in flight; adding")
+ cb = inflight('addTmpTarball:' + tgz, cb)
+ if (!cb) return log.verbose('addTmpTarball', tgz, 'already in flight; not adding')
+ log.verbose('addTmpTarball', tgz, 'not in flight; adding')
// we already have the package info, so just move into place
if (pkgData && pkgData.name && pkgData.version) {
log.verbose(
- "addTmpTarball",
- "already have metadata; skipping unpack for",
- pkgData.name + "@" + pkgData.version
+ 'addTmpTarball',
+ 'already have metadata; skipping unpack for',
+ getPackageId(pkgData)
)
return addTmpTarball_(tgz, pkgData, shasum, cb)
}
@@ -107,34 +109,29 @@ function addTmpTarball (tgz, pkgData, shasum, cb) {
// NOTE: we might not have any clue what we think it is, for example if the
// user just did `npm install ./foo.tgz`
- // generate a unique filename
- randomBytes(6, function (er, random) {
+ var target = tempFilename('unpack')
+ getCacheStat(function (er, cs) {
if (er) return cb(er)
- var target = path.join(npm.tmp, "unpack-" + random.toString("hex"))
- getCacheStat(function (er, cs) {
- if (er) return cb(er)
-
- log.verbose("addTmpTarball", "validating metadata from", tgz)
- tar.unpack(tgz, target, null, null, cs.uid, cs.gid, function (er, data) {
- if (er) return cb(er)
-
+ log.verbose('addTmpTarball', 'validating metadata from', tgz)
+ tar.unpack(tgz, target, null, null, cs.uid, cs.gid, function (unpackEr, data) {
+ // cleanup the extracted package and move on with the metadata
+ rimraf(target, function () {
+ if (unpackEr) return cb(unpackEr)
// check that this is what we expected.
if (!data.name) {
- return cb(new Error("No name provided"))
- }
- else if (pkgData.name && data.name !== pkgData.name) {
- return cb(new Error("Invalid Package: expected " + pkgData.name +
- " but found " + data.name))
+ return cb(new Error('No name provided'))
+ } else if (pkgData.name && data.name !== pkgData.name) {
+ return cb(new Error('Invalid Package: expected ' + pkgData.name +
+ ' but found ' + data.name))
}
if (!data.version) {
- return cb(new Error("No version provided"))
- }
- else if (pkgData.version && data.version !== pkgData.version) {
- return cb(new Error("Invalid Package: expected " +
- pkgData.name + "@" + pkgData.version +
- " but found " + data.name + "@" + data.version))
+ return cb(new Error('No version provided'))
+ } else if (pkgData.version && data.version !== pkgData.version) {
+ return cb(new Error('Invalid Package: expected ' +
+ getPackageId(pkgData) +
+ ' but found ' + getPackageId(data)))
}
addTmpTarball_(tgz, data, shasum, cb)
@@ -144,15 +141,15 @@ function addTmpTarball (tgz, pkgData, shasum, cb) {
}
function addTmpTarball_ (tgz, data, shasum, cb) {
- assert(typeof cb === "function", "must have callback function")
+ assert(typeof cb === 'function', 'must have callback function')
cb = once(cb)
- assert(data.name, "should have package name by now")
- assert(data.version, "should have package version by now")
+ assert(data.name, 'should have package name by now')
+ assert(data.version, 'should have package version by now')
var root = cachedPackageRoot(data)
- var pkg = path.resolve(root, "package")
- var target = path.resolve(root, "package.tgz")
+ var pkg = path.resolve(root, 'package')
+ var target = path.resolve(root, 'package.tgz')
getCacheStat(function (er, cs) {
if (er) return cb(er)
mkdir(pkg, function (er, created) {
@@ -168,12 +165,12 @@ function addTmpTarball_ (tgz, data, shasum, cb) {
var read = fs.createReadStream(tgz)
var write = writeStream(target, { mode: npm.modes.file })
var fin = cs.uid && cs.gid ? chown : done
- read.on("error", cb).pipe(write).on("error", cb).on("close", fin)
+ read.on('error', cb).pipe(write).on('error', cb).on('close', fin)
})
})
- function done() {
+ function done () {
data._shasum = data._shasum || shasum
cb(null, data)
}
diff --git a/deps/npm/lib/cache/add-local.js b/deps/npm/lib/cache/add-local.js
index e7d286e4fb..075ca5fc61 100644
--- a/deps/npm/lib/cache/add-local.js
+++ b/deps/npm/lib/cache/add-local.js
@@ -1,44 +1,45 @@
-var assert = require("assert")
- , path = require("path")
- , mkdir = require("mkdirp")
- , chownr = require("chownr")
- , pathIsInside = require("path-is-inside")
- , readJson = require("read-package-json")
- , log = require("npmlog")
- , npm = require("../npm.js")
- , tar = require("../utils/tar.js")
- , deprCheck = require("../utils/depr-check.js")
- , getCacheStat = require("./get-stat.js")
- , cachedPackageRoot = require("./cached-package-root.js")
- , addLocalTarball = require("./add-local-tarball.js")
- , sha = require("sha")
- , inflight = require("inflight")
+var assert = require('assert')
+var path = require('path')
+var mkdir = require('mkdirp')
+var chownr = require('chownr')
+var pathIsInside = require('path-is-inside')
+var readJson = require('read-package-json')
+var log = require('npmlog')
+var npm = require('../npm.js')
+var tar = require('../utils/tar.js')
+var deprCheck = require('../utils/depr-check.js')
+var getCacheStat = require('./get-stat.js')
+var cachedPackageRoot = require('./cached-package-root.js')
+var addLocalTarball = require('./add-local-tarball.js')
+var sha = require('sha')
+var inflight = require('inflight')
+var lifecycle = require('../utils/lifecycle.js')
+var iferr = require('iferr')
module.exports = addLocal
function addLocal (p, pkgData, cb_) {
- assert(typeof p === "object", "must have spec info")
- assert(typeof cb === "function", "must have callback")
+ assert(typeof p === 'object', 'must have spec info')
+ assert(typeof cb === 'function', 'must have callback')
pkgData = pkgData || {}
function cb (er, data) {
if (er) {
- log.error("addLocal", "Could not install %s", p.spec)
+ log.error('addLocal', 'Could not install %s', p.spec)
return cb_(er)
}
- if (data && !data._fromGithub) {
- data._from = path.relative(npm.prefix, p.spec) || "."
+ if (data && !data._fromHosted) {
+ data._from = path.relative(npm.prefix, p.spec) || '.'
var resolved = path.relative(npm.prefix, p.spec)
- if (resolved) data._resolved = "file:"+resolved
+ if (resolved) data._resolved = 'file:' + resolved
}
return cb_(er, data)
}
- if (p.type === "directory") {
+ if (p.type === 'directory') {
addLocalDirectory(p.spec, pkgData, null, cb)
- }
- else {
+ } else {
addLocalTarball(p.spec, pkgData, null, cb)
}
}
@@ -46,33 +47,34 @@ function addLocal (p, pkgData, cb_) {
// At this point, if shasum is set, it's something that we've already
// read and checked. Just stashing it in the data at this point.
function addLocalDirectory (p, pkgData, shasum, cb) {
- assert(pkgData, "must pass package data")
- assert(typeof cb === "function", "must have callback")
+ assert(pkgData, 'must pass package data')
+ assert(typeof cb === 'function', 'must have callback')
// if it's a folder, then read the package.json,
// tar it to the proper place, and add the cache tar
- if (pathIsInside(p, npm.cache)) return cb(new Error(
- "Adding a cache directory to the cache will make the world implode."))
+ if (pathIsInside(p, npm.cache)) {
+ return cb(new Error(
+ 'Adding a cache directory to the cache will make the world implode.'
+ ))
+ }
- readJson(path.join(p, "package.json"), false, function (er, data) {
+ readJson(path.join(p, 'package.json'), false, function (er, data) {
if (er) return cb(er)
if (!data.name) {
- return cb(new Error("No name provided in package.json"))
- }
- else if (pkgData.name && pkgData.name !== data.name) {
+ return cb(new Error('No name provided in package.json'))
+ } else if (pkgData.name && pkgData.name !== data.name) {
return cb(new Error(
- "Invalid package: expected " + pkgData.name + " but found " + data.name
+ 'Invalid package: expected ' + pkgData.name + ' but found ' + data.name
))
}
if (!data.version) {
- return cb(new Error("No version provided in package.json"))
- }
- else if (pkgData.version && pkgData.version !== data.version) {
+ return cb(new Error('No version provided in package.json'))
+ } else if (pkgData.version && pkgData.version !== data.version) {
return cb(new Error(
- "Invalid package: expected " + pkgData.name + "@" + pkgData.version +
- " but found " + data.name + "@" + data.version
+ 'Invalid package: expected ' + pkgData.name + '@' + pkgData.version +
+ ' but found ' + data.name + '@' + data.version
))
}
@@ -80,27 +82,34 @@ function addLocalDirectory (p, pkgData, shasum, cb) {
// pack to {cache}/name/ver/package.tgz
var root = cachedPackageRoot(data)
- var tgz = path.resolve(root, "package.tgz")
- var pj = path.resolve(root, "package/package.json")
+ var tgz = path.resolve(root, 'package.tgz')
+ var pj = path.resolve(root, 'package/package.json')
var wrapped = inflight(tgz, next)
- if (!wrapped) return log.verbose("addLocalDirectory", tgz, "already in flight; waiting")
- log.verbose("addLocalDirectory", tgz, "not in flight; packing")
+ if (!wrapped) return log.verbose('addLocalDirectory', tgz, 'already in flight; waiting')
+ log.verbose('addLocalDirectory', tgz, 'not in flight; packing')
getCacheStat(function (er, cs) {
mkdir(path.dirname(pj), function (er, made) {
if (er) return cb(er)
- var fancy = !pathIsInside(p, npm.tmp)
- tar.pack(tgz, p, data, fancy, function (er) {
- if (er) {
- log.error("addLocalDirectory", "Could not pack", p, "to", tgz)
- return cb(er)
- }
-
- if (!cs || isNaN(cs.uid) || isNaN(cs.gid)) wrapped()
-
- chownr(made || tgz, cs.uid, cs.gid, wrapped)
- })
+ var doPrePublish = !pathIsInside(p, npm.tmp)
+ if (doPrePublish) {
+ lifecycle(data, 'prepublish', p, iferr(cb, thenPack))
+ } else {
+ thenPack()
+ }
+ function thenPack () {
+ tar.pack(tgz, p, data, function (er) {
+ if (er) {
+ log.error('addLocalDirectory', 'Could not pack', p, 'to', tgz)
+ return cb(er)
+ }
+
+ if (!cs || isNaN(cs.uid) || isNaN(cs.gid)) wrapped()
+
+ chownr(made || tgz, cs.uid, cs.gid, wrapped)
+ })
+ }
})
})
diff --git a/deps/npm/lib/cache/add-named.js b/deps/npm/lib/cache/add-named.js
index acc67bf9d2..b90d313984 100644
--- a/deps/npm/lib/cache/add-named.js
+++ b/deps/npm/lib/cache/add-named.js
@@ -1,23 +1,24 @@
-var path = require("path")
- , assert = require("assert")
- , fs = require("graceful-fs")
- , http = require("http")
- , log = require("npmlog")
- , semver = require("semver")
- , readJson = require("read-package-json")
- , url = require("url")
- , npm = require("../npm.js")
- , deprCheck = require("../utils/depr-check.js")
- , inflight = require("inflight")
- , addRemoteTarball = require("./add-remote-tarball.js")
- , cachedPackageRoot = require("./cached-package-root.js")
- , mapToRegistry = require("../utils/map-to-registry.js")
-
+var path = require('path')
+var assert = require('assert')
+var fs = require('graceful-fs')
+var http = require('http')
+var log = require('npmlog')
+var semver = require('semver')
+var readJson = require('read-package-json')
+var url = require('url')
+var npm = require('../npm.js')
+var deprCheck = require('../utils/depr-check.js')
+var inflight = require('inflight')
+var addRemoteTarball = require('./add-remote-tarball.js')
+var cachedPackageRoot = require('./cached-package-root.js')
+var mapToRegistry = require('../utils/map-to-registry.js')
+var pulseTillDone = require('../utils/pulse-till-done.js')
+var getPackageId = require('../install/get-package-id.js')
module.exports = addNamed
function getOnceFromRegistry (name, from, next, done) {
- function fixName(err, data, json, resp) {
+ function fixName (err, data, json, resp) {
// this is only necessary until npm/npm-registry-client#80 is fixed
if (err && err.pkgid && err.pkgid !== name) {
err.message = err.message.replace(
@@ -32,24 +33,24 @@ function getOnceFromRegistry (name, from, next, done) {
mapToRegistry(name, npm.config, function (er, uri, auth) {
if (er) return done(er)
- var key = "registry:" + uri
+ var key = 'registry:' + uri
next = inflight(key, next)
- if (!next) return log.verbose(from, key, "already in flight; waiting")
- else log.verbose(from, key, "not in flight; fetching")
+ if (!next) return log.verbose(from, key, 'already in flight; waiting')
+ else log.verbose(from, key, 'not in flight; fetching')
- npm.registry.get(uri, { auth : auth }, fixName)
+ npm.registry.get(uri, { auth: auth }, pulseTillDone('fetchRegistry', fixName))
})
}
function addNamed (name, version, data, cb_) {
- assert(typeof name === "string", "must have module name")
- assert(typeof cb_ === "function", "must have callback")
+ assert(typeof name === 'string', 'must have module name')
+ assert(typeof cb_ === 'function', 'must have callback')
- var key = name + "@" + version
- log.silly("addNamed", key)
+ var key = name + '@' + version
+ log.silly('addNamed', key)
function cb (er, data) {
- if (data && !data._fromGithub) data._from = key
+ if (data && !data._fromHosted) data._from = key
cb_(er, data)
}
@@ -66,29 +67,29 @@ function addNamed (name, version, data, cb_) {
}
function addNameTag (name, tag, data, cb) {
- log.info("addNameTag", [name, tag])
+ log.info('addNameTag', [name, tag])
var explicit = true
if (!tag) {
explicit = false
- tag = npm.config.get("tag")
+ tag = npm.config.get('tag')
}
- getOnceFromRegistry(name, "addNameTag", next, cb)
+ getOnceFromRegistry(name, 'addNameTag', next, cb)
function next (er, data, json, resp) {
if (!er) er = errorResponse(name, resp)
if (er) return cb(er)
- log.silly("addNameTag", "next cb for", name, "with tag", tag)
+ log.silly('addNameTag', 'next cb for', name, 'with tag', tag)
engineFilter(data)
- if (data["dist-tags"] && data["dist-tags"][tag]
- && data.versions[data["dist-tags"][tag]]) {
- var ver = data["dist-tags"][tag]
+ if (data['dist-tags'] && data['dist-tags'][tag] &&
+ data.versions[data['dist-tags'][tag]]) {
+ var ver = data['dist-tags'][tag]
return addNamed(name, ver, data.versions[ver], cb)
}
if (!explicit && Object.keys(data.versions).length) {
- return addNamed(name, "*", data, cb)
+ return addNamed(name, '*', data, cb)
}
er = installTargetsError(tag, data)
@@ -98,17 +99,17 @@ function addNameTag (name, tag, data, cb) {
function engineFilter (data) {
var npmv = npm.version
- , nodev = npm.config.get("node-version")
- , strict = npm.config.get("engine-strict")
+ var nodev = npm.config.get('node-version')
+ var strict = npm.config.get('engine-strict')
- if (!nodev || npm.config.get("force")) return data
+ if (!nodev || npm.config.get('force')) return data
Object.keys(data.versions || {}).forEach(function (v) {
var eng = data.versions[v].engines
if (!eng) return
- if (!strict && !data.versions[v].engineStrict) return
- if (eng.node && !semver.satisfies(nodev, eng.node, true)
- || eng.npm && !semver.satisfies(npmv, eng.npm, true)) {
+ if (!strict) return
+ if (eng.node && !semver.satisfies(nodev, eng.node, true) ||
+ eng.npm && !semver.satisfies(npmv, eng.npm, true)) {
delete data.versions[v]
}
})
@@ -116,7 +117,7 @@ function engineFilter (data) {
function addNameVersion (name, v, data, cb) {
var ver = semver.valid(v, true)
- if (!ver) return cb(new Error("Invalid version: "+v))
+ if (!ver) return cb(new Error('Invalid version: ' + v))
var response
@@ -125,7 +126,7 @@ function addNameVersion (name, v, data, cb) {
return next()
}
- getOnceFromRegistry(name, "addNameVersion", setData, cb)
+ getOnceFromRegistry(name, 'addNameVersion', setData, cb)
function setData (er, d, json, resp) {
if (!er) {
@@ -134,7 +135,7 @@ function addNameVersion (name, v, data, cb) {
if (er) return cb(er)
data = d && d.versions[ver]
if (!data) {
- er = new Error("version not found: "+name+"@"+ver)
+ er = new Error('version not found: ' + name + '@' + ver)
er.package = name
er.statusCode = 404
return cb(er)
@@ -147,27 +148,30 @@ function addNameVersion (name, v, data, cb) {
deprCheck(data)
var dist = data.dist
- if (!dist) return cb(new Error("No dist in "+data._id+" package"))
+ if (!dist) return cb(new Error('No dist in ' + getPackageId(data) + ' package'))
- if (!dist.tarball) return cb(new Error(
- "No dist.tarball in " + data._id + " package"))
+ if (!dist.tarball) {
+ return cb(new Error(
+ 'No dist.tarball in ' + getPackageId(data) + ' package'
+ ))
+ }
- if ((response && response.statusCode !== 304) || npm.config.get("force")) {
+ if ((response && response.statusCode !== 304) || npm.config.get('force')) {
return fetchit()
}
// we got cached data, so let's see if we have a tarball.
- var pkgroot = cachedPackageRoot({name : name, version : ver})
- var pkgtgz = path.join(pkgroot, "package.tgz")
- var pkgjson = path.join(pkgroot, "package", "package.json")
+ var pkgroot = cachedPackageRoot({ name: name, version: ver })
+ var pkgtgz = path.join(pkgroot, 'package.tgz')
+ var pkgjson = path.join(pkgroot, 'package', 'package.json')
fs.stat(pkgtgz, function (er) {
if (!er) {
readJson(pkgjson, function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
if (data) {
- if (!data.name) return cb(new Error("No name provided"))
- if (!data.version) return cb(new Error("No version provided"))
+ if (!data.name) return cb(new Error('No name provided'))
+ if (!data.version) return cb(new Error('No version provided'))
// check the SHA of the package we have, to ensure it wasn't installed
// from somewhere other than the registry (eg, a fork)
@@ -205,8 +209,8 @@ function addNameVersion (name, v, data, cb) {
// Only add non-shasum'ed packages if --forced. Only ancient things
// would lack this for good reasons nowadays.
- if (!dist.shasum && !npm.config.get("force")) {
- return cb(new Error("package lacks shasum: " + data._id))
+ if (!dist.shasum && !npm.config.get('force')) {
+ return cb(new Error('package lacks shasum: ' + getPackageId(data)))
}
addRemoteTarball(tb, data, dist.shasum, auth, cb)
@@ -217,15 +221,17 @@ function addNameVersion (name, v, data, cb) {
function addNameRange (name, range, data, cb) {
range = semver.validRange(range, true)
- if (range === null) return cb(new Error(
- "Invalid version range: " + range
- ))
+ if (range === null) {
+ return cb(new Error(
+ 'Invalid version range: ' + range
+ ))
+ }
- log.silly("addNameRange", {name:name, range:range, hasData:!!data})
+ log.silly('addNameRange', { name: name, range: range, hasData: !!data })
if (data) return next()
- getOnceFromRegistry(name, "addNameRange", setData, cb)
+ getOnceFromRegistry(name, 'addNameRange', setData, cb)
function setData (er, d, json, resp) {
if (!er) {
@@ -237,18 +243,20 @@ function addNameRange (name, range, data, cb) {
}
function next () {
- log.silly( "addNameRange", "number 2"
- , {name:name, range:range, hasData:!!data})
+ log.silly(
+ 'addNameRange',
+ 'number 2', { name: name, range: range, hasData: !!data }
+ )
engineFilter(data)
- log.silly("addNameRange", "versions"
+ log.silly('addNameRange', 'versions'
, [data.name, Object.keys(data.versions || {})])
// 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, true)) {
+ var tagged = data['dist-tags'][npm.config.get('tag')]
+ if (tagged &&
+ data.versions[tagged] &&
+ semver.satisfies(tagged, range, true)) {
return addNamed(name, tagged, data.versions[tagged], cb)
}
@@ -256,8 +264,8 @@ function addNameRange (name, range, data, cb) {
var versions = Object.keys(data.versions || {})
var ms = semver.maxSatisfying(versions, range, true)
if (!ms) {
- if (range === "*" && versions.length) {
- return addNameTag(name, "latest", data, cb)
+ if (range === '*' && versions.length) {
+ return addNameTag(name, 'latest', data, cb)
} else {
return cb(installTargetsError(range, data))
}
@@ -270,20 +278,19 @@ function addNameRange (name, range, data, cb) {
}
function installTargetsError (requested, data) {
- var targets = Object.keys(data["dist-tags"]).filter(function (f) {
+ var targets = Object.keys(data['dist-tags']).filter(function (f) {
return (data.versions || {}).hasOwnProperty(f)
}).concat(Object.keys(data.versions || {}))
- requested = data.name + (requested ? "@'" + requested + "'" : "")
+ requested = data.name + (requested ? "@'" + requested + "'" : '')
targets = targets.length
- ? "Valid install targets:\n" + JSON.stringify(targets) + "\n"
- : "No valid targets found.\n"
- + "Perhaps not compatible with your version of node?"
+ ? 'Valid install targets:\n' + JSON.stringify(targets) + '\n'
+ : 'No valid targets found.\n' +
+ 'Perhaps not compatible with your version of node?'
- var er = new Error( "No compatible version found: "
- + requested + "\n" + targets)
- er.code = "ETARGET"
+ var er = new Error('No compatible version found: ' + requested + '\n' + targets)
+ er.code = 'ETARGET'
return er
}
@@ -292,7 +299,7 @@ function errorResponse (name, response) {
if (response.statusCode >= 400) {
er = new Error(http.STATUS_CODES[response.statusCode])
er.statusCode = response.statusCode
- er.code = "E" + er.statusCode
+ er.code = 'E' + er.statusCode
er.pkgid = name
}
return er
diff --git a/deps/npm/lib/cache/add-remote-git.js b/deps/npm/lib/cache/add-remote-git.js
index d3ecccdce9..09096f9bad 100644
--- a/deps/npm/lib/cache/add-remote-git.js
+++ b/deps/npm/lib/cache/add-remote-git.js
@@ -1,5 +1,4 @@
var assert = require('assert')
-var crypto = require('crypto')
var fs = require('graceful-fs')
var path = require('path')
var url = require('url')
@@ -13,12 +12,14 @@ var mkdir = require('mkdirp')
var normalizeGitUrl = require('normalize-git-url')
var npa = require('npm-package-arg')
var realizePackageSpecifier = require('realize-package-specifier')
+var uniqueFilename = require('unique-filename')
var addLocal = require('./add-local.js')
var correctMkdir = require('../utils/correct-mkdir.js')
var git = require('../utils/git.js')
var npm = require('../npm.js')
var rm = require('../utils/gently-rm.js')
+var tempFilename = require('../utils/temp-filename.js')
var remotes = path.resolve(npm.config.get('cache'), '_git-remotes')
var templates = path.join(remotes, '_templates')
@@ -47,7 +48,7 @@ function addRemoteGit (uri, _cb) {
if (parsed) {
// normalize GitHub syntax to org/repo (for now)
var from
- if (parsed.type === 'github' && parsed.default === 'shortcut') {
+ if (parsed.type === 'github' && parsed.getDefaultRepresentation() === 'shortcut') {
from = parsed.path()
} else {
from = parsed.toString()
@@ -56,7 +57,7 @@ function addRemoteGit (uri, _cb) {
log.verbose('addRemoteGit', from, 'is a repository hosted by', parsed.type)
// prefer explicit URLs to pushing everything through shortcuts
- if (parsed.default !== 'shortcut') {
+ if (parsed.getDefaultRepresentation() !== 'shortcut') {
return tryClone(from, parsed.toString(), false, cb)
}
@@ -75,7 +76,7 @@ function addRemoteGit (uri, _cb) {
function tryGitProto (from, hostedInfo, cb) {
var gitURL = hostedInfo.git()
- if (!gitURL) return trySSH(from, hostedInfo, cb)
+ if (!gitURL) return tryHTTPS(from, hostedInfo, cb)
log.silly('tryGitProto', 'attempting to clone', gitURL)
tryClone(from, gitURL, true, function (er) {
@@ -115,9 +116,9 @@ function tryClone (from, combinedURL, silent, cb) {
var treeish = normalized.branch
// ensure that similarly-named remotes don't collide
- var repoID = cloneURL.replace(/[^a-zA-Z0-9]+/g, '-') + '-' +
- crypto.createHash('sha1').update(combinedURL).digest('hex').slice(0, 8)
- var cachedRemote = path.join(remotes, repoID)
+ var cachedRemote = uniqueFilename(remotes, combinedURL.replace(/[^a-zA-Z0-9]+/g, '-'), cloneURL)
+ var repoID = path.relative(remotes, cachedRemote)
+ cachedRemote = path.join(remotes, repoID)
cb = inflight(repoID, cb)
if (!cb) {
@@ -297,11 +298,7 @@ function resolveHead (from, cloneURL, treeish, cachedRemote, cb) {
log.verbose('resolveHead', from, 'resolved Git URL:', resolvedURL)
// generate a unique filename
- var tmpdir = path.join(
- npm.tmp,
- 'git-cache-' + crypto.pseudoRandomBytes(6).toString('hex'),
- resolvedTreeish
- )
+ var tmpdir = path.join(tempFilename('git-cache'), resolvedTreeish)
log.silly('resolveHead', 'Git working directory:', tmpdir)
mkdir(tmpdir, function (er) {
diff --git a/deps/npm/lib/cache/add-remote-tarball.js b/deps/npm/lib/cache/add-remote-tarball.js
index 66d2200966..aaa768acbd 100644
--- a/deps/npm/lib/cache/add-remote-tarball.js
+++ b/deps/npm/lib/cache/add-remote-tarball.js
@@ -1,20 +1,22 @@
-var mkdir = require("mkdirp")
- , assert = require("assert")
- , log = require("npmlog")
- , path = require("path")
- , sha = require("sha")
- , retry = require("retry")
- , createWriteStream = require("fs-write-stream-atomic")
- , npm = require("../npm.js")
- , inflight = require("inflight")
- , addLocalTarball = require("./add-local-tarball.js")
- , cacheFile = require("npm-cache-filename")
+var mkdir = require('mkdirp')
+var assert = require('assert')
+var log = require('npmlog')
+var path = require('path')
+var sha = require('sha')
+var retry = require('retry')
+var createWriteStream = require('fs-write-stream-atomic')
+var npm = require('../npm.js')
+var inflight = require('inflight')
+var addLocalTarball = require('./add-local-tarball.js')
+var cacheFile = require('npm-cache-filename')
+var rimraf = require('rimraf')
+var pulseTillDone = require('../utils/pulse-till-done.js')
module.exports = addRemoteTarball
function addRemoteTarball (u, pkgData, shasum, auth, cb_) {
- assert(typeof u === "string", "must have module URL")
- assert(typeof cb_ === "function", "must have callback")
+ assert(typeof u === 'string', 'must have module URL')
+ assert(typeof cb_ === 'function', 'must have callback')
function cb (er, data) {
if (data) {
@@ -26,8 +28,8 @@ function addRemoteTarball (u, pkgData, shasum, auth, cb_) {
}
cb_ = inflight(u, cb_)
- if (!cb_) return log.verbose("addRemoteTarball", u, "already in flight; waiting")
- log.verbose("addRemoteTarball", u, "not in flight; adding")
+ if (!cb_) return log.verbose('addRemoteTarball', u, 'already in flight; waiting')
+ log.verbose('addRemoteTarball', u, 'not in flight; adding')
// XXX Fetch direct to cache location, store tarballs under
// ${cache}/registry.npmjs.org/pkg/-/pkg-1.2.3.tgz
@@ -35,10 +37,16 @@ function addRemoteTarball (u, pkgData, shasum, auth, cb_) {
function next (er, resp, shasum) {
if (er) return cb(er)
- addLocalTarball(tmp, pkgData, shasum, cb)
+ addLocalTarball(tmp, pkgData, shasum, cleanup)
+ }
+ function cleanup (er, data) {
+ if (er) return cb(er)
+ rimraf(tmp, function () {
+ cb(er, data)
+ })
}
- log.verbose("addRemoteTarball", [u, shasum])
+ log.verbose('addRemoteTarball', [u, shasum])
mkdir(path.dirname(tmp), function (er) {
if (er) return cb(er)
addRemoteTarball_(u, tmp, shasum, auth, next)
@@ -49,21 +57,24 @@ function addRemoteTarball_ (u, tmp, shasum, auth, cb) {
// Tuned to spread 3 attempts over about a minute.
// See formula at <https://github.com/tim-kos/node-retry>.
var operation = retry.operation({
- retries: npm.config.get("fetch-retries")
- , factor: npm.config.get("fetch-retry-factor")
- , minTimeout: npm.config.get("fetch-retry-mintimeout")
- , maxTimeout: npm.config.get("fetch-retry-maxtimeout")
+ retries: npm.config.get('fetch-retries'),
+ factor: npm.config.get('fetch-retry-factor'),
+ minTimeout: npm.config.get('fetch-retry-mintimeout'),
+ maxTimeout: npm.config.get('fetch-retry-maxtimeout')
})
operation.attempt(function (currentAttempt) {
- log.info("retry", "fetch attempt " + currentAttempt
- + " at " + (new Date()).toLocaleTimeString())
+ log.info(
+ 'retry',
+ 'fetch attempt', currentAttempt,
+ 'at', (new Date()).toLocaleTimeString()
+ )
fetchAndShaCheck(u, tmp, shasum, auth, function (er, response, shasum) {
// Only retry on 408, 5xx or no `response`.
var sc = response && response.statusCode
var statusRetry = !sc || (sc === 408 || sc >= 500)
if (er && statusRetry && operation.retry(er)) {
- log.warn("retry", "will retry, error on last attempt: " + er)
+ log.warn('retry', 'will retry, error on last attempt: ' + er)
return
}
cb(er, response, shasum)
@@ -72,34 +83,35 @@ function addRemoteTarball_ (u, tmp, shasum, auth, cb) {
}
function fetchAndShaCheck (u, tmp, shasum, auth, cb) {
- npm.registry.fetch(u, { auth : auth }, function (er, response) {
+ cb = pulseTillDone('fetchTarball', cb)
+ npm.registry.fetch(u, { auth: auth }, function (er, response) {
if (er) {
- log.error("fetch failed", u)
+ log.error('fetch failed', u)
return cb(er, response)
}
- var tarball = createWriteStream(tmp, { mode : npm.modes.file })
- tarball.on("error", function (er) {
+ var tarball = createWriteStream(tmp, { mode: npm.modes.file })
+ tarball.on('error', function (er) {
cb(er)
tarball.destroy()
})
- tarball.on("finish", function () {
+ tarball.on('finish', function () {
if (!shasum) {
// Well, we weren't given a shasum, so at least sha what we have
// in case we want to compare it to something else later
return sha.get(tmp, function (er, shasum) {
- log.silly("fetchAndShaCheck", "shasum", shasum)
+ log.silly('fetchAndShaCheck', 'shasum', shasum)
cb(er, response, shasum)
})
}
// validate that the url we just downloaded matches the expected shasum.
- log.silly("fetchAndShaCheck", "shasum", shasum)
+ log.silly('fetchAndShaCheck', 'shasum', shasum)
sha.check(tmp, shasum, function (er) {
if (er && er.message) {
// add original filename for better debuggability
- er.message = er.message + "\n" + "From: " + u
+ er.message = er.message + '\n' + 'From: ' + u
}
return cb(er, response, shasum)
})
diff --git a/deps/npm/lib/cache/cached-package-root.js b/deps/npm/lib/cache/cached-package-root.js
index 7163314a8e..b47fac6c9e 100644
--- a/deps/npm/lib/cache/cached-package-root.js
+++ b/deps/npm/lib/cache/cached-package-root.js
@@ -1,14 +1,14 @@
-var assert = require("assert")
-var resolve = require("path").resolve
+var assert = require('assert')
+var resolve = require('path').resolve
-var npm = require("../npm.js")
+var npm = require('../npm.js')
module.exports = getCacheRoot
function getCacheRoot (data) {
- assert(data, "must pass package metadata")
- assert(data.name, "package metadata must include name")
- assert(data.version, "package metadata must include version")
+ assert(data, 'must pass package metadata')
+ assert(data.name, 'package metadata must include name')
+ assert(data.version, 'package metadata must include version')
return resolve(npm.cache, data.name, data.version)
}
diff --git a/deps/npm/lib/cache/caching-client.js b/deps/npm/lib/cache/caching-client.js
index ec8eb8e16c..77d8d66cb2 100644
--- a/deps/npm/lib/cache/caching-client.js
+++ b/deps/npm/lib/cache/caching-client.js
@@ -1,30 +1,31 @@
module.exports = CachingRegistryClient
-var path = require("path")
- , fs = require("graceful-fs")
- , url = require("url")
- , assert = require("assert")
- , inherits = require("util").inherits
-
-var RegistryClient = require("npm-registry-client")
- , npm = require("../npm.js")
- , log = require("npmlog")
- , getCacheStat = require("./get-stat.js")
- , cacheFile = require("npm-cache-filename")
- , mkdirp = require("mkdirp")
- , rimraf = require("rimraf")
- , chownr = require("chownr")
- , writeFile = require("write-file-atomic")
+var path = require('path')
+var fs = require('graceful-fs')
+var url = require('url')
+var assert = require('assert')
+var inherits = require('util').inherits
+
+var RegistryClient = require('npm-registry-client')
+var npm = require('../npm.js')
+var log = require('npmlog')
+var getCacheStat = require('./get-stat.js')
+var cacheFile = require('npm-cache-filename')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var chownr = require('chownr')
+var writeFile = require('write-file-atomic')
+var parseJSON = require('../utils/parse-json')
function CachingRegistryClient (config) {
RegistryClient.call(this, adaptConfig(config))
- this._mapToCache = cacheFile(config.get("cache"))
+ this._mapToCache = cacheFile(config.get('cache'))
// swizzle in our custom cache invalidation logic
this._request = this.request
- this.request = this._invalidatingRequest
- this.get = get
+ this.request = this._invalidatingRequest
+ this.get = get
}
inherits(CachingRegistryClient, RegistryClient)
@@ -34,7 +35,7 @@ CachingRegistryClient.prototype._invalidatingRequest = function (uri, params, cb
var args = arguments
var method = params.method
- if (method !== "HEAD" && method !== "GET") {
+ if (method !== 'HEAD' && method !== 'GET') {
var invalidated = client._mapToCache(uri)
// invalidate cache
//
@@ -43,7 +44,7 @@ CachingRegistryClient.prototype._invalidatingRequest = function (uri, params, cb
// thinking that it didn't work when it did.
// Note that failure is an acceptable option here, since the only
// result will be a stale cache for some helper commands.
- log.verbose("request", "invalidating", invalidated, "on", method)
+ log.verbose('request', 'invalidating', invalidated, 'on', method)
return rimraf(invalidated, function () {
cb.apply(undefined, args)
})
@@ -54,23 +55,23 @@ CachingRegistryClient.prototype._invalidatingRequest = function (uri, params, cb
}
function get (uri, params, cb) {
- assert(typeof uri === "string", "must pass registry URI to get")
- assert(params && typeof params === "object", "must pass params to get")
- assert(typeof cb === "function", "must pass callback to get")
+ assert(typeof uri === 'string', 'must pass registry URI to get')
+ assert(params && typeof params === 'object', 'must pass params to get')
+ assert(typeof cb === 'function', 'must pass callback to get')
var parsed = url.parse(uri)
assert(
- parsed.protocol === "http:" || parsed.protocol === "https:",
- "must have a URL that starts with http: or https:"
+ parsed.protocol === 'http:' || parsed.protocol === 'https:',
+ 'must have a URL that starts with http: or https:'
)
- var cacheBase = cacheFile(npm.config.get("cache"))(uri)
- var cachePath = path.join(cacheBase, ".cache.json")
+ var cacheBase = cacheFile(npm.config.get('cache'))(uri)
+ var cachePath = path.join(cacheBase, '.cache.json')
// If the GET is part of a write operation (PUT or DELETE), then
// skip past the cache entirely, but still save the results.
if (uri.match(/\?write=true$/)) {
- log.verbose("get", "GET as part of write; not caching result")
+ log.verbose('get', 'GET as part of write; not caching result')
return get_.call(this, uri, cachePath, params, cb)
}
@@ -78,20 +79,14 @@ function get (uri, params, cb) {
fs.stat(cachePath, function (er, stat) {
if (!er) {
fs.readFile(cachePath, function (er, data) {
- try {
- data = JSON.parse(data)
- }
- catch (ex) {
- data = null
- }
+ data = parseJSON.noExceptions(data)
params.stat = stat
params.data = data
get_.call(client, uri, cachePath, params, cb)
})
- }
- else {
+ } else {
get_.call(client, uri, cachePath, params, cb)
}
})
@@ -99,16 +94,16 @@ function get (uri, params, cb) {
function get_ (uri, cachePath, params, cb) {
var staleOk = params.staleOk === undefined ? false : params.staleOk
- , timeout = params.timeout === undefined ? -1 : params.timeout
- , data = params.data
- , stat = params.stat
- , etag
- , lastModified
-
- timeout = Math.min(timeout, npm.config.get("cache-max") || 0)
- timeout = Math.max(timeout, npm.config.get("cache-min") || -Infinity)
+ var timeout = params.timeout === undefined ? -1 : params.timeout
+ var data = params.data
+ var stat = params.stat
+ var etag
+ var lastModified
+
+ timeout = Math.min(timeout, npm.config.get('cache-max') || 0)
+ timeout = Math.max(timeout, npm.config.get('cache-min') || -Infinity)
if (process.env.COMP_CWORD !== undefined &&
- process.env.COMP_LINE !== undefined &&
+ process.env.COMP_LINE !== undefined &&
process.env.COMP_POINT !== undefined) {
timeout = Math.max(timeout, 60000)
}
@@ -118,19 +113,19 @@ function get_ (uri, cachePath, params, cb) {
if (data._lastModified) lastModified = data._lastModified
if (stat && timeout && timeout > 0) {
- if ((Date.now() - stat.mtime.getTime())/1000 < timeout) {
- log.verbose("get", uri, "not expired, no request")
+ if ((Date.now() - stat.mtime.getTime()) / 1000 < timeout) {
+ log.verbose('get', uri, 'not expired, no request')
delete data._etag
delete data._lastModified
- return cb(null, data, JSON.stringify(data), { statusCode : 304 })
+ return cb(null, data, JSON.stringify(data), { statusCode: 304 })
}
if (staleOk) {
- log.verbose("get", uri, "staleOk, background update")
+ log.verbose('get', uri, 'staleOk, background update')
delete data._etag
delete data._lastModified
process.nextTick(
- cb.bind(null, null, data, JSON.stringify(data), { statusCode : 304 } )
+ cb.bind(null, null, data, JSON.stringify(data), { statusCode: 304 })
)
cb = function () {}
}
@@ -138,10 +133,10 @@ function get_ (uri, cachePath, params, cb) {
}
var options = {
- etag : etag,
- lastModified : lastModified,
- follow : params.follow,
- auth : params.auth
+ etag: etag,
+ lastModified: lastModified,
+ follow: params.follow,
+ auth: params.auth
}
this.request(uri, options, function (er, remoteData, raw, response) {
// if we get an error talking to the registry, but we have it
@@ -152,15 +147,15 @@ function get_ (uri, cachePath, params, cb) {
}
if (response) {
- log.silly("get", "cb", [response.statusCode, response.headers])
+ log.silly('get', 'cb', [response.statusCode, response.headers])
if (response.statusCode === 304 && (etag || lastModified)) {
remoteData = data
- log.verbose(etag ? "etag" : "lastModified", uri+" from cache")
+ log.verbose(etag ? 'etag' : 'lastModified', uri + ' from cache')
}
}
data = remoteData
- if (!data) er = er || new Error("failed to fetch from registry: " + uri)
+ if (!data) er = er || new Error('failed to fetch from registry: ' + uri)
if (er) return cb(er, data, raw, response)
@@ -174,7 +169,7 @@ function get_ (uri, cachePath, params, cb) {
}
function saveToCache (cachePath, data, saved) {
- log.verbose("get", "saving", data.name, "to", cachePath)
+ log.verbose('get', 'saving', data.name, 'to', cachePath)
getCacheStat(function (er, st) {
mkdirp(path.dirname(cachePath), function (er, made) {
if (er) return saved()
@@ -192,26 +187,26 @@ function get_ (uri, cachePath, params, cb) {
function adaptConfig (config) {
return {
- proxy : {
- http : config.get("proxy"),
- https : config.get("https-proxy"),
- localAddress : config.get("local-address")
+ proxy: {
+ http: config.get('proxy'),
+ https: config.get('https-proxy'),
+ localAddress: config.get('local-address')
},
- ssl : {
- certificate : config.get("cert"),
- key : config.get("key"),
- ca : config.get("ca"),
- strict : config.get("strict-ssl")
+ ssl: {
+ certificate: config.get('cert'),
+ key: config.get('key'),
+ ca: config.get('ca'),
+ strict: config.get('strict-ssl')
},
- retry : {
- retries : config.get("fetch-retries"),
- factor : config.get("fetch-retry-factor"),
- minTimeout : config.get("fetch-retry-mintimeout"),
- maxTimeout : config.get("fetch-retry-maxtimeout")
+ retry: {
+ retries: config.get('fetch-retries'),
+ factor: config.get('fetch-retry-factor'),
+ minTimeout: config.get('fetch-retry-mintimeout'),
+ maxTimeout: config.get('fetch-retry-maxtimeout')
},
- userAgent : config.get("user-agent"),
- log : log,
- defaultTag : config.get("tag"),
- couchToken : config.get("_token")
+ userAgent: config.get('user-agent'),
+ log: log,
+ defaultTag: config.get('tag'),
+ couchToken: config.get('_token')
}
}
diff --git a/deps/npm/lib/cache/update-index.js b/deps/npm/lib/cache/update-index.js
index ab1ede120b..a872b03490 100644
--- a/deps/npm/lib/cache/update-index.js
+++ b/deps/npm/lib/cache/update-index.js
@@ -10,6 +10,8 @@ var log = require('npmlog')
var cacheFile = require('npm-cache-filename')
var getCacheStat = require('./get-stat.js')
var mapToRegistry = require('../utils/map-to-registry.js')
+var pulseTillDone = require('../utils/pulse-till-done.js')
+var parseJSON = require('../utils/parse-json.js')
/* /-/all is special.
* It uses timestamp-based caching and partial updates,
@@ -46,9 +48,8 @@ function updateIndex (staleness, cb) {
chownr(made || cachePath, st.uid, st.gid, function (er) {
if (er) return cb(er)
- try {
- data = JSON.parse(data)
- } catch (ex) {
+ data = parseJSON.noExceptions(data)
+ if (!data) {
fs.writeFile(cachePath, '{}', function (er) {
if (er) return cb(new Error('Broken cache.'))
@@ -80,7 +81,7 @@ function updateIndex (staleness, cb) {
function updateIndex_ (all, params, data, cachePath, cb) {
log.silly('update-index', 'fetching', all)
- npm.registry.request(all, params, function (er, updates, _, res) {
+ npm.registry.request(all, params, pulseTillDone('updateIndex', function (er, updates, _, res) {
if (er) return cb(er, data)
var headers = res.headers
@@ -100,5 +101,5 @@ function updateIndex_ (all, params, data, cachePath, cb) {
})
})
})
- })
+ }))
}
diff --git a/deps/npm/lib/completion.js b/deps/npm/lib/completion.js
index 1d26ffcf8a..e9a838d484 100644
--- a/deps/npm/lib/completion.js
+++ b/deps/npm/lib/completion.js
@@ -1,119 +1,114 @@
module.exports = completion
-completion.usage = "npm completion >> ~/.bashrc\n"
- + "npm completion >> ~/.zshrc\n"
- + "source <(npm completion)"
-
-var npm = require("./npm.js")
- , npmconf = require("./config/core.js")
- , configDefs = npmconf.defs
- , configTypes = configDefs.types
- , shorthands = configDefs.shorthands
- , nopt = require("nopt")
- , configNames = Object.keys(configTypes).filter(function (e) {
- return e.charAt(0) !== "_"
+completion.usage = 'source <(npm completion)'
+
+var npm = require('./npm.js')
+var npmconf = require('./config/core.js')
+var configDefs = npmconf.defs
+var configTypes = configDefs.types
+var shorthands = configDefs.shorthands
+var nopt = require('nopt')
+var configNames = Object.keys(configTypes).filter(function (e) {
+ return e.charAt(0) !== '_'
})
- , shorthandNames = Object.keys(shorthands)
- , allConfs = configNames.concat(shorthandNames)
- , once = require("once")
-
+var shorthandNames = Object.keys(shorthands)
+var allConfs = configNames.concat(shorthandNames)
+var once = require('once')
completion.completion = function (opts, cb) {
if (opts.w > 3) return cb()
- var fs = require("graceful-fs")
- , path = require("path")
- , bashExists = null
- , zshExists = null
- fs.stat(path.resolve(process.env.HOME, ".bashrc"), function (er) {
+ var fs = require('graceful-fs')
+ var path = require('path')
+ var bashExists = null
+ var zshExists = null
+ fs.stat(path.resolve(process.env.HOME, '.bashrc'), function (er) {
bashExists = !er
next()
})
- fs.stat(path.resolve(process.env.HOME, ".zshrc"), function (er) {
+ fs.stat(path.resolve(process.env.HOME, '.zshrc'), function (er) {
zshExists = !er
next()
})
function next () {
if (zshExists === null || bashExists === null) return
var out = []
- if (zshExists) out.push("~/.zshrc")
- if (bashExists) out.push("~/.bashrc")
- if (opts.w === 2) out = out.map(function (m) {
- return [">>", m]
- })
+ if (zshExists) out.push('~/.zshrc')
+ if (bashExists) out.push('~/.bashrc')
+ if (opts.w === 2) {
+ out = out.map(function (m) {
+ return ['>>', m]
+ })
+ }
cb(null, out)
}
}
function completion (args, cb) {
- if (process.platform === "win32") {
- var e = new Error("npm completion not supported on windows")
- e.code = "ENOTSUP"
- e.errno = require("constants").ENOTSUP
+ if (process.platform === 'win32') {
+ var e = new Error('npm completion not supported on windows')
+ e.code = 'ENOTSUP'
+ e.errno = require('constants').ENOTSUP
return cb(e)
}
// if the COMP_* isn't in the env, then just dump the script.
- if (process.env.COMP_CWORD === undefined
- ||process.env.COMP_LINE === undefined
- ||process.env.COMP_POINT === undefined
- ) return dumpScript(cb)
+ if (process.env.COMP_CWORD === undefined ||
+ process.env.COMP_LINE === undefined ||
+ process.env.COMP_POINT === undefined) {
+ return dumpScript(cb)
+ }
console.error(process.env.COMP_CWORD)
console.error(process.env.COMP_LINE)
console.error(process.env.COMP_POINT)
- //console.log("abracadabrasauce\nabracad cat monger")
- //if (Math.random() * 3 < 1) console.log("man\\ bear\\ pig")
- //else if (Math.random() * 3 < 1)
- // console.log("porkchop\\ sandwiches\nporkman")
- //else console.log("encephylophagy")
-
// get the partial line and partial word,
// if the point isn't at the end.
// ie, tabbing at: npm foo b|ar
var w = +process.env.COMP_CWORD
- , words = args.map(unescape)
- , word = words[w]
- , line = process.env.COMP_LINE
- , point = +process.env.COMP_POINT
- , partialLine = line.substr(0, point)
- , partialWords = words.slice(0, w)
+ var words = args.map(unescape)
+ var word = words[w]
+ var line = process.env.COMP_LINE
+ var point = +process.env.COMP_POINT
+ var partialLine = line.substr(0, point)
+ var partialWords = words.slice(0, w)
// figure out where in that last word the point is.
var partialWord = args[w]
- , i = partialWord.length
- while (partialWord.substr(0, i) !== partialLine.substr(-1*i) && i > 0) {
- i --
+ var i = partialWord.length
+ while (partialWord.substr(0, i) !== partialLine.substr(-1 * i) && i > 0) {
+ i--
}
partialWord = unescape(partialWord.substr(0, i))
partialWords.push(partialWord)
- var opts = { words : words
- , w : w
- , word : word
- , line : line
- , lineLength : line.length
- , point : point
- , partialLine : partialLine
- , partialWords : partialWords
- , partialWord : partialWord
- , raw: args
- }
+ var opts = {
+ words: words,
+ w: w,
+ word: word,
+ line: line,
+ lineLength: line.length,
+ point: point,
+ partialLine: partialLine,
+ partialWords: partialWords,
+ partialWord: partialWord,
+ raw: args
+ }
cb = wrapCb(cb, opts)
console.error(opts)
- if (partialWords.slice(0, -1).indexOf("--") === -1) {
- if (word.charAt(0) === "-") return configCompl(opts, cb)
- if (words[w - 1]
- && words[w - 1].charAt(0) === "-"
- && !isFlag(words[w - 1])) {
+ if (partialWords.slice(0, -1).indexOf('--') === -1) {
+ if (word.charAt(0) === '-') return configCompl(opts, cb)
+ if (words[w - 1] &&
+ words[w - 1].charAt(0) === '-' &&
+ !isFlag(words[w - 1])) {
// awaiting a value for a non-bool config.
// don't even try to do this for now
- console.error("configValueCompl")
+ console.error('configValueCompl')
return configValueCompl(opts, cb)
}
}
@@ -145,20 +140,20 @@ function completion (args, cb) {
}
function dumpScript (cb) {
- var fs = require("graceful-fs")
- , path = require("path")
- , p = path.resolve(__dirname, "utils/completion.sh")
+ var fs = require('graceful-fs')
+ var path = require('path')
+ var p = path.resolve(__dirname, 'utils/completion.sh')
// The Darwin patch below results in callbacks first for the write and then
// for the error handler, so make sure we only call our callback once.
cb = once(cb)
- fs.readFile(p, "utf8", function (er, d) {
+ fs.readFile(p, 'utf8', function (er, d) {
if (er) return cb(er)
- d = d.replace(/^\#\!.*?\n/, "")
+ d = d.replace(/^\#\!.*?\n/, '')
process.stdout.write(d, function () { cb() })
- process.stdout.on("error", function (er) {
+ process.stdout.on('error', function (er) {
// Darwin is a real dick sometimes.
//
// This is necessary because the "source" or "." program in
@@ -169,7 +164,7 @@ function dumpScript (cb) {
// Really, one should not be tossing away EPIPE errors, or any
// errors, so casually. But, without this, `. <(npm completion)`
// can never ever work on OS X.
- if (er.errno === "EPIPE") er = null
+ if (er.errno === 'EPIPE') er = null
cb(er)
})
@@ -177,59 +172,65 @@ function dumpScript (cb) {
}
function unescape (w) {
- if (w.charAt(0) === "\"") return w.replace(/^"|"$/g, "")
- else return w.replace(/\\ /g, " ")
+ if (w.charAt(0) === '\'') return w.replace(/^'|'$/g, '')
+ else return w.replace(/\\ /g, ' ')
}
function escape (w) {
if (!w.match(/\s+/)) return w
- return "\"" + w + "\""
+ return '\'' + w + '\''
}
// The command should respond with an array. Loop over that,
// wrapping quotes around any that have spaces, and writing
// them to stdout. Use console.log, not the outfd config.
// If any of the items are arrays, then join them with a space.
-// Ie, returning ["a", "b c", ["d", "e"]] would allow it to expand
-// to: "a", "b c", or "d" "e"
-function wrapCb (cb, opts) { return function (er, compls) {
- if (!Array.isArray(compls)) compls = compls ? [compls] : []
- compls = compls.map(function (c) {
- if (Array.isArray(c)) c = c.map(escape).join(" ")
- else c = escape(c)
- return c
- })
- if (opts.partialWord) compls = compls.filter(function (c) {
- return c.indexOf(opts.partialWord) === 0
- })
- console.error([er && er.stack, compls, opts.partialWord])
- if (er || compls.length === 0) return cb(er)
+// Ie, returning ['a', 'b c', ['d', 'e']] would allow it to expand
+// to: 'a', 'b c', or 'd' 'e'
+function wrapCb (cb, opts) {
+ return function (er, compls) {
+ if (!Array.isArray(compls)) compls = compls ? [compls] : []
+ compls = compls.map(function (c) {
+ if (Array.isArray(c)) c = c.map(escape).join(' ')
+ else c = escape(c)
+ return c
+ })
- console.log(compls.join("\n"))
- cb()
-}}
+ if (opts.partialWord) {
+ compls = compls.filter(function (c) {
+ return c.indexOf(opts.partialWord) === 0
+ })
+ }
+
+ console.error([er && er.stack, compls, opts.partialWord])
+ if (er || compls.length === 0) return cb(er)
+
+ console.log(compls.join('\n'))
+ cb()
+ }
+}
// the current word has a dash. Return the config names,
// with the same number of dashes as the current word has.
function configCompl (opts, cb) {
var word = opts.word
- , split = word.match(/^(-+)((?:no-)*)(.*)$/)
- , dashes = split[1]
- , no = split[2]
- , flags = configNames.filter(isFlag)
+ var split = word.match(/^(-+)((?:no-)*)(.*)$/)
+ var dashes = split[1]
+ var no = split[2]
+ var flags = configNames.filter(isFlag)
console.error(flags)
return cb(null, allConfs.map(function (c) {
return dashes + c
}).concat(flags.map(function (f) {
- return dashes + (no || "no-") + f
+ return dashes + (no || 'no-') + f
})))
}
// expand with the valid values of various config values.
// not yet implemented.
function configValueCompl (opts, cb) {
- console.error("configValue", opts)
+ console.error('configValue', opts)
return cb(null, [])
}
@@ -237,8 +238,8 @@ function configValueCompl (opts, cb) {
function isFlag (word) {
// shorthands never take args.
var split = word.match(/^(-*)((?:no-)+)?(.*)$/)
- , no = split[2]
- , conf = split[3]
+ var no = split[2]
+ var conf = split[3]
return no || configTypes[conf] === Boolean || shorthands[conf]
}
diff --git a/deps/npm/lib/config.js b/deps/npm/lib/config.js
index c79cdc5b8b..305e6bc8a5 100644
--- a/deps/npm/lib/config.js
+++ b/deps/npm/lib/config.js
@@ -1,46 +1,47 @@
module.exports = config
-config.usage = "npm config set <key> <value>"
- + "\nnpm config get [<key>]"
- + "\nnpm config delete <key>"
- + "\nnpm config list"
- + "\nnpm config edit"
- + "\nnpm set <key> <value>"
- + "\nnpm get [<key>]"
+config.usage = 'npm config set <key> <value>' +
+ '\nnpm config get [<key>]' +
+ '\nnpm config delete <key>' +
+ '\nnpm config list' +
+ '\nnpm config edit' +
+ '\nnpm set <key> <value>' +
+ '\nnpm get [<key>]'
-var log = require("npmlog")
- , npm = require("./npm.js")
- , npmconf = require("./config/core.js")
- , fs = require("graceful-fs")
- , writeFileAtomic = require("write-file-atomic")
- , types = npmconf.defs.types
- , ini = require("ini")
- , editor = require("editor")
- , os = require("os")
- , umask = require("./utils/umask")
+var log = require('npmlog')
+var npm = require('./npm.js')
+var npmconf = require('./config/core.js')
+var fs = require('graceful-fs')
+var writeFileAtomic = require('write-file-atomic')
+var types = npmconf.defs.types
+var ini = require('ini')
+var editor = require('editor')
+var os = require('os')
+var umask = require('./utils/umask')
config.completion = function (opts, cb) {
var argv = opts.conf.argv.remain
- if (argv[1] !== "config") argv.unshift("config")
+ if (argv[1] !== 'config') argv.unshift('config')
if (argv.length === 2) {
- var cmds = ["get", "set", "delete", "ls", "rm", "edit"]
- if (opts.partialWord !== "l") cmds.push("list")
+ var cmds = ['get', 'set', 'delete', 'ls', 'rm', 'edit']
+ if (opts.partialWord !== 'l') cmds.push('list')
return cb(null, cmds)
}
var action = argv[2]
switch (action) {
- case "set":
+ case 'set':
// todo: complete with valid values, if possible.
if (argv.length > 3) return cb(null, [])
// fallthrough
- case "get":
- case "delete":
- case "rm":
+ /*eslint no-fallthrough:0*/
+ case 'get':
+ case 'delete':
+ case 'rm':
return cb(null, Object.keys(types))
- case "edit":
- case "list": case "ls":
+ case 'edit':
+ case 'list': case 'ls':
return cb(null, [])
default: return cb(null, [])
}
@@ -52,87 +53,87 @@ config.completion = function (opts, cb) {
function config (args, cb) {
var action = args.shift()
switch (action) {
- case "set": return set(args[0], args[1], cb)
- case "get": return get(args[0], cb)
- case "delete": case "rm": case "del": return del(args[0], cb)
- case "list": case "ls": return list(cb)
- case "edit": return edit(cb)
+ case 'set': return set(args[0], args[1], cb)
+ case 'get': return get(args[0], cb)
+ case 'delete': case 'rm': case 'del': return del(args[0], cb)
+ case 'list': case 'ls': return list(cb)
+ case 'edit': return edit(cb)
default: return unknown(action, cb)
}
}
function edit (cb) {
- var e = npm.config.get("editor")
- , which = npm.config.get("global") ? "global" : "user"
- , f = npm.config.get(which + "config")
- if (!e) return cb(new Error("No EDITOR config or environ set."))
+ var e = npm.config.get('editor')
+ var which = npm.config.get('global') ? 'global' : 'user'
+ var f = npm.config.get(which + 'config')
+ if (!e) return cb(new Error('No EDITOR config or environ set.'))
npm.config.save(which, function (er) {
if (er) return cb(er)
- fs.readFile(f, "utf8", function (er, data) {
- if (er) data = ""
- data = [ ";;;;"
- , "; npm "+(npm.config.get("global") ?
- "globalconfig" : "userconfig")+" file"
- , "; this is a simple ini-formatted file"
- , "; lines that start with semi-colons are comments."
- , "; read `npm help config` for help on the various options"
- , ";;;;"
- , ""
- , data
- ].concat( [ ";;;;"
- , "; all options with default values"
- , ";;;;"
- ]
- )
- .concat(Object.keys(npmconf.defaults).reduce(function (arr, key) {
+ fs.readFile(f, 'utf8', function (er, data) {
+ if (er) data = ''
+ data = [
+ ';;;;',
+ '; npm ' + (npm.config.get('global') ?
+ 'globalconfig' : 'userconfig') + ' file',
+ '; this is a simple ini-formatted file',
+ '; lines that start with semi-colons are comments.',
+ '; read `npm help config` for help on the various options',
+ ';;;;',
+ '',
+ data
+ ].concat([
+ ';;;;',
+ '; all options with default values',
+ ';;;;'
+ ]).concat(Object.keys(npmconf.defaults).reduce(function (arr, key) {
var obj = {}
obj[key] = npmconf.defaults[key]
- if (key === "logstream") return arr
+ if (key === 'logstream') return arr
return arr.concat(
ini.stringify(obj)
- .replace(/\n$/m, "")
- .replace(/^/g, "; ")
- .replace(/\n/g, "\n; ")
- .split("\n"))
+ .replace(/\n$/m, '')
+ .replace(/^/g, '; ')
+ .replace(/\n/g, '\n; ')
+ .split('\n'))
}, []))
- .concat([""])
+ .concat([''])
.join(os.EOL)
- writeFileAtomic
- ( f
- , data
- , function (er) {
- if (er) return cb(er)
- editor(f, { editor: e }, cb)
- }
- )
+ writeFileAtomic(
+ f,
+ data,
+ function (er) {
+ if (er) return cb(er)
+ editor(f, { editor: e }, cb)
+ }
+ )
})
})
}
function del (key, cb) {
- if (!key) return cb(new Error("no key provided"))
- var where = npm.config.get("global") ? "global" : "user"
+ if (!key) return cb(new Error('no key provided'))
+ var where = npm.config.get('global') ? 'global' : 'user'
npm.config.del(key, where)
npm.config.save(where, cb)
}
function set (key, val, cb) {
if (key === undefined) {
- return unknown("", cb)
+ return unknown('', cb)
}
if (val === undefined) {
- if (key.indexOf("=") !== -1) {
- var k = key.split("=")
+ if (key.indexOf('=') !== -1) {
+ var k = key.split('=')
key = k.shift()
- val = k.join("=")
+ val = k.join('=')
} else {
- val = ""
+ val = ''
}
}
key = key.trim()
val = val.trim()
- log.info("config", "set %j %j", key, val)
- var where = npm.config.get("global") ? "global" : "user"
+ log.info('config', 'set %j %j', key, val)
+ var where = npm.config.get('global') ? 'global' : 'user'
if (key.match(/umask/)) val = umask.fromString(val)
npm.config.set(key, val, where)
npm.config.save(where, cb)
@@ -140,8 +141,8 @@ function set (key, val, cb) {
function get (key, cb) {
if (!key) return list(cb)
- if (!public(key)) {
- return cb(new Error("---sekretz---"))
+ if (!publicVar(key)) {
+ return cb(new Error('---sekretz---'))
}
var val = npm.config.get(key)
if (key.match(/umask/)) val = umask.toString(val)
@@ -153,133 +154,129 @@ function sort (a, b) {
return a > b ? 1 : -1
}
-function public (k) {
- return !(k.charAt(0) === "_" ||
- k.indexOf(":_") !== -1 ||
+function publicVar (k) {
+ return !(k.charAt(0) === '_' ||
+ k.indexOf(':_') !== -1 ||
types[k] !== types[k])
}
function getKeys (data) {
- return Object.keys(data).filter(public).sort(sort)
+ return Object.keys(data).filter(publicVar).sort(sort)
}
function list (cb) {
- var msg = ""
- , long = npm.config.get("long")
+ var msg = ''
+ var long = npm.config.get('long')
var cli = npm.config.sources.cli.data
- , cliKeys = getKeys(cli)
+ var cliKeys = getKeys(cli)
if (cliKeys.length) {
- msg += "; cli configs\n"
+ msg += '; cli configs\n'
cliKeys.forEach(function (k) {
- if (cli[k] && typeof cli[k] === "object") return
- if (k === "argv") return
- msg += k + " = " + JSON.stringify(cli[k]) + "\n"
+ if (cli[k] && typeof cli[k] === 'object') return
+ if (k === 'argv') return
+ msg += k + ' = ' + JSON.stringify(cli[k]) + '\n'
})
- msg += "\n"
+ msg += '\n'
}
// env configs
var env = npm.config.sources.env.data
- , envKeys = getKeys(env)
+ var envKeys = getKeys(env)
if (envKeys.length) {
- msg += "; environment configs\n"
+ msg += '; environment configs\n'
envKeys.forEach(function (k) {
if (env[k] !== npm.config.get(k)) {
if (!long) return
- msg += "; " + k + " = " + JSON.stringify(env[k])
- + " (overridden)\n"
- } else msg += k + " = " + JSON.stringify(env[k]) + "\n"
+ msg += '; ' + k + ' = ' +
+ JSON.stringify(env[k]) + ' (overridden)\n'
+ } else msg += k + ' = ' + JSON.stringify(env[k]) + '\n'
})
- msg += "\n"
+ msg += '\n'
}
// user config file
var uconf = npm.config.sources.user.data
- , uconfKeys = getKeys(uconf)
+ var uconfKeys = getKeys(uconf)
if (uconfKeys.length) {
- msg += "; userconfig " + npm.config.get("userconfig") + "\n"
+ msg += '; userconfig ' + npm.config.get('userconfig') + '\n'
uconfKeys.forEach(function (k) {
- var val = (k.charAt(0) === "_")
- ? "---sekretz---"
+ var val = (k.charAt(0) === '_')
+ ? '---sekretz---'
: JSON.stringify(uconf[k])
if (uconf[k] !== npm.config.get(k)) {
if (!long) return
- msg += "; " + k + " = " + val
- + " (overridden)\n"
- } else msg += k + " = " + val + "\n"
+ msg += '; ' + k + ' = ' + val + ' (overridden)\n'
+ } else msg += k + ' = ' + val + '\n'
})
- msg += "\n"
+ msg += '\n'
}
// global config file
var gconf = npm.config.sources.global.data
- , gconfKeys = getKeys(gconf)
+ var gconfKeys = getKeys(gconf)
if (gconfKeys.length) {
- msg += "; globalconfig " + npm.config.get("globalconfig") + "\n"
+ msg += '; globalconfig ' + npm.config.get('globalconfig') + '\n'
gconfKeys.forEach(function (k) {
- var val = (k.charAt(0) === "_")
- ? "---sekretz---"
+ var val = (k.charAt(0) === '_')
+ ? '---sekretz---'
: JSON.stringify(gconf[k])
if (gconf[k] !== npm.config.get(k)) {
if (!long) return
- msg += "; " + k + " = " + val
- + " (overridden)\n"
- } else msg += k + " = " + val + "\n"
+ msg += '; ' + k + ' = ' + val + ' (overridden)\n'
+ } else msg += k + ' = ' + val + '\n'
})
- msg += "\n"
+ msg += '\n'
}
// builtin config file
var builtin = npm.config.sources.builtin || {}
if (builtin && builtin.data) {
var bconf = builtin.data
- , bpath = builtin.path
- , bconfKeys = getKeys(bconf)
+ var bpath = builtin.path
+ var bconfKeys = getKeys(bconf)
if (bconfKeys.length) {
- msg += "; builtin config " + bpath + "\n"
+ msg += '; builtin config ' + bpath + '\n'
bconfKeys.forEach(function (k) {
- var val = (k.charAt(0) === "_")
- ? "---sekretz---"
+ var val = (k.charAt(0) === '_')
+ ? '---sekretz---'
: JSON.stringify(bconf[k])
if (bconf[k] !== npm.config.get(k)) {
if (!long) return
- msg += "; " + k + " = " + val
- + " (overridden)\n"
- } else msg += k + " = " + val + "\n"
+ msg += '; ' + k + ' = ' + val + ' (overridden)\n'
+ } else msg += k + ' = ' + val + '\n'
})
- msg += "\n"
+ msg += '\n'
}
}
// only show defaults if --long
if (!long) {
- msg += "; node bin location = " + process.execPath + "\n"
- + "; cwd = " + process.cwd() + "\n"
- + "; HOME = " + process.env.HOME + "\n"
- + "; 'npm config ls -l' to show all defaults.\n"
+ msg += '; node bin location = ' + process.execPath + '\n' +
+ '; cwd = ' + process.cwd() + '\n' +
+ '; HOME = ' + process.env.HOME + '\n' +
+ '; "npm config ls -l" to show all defaults.\n'
console.log(msg)
return cb()
}
var defaults = npmconf.defaults
- , defKeys = getKeys(defaults)
- msg += "; default values\n"
+ var defKeys = getKeys(defaults)
+ msg += '; default values\n'
defKeys.forEach(function (k) {
- if (defaults[k] && typeof defaults[k] === "object") return
+ if (defaults[k] && typeof defaults[k] === 'object') return
var val = JSON.stringify(defaults[k])
if (defaults[k] !== npm.config.get(k)) {
- msg += "; " + k + " = " + val
- + " (overridden)\n"
- } else msg += k + " = " + val + "\n"
+ msg += '; ' + k + ' = ' + val + ' (overridden)\n'
+ } else msg += k + ' = ' + val + '\n'
})
- msg += "\n"
+ msg += '\n'
console.log(msg)
return cb()
}
function unknown (action, cb) {
- cb("Usage:\n" + config.usage)
+ cb('Usage:\n' + config.usage)
}
diff --git a/deps/npm/lib/config/clear-credentials-by-uri.js b/deps/npm/lib/config/clear-credentials-by-uri.js
index 88131f7adb..13c356605f 100644
--- a/deps/npm/lib/config/clear-credentials-by-uri.js
+++ b/deps/npm/lib/config/clear-credentials-by-uri.js
@@ -1,16 +1,16 @@
-var assert = require("assert")
+var assert = require('assert')
-var toNerfDart = require("./nerf-dart.js")
+var toNerfDart = require('./nerf-dart.js')
module.exports = clearCredentialsByURI
function clearCredentialsByURI (uri) {
- assert(uri && typeof uri === "string", "registry URL is required")
+ assert(uri && typeof uri === 'string', 'registry URL is required')
var nerfed = toNerfDart(uri)
- this.del(nerfed + ":_authToken", "user")
- this.del(nerfed + ":_password", "user")
- this.del(nerfed + ":username", "user")
- this.del(nerfed + ":email", "user")
+ this.del(nerfed + ':_authToken', 'user')
+ this.del(nerfed + ':_password', 'user')
+ this.del(nerfed + ':username', 'user')
+ this.del(nerfed + ':email', 'user')
}
diff --git a/deps/npm/lib/config/core.js b/deps/npm/lib/config/core.js
index f11a98dfb8..0c6d3ecdb7 100644
--- a/deps/npm/lib/config/core.js
+++ b/deps/npm/lib/config/core.js
@@ -1,16 +1,15 @@
-
-var CC = require("config-chain").ConfigChain
-var inherits = require("inherits")
-var configDefs = require("./defaults.js")
+var CC = require('config-chain').ConfigChain
+var inherits = require('inherits')
+var configDefs = require('./defaults.js')
var types = configDefs.types
-var once = require("once")
-var fs = require("fs")
-var path = require("path")
-var nopt = require("nopt")
-var ini = require("ini")
+var once = require('once')
+var fs = require('fs')
+var path = require('path')
+var nopt = require('nopt')
+var ini = require('ini')
var Umask = configDefs.Umask
-var mkdirp = require("mkdirp")
-var umask = require("../utils/umask")
+var mkdirp = require('mkdirp')
+var umask = require('../utils/umask')
exports.load = load
exports.Conf = Conf
@@ -19,11 +18,11 @@ exports.rootConf = null
exports.usingBuiltin = false
exports.defs = configDefs
-Object.defineProperty(exports, "defaults", { get: function () {
+Object.defineProperty(exports, 'defaults', { get: function () {
return configDefs.defaults
}, enumerable: true })
-Object.defineProperty(exports, "types", { get: function () {
+Object.defineProperty(exports, 'types', { get: function () {
return configDefs.types
}, enumerable: true })
@@ -34,20 +33,19 @@ var myUid = process.env.SUDO_UID !== undefined
var myGid = process.env.SUDO_GID !== undefined
? process.env.SUDO_GID : (process.getgid && process.getgid())
-
var loading = false
var loadCbs = []
function load () {
var cli, builtin, cb
- for (var i = 0; i < arguments.length; i++)
+ for (var i = 0; i < arguments.length; i++) {
switch (typeof arguments[i]) {
- case "string": builtin = arguments[i]; break
- case "object": cli = arguments[i]; break
- case "function": cb = arguments[i]; break
+ case 'string': builtin = arguments[i]; break
+ case 'object': cli = arguments[i]; break
+ case 'function': cb = arguments[i]; break
}
+ }
- if (!cb)
- cb = function () {}
+ if (!cb) cb = function () {}
if (exports.loaded) {
var ret = exports.loaded
@@ -59,17 +57,17 @@ function load () {
}
// either a fresh object, or a clone of the passed in obj
- if (!cli)
+ if (!cli) {
cli = {}
- else
+ } else {
cli = Object.keys(cli).reduce(function (c, k) {
c[k] = cli[k]
return c
}, {})
+ }
loadCbs.push(cb)
- if (loading)
- return
+ if (loading) return
loading = true
@@ -87,28 +85,28 @@ function load () {
// check for a builtin if provided.
exports.usingBuiltin = !!builtin
var rc = exports.rootConf = new Conf()
- if (builtin)
- rc.addFile(builtin, "builtin")
- else
- rc.add({}, "builtin")
+ if (builtin) {
+ rc.addFile(builtin, 'builtin')
+ } else {
+ rc.add({}, 'builtin')
+ }
- rc.on("load", function () {
+ rc.on('load', function () {
load_(builtin, rc, cli, cb)
})
- rc.on("error", cb)
+ rc.on('error', cb)
}
-function load_(builtin, rc, cli, cb) {
+function load_ (builtin, rc, cli, cb) {
var defaults = configDefs.defaults
var conf = new Conf(rc)
conf.usingBuiltin = !!builtin
- conf.add(cli, "cli")
+ conf.add(cli, 'cli')
conf.addEnv()
- conf.loadPrefix(function(er) {
- if (er)
- return cb(er)
+ conf.loadPrefix(function (er) {
+ if (er) return cb(er)
// If you're doing `npm --userconfig=~/foo.npmrc` then you'd expect
// that ~/.npmrc won't override the stuff in ~/foo.npmrc (or, indeed
@@ -126,24 +124,24 @@ function load_(builtin, rc, cli, cb) {
// the default or resolved userconfig value. npm will log a "verbose"
// message about this when it happens, but it is a rare enough edge case
// that we don't have to be super concerned about it.
- var projectConf = path.resolve(conf.localPrefix, ".npmrc")
- var defaultUserConfig = rc.get("userconfig")
- var resolvedUserConfig = conf.get("userconfig")
- if (!conf.get("global") &&
+ var projectConf = path.resolve(conf.localPrefix, '.npmrc')
+ var defaultUserConfig = rc.get('userconfig')
+ var resolvedUserConfig = conf.get('userconfig')
+ if (!conf.get('global') &&
projectConf !== defaultUserConfig &&
projectConf !== resolvedUserConfig) {
- conf.addFile(projectConf, "project")
- conf.once("load", afterPrefix)
+ conf.addFile(projectConf, 'project')
+ conf.once('load', afterPrefix)
} else {
- conf.add({}, "project")
+ conf.add({}, 'project')
afterPrefix()
}
})
- function afterPrefix() {
- conf.addFile(conf.get("userconfig"), "user")
- conf.once("error", cb)
- conf.once("load", afterUser)
+ function afterPrefix () {
+ conf.addFile(conf.get('userconfig'), 'user')
+ conf.once('error', cb)
+ conf.once('load', afterUser)
}
function afterUser () {
@@ -152,11 +150,11 @@ function load_(builtin, rc, cli, cb) {
// Eg, `npm config get globalconfig --prefix ~/local` should
// return `~/local/etc/npmrc`
// annoying humans and their expectations!
- if (conf.get("prefix")) {
- var etc = path.resolve(conf.get("prefix"), "etc")
- mkdirp(etc, function (err) {
- defaults.globalconfig = path.resolve(etc, "npmrc")
- defaults.globalignorefile = path.resolve(etc, "npmignore")
+ if (conf.get('prefix')) {
+ var etc = path.resolve(conf.get('prefix'), 'etc')
+ mkdirp(etc, function () {
+ defaults.globalconfig = path.resolve(etc, 'npmrc')
+ defaults.globalignorefile = path.resolve(etc, 'npmignore')
afterUserContinuation()
})
} else {
@@ -164,25 +162,24 @@ function load_(builtin, rc, cli, cb) {
}
}
- function afterUserContinuation() {
- conf.addFile(conf.get("globalconfig"), "global")
+ function afterUserContinuation () {
+ conf.addFile(conf.get('globalconfig'), 'global')
// move the builtin into the conf stack now.
conf.root = defaults
- conf.add(rc.shift(), "builtin")
- conf.once("load", function () {
+ conf.add(rc.shift(), 'builtin')
+ conf.once('load', function () {
conf.loadExtras(afterExtras)
})
}
- function afterExtras(er) {
- if (er)
- return cb(er)
+ function afterExtras (er) {
+ if (er) return cb(er)
// warn about invalid bits.
validate(conf)
- var cafile = conf.get("cafile")
+ var cafile = conf.get('cafile')
if (cafile) {
return conf.loadCAFile(cafile, finalize)
@@ -191,7 +188,7 @@ function load_(builtin, rc, cli, cb) {
finalize()
}
- function finalize(er) {
+ function finalize (er) {
if (er) {
return cb(er)
}
@@ -208,36 +205,35 @@ function load_(builtin, rc, cli, cb) {
// 4. Can inherit from another Conf object, using it as the base.
inherits(Conf, CC)
function Conf (base) {
- if (!(this instanceof Conf))
- return new Conf(base)
+ if (!(this instanceof Conf)) return new Conf(base)
CC.apply(this)
- if (base)
- if (base instanceof Conf)
+ if (base) {
+ if (base instanceof Conf) {
this.root = base.list[0] || base.root
- else
+ } else {
this.root = base
- else
+ }
+ } else {
this.root = configDefs.defaults
+ }
}
-Conf.prototype.loadPrefix = require("./load-prefix.js")
-Conf.prototype.loadCAFile = require("./load-cafile.js")
-Conf.prototype.loadUid = require("./load-uid.js")
-Conf.prototype.setUser = require("./set-user.js")
-Conf.prototype.findPrefix = require("./find-prefix.js")
-Conf.prototype.getCredentialsByURI = require("./get-credentials-by-uri.js")
-Conf.prototype.setCredentialsByURI = require("./set-credentials-by-uri.js")
-Conf.prototype.clearCredentialsByURI = require("./clear-credentials-by-uri.js")
-
-Conf.prototype.loadExtras = function(cb) {
- this.setUser(function(er) {
- if (er)
- return cb(er)
- this.loadUid(function(er) {
- if (er)
- return cb(er)
+Conf.prototype.loadPrefix = require('./load-prefix.js')
+Conf.prototype.loadCAFile = require('./load-cafile.js')
+Conf.prototype.loadUid = require('./load-uid.js')
+Conf.prototype.setUser = require('./set-user.js')
+Conf.prototype.findPrefix = require('./find-prefix.js')
+Conf.prototype.getCredentialsByURI = require('./get-credentials-by-uri.js')
+Conf.prototype.setCredentialsByURI = require('./set-credentials-by-uri.js')
+Conf.prototype.clearCredentialsByURI = require('./clear-credentials-by-uri.js')
+
+Conf.prototype.loadExtras = function (cb) {
+ this.setUser(function (er) {
+ if (er) return cb(er)
+ this.loadUid(function (er) {
+ if (er) return cb(er)
// Without prefix, nothing will ever work
mkdirp(this.prefix, cb)
}.bind(this))
@@ -247,17 +243,17 @@ Conf.prototype.loadExtras = function(cb) {
Conf.prototype.save = function (where, cb) {
var target = this.sources[where]
if (!target || !(target.path || target.source) || !target.data) {
- if (where !== "builtin")
- var er = new Error("bad save target: " + where)
+ var er
+ if (where !== 'builtin') er = new Error('bad save target: ' + where)
if (cb) {
process.nextTick(cb.bind(null, er))
return this
}
- return this.emit("error", er)
+ return this.emit('error', er)
}
if (target.source) {
- var pref = target.prefix || ""
+ var pref = target.prefix || ''
Object.keys(target.data).forEach(function (k) {
target.source[pref + k] = target.data[k]
})
@@ -267,11 +263,29 @@ Conf.prototype.save = function (where, cb) {
var data = ini.stringify(target.data)
+ var then = function then (er) {
+ if (er) return done(er)
+
+ fs.chmod(target.path, mode, done)
+ }
+
+ var done = function done (er) {
+ if (er) {
+ if (cb) return cb(er)
+ else return this.emit('error', er)
+ }
+ this._saving --
+ if (this._saving === 0) {
+ if (cb) cb()
+ this.emit('save')
+ }
+ }
+
then = then.bind(this)
done = done.bind(this)
this._saving ++
- var mode = where === "user" ? "0600" : "0666"
+ var mode = where === 'user' ? '0600' : '0666'
if (!data.trim()) {
fs.unlink(target.path, function () {
// ignore the possible error (e.g. the file doesn't exist)
@@ -279,57 +293,40 @@ Conf.prototype.save = function (where, cb) {
})
} else {
mkdirp(path.dirname(target.path), function (er) {
- if (er)
- return then(er)
- fs.writeFile(target.path, data, "utf8", function (er) {
- if (er)
- return then(er)
- if (where === "user" && myUid && myGid)
+ if (er) return then(er)
+ fs.writeFile(target.path, data, 'utf8', function (er) {
+ if (er) return then(er)
+ if (where === 'user' && myUid && myGid) {
+
fs.chown(target.path, +myUid, +myGid, then)
- else
+ } else {
then()
+ }
})
})
}
- function then (er) {
- if (er)
- return done(er)
- fs.chmod(target.path, mode, done)
- }
-
- function done (er) {
- if (er) {
- if (cb) return cb(er)
- else return this.emit("error", er)
- }
- this._saving --
- if (this._saving === 0) {
- if (cb) cb()
- this.emit("save")
- }
- }
-
return this
}
Conf.prototype.addFile = function (file, name) {
name = name || file
- var marker = {__source__:name}
- this.sources[name] = { path: file, type: "ini" }
+ var marker = { __source__: name }
+ this.sources[name] = { path: file, type: 'ini' }
this.push(marker)
this._await()
- fs.readFile(file, "utf8", function (er, data) {
- if (er) // just ignore missing files.
- return this.add({}, marker)
- this.addString(data, file, "ini", marker)
+ fs.readFile(file, 'utf8', function (er, data) {
+ // just ignore missing files.
+ if (er) return this.add({}, marker)
+
+ this.addString(data, file, 'ini', marker)
}.bind(this))
return this
}
// always ini files.
Conf.prototype.parse = function (content, file) {
- return CC.prototype.parse.call(this, content, file, "ini")
+ return CC.prototype.parse.call(this, content, file, 'ini')
}
Conf.prototype.add = function (data, marker) {
@@ -337,9 +334,8 @@ Conf.prototype.add = function (data, marker) {
Object.keys(data).forEach(function (k) {
data[k] = parseField(data[k], k)
})
- }
- catch (e) {
- this.emit("error", e)
+ } catch (e) {
+ this.emit('error', e)
return this
}
return CC.prototype.add.call(this, data, marker)
@@ -351,82 +347,77 @@ Conf.prototype.addEnv = function (env) {
Object.keys(env)
.filter(function (k) { return k.match(/^npm_config_/i) })
.forEach(function (k) {
- if (!env[k])
- return
+ if (!env[k]) return
// leave first char untouched, even if
- // it is a "_" - convert all other to "-"
+ // it is a '_' - convert all other to '-'
var p = k.toLowerCase()
- .replace(/^npm_config_/, "")
- .replace(/(?!^)_/g, "-")
+ .replace(/^npm_config_/, '')
+ .replace(/(?!^)_/g, '-')
conf[p] = env[k]
})
- return CC.prototype.addEnv.call(this, "", conf, "env")
+ return CC.prototype.addEnv.call(this, '', conf, 'env')
}
function parseField (f, k) {
- if (typeof f !== "string" && !(f instanceof String))
- return f
+ if (typeof f !== 'string' && !(f instanceof String)) return f
// type can be an array or single thing.
var typeList = [].concat(types[k])
- var isPath = -1 !== typeList.indexOf(path)
- var isBool = -1 !== typeList.indexOf(Boolean)
- var isString = -1 !== typeList.indexOf(String)
- var isUmask = -1 !== typeList.indexOf(Umask)
- var isNumber = -1 !== typeList.indexOf(Number)
+ var isPath = typeList.indexOf(path) !== -1
+ var isBool = typeList.indexOf(Boolean) !== -1
+ var isString = typeList.indexOf(String) !== -1
+ var isUmask = typeList.indexOf(Umask) !== -1
+ var isNumber = typeList.indexOf(Number) !== -1
- f = (""+f).trim()
+ f = ('' + f).trim()
if (f.match(/^".*"$/)) {
try {
f = JSON.parse(f)
- }
- catch (e) {
- throw new Error("Failed parsing JSON config key " + k + ": " + f)
+ } catch (e) {
+ throw new Error('Failed parsing JSON config key ' + k + ': ' + f)
}
}
- if (isBool && !isString && f === "")
- return true
+ if (isBool && !isString && f === '') return true
switch (f) {
- case "true": return true
- case "false": return false
- case "null": return null
- case "undefined": return undefined
+ case 'true': return true
+ case 'false': return false
+ case 'null': return null
+ case 'undefined': return undefined
}
f = envReplace(f)
if (isPath) {
- var homePattern = process.platform === "win32" ? /^~(\/|\\)/ : /^~\//
+ var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\//
if (f.match(homePattern) && process.env.HOME) {
f = path.resolve(process.env.HOME, f.substr(2))
}
f = path.resolve(f)
}
- if (isUmask)
- f = umask.fromString(f)
+ if (isUmask) f = umask.fromString(f)
- if (isNumber && !isNaN(f))
- f = +f
+ if (isNumber && !isNaN(f)) f = +f
return f
}
function envReplace (f) {
- if (typeof f !== "string" || !f) return f
+ if (typeof f !== 'string' || !f) return f
// replace any ${ENV} values with the appropriate environ.
var envExpr = /(\\*)\$\{([^}]+)\}/g
return f.replace(envExpr, function (orig, esc, name) {
esc = esc.length && esc.length % 2
- if (esc)
- return orig
- if (undefined === process.env[name])
- throw new Error("Failed to replace env in config: "+orig)
+ if (esc) return orig
+ if (undefined === process.env[name]) {
+ throw new Error('Failed to replace env in config: ' + orig)
+ }
+
return process.env[name]
})
}
diff --git a/deps/npm/lib/config/defaults.js b/deps/npm/lib/config/defaults.js
index a90d4c22b0..ff56cb8e4e 100644
--- a/deps/npm/lib/config/defaults.js
+++ b/deps/npm/lib/config/defaults.js
@@ -1,23 +1,23 @@
// defaults, types, and shorthands.
-
-var path = require("path")
- , url = require("url")
- , Stream = require("stream").Stream
- , semver = require("semver")
- , stableFamily = semver.parse(process.version)
- , nopt = require("nopt")
- , os = require("os")
- , osenv = require("osenv")
- , umask = require("../utils/umask")
+var path = require('path')
+var url = require('url')
+var Stream = require('stream').Stream
+var semver = require('semver')
+var stableFamily = semver.parse(process.version)
+var nopt = require('nopt')
+var os = require('os')
+var osenv = require('osenv')
+var umask = require('../utils/umask')
+var hasUnicode = require('has-unicode')
var log
try {
- log = require("npmlog")
+ log = require('npmlog')
} catch (er) {
- var util = require("util")
+ var util = require('util')
log = { warn: function (m) {
- console.warn(m + " " + util.format.apply(util, [].slice.call(arguments, 1)))
+ console.warn(m + ' ' + util.format.apply(util, [].slice.call(arguments, 1)))
} }
}
@@ -42,7 +42,7 @@ nopt.typeDefs.Stream = { type: Stream, validate: validateStream }
nopt.typeDefs.Umask = { type: Umask, validate: validateUmask }
nopt.invalidHandler = function (k, val, type) {
- log.warn("invalid config", k + "=" + JSON.stringify(val))
+ log.warn('invalid config', k + '=' + JSON.stringify(val))
if (Array.isArray(type)) {
if (type.indexOf(url) !== -1) type = url
@@ -51,25 +51,25 @@ nopt.invalidHandler = function (k, val, type) {
switch (type) {
case Umask:
- log.warn("invalid config", "Must be umask, octal number in range 0000..0777")
+ log.warn('invalid config', 'Must be umask, octal number in range 0000..0777')
break
case url:
- log.warn("invalid config", "Must be a full url with 'http://'")
+ log.warn('invalid config', "Must be a full url with 'http://'")
break
case path:
- log.warn("invalid config", "Must be a valid filesystem path")
+ log.warn('invalid config', 'Must be a valid filesystem path')
break
case Number:
- log.warn("invalid config", "Must be a numeric value")
+ log.warn('invalid config', 'Must be a numeric value')
break
case Stream:
- log.warn("invalid config", "Must be an instance of the Stream class")
+ log.warn('invalid config', 'Must be an instance of the Stream class')
break
}
}
if (!stableFamily || (+stableFamily.minor % 2)) stableFamily = null
-else stableFamily = stableFamily.major + "." + stableFamily.minor
+else stableFamily = stableFamily.major + '.' + stableFamily.minor
var defaults
@@ -79,20 +79,19 @@ var home = osenv.home()
var uidOrPid = process.getuid ? process.getuid() : process.pid
if (home) process.env.HOME = home
-else home = path.resolve(temp, "npm-" + uidOrPid)
+else home = path.resolve(temp, 'npm-' + uidOrPid)
-var cacheExtra = process.platform === "win32" ? "npm-cache" : ".npm"
-var cacheRoot = process.platform === "win32" && process.env.APPDATA || home
+var cacheExtra = process.platform === 'win32' ? 'npm-cache' : '.npm'
+var cacheRoot = process.platform === 'win32' && process.env.APPDATA || home
var cache = path.resolve(cacheRoot, cacheExtra)
-
var globalPrefix
-Object.defineProperty(exports, "defaults", {get: function () {
+Object.defineProperty(exports, 'defaults', {get: function () {
if (defaults) return defaults
if (process.env.PREFIX) {
globalPrefix = process.env.PREFIX
- } else if (process.platform === "win32") {
+ } else if (process.platform === 'win32') {
// c:\node\node.exe --> prefix=c:\node\
globalPrefix = path.dirname(process.execPath)
} else {
@@ -106,214 +105,222 @@ Object.defineProperty(exports, "defaults", {get: function () {
}
defaults = {
- access : null
- , "always-auth" : false
-
- , "bin-links" : true
- , browser : null
-
- , ca: null
- , cafile: null
-
- , cache : cache
-
- , "cache-lock-stale": 60000
- , "cache-lock-retries": 10
- , "cache-lock-wait": 10000
-
- , "cache-max": Infinity
- , "cache-min": 10
-
- , cert: null
-
- , color : true
- , depth: Infinity
- , description : true
- , dev : false
- , editor : osenv.editor()
- , "engine-strict": false
- , force : false
-
- , "fetch-retries": 2
- , "fetch-retry-factor": 10
- , "fetch-retry-mintimeout": 10000
- , "fetch-retry-maxtimeout": 60000
-
- , git: "git"
- , "git-tag-version": true
-
- , global : false
- , globalconfig : path.resolve(globalPrefix, "etc", "npmrc")
- , group : process.platform === "win32" ? 0
- : process.env.SUDO_GID || (process.getgid && process.getgid())
- , heading: "npm"
- , "if-present": false
- , "ignore-scripts": false
- , "init-module": path.resolve(home, ".npm-init.js")
- , "init-author-name" : ""
- , "init-author-email" : ""
- , "init-author-url" : ""
- , "init-version": "1.0.0"
- , "init-license": "ISC"
- , json: false
- , key: null
- , link: false
- , "local-address" : undefined
- , loglevel : "warn"
- , logstream : process.stderr
- , long : false
- , message : "%s"
- , "node-version" : process.version
- , npat : false
- , "onload-script" : false
- , optional: true
- , parseable : false
- , prefix : globalPrefix
- , production: process.env.NODE_ENV === "production"
- , "proprietary-attribs": true
- , proxy : null
- , "https-proxy" : null
- , "user-agent" : "npm/{npm-version} "
- + "node/{node-version} "
- + "{platform} "
- + "{arch}"
- , "rebuild-bundle" : true
- , registry : "https://registry.npmjs.org/"
- , rollback : true
- , save : false
- , "save-bundle": false
- , "save-dev" : false
- , "save-exact" : false
- , "save-optional" : false
- , "save-prefix": "^"
- , scope : ""
- , searchopts: ""
- , searchexclude: null
- , searchsort: "name"
- , shell : osenv.shell()
- , shrinkwrap: true
- , "sign-git-tag": false
- , spin: true
- , "strict-ssl": true
- , tag : "latest"
- , "tag-version-prefix" : "v"
- , tmp : temp
- , unicode : true
- , "unsafe-perm" : process.platform === "win32"
- || process.platform === "cygwin"
- || !( process.getuid && process.setuid
- && process.getgid && process.setgid )
- || process.getuid() !== 0
- , usage : false
- , user : process.platform === "win32" ? 0 : "nobody"
- , userconfig : path.resolve(home, ".npmrc")
- , umask: process.umask ? process.umask() : umask.fromString("022")
- , version : false
- , versions : false
- , viewer: process.platform === "win32" ? "browser" : "man"
-
- , _exit : true
+ access: null,
+ 'always-auth': false,
+ also: null,
+
+ 'bin-links': true,
+ browser: null,
+
+ ca: null,
+ cafile: null,
+
+ cache: cache,
+
+ 'cache-lock-stale': 60000,
+ 'cache-lock-retries': 10,
+ 'cache-lock-wait': 10000,
+
+ 'cache-max': Infinity,
+ 'cache-min': 10,
+
+ cert: null,
+
+ color: true,
+ depth: Infinity,
+ description: true,
+ dev: false,
+ 'dry-run': false,
+ editor: osenv.editor(),
+ 'engine-strict': false,
+ force: false,
+
+ 'fetch-retries': 2,
+ 'fetch-retry-factor': 10,
+ 'fetch-retry-mintimeout': 10000,
+ 'fetch-retry-maxtimeout': 60000,
+
+ git: 'git',
+ 'git-tag-version': true,
+
+ global: false,
+ globalconfig: path.resolve(globalPrefix, 'etc', 'npmrc'),
+ group: process.platform === 'win32' ? 0
+ : process.env.SUDO_GID || (process.getgid && process.getgid()),
+ heading: 'npm',
+ 'if-present': false,
+ 'ignore-scripts': false,
+ 'init-module': path.resolve(home, '.npm-init.js'),
+ 'init-author-name': '',
+ 'init-author-email': '',
+ 'init-author-url': '',
+ 'init-version': '1.0.0',
+ 'init-license': 'ISC',
+ json: false,
+ key: null,
+ link: false,
+ 'local-address': undefined,
+ loglevel: 'warn',
+ logstream: process.stderr,
+ long: false,
+ message: '%s',
+ 'node-version': process.version,
+ npat: false,
+ 'onload-script': false,
+ only: null,
+ optional: true,
+ parseable: false,
+ prefix: globalPrefix,
+ production: process.env.NODE_ENV === 'production',
+ 'progress': !process.env.TRAVIS && !process.env.CI,
+ 'proprietary-attribs': true,
+ proxy: null,
+ 'https-proxy': null,
+ 'user-agent': 'npm/{npm-version} ' +
+ 'node/{node-version} ' +
+ '{platform} ' +
+ '{arch}',
+ 'rebuild-bundle': true,
+ registry: 'https://registry.npmjs.org/',
+ rollback: true,
+ save: false,
+ 'save-bundle': false,
+ 'save-dev': false,
+ 'save-exact': false,
+ 'save-optional': false,
+ 'save-prefix': '^',
+ scope: '',
+ searchopts: '',
+ searchexclude: null,
+ searchsort: 'name',
+ shell: osenv.shell(),
+ shrinkwrap: true,
+ 'sign-git-tag': false,
+ 'strict-ssl': true,
+ tag: 'latest',
+ 'tag-version-prefix': 'v',
+ tmp: temp,
+ unicode: hasUnicode(),
+ 'unsafe-perm': process.platform === 'win32' ||
+ process.platform === 'cygwin' ||
+ !(process.getuid && process.setuid &&
+ process.getgid && process.setgid) ||
+ process.getuid() !== 0,
+ usage: false,
+ user: process.platform === 'win32' ? 0 : 'nobody',
+ userconfig: path.resolve(home, '.npmrc'),
+ umask: process.umask ? process.umask() : umask.fromString('022'),
+ version: false,
+ versions: false,
+ viewer: process.platform === 'win32' ? 'browser' : 'man',
+
+ _exit: true
}
return defaults
}})
-exports.types =
- { access : [null, "restricted", "public"]
- , "always-auth" : Boolean
- , "bin-links": Boolean
- , browser : [null, String]
- , ca: [null, String, Array]
- , cafile : path
- , cache : path
- , "cache-lock-stale": Number
- , "cache-lock-retries": Number
- , "cache-lock-wait": Number
- , "cache-max": Number
- , "cache-min": Number
- , cert: [null, String]
- , color : ["always", Boolean]
- , depth : Number
- , description : Boolean
- , dev : Boolean
- , editor : String
- , "engine-strict": Boolean
- , force : Boolean
- , "fetch-retries": Number
- , "fetch-retry-factor": Number
- , "fetch-retry-mintimeout": Number
- , "fetch-retry-maxtimeout": Number
- , git: String
- , "git-tag-version": Boolean
- , global : Boolean
- , globalconfig : path
- , group : [Number, String]
- , "https-proxy" : [null, url]
- , "user-agent" : String
- , "heading": String
- , "if-present": Boolean
- , "ignore-scripts": Boolean
- , "init-module": path
- , "init-author-name" : String
- , "init-author-email" : String
- , "init-author-url" : ["", url]
- , "init-license": String
- , "init-version": semver
- , json: Boolean
- , key: [null, String]
- , link: Boolean
+exports.types = {
+ access: [null, 'restricted', 'public'],
+ 'always-auth': Boolean,
+ also: [null, 'dev', 'development'],
+ 'bin-links': Boolean,
+ browser: [null, String],
+ ca: [null, String, Array],
+ cafile: path,
+ cache: path,
+ 'cache-lock-stale': Number,
+ 'cache-lock-retries': Number,
+ 'cache-lock-wait': Number,
+ 'cache-max': Number,
+ 'cache-min': Number,
+ cert: [null, String],
+ color: ['always', Boolean],
+ depth: Number,
+ description: Boolean,
+ dev: Boolean,
+ 'dry-run': Boolean,
+ editor: String,
+ 'engine-strict': Boolean,
+ force: Boolean,
+ 'fetch-retries': Number,
+ 'fetch-retry-factor': Number,
+ 'fetch-retry-mintimeout': Number,
+ 'fetch-retry-maxtimeout': Number,
+ git: String,
+ 'git-tag-version': Boolean,
+ global: Boolean,
+ globalconfig: path,
+ group: [Number, String],
+ 'https-proxy': [null, url],
+ 'user-agent': String,
+ 'heading': String,
+ 'if-present': Boolean,
+ 'ignore-scripts': Boolean,
+ 'init-module': path,
+ 'init-author-name': String,
+ 'init-author-email': String,
+ 'init-author-url': ['', url],
+ 'init-license': String,
+ 'init-version': semver,
+ json: Boolean,
+ key: [null, String],
+ link: Boolean,
// local-address must be listed as an IP for a local network interface
// must be IPv4 due to node bug
- , "local-address" : getLocalAddresses()
- , loglevel : ["silent", "error", "warn", "http", "info", "verbose", "silly"]
- , logstream : Stream
- , long : Boolean
- , message: String
- , "node-version" : [null, semver]
- , npat : Boolean
- , "onload-script" : [null, String]
- , optional: Boolean
- , parseable : Boolean
- , prefix: path
- , production: Boolean
- , "proprietary-attribs": Boolean
- , proxy : [null, false, url] // allow proxy to be disabled explicitly
- , "rebuild-bundle" : Boolean
- , registry : [null, url]
- , rollback : Boolean
- , save : Boolean
- , "save-bundle": Boolean
- , "save-dev" : Boolean
- , "save-exact" : Boolean
- , "save-optional" : Boolean
- , "save-prefix": String
- , scope : String
- , searchopts : String
- , searchexclude: [null, String]
- , searchsort: [ "name", "-name"
- , "description", "-description"
- , "author", "-author"
- , "date", "-date"
- , "keywords", "-keywords" ]
- , shell : String
- , shrinkwrap: Boolean
- , "sign-git-tag": Boolean
- , spin: ["always", Boolean]
- , "strict-ssl": Boolean
- , tag : String
- , tmp : path
- , unicode : Boolean
- , "unsafe-perm" : Boolean
- , usage : Boolean
- , user : [Number, String]
- , userconfig : path
- , umask: Umask
- , version : Boolean
- , "tag-version-prefix" : String
- , versions : Boolean
- , viewer: String
- , _exit : Boolean
- }
+ 'local-address': getLocalAddresses(),
+ loglevel: ['silent', 'error', 'warn', 'http', 'info', 'verbose', 'silly'],
+ logstream: Stream,
+ long: Boolean,
+ message: String,
+ 'node-version': [null, semver],
+ npat: Boolean,
+ 'onload-script': [null, String],
+ only: [null, 'dev', 'development', 'prod', 'production'],
+ optional: Boolean,
+ parseable: Boolean,
+ prefix: path,
+ production: Boolean,
+ progress: Boolean,
+ 'proprietary-attribs': Boolean,
+ proxy: [null, false, url], // allow proxy to be disabled explicitly
+ 'rebuild-bundle': Boolean,
+ registry: [null, url],
+ rollback: Boolean,
+ save: Boolean,
+ 'save-bundle': Boolean,
+ 'save-dev': Boolean,
+ 'save-exact': Boolean,
+ 'save-optional': Boolean,
+ 'save-prefix': String,
+ scope: String,
+ searchopts: String,
+ searchexclude: [null, String],
+ searchsort: [
+ 'name', '-name',
+ 'description', '-description',
+ 'author', '-author',
+ 'date', '-date',
+ 'keywords', '-keywords'
+ ],
+ shell: String,
+ shrinkwrap: Boolean,
+ 'sign-git-tag': Boolean,
+ 'strict-ssl': Boolean,
+ tag: String,
+ tmp: path,
+ unicode: Boolean,
+ 'unsafe-perm': Boolean,
+ usage: Boolean,
+ user: [Number, String],
+ userconfig: path,
+ umask: Umask,
+ version: Boolean,
+ 'tag-version-prefix': String,
+ versions: Boolean,
+ viewer: String,
+ _exit: Boolean
+}
function getLocalAddresses () {
var interfaces
@@ -338,41 +345,41 @@ function getLocalAddresses () {
}, []).concat(undefined)
}
-exports.shorthands =
- { s : ["--loglevel", "silent"]
- , d : ["--loglevel", "info"]
- , dd : ["--loglevel", "verbose"]
- , ddd : ["--loglevel", "silly"]
- , noreg : ["--no-registry"]
- , N : ["--no-registry"]
- , reg : ["--registry"]
- , "no-reg" : ["--no-registry"]
- , silent : ["--loglevel", "silent"]
- , verbose : ["--loglevel", "verbose"]
- , quiet: ["--loglevel", "warn"]
- , q: ["--loglevel", "warn"]
- , h : ["--usage"]
- , H : ["--usage"]
- , "?" : ["--usage"]
- , help : ["--usage"]
- , v : ["--version"]
- , f : ["--force"]
- , gangster : ["--force"]
- , gangsta : ["--force"]
- , desc : ["--description"]
- , "no-desc" : ["--no-description"]
- , "local" : ["--no-global"]
- , l : ["--long"]
- , m : ["--message"]
- , p : ["--parseable"]
- , porcelain : ["--parseable"]
- , g : ["--global"]
- , S : ["--save"]
- , D : ["--save-dev"]
- , E : ["--save-exact"]
- , O : ["--save-optional"]
- , y : ["--yes"]
- , n : ["--no-yes"]
- , B : ["--save-bundle"]
- , C : ["--prefix"]
- }
+exports.shorthands = {
+ s: ['--loglevel', 'silent'],
+ d: ['--loglevel', 'info'],
+ dd: ['--loglevel', 'verbose'],
+ ddd: ['--loglevel', 'silly'],
+ noreg: ['--no-registry'],
+ N: ['--no-registry'],
+ reg: ['--registry'],
+ 'no-reg': ['--no-registry'],
+ silent: ['--loglevel', 'silent'],
+ verbose: ['--loglevel', 'verbose'],
+ quiet: ['--loglevel', 'warn'],
+ q: ['--loglevel', 'warn'],
+ h: ['--usage'],
+ H: ['--usage'],
+ '?': ['--usage'],
+ help: ['--usage'],
+ v: ['--version'],
+ f: ['--force'],
+ gangster: ['--force'],
+ gangsta: ['--force'],
+ desc: ['--description'],
+ 'no-desc': ['--no-description'],
+ 'local': ['--no-global'],
+ l: ['--long'],
+ m: ['--message'],
+ p: ['--parseable'],
+ porcelain: ['--parseable'],
+ g: ['--global'],
+ S: ['--save'],
+ D: ['--save-dev'],
+ E: ['--save-exact'],
+ O: ['--save-optional'],
+ y: ['--yes'],
+ n: ['--no-yes'],
+ B: ['--save-bundle'],
+ C: ['--prefix']
+}
diff --git a/deps/npm/lib/config/find-prefix.js b/deps/npm/lib/config/find-prefix.js
index bb00cd6b10..58f5cc8040 100644
--- a/deps/npm/lib/config/find-prefix.js
+++ b/deps/npm/lib/config/find-prefix.js
@@ -2,8 +2,8 @@
module.exports = findPrefix
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
function findPrefix (p, cb_) {
function cb (er, p) {
@@ -17,7 +17,7 @@ function findPrefix (p, cb_) {
// walk up until we hopefully find one.
// if none anywhere, then use cwd.
var walkedUp = false
- while (path.basename(p) === "node_modules") {
+ while (path.basename(p) === 'node_modules') {
p = path.dirname(p)
walkedUp = true
}
@@ -27,8 +27,8 @@ function findPrefix (p, cb_) {
}
function findPrefix_ (p, original, cb) {
- if (p === "/"
- || (process.platform === "win32" && p.match(/^[a-zA-Z]:(\\|\/)?$/))) {
+ if (p === '/' ||
+ (process.platform === 'win32' && p.match(/^[a-zA-Z]:(\\|\/)?$/))) {
return cb(null, original)
}
fs.readdir(p, function (er, files) {
@@ -36,15 +36,15 @@ function findPrefix_ (p, original, cb) {
// unless the prefix was simply a non
// existent directory.
if (er && p === original) {
- if (er.code === "ENOENT") return cb(null, original);
+ if (er.code === 'ENOENT') return cb(null, original)
return cb(er)
}
// walked up too high or something.
if (er) return cb(null, original)
- if (files.indexOf("node_modules") !== -1
- || files.indexOf("package.json") !== -1) {
+ if (files.indexOf('node_modules') !== -1 ||
+ files.indexOf('package.json') !== -1) {
return cb(null, p)
}
diff --git a/deps/npm/lib/config/get-credentials-by-uri.js b/deps/npm/lib/config/get-credentials-by-uri.js
index 26a7f4317c..a073a594a5 100644
--- a/deps/npm/lib/config/get-credentials-by-uri.js
+++ b/deps/npm/lib/config/get-credentials-by-uri.js
@@ -1,27 +1,27 @@
-var assert = require("assert")
+var assert = require('assert')
-var toNerfDart = require("./nerf-dart.js")
+var toNerfDart = require('./nerf-dart.js')
module.exports = getCredentialsByURI
function getCredentialsByURI (uri) {
- assert(uri && typeof uri === "string", "registry URL is required")
+ assert(uri && typeof uri === 'string', 'registry URL is required')
var nerfed = toNerfDart(uri)
- var defnerf = toNerfDart(this.get("registry"))
+ var defnerf = toNerfDart(this.get('registry'))
// hidden class micro-optimization
var c = {
- scope : nerfed,
- token : undefined,
- password : undefined,
- username : undefined,
- email : undefined,
- auth : undefined,
- alwaysAuth : undefined
+ scope: nerfed,
+ token: undefined,
+ password: undefined,
+ username: undefined,
+ email: undefined,
+ auth: undefined,
+ alwaysAuth: undefined
}
- if (this.get(nerfed + ":_authToken")) {
- c.token = this.get(nerfed + ":_authToken")
+ if (this.get(nerfed + ':_authToken')) {
+ c.token = this.get(nerfed + ':_authToken')
// the bearer token is enough, don't confuse things
return c
}
@@ -30,43 +30,43 @@ function getCredentialsByURI (uri) {
// registry, if set.
//
// XXX(isaacs): Remove when npm 1.4 is no longer relevant
- var authDef = this.get("_auth")
- var userDef = this.get("username")
- var passDef = this.get("_password")
+ var authDef = this.get('_auth')
+ var userDef = this.get('username')
+ var passDef = this.get('_password')
if (authDef && !(userDef && passDef)) {
- authDef = new Buffer(authDef, "base64").toString()
- authDef = authDef.split(":")
+ authDef = new Buffer(authDef, 'base64').toString()
+ authDef = authDef.split(':')
userDef = authDef.shift()
- passDef = authDef.join(":")
+ passDef = authDef.join(':')
}
- if (this.get(nerfed + ":_password")) {
- c.password = new Buffer(this.get(nerfed + ":_password"), "base64").toString("utf8")
+ if (this.get(nerfed + ':_password')) {
+ c.password = new Buffer(this.get(nerfed + ':_password'), 'base64').toString('utf8')
} else if (nerfed === defnerf && passDef) {
c.password = passDef
}
- if (this.get(nerfed + ":username")) {
- c.username = this.get(nerfed + ":username")
+ if (this.get(nerfed + ':username')) {
+ c.username = this.get(nerfed + ':username')
} else if (nerfed === defnerf && userDef) {
c.username = userDef
}
- if (this.get(nerfed + ":email")) {
- c.email = this.get(nerfed + ":email")
- } else if (this.get("email")) {
- c.email = this.get("email")
+ if (this.get(nerfed + ':email')) {
+ c.email = this.get(nerfed + ':email')
+ } else if (this.get('email')) {
+ c.email = this.get('email')
}
- if (this.get(nerfed + ":always-auth") !== undefined) {
- var val = this.get(nerfed + ":always-auth")
- c.alwaysAuth = val === "false" ? false : !!val
- } else if (this.get("always-auth") !== undefined) {
- c.alwaysAuth = this.get("always-auth")
+ if (this.get(nerfed + ':always-auth') !== undefined) {
+ var val = this.get(nerfed + ':always-auth')
+ c.alwaysAuth = val === 'false' ? false : !!val
+ } else if (this.get('always-auth') !== undefined) {
+ c.alwaysAuth = this.get('always-auth')
}
if (c.username && c.password) {
- c.auth = new Buffer(c.username + ":" + c.password).toString("base64")
+ c.auth = new Buffer(c.username + ':' + c.password).toString('base64')
}
return c
diff --git a/deps/npm/lib/config/load-cafile.js b/deps/npm/lib/config/load-cafile.js
index cc63615ff5..1bf9cc4900 100644
--- a/deps/npm/lib/config/load-cafile.js
+++ b/deps/npm/lib/config/load-cafile.js
@@ -1,14 +1,13 @@
module.exports = loadCAFile
-var fs = require("fs")
+var fs = require('fs')
-function loadCAFile(cafilePath, cb) {
- if (!cafilePath)
- return process.nextTick(cb)
+function loadCAFile (cafilePath, cb) {
+ if (!cafilePath) return process.nextTick(cb)
- fs.readFile(cafilePath, "utf8", afterCARead.bind(this))
+ fs.readFile(cafilePath, 'utf8', afterCARead.bind(this))
- function afterCARead(er, cadata) {
+ function afterCARead (er, cadata) {
if (er) {
// previous cafile no longer exists, so just continue on gracefully
@@ -16,19 +15,19 @@ function loadCAFile(cafilePath, cb) {
return cb(er)
}
- var delim = "-----END CERTIFICATE-----"
+ var delim = '-----END CERTIFICATE-----'
var output
output = cadata
.split(delim)
- .filter(function(xs) {
+ .filter(function (xs) {
return !!xs.trim()
})
- .map(function(xs) {
+ .map(function (xs) {
return xs.trimLeft() + delim
})
- this.set("ca", output)
+ this.set('ca', output)
cb(null)
}
}
diff --git a/deps/npm/lib/config/load-prefix.js b/deps/npm/lib/config/load-prefix.js
index 39d076fb7d..01a9252803 100644
--- a/deps/npm/lib/config/load-prefix.js
+++ b/deps/npm/lib/config/load-prefix.js
@@ -1,43 +1,43 @@
module.exports = loadPrefix
-var findPrefix = require("./find-prefix.js")
-var path = require("path")
+var findPrefix = require('./find-prefix.js')
+var path = require('path')
function loadPrefix (cb) {
var cli = this.list[0]
- Object.defineProperty(this, "prefix",
- { set : function (prefix) {
- var g = this.get("global")
- this[g ? "globalPrefix" : "localPrefix"] = prefix
- }.bind(this)
- , get : function () {
- var g = this.get("global")
+ Object.defineProperty(this, 'prefix',
+ { set: function (prefix) {
+ var g = this.get('global')
+ this[g ? 'globalPrefix' : 'localPrefix'] = prefix
+ }.bind(this),
+ get: function () {
+ var g = this.get('global')
return g ? this.globalPrefix : this.localPrefix
- }.bind(this)
- , enumerable : true
+ }.bind(this),
+ enumerable: true
})
- Object.defineProperty(this, "globalPrefix",
- { set : function (prefix) {
- this.set("prefix", prefix)
- }.bind(this)
- , get : function () {
- return path.resolve(this.get("prefix"))
- }.bind(this)
- , enumerable : true
+ Object.defineProperty(this, 'globalPrefix',
+ { set: function (prefix) {
+ this.set('prefix', prefix)
+ }.bind(this),
+ get: function () {
+ return path.resolve(this.get('prefix'))
+ }.bind(this),
+ enumerable: true
})
var p
- Object.defineProperty(this, "localPrefix",
- { set : function (prefix) { p = prefix },
- get : function () { return p }
- , enumerable: true })
+ Object.defineProperty(this, 'localPrefix',
+ { set: function (prefix) { p = prefix },
+ get: function () { return p },
+ enumerable: true })
// try to guess at a good node_modules location.
// If we are *explicitly* given a prefix on the cli, then
// always use that. otherwise, infer local prefix from cwd.
- if (Object.prototype.hasOwnProperty.call(cli, "prefix")) {
+ if (Object.prototype.hasOwnProperty.call(cli, 'prefix')) {
p = path.resolve(cli.prefix)
process.nextTick(cb)
} else {
diff --git a/deps/npm/lib/config/load-uid.js b/deps/npm/lib/config/load-uid.js
index 3ca7987735..859eac7494 100644
--- a/deps/npm/lib/config/load-uid.js
+++ b/deps/npm/lib/config/load-uid.js
@@ -1,14 +1,14 @@
module.exports = loadUid
-var getUid = require("uid-number")
+var getUid = require('uid-number')
// Call in the context of a npmconf object
function loadUid (cb) {
// if we're not in unsafe-perm mode, then figure out who
// to run stuff as. Do this first, to support `npm update npm -g`
- if (!this.get("unsafe-perm")) {
- getUid(this.get("user"), this.get("group"), cb)
+ if (!this.get('unsafe-perm')) {
+ getUid(this.get('user'), this.get('group'), cb)
} else {
process.nextTick(cb)
}
diff --git a/deps/npm/lib/config/nerf-dart.js b/deps/npm/lib/config/nerf-dart.js
index 07c817500f..8d2bdd26ed 100644
--- a/deps/npm/lib/config/nerf-dart.js
+++ b/deps/npm/lib/config/nerf-dart.js
@@ -1,4 +1,4 @@
-var url = require("url")
+var url = require('url')
module.exports = toNerfDart
@@ -11,7 +11,7 @@ module.exports = toNerfDart
*
* @returns {String} A nerfed URL.
*/
-function toNerfDart(uri) {
+function toNerfDart (uri) {
var parsed = url.parse(uri)
delete parsed.protocol
delete parsed.auth
@@ -19,5 +19,5 @@ function toNerfDart(uri) {
delete parsed.search
delete parsed.hash
- return url.resolve(url.format(parsed), ".")
+ return url.resolve(url.format(parsed), '.')
}
diff --git a/deps/npm/lib/config/set-credentials-by-uri.js b/deps/npm/lib/config/set-credentials-by-uri.js
index 31eab4479e..74211380d8 100644
--- a/deps/npm/lib/config/set-credentials-by-uri.js
+++ b/deps/npm/lib/config/set-credentials-by-uri.js
@@ -1,42 +1,39 @@
-var assert = require("assert")
+var assert = require('assert')
-var toNerfDart = require("./nerf-dart.js")
+var toNerfDart = require('./nerf-dart.js')
module.exports = setCredentialsByURI
function setCredentialsByURI (uri, c) {
- assert(uri && typeof uri === "string", "registry URL is required")
- assert(c && typeof c === "object", "credentials are required")
+ assert(uri && typeof uri === 'string', 'registry URL is required')
+ assert(c && typeof c === 'object', 'credentials are required')
var nerfed = toNerfDart(uri)
if (c.token) {
- this.set(nerfed + ":_authToken", c.token, "user")
- this.del(nerfed + ":_password", "user")
- this.del(nerfed + ":username", "user")
- this.del(nerfed + ":email", "user")
- this.del(nerfed + ":always-auth", "user")
- }
- else if (c.username || c.password || c.email) {
- assert(c.username, "must include username")
- assert(c.password, "must include password")
- assert(c.email, "must include email address")
-
- this.del(nerfed + ":_authToken", "user")
-
- var encoded = new Buffer(c.password, "utf8").toString("base64")
- this.set(nerfed + ":_password", encoded, "user")
- this.set(nerfed + ":username", c.username, "user")
- this.set(nerfed + ":email", c.email, "user")
+ this.set(nerfed + ':_authToken', c.token, 'user')
+ this.del(nerfed + ':_password', 'user')
+ this.del(nerfed + ':username', 'user')
+ this.del(nerfed + ':email', 'user')
+ this.del(nerfed + ':always-auth', 'user')
+ } else if (c.username || c.password || c.email) {
+ assert(c.username, 'must include username')
+ assert(c.password, 'must include password')
+ assert(c.email, 'must include email address')
+
+ this.del(nerfed + ':_authToken', 'user')
+
+ var encoded = new Buffer(c.password, 'utf8').toString('base64')
+ this.set(nerfed + ':_password', encoded, 'user')
+ this.set(nerfed + ':username', c.username, 'user')
+ this.set(nerfed + ':email', c.email, 'user')
if (c.alwaysAuth !== undefined) {
- this.set(nerfed + ":always-auth", c.alwaysAuth, "user")
+ this.set(nerfed + ':always-auth', c.alwaysAuth, 'user')
+ } else {
+ this.del(nerfed + ':always-auth', 'user')
}
- else {
- this.del(nerfed + ":always-auth", "user")
- }
- }
- else {
- throw new Error("No credentials to set.")
+ } else {
+ throw new Error('No credentials to set.')
}
}
diff --git a/deps/npm/lib/config/set-user.js b/deps/npm/lib/config/set-user.js
index 4c207a6792..14cc21d2eb 100644
--- a/deps/npm/lib/config/set-user.js
+++ b/deps/npm/lib/config/set-user.js
@@ -1,9 +1,9 @@
module.exports = setUser
-var assert = require("assert")
-var path = require("path")
-var fs = require("fs")
-var mkdirp = require("mkdirp")
+var assert = require('assert')
+var path = require('path')
+var fs = require('fs')
+var mkdirp = require('mkdirp')
function setUser (cb) {
var defaultConf = this.root
@@ -12,13 +12,13 @@ function setUser (cb) {
// If global, leave it as-is.
// If not global, then set the user to the owner of the prefix folder.
// Just set the default, so it can be overridden.
- if (this.get("global")) return cb()
+ if (this.get('global')) return cb()
if (process.env.SUDO_UID) {
defaultConf.user = +(process.env.SUDO_UID)
return cb()
}
- var prefix = path.resolve(this.get("prefix"))
+ var prefix = path.resolve(this.get('prefix'))
mkdirp(prefix, function (er) {
if (er) return cb(er)
fs.stat(prefix, function (er, st) {
diff --git a/deps/npm/lib/dedupe.js b/deps/npm/lib/dedupe.js
index c63705e18d..2feaa9f889 100644
--- a/deps/npm/lib/dedupe.js
+++ b/deps/npm/lib/dedupe.js
@@ -1,375 +1,160 @@
-// traverse the node_modules/package.json tree
-// looking for duplicates. If any duplicates are found,
-// then move them up to the highest level necessary
-// in order to make them no longer duplicated.
-//
-// This is kind of ugly, and really highlights the need for
-// much better "put pkg X at folder Y" abstraction. Oh well,
-// whatever. Perfect enemy of the good, and all that.
-
-var fs = require("fs")
-var asyncMap = require("slide").asyncMap
-var path = require("path")
-var readJson = require("read-package-json")
-var semver = require("semver")
-var rm = require("./utils/gently-rm.js")
-var log = require("npmlog")
-var npm = require("./npm.js")
-var mapToRegistry = require("./utils/map-to-registry.js")
+var util = require('util')
+var path = require('path')
+var validate = require('aproba')
+var without = require('lodash.without')
+var asyncMap = require('slide').asyncMap
+var chain = require('slide').chain
+var npa = require('npm-package-arg')
+var log = require('npmlog')
+var npm = require('./npm.js')
+var Installer = require('./install.js').Installer
+var findRequirement = require('./install/deps.js').findRequirement
+var earliestInstallable = require('./install/deps.js').earliestInstallable
+var checkPermissions = require('./install/check-permissions.js')
+var decomposeActions = require('./install/decompose-actions.js')
+var loadExtraneous = require('./install/deps.js').loadExtraneous
+var filterInvalidActions = require('./install/filter-invalid-actions.js')
+var recalculateMetadata = require('./install/deps.js').recalculateMetadata
+var sortActions = require('./install/diff-trees.js').sortActions
module.exports = dedupe
+module.exports.Deduper = Deduper
-dedupe.usage = "npm dedupe [pkg pkg...]"
+dedupe.usage = 'npm dedupe [package names...]'
-function dedupe (args, silent, cb) {
- if (typeof silent === "function") cb = silent, silent = false
+function dedupe (args, cb) {
+ validate('AF', arguments)
+ // the /path/to/node_modules/..
+ var where = path.resolve(npm.dir, '..')
var dryrun = false
if (npm.command.match(/^find/)) dryrun = true
- return dedupe_(npm.prefix, args, {}, dryrun, silent, cb)
-}
-
-function dedupe_ (dir, filter, unavoidable, dryrun, silent, cb) {
- readInstalled(path.resolve(dir), {}, null, function (er, data, counter) {
- if (er) {
- return cb(er)
- }
-
- if (!data) {
- return cb()
- }
-
- // find out which things are dupes
- var dupes = Object.keys(counter || {}).filter(function (k) {
- if (filter.length && -1 === filter.indexOf(k)) return false
- return counter[k] > 1 && !unavoidable[k]
- }).reduce(function (s, k) {
- s[k] = []
- return s
- }, {})
-
- // any that are unavoidable need to remain as they are. don't even
- // try to touch them or figure it out. Maybe some day, we can do
- // something a bit more clever here, but for now, just skip over it,
- // and all its children.
- ;(function U (obj) {
- if (unavoidable[obj.name]) {
- obj.unavoidable = true
- }
- if (obj.parent && obj.parent.unavoidable) {
- obj.unavoidable = true
- }
- Object.keys(obj.children).forEach(function (k) {
- U(obj.children[k])
- })
- })(data)
-
- // then collect them up and figure out who needs them
- ;(function C (obj) {
- if (dupes[obj.name] && !obj.unavoidable) {
- dupes[obj.name].push(obj)
- obj.duplicate = true
- }
- obj.dependents = whoDepends(obj)
- Object.keys(obj.children).forEach(function (k) {
- C(obj.children[k])
- })
- })(data)
-
- if (dryrun) {
- var k = Object.keys(dupes)
- if (!k.length) return cb()
- return npm.commands.ls(k, silent, cb)
- }
-
- var summary = Object.keys(dupes).map(function (n) {
- return [n, dupes[n].filter(function (d) {
- return d && d.parent && !d.parent.duplicate && !d.unavoidable
- }).map(function M (d) {
- return [d.path, d.version, d.dependents.map(function (k) {
- return [k.path, k.version, k.dependencies[d.name] || ""]
- })]
- })]
- }).map(function (item) {
- var set = item[1]
-
- var ranges = set.map(function (i) {
- return i[2].map(function (d) {
- return d[2]
- })
- }).reduce(function (l, r) {
- return l.concat(r)
- }, []).map(function (v, i, set) {
- if (set.indexOf(v) !== i) return false
- return v
- }).filter(function (v) {
- return v !== false
- })
-
- var locs = set.map(function (i) {
- return i[0]
- })
-
- var versions = set.map(function (i) {
- return i[1]
- }).filter(function (v, i, set) {
- return set.indexOf(v) === i
- })
-
- var has = set.map(function (i) {
- return [i[0], i[1]]
- }).reduce(function (set, kv) {
- set[kv[0]] = kv[1]
- return set
- }, {})
+ if (npm.config.get('dry-run')) dryrun = true
- var loc = locs.length ? locs.reduce(function (a, b) {
- // a=/path/to/node_modules/foo/node_modules/bar
- // b=/path/to/node_modules/elk/node_modules/bar
- // ==/path/to/node_modules/bar
- var nmReg = new RegExp("\\" + path.sep + "node_modules\\" + path.sep)
- a = a.split(nmReg)
- b = b.split(nmReg)
- var name = a.pop()
- b.pop()
- // find the longest chain that both A and B share.
- // then push the name back on it, and join by /node_modules/
- for (var i = 0, al = a.length, bl = b.length; i < al && i < bl && a[i] === b[i]; i++);
- return a.slice(0, i).concat(name).join(path.sep + "node_modules" + path.sep)
- }) : undefined
-
- return [item[0], { item: item
- , ranges: ranges
- , locs: locs
- , loc: loc
- , has: has
- , versions: versions
- }]
- }).filter(function (i) {
- return i[1].loc
- })
-
- findVersions(npm, summary, function (er, set) {
- if (er) return cb(er)
- if (!set.length) return cb()
- installAndRetest(set, filter, dir, unavoidable, silent, cb)
- })
- })
+ new Deduper(where, dryrun).run(cb)
}
-function installAndRetest (set, filter, dir, unavoidable, silent, cb) {
- //return cb(null, set)
- var remove = []
-
- asyncMap(set, function (item, cb) {
- // [name, has, loc, locMatch, regMatch, others]
- var name = item[0]
- var has = item[1]
- var where = item[2]
- var locMatch = item[3]
- var regMatch = item[4]
- var others = item[5]
-
- // nothing to be done here. oh well. just a conflict.
- if (!locMatch && !regMatch) {
- log.warn("unavoidable conflict", item[0], item[1])
- log.warn("unavoidable conflict", "Not de-duplicating")
- unavoidable[item[0]] = true
- return cb()
- }
-
- // nothing to do except to clean up the extraneous deps
- if (locMatch && has[where] === locMatch) {
- remove.push.apply(remove, others)
- return cb()
- }
-
- if (regMatch) {
- var what = name + "@" + regMatch
- // where is /path/to/node_modules/foo/node_modules/bar
- // for package "bar", but we need it to be just
- // /path/to/node_modules/foo
- var nmReg = new RegExp("\\" + path.sep + "node_modules\\" + path.sep)
- where = where.split(nmReg)
- where.pop()
- where = where.join(path.sep + "node_modules" + path.sep)
- remove.push.apply(remove, others)
-
- return npm.commands.install(where, what, cb)
- }
-
- // hrm?
- return cb(new Error("danger zone\n" + name + " " +
- regMatch + " " + locMatch))
-
- }, function (er) {
- if (er) return cb(er)
- asyncMap(remove, rm, function (er) {
- if (er) return cb(er)
- remove.forEach(function (r) {
- log.info("rm", r)
- })
- dedupe_(dir, filter, unavoidable, false, silent, cb)
- })
- })
+function Deduper (where, dryrun) {
+ validate('SB', arguments)
+ Installer.call(this, where, dryrun, [])
+ this.noPackageJsonOk = true
+ this.topLevelLifecycles = false
}
-
-function findVersions (npm, summary, cb) {
- // now, for each item in the summary, try to find the maximum version
- // that will satisfy all the ranges. next step is to install it at
- // the specified location.
- asyncMap(summary, function (item, cb) {
- var name = item[0]
- var data = item[1]
- var loc = data.loc
- var locs = data.locs.filter(function (l) {
- return l !== loc
+util.inherits(Deduper, Installer)
+
+Deduper.prototype.normalizeTree = function (log, cb) {
+ validate('OF', arguments)
+ log.silly('dedupe', 'normalizeTree')
+ // If we're looking globally only look at the one package we're operating on
+ if (npm.config.get('global')) {
+ var args = this.args
+ this.currentTree.children = this.currentTree.children.filter(function (child) {
+ return args.filter(function (arg) { return arg === child.package.name }).length
})
+ }
+ Installer.prototype.normalizeTree.call(this, log, cb)
+}
- // not actually a dupe, or perhaps all the other copies were
- // children of a dupe, so this'll maybe be picked up later.
- if (locs.length === 0) {
- return cb(null, [])
- }
-
- // { <folder>: <version> }
- var has = data.has
-
- // the versions that we already have.
- // if one of these is ok, then prefer to use that.
- // otherwise, try fetching from the registry.
- var versions = data.versions
-
- var ranges = data.ranges
- mapToRegistry(name, npm.config, function (er, uri, auth) {
- if (er) return cb(er)
-
- npm.registry.get(uri, { auth : auth }, next)
- })
+Deduper.prototype.loadIdealTree = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'loadIdealTree')
- function next (er, data) {
- var regVersions = er ? [] : Object.keys(data.versions)
- var locMatch = bestMatch(versions, ranges)
- var tag = npm.config.get("tag")
- var distTag = data["dist-tags"] && data["dist-tags"][tag]
+ var self = this
+ chain([
+ [this.newTracker(this.progress.loadIdealTree, 'cloneCurrentTree')],
+ [this, this.cloneCurrentTreeToIdealTree],
+ [this, this.finishTracker, 'cloneCurrentTree'],
- var regMatch
- if (distTag && data.versions[distTag] && matches(distTag, ranges)) {
- regMatch = distTag
- } else {
- regMatch = bestMatch(regVersions, ranges)
- }
+ [this.newTracker(this.progress.loadIdealTree, 'loadAllDepsIntoIdealTree', 10)],
+ [function (next) {
+ loadExtraneous(self.idealTree, self.progress.loadAllDepsIntoIdealTree, next)
+ }],
+ [this, this.finishTracker, 'loadAllDepsIntoIdealTree'],
- cb(null, [[name, has, loc, locMatch, regMatch, locs]])
- }
- }, cb)
+ [this, function (next) { recalculateMetadata(this.idealTree, log, next) }]
+ ], cb)
}
-function matches (version, ranges) {
- return !ranges.some(function (r) {
- return !semver.satisfies(version, r, true)
- })
+Deduper.prototype.generateActionsToTake = function (cb) {
+ validate('F', arguments)
+ log.silly('dedupe', 'generateActionsToTake')
+ chain([
+ [this.newTracker(log, 'hoist', 1)],
+ [hoistChildren, this.idealTree, this.differences],
+ [this, this.finishTracker, 'hoist'],
+ [this.newTracker(log, 'sort-actions', 1)],
+ [this, function (next) {
+ this.differences = sortActions(this.differences)
+ next()
+ }],
+ [this, this.finishTracker, 'sort-actions'],
+ [filterInvalidActions, this.where, this.differences],
+ [checkPermissions, this.differences],
+ [decomposeActions, this.differences, this.todo]
+ ], cb)
}
-function bestMatch (versions, ranges) {
- return versions.filter(function (v) {
- return matches(v, ranges)
- }).sort(semver.compareLoose).pop()
+function move (node, hoistTo, diff) {
+ node.parent.children = without(node.parent.children, node)
+ hoistTo.children.push(node)
+ node.fromPath = node.path
+ node.path = path.resolve(hoistTo.path, 'node_modules', node.package.name)
+ node.parent = hoistTo
+ if (!diff.filter(function (action) { return action[0] === 'move' && action[1] === node }).length) {
+ diff.push(['move', node])
+ }
}
-
-function readInstalled (dir, counter, parent, cb) {
- var pkg, children, realpath
-
- fs.realpath(dir, function (er, rp) {
- realpath = rp
- next()
+function moveRemainingChildren (node, diff) {
+ node.children.forEach(function (child) {
+ move(child, node, diff)
+ moveRemainingChildren(child, diff)
})
+}
- readJson(path.resolve(dir, "package.json"), function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (er) return cb() // not a package, probably.
- counter[data.name] = counter[data.name] || 0
- counter[data.name]++
- pkg =
- { _id: data._id
- , name: data.name
- , version: data.version
- , dependencies: data.dependencies || {}
- , optionalDependencies: data.optionalDependencies || {}
- , devDependencies: data.devDependencies || {}
- , bundledDependencies: data.bundledDependencies || []
- , path: dir
- , realPath: dir
- , children: {}
- , parent: parent
- , family: Object.create(parent ? parent.family : null)
- , unavoidable: false
- , duplicate: false
- }
- if (parent) {
- parent.children[data.name] = pkg
- parent.family[data.name] = pkg
- }
- next()
- })
-
- fs.readdir(path.resolve(dir, "node_modules"), function (er, c) {
- children = children || [] // error is ok, just means no children.
- // check if there are scoped packages.
- asyncMap(c || [], function (child, cb) {
- if (child.indexOf('@') === 0) {
- fs.readdir(path.resolve(dir, "node_modules", child), function (er, scopedChildren) {
- // error is ok, just means no children.
- (scopedChildren || []).forEach(function (sc) {
- children.push(path.join(child, sc))
- })
- cb()
- })
- } else {
- children.push(child)
- cb()
- }
- }, function (er) {
- if (er) return cb(er)
- children = children.filter(function (p) {
- return !p.match(/^[\._-]/)
- })
- next();
- });
- })
-
- function next () {
- if (!children || !pkg || !realpath) return
-
- // ignore devDependencies. Just leave them where they are.
- children = children.filter(function (c) {
- return !pkg.devDependencies.hasOwnProperty(c)
- })
+function remove (child, diff, done) {
+ remove_(child, diff, {}, done)
+}
- pkg.realPath = realpath
- if (pkg.realPath !== pkg.path) children = []
- var d = path.resolve(dir, "node_modules")
- asyncMap(children, function (child, cb) {
- readInstalled(path.resolve(d, child), counter, pkg, cb)
- }, function (er) {
- cb(er, pkg, counter)
- })
- }
+function remove_ (child, diff, seen, done) {
+ if (seen[child.path]) return done()
+ seen[child.path] = true
+ diff.push(['remove', child])
+ child.parent.children = without(child.parent.children, child)
+ asyncMap(child.children, function (child, next) {
+ remove_(child, diff, seen, next)
+ }, done)
}
-function whoDepends (pkg) {
- var start = pkg.parent || pkg
- return whoDepends_(pkg, [], start)
+function hoistChildren (tree, diff, next) {
+ hoistChildren_(tree, diff, {}, next)
}
-function whoDepends_ (pkg, who, test) {
- if (test !== pkg &&
- test.dependencies[pkg.name] &&
- test.family[pkg.name] === pkg) {
- who.push(test)
- }
- Object.keys(test.children).forEach(function (n) {
- whoDepends_(pkg, who, test.children[n])
- })
- return who
+function hoistChildren_ (tree, diff, seen, next) {
+ validate('OAOF', arguments)
+ if (seen[tree.path]) return next()
+ seen[tree.path] = true
+ asyncMap(tree.children, function (child, done) {
+ if (!tree.parent) return hoistChildren_(child, diff, seen, done)
+ var better = findRequirement(tree.parent, child.package.name, child.package._requested || npa(child.package.name + '@' + child.package.version))
+ if (better) {
+ return chain([
+ [remove, child, diff],
+ [recalculateMetadata, tree, log]
+ ], done)
+ }
+ var hoistTo = earliestInstallable(tree, tree.parent, child.package)
+ if (hoistTo) {
+ move(child, hoistTo, diff)
+ chain([
+ [recalculateMetadata, hoistTo, log],
+ [hoistChildren_, child, diff, seen],
+ [function (next) {
+ moveRemainingChildren(child, diff)
+ next()
+ }]
+ ], done)
+ } else {
+ done()
+ }
+ }, next)
}
diff --git a/deps/npm/lib/deprecate.js b/deps/npm/lib/deprecate.js
index c90ad90272..ffc29c9c8b 100644
--- a/deps/npm/lib/deprecate.js
+++ b/deps/npm/lib/deprecate.js
@@ -1,25 +1,25 @@
-var npm = require("./npm.js")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , npa = require("npm-package-arg")
+var npm = require('./npm.js')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var npa = require('npm-package-arg')
module.exports = deprecate
-deprecate.usage = "npm deprecate <pkg>[@<version>] <message>"
+deprecate.usage = 'npm deprecate <pkg>[@<version>] <message>'
deprecate.completion = function (opts, cb) {
// first, get a list of remote packages this user owns.
// once we have a user account, then don't complete anything.
if (opts.conf.argv.remain.length > 2) return cb()
// get the list of packages by user
- var path = "/-/by-user/"
+ var path = '/-/by-user/'
mapToRegistry(path, npm.config, function (er, uri, c) {
if (er) return cb(er)
if (!(c && c.username)) return cb()
var params = {
- timeout : 60000,
- auth : c
+ timeout: 60000,
+ auth: c
}
npm.registry.get(uri + c.username, params, function (er, list) {
if (er) return cb()
@@ -31,8 +31,8 @@ deprecate.completion = function (opts, cb) {
function deprecate (args, cb) {
var pkg = args[0]
- , msg = args[1]
- if (msg === undefined) return cb("Usage: " + deprecate.usage)
+ var msg = args[1]
+ if (msg === undefined) return cb('Usage: ' + deprecate.usage)
// fetch the data and make sure it exists.
var p = npa(pkg)
@@ -41,9 +41,9 @@ function deprecate (args, cb) {
if (er) return cb(er)
var params = {
- version : p.spec,
- message : msg,
- auth : auth
+ version: p.spec,
+ message: msg,
+ auth: auth
}
npm.registry.deprecate(uri, params, cb)
})
diff --git a/deps/npm/lib/dist-tag.js b/deps/npm/lib/dist-tag.js
index 48b40202f9..d0bae9ab44 100644
--- a/deps/npm/lib/dist-tag.js
+++ b/deps/npm/lib/dist-tag.js
@@ -1,21 +1,21 @@
module.exports = distTag
-var log = require("npmlog")
-var npa = require("npm-package-arg")
-var semver = require("semver")
+var log = require('npmlog')
+var npa = require('npm-package-arg')
+var semver = require('semver')
-var npm = require("./npm.js")
-var mapToRegistry = require("./utils/map-to-registry.js")
-var readLocalPkg = require("./utils/read-local-package.js")
+var npm = require('./npm.js')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var readLocalPkg = require('./utils/read-local-package.js')
-distTag.usage = "npm dist-tag add <pkg>@<version> [<tag>]"
- + "\nnpm dist-tag rm <pkg> <tag>"
- + "\nnpm dist-tag ls [<pkg>]"
+distTag.usage = 'npm dist-tag add <pkg>@<version> [<tag>]' +
+ '\nnpm dist-tag rm <pkg> <tag>' +
+ '\nnpm dist-tag ls [<pkg>]'
distTag.completion = function (opts, cb) {
var argv = opts.conf.argv.remain
if (argv.length === 2) {
- return cb(null, ["add", "rm", "ls"])
+ return cb(null, ['add', 'rm', 'ls'])
}
switch (argv[2]) {
@@ -27,29 +27,29 @@ distTag.completion = function (opts, cb) {
function distTag (args, cb) {
var cmd = args.shift()
switch (cmd) {
- case "add": case "a": case "set": case "s":
+ case 'add': case 'a': case 'set': case 's':
return add(args[0], args[1], cb)
- case "rm": case "r": case "del": case "d": case "remove":
+ case 'rm': case 'r': case 'del': case 'd': case 'remove':
return remove(args[1], args[0], cb)
- case "ls": case "l": case "sl": case "list":
+ case 'ls': case 'l': case 'sl': case 'list':
return list(args[0], cb)
default:
- return cb("Usage:\n"+distTag.usage)
+ return cb('Usage:\n' + distTag.usage)
}
}
function add (spec, tag, cb) {
- var thing = npa(spec || "")
+ var thing = npa(spec || '')
var pkg = thing.name
var version = thing.rawSpec
- var t = (tag || npm.config.get("tag")).trim()
+ var t = (tag || npm.config.get('tag')).trim()
- log.verbose("dist-tag add", t, "to", pkg+"@"+version)
+ log.verbose('dist-tag add', t, 'to', pkg + '@' + version)
- if (!pkg || !version || !t) return cb("Usage:\n"+distTag.usage)
+ if (!pkg || !version || !t) return cb('Usage:\n' + distTag.usage)
if (semver.validRange(t)) {
- var er = new Error("Tag name must not be a valid SemVer range: " + t)
+ var er = new Error('Tag name must not be a valid SemVer range: ' + t)
return cb(er)
}
@@ -57,23 +57,23 @@ function add (spec, tag, cb) {
if (er) return cb(er)
if (tags[t] === version) {
- log.warn("dist-tag add", t, "is already set to version", version)
+ log.warn('dist-tag add', t, 'is already set to version', version)
return cb()
}
tags[t] = version
mapToRegistry(pkg, npm.config, function (er, uri, auth, base) {
var params = {
- package : pkg,
- distTag : t,
- version : version,
- auth : auth
+ 'package': pkg,
+ distTag: t,
+ version: version,
+ auth: auth
}
npm.registry.distTags.add(base, params, function (er) {
if (er) return cb(er)
- console.log("+"+t+": "+pkg+"@"+version)
+ console.log('+' + t + ': ' + pkg + '@' + version)
cb()
})
})
@@ -81,14 +81,14 @@ function add (spec, tag, cb) {
}
function remove (tag, pkg, cb) {
- log.verbose("dist-tag del", tag, "from", pkg)
+ log.verbose('dist-tag del', tag, 'from', pkg)
fetchTags(pkg, function (er, tags) {
if (er) return cb(er)
if (!tags[tag]) {
- log.info("dist-tag del", tag, "is not a dist-tag on", pkg)
- return cb(new Error(tag+" is not a dist-tag on "+pkg))
+ log.info('dist-tag del', tag, 'is not a dist-tag on', pkg)
+ return cb(new Error(tag + ' is not a dist-tag on ' + pkg))
}
var version = tags[tag]
@@ -96,15 +96,15 @@ function remove (tag, pkg, cb) {
mapToRegistry(pkg, npm.config, function (er, uri, auth, base) {
var params = {
- package : pkg,
- distTag : tag,
- auth : auth
+ 'package': pkg,
+ distTag: tag,
+ auth: auth
}
npm.registry.distTags.rm(base, params, function (er) {
if (er) return cb(er)
- console.log("-"+tag+": "+pkg+"@"+version)
+ console.log('-' + tag + ': ' + pkg + '@' + version)
cb()
})
})
@@ -112,20 +112,22 @@ function remove (tag, pkg, cb) {
}
function list (pkg, cb) {
- if (!pkg) return readLocalPkg(function (er, pkg) {
- if (er) return cb(er)
- if (!pkg) return cb(distTag.usage)
- list(pkg, cb)
- })
+ if (!pkg) {
+ return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(distTag.usage)
+ list(pkg, cb)
+ })
+ }
fetchTags(pkg, function (er, tags) {
if (er) {
- log.error("dist-tag ls", "Couldn't get dist-tag data for", pkg)
+ log.error('dist-tag ls', "Couldn't get dist-tag data for", pkg)
return cb(er)
}
var msg = Object.keys(tags).map(function (k) {
- return k+": "+tags[k]
- }).sort().join("\n")
+ return k + ': ' + tags[k]
+ }).sort().join('\n')
console.log(msg)
cb(er, tags)
})
@@ -136,13 +138,13 @@ function fetchTags (pkg, cb) {
if (er) return cb(er)
var params = {
- package : pkg,
- auth : auth
+ 'package': pkg,
+ auth: auth
}
npm.registry.distTags.fetch(base, params, function (er, tags) {
if (er) return cb(er)
if (!tags || !Object.keys(tags).length) {
- return cb(new Error("No dist-tags found for " + pkg))
+ return cb(new Error('No dist-tags found for ' + pkg))
}
cb(null, tags)
diff --git a/deps/npm/lib/docs.js b/deps/npm/lib/docs.js
index 0de2349ddc..ea4bd56107 100644
--- a/deps/npm/lib/docs.js
+++ b/deps/npm/lib/docs.js
@@ -1,14 +1,12 @@
module.exports = docs
-docs.usage = "npm docs <pkgname>"
-docs.usage += "\n"
-docs.usage += "npm docs ."
+docs.usage = 'npm docs <pkgname>' +
+ '\nnpm docs .'
-var npm = require("./npm.js")
- , opener = require("opener")
- , path = require("path")
- , log = require("npmlog")
- , mapToRegistry = require("./utils/map-to-registry.js")
+var npm = require('./npm.js')
+var opener = require('opener')
+var log = require('npmlog')
+var fetchPackageMetadata = require('./fetch-package-metadata.js')
docs.completion = function (opts, cb) {
// FIXME: there used to be registry completion here, but it stopped making
@@ -16,16 +14,12 @@ docs.completion = function (opts, cb) {
cb()
}
-function url (json) {
- return json.homepage ? json.homepage : "https://npmjs.org/package/" + json.name
-}
-
function docs (args, cb) {
- args = args || []
+ if (!args || !args.length) args = ['.']
var pending = args.length
- if (!pending) return getDoc(".", cb)
- args.forEach(function(proj) {
- getDoc(proj, function(err) {
+ log.silly('docs', args)
+ args.forEach(function (proj) {
+ getDoc(proj, function (err) {
if (err) {
return cb(err)
}
@@ -35,37 +29,11 @@ function docs (args, cb) {
}
function getDoc (project, cb) {
- project = project || "."
- var package = path.resolve(npm.localPrefix, "package.json")
-
- if (project === "." || project === "./") {
- var json
- try {
- json = require(package)
- if (!json.name) throw new Error('package.json does not have a valid "name" property')
- project = json.name
- } catch (e) {
- log.error(e.message)
- return cb(docs.usage)
- }
-
- return opener(url(json), { command: npm.config.get("browser") }, cb)
- }
-
- mapToRegistry(project, npm.config, function (er, uri, auth) {
+ log.silly('getDoc', project)
+ fetchPackageMetadata(project, '.', function (er, d) {
if (er) return cb(er)
-
- npm.registry.get(uri + "/latest", { timeout : 3600, auth : auth }, next)
+ var url = d.homepage
+ if (!url) url = 'https://www.npmjs.org/package/' + d.name
+ return opener(url, {command: npm.config.get('browser')}, cb)
})
-
- function next (er, json) {
- var github = "https://github.com/" + project + "#readme"
-
- if (er) {
- if (project.split("/").length !== 2) return cb(er)
- return opener(github, { command: npm.config.get("browser") }, cb)
- }
-
- return opener(url(json), { command: npm.config.get("browser") }, cb)
- }
}
diff --git a/deps/npm/lib/edit.js b/deps/npm/lib/edit.js
index ddf501d54e..155db6fd97 100644
--- a/deps/npm/lib/edit.js
+++ b/deps/npm/lib/edit.js
@@ -1,25 +1,28 @@
-// npm edit <pkg>[@<version>]
+// npm edit <pkg>
// open the package folder in the $EDITOR
module.exports = edit
-edit.usage = "npm edit <pkg>"
+edit.usage = 'npm edit <pkg>[@<version>]'
-edit.completion = require("./utils/completion/installed-shallow.js")
+edit.completion = require('./utils/completion/installed-shallow.js')
-var npm = require("./npm.js")
- , path = require("path")
- , fs = require("graceful-fs")
- , editor = require("editor")
+var npm = require('./npm.js')
+var path = require('path')
+var fs = require('graceful-fs')
+var editor = require('editor')
function edit (args, cb) {
var p = args[0]
if (args.length !== 1 || !p) return cb(edit.usage)
- var e = npm.config.get("editor")
- if (!e) return cb(new Error(
- "No editor set. Set the 'editor' config, or $EDITOR environ."))
- p = p.split("/")
- .join("/node_modules/")
- .replace(/(\/node_modules)+/, "/node_modules")
+ var e = npm.config.get('editor')
+ if (!e) {
+ return cb(new Error(
+ "No editor set. Set the 'editor' config, or $EDITOR environ."
+ ))
+ }
+ p = p.split('/')
+ .join('/node_modules/')
+ .replace(/(\/node_modules)+/, '/node_modules')
var f = path.resolve(npm.dir, p)
fs.lstat(f, function (er) {
if (er) return cb(er)
diff --git a/deps/npm/lib/explore.js b/deps/npm/lib/explore.js
index 96475a0691..105ff84cc8 100644
--- a/deps/npm/lib/explore.js
+++ b/deps/npm/lib/explore.js
@@ -2,33 +2,39 @@
// open a subshell to the package folder.
module.exports = explore
-explore.usage = "npm explore <pkg> [ -- <cmd>]"
-explore.completion = require("./utils/completion/installed-shallow.js")
+explore.usage = 'npm explore <pkg> [ -- <cmd>]'
+explore.completion = require('./utils/completion/installed-shallow.js')
-var npm = require("./npm.js")
- , spawn = require("./utils/spawn")
- , path = require("path")
- , fs = require("graceful-fs")
+var npm = require('./npm.js')
+var spawn = require('./utils/spawn')
+var path = require('path')
+var fs = require('graceful-fs')
function explore (args, cb) {
if (args.length < 1 || !args[0]) return cb(explore.usage)
var p = args.shift()
- args = args.join(" ").trim()
- if (args) args = ["-c", args]
+ args = args.join(' ').trim()
+ if (args) args = ['-c', args]
else args = []
var cwd = path.resolve(npm.dir, p)
- var sh = npm.config.get("shell")
+ var sh = npm.config.get('shell')
fs.stat(cwd, function (er, s) {
- if (er || !s.isDirectory()) return cb(new Error(
- "It doesn't look like "+p+" is installed."))
- if (!args.length) console.log(
- "\nExploring "+cwd+"\n"+
- "Type 'exit' or ^D when finished\n")
+ if (er || !s.isDirectory()) {
+ return cb(new Error(
+ "It doesn't look like " + p + ' is installed.'
+ ))
+ }
- npm.spinner.stop()
- var shell = spawn(sh, args, { cwd: cwd, stdio: "inherit" })
- shell.on("close", function (er) {
+ if (!args.length) {
+ console.log(
+ '\nExploring ' + cwd + '\n' +
+ "Type 'exit' or ^D when finished\n"
+ )
+ }
+
+ var shell = spawn(sh, args, { cwd: cwd, stdio: 'inherit' })
+ shell.on('close', function (er) {
// only fail if non-interactive.
if (!args.length) return cb()
cb(er)
diff --git a/deps/npm/lib/faq.js b/deps/npm/lib/faq.js
index 912db0072f..c9d88d3012 100644
--- a/deps/npm/lib/faq.js
+++ b/deps/npm/lib/faq.js
@@ -1,8 +1,7 @@
-
module.exports = faq
-faq.usage = "npm faq"
+faq.usage = 'npm faq'
-var npm = require("./npm.js")
+var npm = require('./npm.js')
-function faq (args, cb) { npm.commands.help(["faq"], cb) }
+function faq (args, cb) { npm.commands.help(['faq'], cb) }
diff --git a/deps/npm/lib/fetch-package-metadata.js b/deps/npm/lib/fetch-package-metadata.js
new file mode 100644
index 0000000000..4efc37806e
--- /dev/null
+++ b/deps/npm/lib/fetch-package-metadata.js
@@ -0,0 +1,330 @@
+'use strict'
+var fs = require('graceful-fs')
+var path = require('path')
+var zlib = require('zlib')
+
+var log = require('npmlog')
+var realizePackageSpecifier = require('realize-package-specifier')
+var tar = require('tar')
+var once = require('once')
+var semver = require('semver')
+var readPackageTree = require('read-package-tree')
+var readPackageJson = require('read-package-json')
+var iferr = require('iferr')
+var rimraf = require('rimraf')
+var clone = require('lodash.clonedeep')
+var validate = require('aproba')
+var unpipe = require('unpipe')
+
+var npm = require('./npm.js')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var cache = require('./cache.js')
+var cachedPackageRoot = require('./cache/cached-package-root.js')
+var tempFilename = require('./utils/temp-filename.js')
+var getCacheStat = require('./cache/get-stat.js')
+var unpack = require('./utils/tar.js').unpack
+var pulseTillDone = require('./utils/pulse-till-done.js')
+var parseJSON = require('./utils/parse-json.js')
+
+function andLogAndFinish (spec, tracker, done) {
+ validate('SF', [spec, done])
+ return function (er, pkg) {
+ if (er) {
+ log.silly('fetchPackageMetaData', 'error for ' + spec, er)
+ if (tracker) tracker.finish()
+ }
+ return done(er, pkg)
+ }
+}
+
+module.exports = function fetchPackageMetadata (spec, where, tracker, done) {
+ if (!done) {
+ done = tracker || where
+ tracker = null
+ if (done === where) where = null
+ }
+ if (typeof spec === 'object') {
+ var dep = spec
+ spec = dep.raw
+ }
+ var logAndFinish = andLogAndFinish(spec, tracker, done)
+ if (!dep) {
+ log.silly('fetchPackageMetaData', spec)
+ return realizePackageSpecifier(spec, where, iferr(logAndFinish, function (dep) {
+ fetchPackageMetadata(dep, where, tracker, done)
+ }))
+ }
+ if (dep.type === 'version' || dep.type === 'range' || dep.type === 'tag') {
+ fetchNamedPackageData(dep, addRequestedAndFinish)
+ } else if (dep.type === 'directory') {
+ fetchDirectoryPackageData(dep, where, addRequestedAndFinish)
+ } else {
+ fetchOtherPackageData(spec, dep, where, addRequestedAndFinish)
+ }
+ function addRequestedAndFinish (er, pkg) {
+ if (pkg) {
+ pkg._requested = dep
+ pkg._spec = spec
+ pkg._where = where
+ if (!pkg._args) pkg._args = []
+ pkg._args.push([pkg._spec, pkg._where])
+ }
+ logAndFinish(er, pkg)
+ }
+}
+
+function fetchOtherPackageData (spec, dep, where, next) {
+ validate('SOSF', arguments)
+ log.silly('fetchOtherPackageData', spec)
+ cache.add(spec, null, where, false, iferr(next, function (pkg) {
+ var result = clone(pkg)
+ result._inCache = true
+ next(null, result)
+ }))
+}
+
+function fetchDirectoryPackageData (dep, where, next) {
+ validate('OSF', arguments)
+ log.silly('fetchDirectoryPackageData', dep.name || dep.rawSpec)
+ readPackageJson(path.join(dep.spec, 'package.json'), false, next)
+}
+
+var regCache = {}
+
+function fetchNamedPackageData (dep, next) {
+ validate('OF', arguments)
+ log.silly('fetchNamedPackageData', dep.name || dep.rawSpec)
+ mapToRegistry(dep.name || dep.rawSpec, npm.config, iferr(next, function (url, auth) {
+ if (regCache[url]) {
+ pickVersionFromRegistryDocument(clone(regCache[url]))
+ } else {
+ npm.registry.get(url, {auth: auth}, pulseTillDone('fetchMetadata', iferr(next, pickVersionFromRegistryDocument)))
+ }
+ function returnAndAddMetadata (pkg) {
+ delete pkg._from
+ delete pkg._resolved
+ delete pkg._shasum
+ next(null, pkg)
+ }
+ function pickVersionFromRegistryDocument (pkg) {
+ if (!regCache[url]) regCache[url] = pkg
+ var versions = Object.keys(pkg.versions).sort(semver.rcompare)
+
+ if (dep.type === 'tag') {
+ var tagVersion = pkg['dist-tags'][dep.spec]
+ if (pkg.versions[tagVersion]) return returnAndAddMetadata(pkg.versions[tagVersion])
+ } else {
+ var latestVersion = pkg['dist-tags'][npm.config.get('tag')] || versions[0]
+
+ // Find the the most recent version less than or equal
+ // to latestVersion that satisfies our spec
+ for (var ii = 0; ii < versions.length; ++ii) {
+ if (semver.gt(versions[ii], latestVersion)) continue
+ if (semver.satisfies(versions[ii], dep.spec)) {
+ return returnAndAddMetadata(pkg.versions[versions[ii]])
+ }
+ }
+
+ // Failing that, try finding the most recent version that matches
+ // our spec
+ for (var jj = 0; jj < versions.length; ++jj) {
+ if (semver.satisfies(versions[jj], dep.spec)) {
+ return returnAndAddMetadata(pkg.versions[versions[jj]])
+ }
+ }
+
+ // Failing THAT, if the range was '*' uses latestVersion
+ if (dep.spec === '*') {
+ return returnAndAddMetadata(pkg.versions[latestVersion])
+ }
+ }
+
+ // And failing that, we error out
+ var targets = versions.length
+ ? 'Valid install targets:\n' + JSON.stringify(versions) + '\n'
+ : 'No valid targets found.'
+ var er = new Error('No compatible version found: ' +
+ dep.raw + '\n' + targets)
+ return next(er)
+ }
+ }))
+}
+
+function retryWithCached (pkg, asserter, next) {
+ if (!pkg._inCache) {
+ cache.add(pkg._spec, null, pkg._where, false, iferr(next, function (newpkg) {
+ Object.keys(newpkg).forEach(function (key) {
+ if (key[0] !== '_') return
+ pkg[key] = newpkg[key]
+ })
+ pkg._inCache = true
+ return asserter(pkg, next)
+ }))
+ }
+ return !pkg._inCache
+}
+
+module.exports.addShrinkwrap = function addShrinkwrap (pkg, next) {
+ validate('OF', arguments)
+ if (pkg._shrinkwrap !== undefined) return next(null, pkg)
+ if (retryWithCached(pkg, addShrinkwrap, next)) return
+ pkg._shrinkwrap = null
+ // FIXME: cache the shrinkwrap directly
+ var pkgname = pkg.name
+ var ver = pkg.version
+ var tarball = path.join(cachedPackageRoot({name: pkgname, version: ver}), 'package.tgz')
+ untarStream(tarball, function (er, untar) {
+ if (er) {
+ if (er.code === 'ENOTTARBALL') {
+ pkg._shrinkwrap = null
+ return next()
+ } else {
+ return next(er)
+ }
+ }
+ if (er) return next(er)
+ var foundShrinkwrap = false
+ untar.on('entry', function (entry) {
+ if (!/^(?:[^\/]+[\/])npm-shrinkwrap.json$/.test(entry.path)) return
+ log.silly('addShrinkwrap', 'Found shrinkwrap in ' + pkgname + ' ' + entry.path)
+ foundShrinkwrap = true
+ var shrinkwrap = ''
+ entry.on('data', function (chunk) {
+ shrinkwrap += chunk
+ })
+ entry.on('end', function () {
+ untar.close()
+ log.silly('addShrinkwrap', 'Completed reading shrinkwrap in ' + pkgname)
+ try {
+ pkg._shrinkwrap = parseJSON(shrinkwrap)
+ } catch (ex) {
+ var er = new Error('Error parsing ' + pkgname + '@' + ver + "'s npm-shrinkwrap.json: " + ex.message)
+ er.type = 'ESHRINKWRAP'
+ return next(er)
+ }
+ next(null, pkg)
+ })
+ entry.resume()
+ })
+ untar.on('end', function () {
+ if (!foundShrinkwrap) {
+ pkg._shrinkwrap = null
+ next(null, pkg)
+ }
+ })
+ })
+}
+
+module.exports.addBundled = function addBundled (pkg, next) {
+ validate('OF', arguments)
+ if (pkg._bundled !== undefined) return next(null, pkg)
+ if (!pkg.bundleDependencies) return next(null, pkg)
+ if (retryWithCached(pkg, addBundled, next)) return
+ pkg._bundled = null
+ var pkgname = pkg.name
+ var ver = pkg.version
+ var tarball = path.join(cachedPackageRoot({name: pkgname, version: ver}), 'package.tgz')
+ var target = tempFilename('unpack')
+ getCacheStat(iferr(next, function (cs) {
+ log.verbose('addBundled', 'extract', tarball)
+ unpack(tarball, target, null, null, cs.uid, cs.gid, iferr(next, function () {
+ log.silly('addBundled', 'read tarball')
+ readPackageTree(target, function (er, tree) {
+ log.silly('cleanup', 'remove extracted module')
+ rimraf(target, function () {
+ if (tree) {
+ pkg._bundled = tree.children
+ }
+ next(null, pkg)
+ })
+ })
+ }))
+ }))
+}
+
+// FIXME: hasGzipHeader / hasTarHeader / untarStream duplicate a lot
+// of code from lib/utils/tar.js– these should be brought together.
+
+function hasGzipHeader (c) {
+ return c[0] === 0x1F && c[1] === 0x8B && c[2] === 0x08
+}
+
+function hasTarHeader (c) {
+ return c[257] === 0x75 && // tar archives have 7573746172 at position
+ c[258] === 0x73 && // 257 and 003030 or 202000 at position 262
+ c[259] === 0x74 &&
+ c[260] === 0x61 &&
+ c[261] === 0x72 &&
+
+ ((c[262] === 0x00 &&
+ c[263] === 0x30 &&
+ c[264] === 0x30) ||
+
+ (c[262] === 0x20 &&
+ c[263] === 0x20 &&
+ c[264] === 0x00))
+}
+
+function untarStream (tarball, cb) {
+ validate('SF', arguments)
+ cb = once(cb)
+
+ var stream
+ var file = stream = fs.createReadStream(tarball)
+ var tounpipe = [file]
+ file.on('error', function (er) {
+ er = new Error('Error extracting ' + tarball + ' archive: ' + er.message)
+ er.code = 'EREADFILE'
+ cb(er)
+ })
+ file.on('data', function OD (c) {
+ if (hasGzipHeader(c)) {
+ doGunzip()
+ } else if (hasTarHeader(c)) {
+ doUntar()
+ } else {
+ file.close()
+ var er = new Error('Non-gzip/tarball ' + tarball)
+ er.code = 'ENOTTARBALL'
+ return cb(er)
+ }
+ file.removeListener('data', OD)
+ file.emit('data', c)
+ cb(null, stream)
+ })
+
+ function doGunzip () {
+ var gunzip = stream.pipe(zlib.createGunzip())
+ gunzip.on('error', function (er) {
+ er = new Error('Error extracting ' + tarball + ' archive: ' + er.message)
+ er.code = 'EGUNZIP'
+ cb(er)
+ })
+ tounpipe.push(gunzip)
+ stream = gunzip
+ doUntar()
+ }
+
+ function doUntar () {
+ var untar = stream.pipe(tar.Parse())
+ untar.on('error', function (er) {
+ er = new Error('Error extracting ' + tarball + ' archive: ' + er.message)
+ er.code = 'EUNTAR'
+ cb(er)
+ })
+ tounpipe.push(untar)
+ stream = untar
+ addClose()
+ }
+
+ function addClose () {
+ stream.close = function () {
+ tounpipe.forEach(function (stream) {
+ unpipe(stream)
+ })
+
+ if (file.close) file.close()
+ if (file.destroy) file.destroy()
+ }
+ }
+}
diff --git a/deps/npm/lib/fetch-package-metadata.md b/deps/npm/lib/fetch-package-metadata.md
new file mode 100644
index 0000000000..6a7d4fc595
--- /dev/null
+++ b/deps/npm/lib/fetch-package-metadata.md
@@ -0,0 +1,37 @@
+fetch-package-metadata
+----------------------
+
+ var fetchPackageMetadata = require("npm/lib/fetch-package-metadata")
+ fetchPackageMetadata(spec, contextdir, callback)
+
+This will get package metadata (and if possible, ONLY package metadata) for
+a specifer as passed to `npm install` et al, eg `npm@next` or `npm@^2.0.3`
+
+## fetchPackageMetadata(*spec*, *contextdir*, *tracker*, *callback*)
+
+* *spec* **string** | **object** -- The package specifier, can be anything npm can
+ understand (see [realize-package-specifier]), or it can be the result from
+ realize-package-specifier or npm-package-arg (for non-local deps).
+
+* *contextdir* **string** -- The directory from which relative paths to
+ local packages should be resolved.
+
+* *tracker* **object** -- **(optional)** An are-we-there-yet tracker group as
+ provided by `npm.log.newGroup()`.
+
+* *callback* **function (er, package)** -- Called when the package information
+ has been loaded. `package` is the object for of the `package.json`
+ matching the requested spec. In the case of named packages, it comes from
+ the registry and thus may not exactly match what's found in the associated
+ tarball.
+
+[realize-package-specifier]: (https://github.com/npm/realize-package-specifier)
+
+In the case of tarballs and git repos, it will use the cache to download
+them in order to get the package metadata. For named packages, only the
+metadata is downloaded (eg http://registry.npmjs.org/package). For local
+directories, the package.json is read directly. For local tarballs, the
+tarball is streamed in memory and just the package.json is extracted from
+it. (Due to the nature of tars, having the package.json early in the file
+will result in it being loaded faster– the extractor short-circuits the
+uncompress/untar streams as best as it can.)
diff --git a/deps/npm/lib/get.js b/deps/npm/lib/get.js
index aa058002ec..8dc805ec56 100644
--- a/deps/npm/lib/get.js
+++ b/deps/npm/lib/get.js
@@ -1,12 +1,12 @@
module.exports = get
-get.usage = "npm get <key> <value> (See `npm config`)"
+get.usage = 'npm get <key> <value> (See `npm config`)'
-var npm = require("./npm.js")
+var npm = require('./npm.js')
get.completion = npm.commands.config.completion
function get (args, cb) {
- npm.commands.config(["get"].concat(args), cb)
+ npm.commands.config(['get'].concat(args), cb)
}
diff --git a/deps/npm/lib/help-search.js b/deps/npm/lib/help-search.js
index d8553453bc..16f389027f 100644
--- a/deps/npm/lib/help-search.js
+++ b/deps/npm/lib/help-search.js
@@ -1,29 +1,29 @@
module.exports = helpSearch
-var fs = require("graceful-fs")
- , path = require("path")
- , asyncMap = require("slide").asyncMap
- , npm = require("./npm.js")
- , glob = require("glob")
- , color = require("ansicolors")
+var fs = require('graceful-fs')
+var path = require('path')
+var asyncMap = require('slide').asyncMap
+var npm = require('./npm.js')
+var glob = require('glob')
+var color = require('ansicolors')
-helpSearch.usage = "npm help-search <text>"
+helpSearch.usage = 'npm help-search <text>'
function helpSearch (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
if (!args.length) return cb(helpSearch.usage)
- var docPath = path.resolve(__dirname, "..", "doc")
- return glob(docPath + "/*/*.md", function (er, files) {
- if (er)
- return cb(er)
+ var docPath = path.resolve(__dirname, '..', 'doc')
+ return glob(docPath + '/*/*.md', function (er, files) {
+ if (er) return cb(er)
readFiles(files, function (er, data) {
- if (er)
- return cb(er)
+ if (er) return cb(er)
searchFiles(args, data, function (er, results) {
- if (er)
- return cb(er)
+ if (er) return cb(er)
formatResults(args, results, cb)
})
})
@@ -52,8 +52,7 @@ function searchFiles (args, files, cb) {
for (var a = 0, l = args.length; a < l && !match; a++) {
match = data.toLowerCase().indexOf(args[a].toLowerCase()) !== -1
}
- if (!match)
- return
+ if (!match) return
var lines = data.split(/\n+/)
@@ -61,14 +60,14 @@ function searchFiles (args, files, cb) {
// if the next line has a search term, then skip all 3
// otherwise, set the line to null. then remove the nulls.
l = lines.length
- for (var i = 0; i < l; i ++) {
+ for (var i = 0; i < l; i++) {
var line = lines[i]
- , nextLine = lines[i + 1]
- , ll
+ var nextLine = lines[i + 1]
+ var ll
match = false
if (nextLine) {
- for (a = 0, ll = args.length; a < ll && !match; a ++) {
+ for (a = 0, ll = args.length; a < ll && !match; a++) {
match = nextLine.toLowerCase()
.indexOf(args[a].toLowerCase()) !== -1
}
@@ -80,12 +79,12 @@ function searchFiles (args, files, cb) {
}
match = false
- for (a = 0, ll = args.length; a < ll && !match; a ++) {
+ for (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 ++
+ i++
continue
}
@@ -94,7 +93,7 @@ function searchFiles (args, files, cb) {
// 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)
+ if (!(r === null && l[l.length - 1] === null)) l.push(r)
return l
}, [])
@@ -103,10 +102,10 @@ function searchFiles (args, files, cb) {
// now see how many args were found at all.
var found = {}
- , totalHits = 0
+ var totalHits = 0
lines.forEach(function (line) {
args.forEach(function (arg) {
- var hit = (line || "").toLowerCase()
+ var hit = (line || '').toLowerCase()
.split(arg.toLowerCase()).length - 1
if (hit > 0) {
found[arg] = (found[arg] || 0) + hit
@@ -115,27 +114,28 @@ function searchFiles (args, files, cb) {
})
})
- var cmd = "npm help "
- if (path.basename(path.dirname(file)) === "api") {
- cmd = "npm apihelp "
+ 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
- })
+ cmd += path.basename(file, '.md').replace(/^npm-/, '')
+ results.push({
+ file: file,
+ cmd: cmd,
+ lines: lines,
+ found: Object.keys(found),
+ hits: found,
+ totalHits: totalHits
+ })
})
// if only one result, then just show that help section.
if (results.length === 1) {
- return npm.commands.help([results[0].file.replace(/\.md$/, "")], cb)
+ return npm.commands.help([results[0].file.replace(/\.md$/, '')], cb)
}
if (results.length === 0) {
- console.log("No results for " + args.map(JSON.stringify).join(" "))
+ console.log('No results for ' + args.map(JSON.stringify).join(' '))
return cb()
}
@@ -161,25 +161,25 @@ function formatResults (args, results, cb) {
var out = results.map(function (res) {
var out = res.cmd
- , r = Object.keys(res.hits).map(function (k) {
- return k + ":" + res.hits[k]
+ var r = Object.keys(res.hits).map(function (k) {
+ return k + ':' + res.hits[k]
}).sort(function (a, b) {
return a > b ? 1 : -1
- }).join(" ")
+ }).join(' ')
out += ((new Array(Math.max(1, cols - out.length - r.length)))
- .join(" ")) + r
+ .join(' ')) + r
- if (!npm.config.get("long")) return out
+ if (!npm.config.get('long')) return out
- 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 ++) {
+ 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
+ var newOut = ''
+ var p = 0
finder.forEach(function (f) {
newOut += out.substr(p, f.length)
@@ -193,16 +193,16 @@ function formatResults (args, results, cb) {
}
return newOut
- }).join("\n").trim()
+ }).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)"
+ }).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())
diff --git a/deps/npm/lib/help.js b/deps/npm/lib/help.js
index 942d27b41e..a954ae814b 100644
--- a/deps/npm/lib/help.js
+++ b/deps/npm/lib/help.js
@@ -6,16 +6,15 @@ help.completion = function (opts, cb) {
getSections(cb)
}
-var path = require("path")
- , spawn = require("./utils/spawn")
- , npm = require("./npm.js")
- , log = require("npmlog")
- , opener = require("opener")
- , glob = require("glob")
+var path = require('path')
+var spawn = require('./utils/spawn')
+var npm = require('./npm.js')
+var log = require('npmlog')
+var opener = require('opener')
+var glob = require('glob')
function help (args, cb) {
- npm.spinner.stop()
- var argv = npm.config.get("argv").cooked
+ var argv = npm.config.get('argv').cooked
var argnum = 0
if (args.length === 2 && ~~args[0]) {
@@ -24,54 +23,53 @@ function help (args, cb) {
// npm help foo bar baz: search topics
if (args.length > 1 && args[0]) {
- return npm.commands["help-search"](args, argnum, cb)
+ return npm.commands['help-search'](args, argnum, cb)
}
var section = npm.deref(args[0]) || args[0]
// npm help <noargs>: show basic usage
if (!section) {
- var valid = argv[0] === "help" ? 0 : 1
+ var valid = argv[0] === 'help' ? 0 : 1
return npmUsage(valid, 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"
+ 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()
}
// npm apihelp <section>: Prefer section 3 over section 1
- var apihelp = argv.length && -1 !== argv[0].indexOf("api")
+ var apihelp = argv.length && argv[0].indexOf('api') !== -1
var pref = apihelp ? [3, 1, 5, 7] : [1, 3, 5, 7]
- if (argnum)
+ 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 manroot = path.resolve(__dirname, '..', 'man')
// legacy
- if (section === "global") section = "folders"
- else if (section === "json") section = "package.json"
+ if (section === 'global') section = 'folders'
+ else if (section === 'json') section = 'package.json'
// find either /section.n or /npm-section.n
// The glob is used in the glob. The regexp is used much
// further down. Globs and regexps are different
- var compextglob = ".+(gz|bz2|lzma|[FYzZ]|xz)"
- var compextre = "\\.(gz|bz2|lzma|[FYzZ]|xz)$"
- var f = "+(npm-" + section + "|" + section + ").[0-9]?(" + compextglob + ")"
- return glob(manroot + "/*/" + f, function (er, mans) {
+ var compextglob = '.+(gz|bz2|lzma|[FYzZ]|xz)'
+ var compextre = '\\.(gz|bz2|lzma|[FYzZ]|xz)$'
+ var f = '+(npm-' + section + '|' + section + ').[0-9]?(' + compextglob + ')'
+ return glob(manroot + '/*/' + f, function (er, mans) {
if (er) return cb(er)
- if (!mans.length) return npm.commands["help-search"](args, cb)
+ if (!mans.length) return npm.commands['help-search'](args, cb)
mans = mans.map(function (man) {
var ext = path.extname(man)
@@ -103,83 +101,83 @@ function pickMan (mans, pref_) {
function viewMan (man, cb) {
var nre = /([0-9]+)$/
var num = man.match(nre)[1]
- var section = path.basename(man, "." + num)
+ var section = path.basename(man, '.' + num)
// at this point, we know that the specified man page exists
- var manpath = path.join(__dirname, "..", "man")
- , env = {}
+ var manpath = path.join(__dirname, '..', 'man')
+ var env = {}
Object.keys(process.env).forEach(function (i) {
env[i] = process.env[i]
})
env.MANPATH = manpath
- var viewer = npm.config.get("viewer")
+ var viewer = npm.config.get('viewer')
var conf
switch (viewer) {
- case "woman":
- var a = ["-e", "(woman-find-file \"" + man + "\")"]
- conf = { env: env, stdio: "inherit" }
- var woman = spawn("emacsclient", a, conf)
- woman.on("close", cb)
+ case 'woman':
+ var a = ['-e', '(woman-find-file \'' + man + '\')']
+ conf = { env: env, stdio: 'inherit' }
+ var woman = spawn('emacsclient', a, conf)
+ woman.on('close', cb)
break
- case "browser":
- opener(htmlMan(man), { command: npm.config.get("browser") }, cb)
+ case 'browser':
+ opener(htmlMan(man), { command: npm.config.get('browser') }, cb)
break
default:
- conf = { env: env, stdio: "inherit" }
- var manProcess = spawn("man", [num, section], conf)
- manProcess.on("close", cb)
+ conf = { env: env, stdio: 'inherit' }
+ var manProcess = spawn('man', [num, section], conf)
+ manProcess.on('close', cb)
break
}
}
function htmlMan (man) {
var sect = +man.match(/([0-9]+)$/)[1]
- var f = path.basename(man).replace(/([0-9]+)$/, "html")
+ var f = path.basename(man).replace(/([0-9]+)$/, 'html')
switch (sect) {
case 1:
- sect = "cli"
+ sect = 'cli'
break
case 3:
- sect = "api"
+ sect = 'api'
break
case 5:
- sect = "files"
+ sect = 'files'
break
case 7:
- sect = "misc"
+ sect = 'misc'
break
default:
- throw new Error("invalid man section: " + sect)
+ throw new Error('invalid man section: ' + sect)
}
- return path.resolve(__dirname, "..", "html", "doc", sect, f)
+ return path.resolve(__dirname, '..', 'html', 'doc', sect, f)
}
function npmUsage (valid, 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"))
+ 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(valid)
}
@@ -189,50 +187,50 @@ function usages () {
return Object.keys(npm.commands).filter(function (c) {
return c === npm.deref(c)
}).reduce(function (set, c) {
- set.push([c, npm.commands[c].usage || ""])
+ set.push([c, npm.commands[c].usage || ''])
maxLen = Math.max(maxLen, c.length)
return set
}, []).map(function (item) {
var c = item[0]
- , usage = item[1]
- return "\n " + c + (new Array(maxLen - c.length + 2).join(" "))
- + (usage.split("\n")
- .join("\n" + (new Array(maxLen + 6).join(" "))))
- }).join("\n")
+ var usage = item[1]
+ return '\n ' +
+ c + (new Array(maxLen - c.length + 2).join(' ')) +
+ (usage.split('\n').join('\n' + (new Array(maxLen + 6).join(' '))))
+ }).join('\n')
}
-
function wrap (arr) {
- var out = [""]
- , l = 0
- , line
+ var out = ['']
+ var l = 0
+ var line
line = process.stdout.columns
- if (!line)
+ if (!line) {
line = 60
- else
+ } else {
line = Math.min(60, Math.max(line - 16, 24))
+ }
- arr.sort(function (a,b) { return a<b?-1:1 })
+ arr.sort(function (a, b) { return a < b ? -1 : 1 })
.forEach(function (c) {
if (out[l].length + c.length + 2 < line) {
- out[l] += ", "+c
+ out[l] += ', ' + c
} else {
- out[l++] += ","
+ out[l++] += ','
out[l] = c
}
})
- return out.join("\n ").substr(2)
+ return out.join('\n ').substr(2)
}
function getSections (cb) {
- var g = path.resolve(__dirname, "../man/man[0-9]/*.[0-9]")
+ var g = path.resolve(__dirname, '../man/man[0-9]/*.[0-9]')
glob(g, function (er, files) {
- if (er)
- return cb(er)
+ 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-/, "")
+ file = path.basename(file).replace(/\.[0-9]+$/, '')
+ file = file.replace(/^npm-/, '')
acc[file] = true
return acc
}, { help: true })))
diff --git a/deps/npm/lib/init.js b/deps/npm/lib/init.js
index a889774b02..e3eb3d40dd 100644
--- a/deps/npm/lib/init.js
+++ b/deps/npm/lib/init.js
@@ -1,41 +1,39 @@
-
// initialize a package.json file
module.exports = init
-var log = require("npmlog")
- , npm = require("./npm.js")
- , initJson = require("init-package-json")
+var log = require('npmlog')
+var npm = require('./npm.js')
+var initJson = require('init-package-json')
-init.usage = "npm init [--force/-f]"
+init.usage = 'npm init [--force|-f|--yes|-y]'
function init (args, cb) {
var dir = process.cwd()
log.pause()
- npm.spinner.stop()
- var initFile = npm.config.get("init-module")
+ var initFile = npm.config.get('init-module')
if (!initJson.yes(npm.config)) {
- console.log(
- ["This utility will walk you through creating a package.json file."
- ,"It only covers the most common items, and tries to guess sensible defaults."
- ,""
- ,"See `npm help json` for definitive documentation on these fields"
- ,"and exactly what they do."
- ,""
- ,"Use `npm install <pkg> --save` afterwards to install a package and"
- ,"save it as a dependency in the package.json file."
- ,""
- ,"Press ^C at any time to quit."
- ].join("\n"))
+ console.log([
+ 'This utility will walk you through creating a package.json file.',
+ 'It only covers the most common items, and tries to guess sensible defaults.',
+ '',
+ 'See `npm help json` for definitive documentation on these fields',
+ 'and exactly what they do.',
+ '',
+ 'Use `npm install <pkg> --save` afterwards to install a package and',
+ 'save it as a dependency in the package.json file.',
+ '',
+ 'Press ^C at any time to quit.'
+ ].join('\n'))
}
initJson(dir, initFile, npm.config, function (er, data) {
log.resume()
- log.silly("package data", data)
- if (er && er.message === "canceled") {
- log.warn("init", "canceled")
+ log.silly('package data', data)
+ if (er && er.message === 'canceled') {
+ log.warn('init', 'canceled')
return cb(null, data)
}
- log.info("init", "written successfully")
+ log.info('init', 'written successfully')
cb(er, data)
})
}
diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js
index 9cc6a46fc0..3ebb3b3bb0 100644
--- a/deps/npm/lib/install.js
+++ b/deps/npm/lib/install.js
@@ -1,3 +1,4 @@
+'use strict'
// npm install <pkg> <pkg> <pkg>
//
// See doc/install.md for more description
@@ -12,23 +13,23 @@
// added, and then that's passed to the next generation of installation.
module.exports = install
-
-install.usage = "npm install"
- + "\nnpm install <pkg>"
- + "\nnpm install <pkg>@<tag>"
- + "\nnpm install <pkg>@<version>"
- + "\nnpm install <pkg>@<version range>"
- + "\nnpm install <folder>"
- + "\nnpm install <tarball file>"
- + "\nnpm install <tarball url>"
- + "\nnpm install <git:// url>"
- + "\nnpm install <github username>/<github project>"
- + "\n\nCan specify one or more: npm install ./foo.tgz bar@stable /some/folder"
- + "\nIf no argument is supplied and ./npm-shrinkwrap.json is "
- + "\npresent, installs dependencies specified in the shrinkwrap."
- + "\nOtherwise, installs dependencies from ./package.json."
+module.exports.Installer = Installer
+
+install.usage = '\nnpm install (with no args, in package dir)' +
+ '\nnpm install [<@scope>/]<pkg>' +
+ '\nnpm install [<@scope>/]<pkg>@<tag>' +
+ '\nnpm install [<@scope>/]<pkg>@<version>' +
+ '\nnpm install [<@scope>/]<pkg>@<version range>' +
+ '\nnpm install <folder>' +
+ '\nnpm install <tarball file>' +
+ '\nnpm install <tarball url>' +
+ '\nnpm install <git:// url>' +
+ '\nnpm install <github username>/<github project>' +
+ '\n\nalias: npm i' +
+ '\ncommon options: [--save|--save-dev|--save-optional] [--save-exact]'
install.completion = function (opts, cb) {
+ validate('OF', arguments)
// install can complete to a folder with a package.json, or any package.
// if it has a slash, then it's gotta be a folder
// if it starts with https?://, then just give up, because it's a url
@@ -42,12 +43,12 @@ install.completion = function (opts, cb) {
// is a folder containing a package.json file. If that is not the
// case we return 0 matches, which will trigger the default bash
// complete.
- var lastSlashIdx = opts.partialWord.lastIndexOf("/")
+ var lastSlashIdx = opts.partialWord.lastIndexOf('/')
var partialName = opts.partialWord.slice(lastSlashIdx + 1)
var partialPath = opts.partialWord.slice(0, lastSlashIdx)
- if (partialPath === "") partialPath = "/"
+ if (partialPath === '') partialPath = '/'
- function annotatePackageDirMatch (sibling, cb) {
+ var annotatePackageDirMatch = function (sibling, cb) {
var fullPath = path.join(partialPath, sibling)
if (sibling.slice(0, partialName.length) !== partialName) {
return cb(null, null) // not name match
@@ -59,7 +60,7 @@ install.completion = function (opts, cb) {
null,
{
fullPath: fullPath,
- isPackage: contents.indexOf("package.json") !== -1
+ isPackage: contents.indexOf('package.json') !== -1
}
)
})
@@ -86,1111 +87,628 @@ install.completion = function (opts, cb) {
cb()
}
-var npm = require("./npm.js")
- , semver = require("semver")
- , readJson = require("read-package-json")
- , readInstalled = require("read-installed")
- , log = require("npmlog")
- , path = require("path")
- , fs = require("graceful-fs")
- , writeFileAtomic = require("write-file-atomic")
- , cache = require("./cache.js")
- , asyncMap = require("slide").asyncMap
- , chain = require("slide").chain
- , url = require("url")
- , mkdir = require("mkdirp")
- , lifecycle = require("./utils/lifecycle.js")
- , archy = require("archy")
- , npmInstallChecks = require("npm-install-checks")
- , sortedObject = require("sorted-object")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , npa = require("npm-package-arg")
- , inflight = require("inflight")
- , locker = require("./utils/locker.js")
- , lock = locker.lock
- , unlock = locker.unlock
- , warnStrict = require("./utils/warn-deprecated.js")("engineStrict")
- , warnPeers = require("./utils/warn-deprecated.js")("peerDependencies")
-
-function install (args, cb_) {
- var hasArguments = !!args.length
-
- function cb (er, installed) {
- if (er) return cb_(er)
-
- validateInstall(where, function (er, problem) {
- if (er) return cb_(er)
-
- if (problem) {
- var peerInvalidError = new Error("The package " + problem._id +
- " does not satisfy its siblings' peerDependencies requirements!")
- peerInvalidError.code = "EPEERINVALID"
- peerInvalidError.packageName = problem.name
- peerInvalidError.packageVersion = problem.version
- peerInvalidError.peersDepending = problem.peersDepending
- return cb(peerInvalidError)
- }
-
- var tree = treeify(installed || [])
- , pretty = prettify(tree, installed).trim()
-
- if (pretty) console.log(pretty)
- save(where, installed, tree, pretty, hasArguments, cb_)
- })
- }
-
- // the /path/to/node_modules/..
- var where = path.resolve(npm.dir, "..")
-
- // internal api: install(where, what, cb)
- if (arguments.length === 3) {
- where = args
- args = [].concat(cb_) // pass in [] to do default dep-install
- cb_ = arguments[2]
- log.verbose("install", "where, what", [where, args])
- }
-
- if (!npm.config.get("global")) {
- args = args.filter(function (a) {
- return path.resolve(a) !== where
- })
- }
-
- mkdir(where, function (er) {
- if (er) return cb(er)
- // install dependencies locally by default,
- // or install current folder globally
- if (!args.length) {
- var opt = { dev: npm.config.get("dev") || !npm.config.get("production") }
-
- if (npm.config.get("global")) args = ["."]
- else return readDependencies(null, where, opt, function (er, data) {
- if (er) {
- log.error("install", "Couldn't read dependencies")
- return cb(er)
- }
- var deps = Object.keys(data.dependencies || {})
- log.verbose("install", "where, deps", [where, deps])
-
- // FIXME: Install peerDependencies as direct dependencies, but only at
- // the top level. Should only last until peerDependencies are nerfed to
- // no longer implicitly install themselves.
- var peers = []
- Object.keys(data.peerDependencies || {}).forEach(function (dep) {
- if (!data.dependencies[dep]) {
- log.verbose(
- "install",
- "peerDependency", dep, "wasn't going to be installed; adding"
- )
- warnPeers([
- "The peer dependency "+dep+" included from "+data.name+" will no",
- "longer be automatically installed to fulfill the peerDependency ",
- "in npm 3+. Your application will need to depend on it explicitly."
- ], dep+","+data.name)
- peers.push(dep)
- }
- })
- log.verbose("install", "where, peers", [where, peers])
-
- var context = { family: {}
- , ancestors: {}
- , explicit: false
- , parent: data
- , root: true
- , wrap: null }
-
- if (data.name === path.basename(where) &&
- path.basename(path.dirname(where)) === "node_modules") {
- // Only include in ancestry if it can actually be required.
- // Otherwise, it does not count.
- context.family[data.name] =
- context.ancestors[data.name] = data.version
- }
-
- installManyTop(deps.map(function (dep) {
- var target = data.dependencies[dep]
- return dep + "@" + target
- }).concat(peers.map(function (dep) {
- var target = data.peerDependencies[dep]
- return dep + "@" + target
- })), where, context, function(er, results) {
- if (er || npm.config.get("production")) return cb(er, results)
- lifecycle(data, "prepublish", where, function(er) {
- return cb(er, results)
- })
- })
+// system packages
+var fs = require('fs')
+var path = require('path')
+
+// dependencies
+var log = require('npmlog')
+var readPackageTree = require('read-package-tree')
+var chain = require('slide').chain
+var asyncMap = require('slide').asyncMap
+var archy = require('archy')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var iferr = require('iferr')
+var validate = require('aproba')
+
+// npm internal utils
+var npm = require('./npm.js')
+var locker = require('./utils/locker.js')
+var lock = locker.lock
+var unlock = locker.unlock
+var ls = require('./ls.js')
+var parseJSON = require('./utils/parse-json.js')
+
+// install specific libraries
+var copyTree = require('./install/copy-tree.js')
+var readShrinkwrap = require('./install/read-shrinkwrap.js')
+var recalculateMetadata = require('./install/deps.js').recalculateMetadata
+var loadDeps = require('./install/deps.js').loadDeps
+var loadDevDeps = require('./install/deps.js').loadDevDeps
+var getAllMetadata = require('./install/deps.js').getAllMetadata
+var loadRequestedDeps = require('./install/deps.js').loadRequestedDeps
+var loadExtraneous = require('./install/deps.js').loadExtraneous
+var pruneTree = require('./install/prune-tree.js')
+var diffTrees = require('./install/diff-trees.js')
+var checkPermissions = require('./install/check-permissions.js')
+var decomposeActions = require('./install/decompose-actions.js')
+var filterInvalidActions = require('./install/filter-invalid-actions.js')
+var validateTree = require('./install/validate-tree.js')
+var validateArgs = require('./install/validate-args.js')
+var saveRequested = require('./install/save.js').saveRequested
+var getSaveType = require('./install/save.js').getSaveType
+var doSerialActions = require('./install/actions.js').doSerial
+var doReverseSerialActions = require('./install/actions.js').doReverseSerial
+var doParallelActions = require('./install/actions.js').doParallel
+var doOneAction = require('./install/actions.js').doOne
+var getPackageId = require('./install/get-package-id.js')
+
+function unlockCB (lockPath, name, cb) {
+ validate('SSF', arguments)
+ return function (installEr) {
+ var args = arguments
+ try {
+ unlock(lockPath, name, reportErrorAndReturn)
+ } catch (unlockEx) {
+ process.nextTick(function () {
+ reportErrorAndReturn(unlockEx)
})
}
-
- // initial "family" is the name:version of the root, if it's got
- // a package.json file.
- var jsonPath = path.resolve(where, "package.json")
- log.verbose('install', 'initial load of', jsonPath)
- readJson(jsonPath, log.warn, function (er, data) {
- if (er
- && er.code !== "ENOENT"
- && er.code !== "ENOTDIR") return cb(er)
- if (er) data = null
- var context = { family: {}
- , ancestors: {}
- , explicit: true
- , parent: data
- , root: true
- , wrap: null }
- if (data && data.name === path.basename(where) &&
- path.basename(path.dirname(where)) === "node_modules") {
- context.family[data.name] = context.ancestors[data.name] = data.version
+ function reportErrorAndReturn (unlockEr) {
+ if (installEr) {
+ if (unlockEr && unlockEr.code !== 'ENOTLOCKED') {
+ log.warn('unlock' + name, unlockEr)
+ }
+ return cb.apply(null, args)
}
- var fn = npm.config.get("global") ? installMany : installManyTop
- fn(args, where, context, cb)
- })
- })
-}
-
-function validateInstall (where, cb) {
- var jsonPath = path.resolve(where, 'package.json')
- log.verbose('validateInstall', 'loading', jsonPath, 'for validation')
- readJson(jsonPath, log.warn, function (er, data) {
- if (er
- && er.code !== 'ENOENT'
- && er.code !== 'ENOTDIR') return cb(er)
-
- if (data && data.engineStrict) {
- warnStrict([
- "Per-package engineStrict (found in this package's package.json) ",
- "won't be used in npm 3+. Use the config setting `engine-strict` instead."
- ], data.name)
+ if (unlockEr) return cb(unlockEr)
+ return cb.apply(null, args)
}
-
- readInstalled(where, { log: log.warn, dev: true }, function (er, data) {
- if (er) return cb(er)
-
- cb(null, findPeerInvalid_(data.dependencies, []))
- })
- })
+ }
}
-function findPeerInvalid_ (packageMap, fpiList) {
- if (fpiList.indexOf(packageMap) !== -1)
- return undefined
-
- fpiList.push(packageMap)
-
- for (var packageName in packageMap) {
- var pkg = packageMap[packageName]
+function install (where, args, cb) {
+ if (!cb) {
+ cb = args
+ args = where
+ where = null
+ }
+ var globalTop = path.resolve(npm.globalDir, '..')
+ if (!where) {
+ where = npm.config.get('global')
+ ? globalTop
+ : npm.prefix
+ }
+ validate('SAF', [where, args, cb])
+ // the /path/to/node_modules/..
+ var dryrun = !!npm.config.get('dry-run')
- if (pkg.peerInvalid) {
- var peersDepending = {}
- for (var peerName in packageMap) {
- var peer = packageMap[peerName]
- if (peer.peerDependencies && peer.peerDependencies[packageName]) {
- peersDepending[peer.name + "@" + peer.version] =
- peer.peerDependencies[packageName]
- }
- }
- return { name: pkg.name, peersDepending: peersDepending, version: pkg.version, _id: pkg._id }
- }
+ if (npm.config.get('dev')) {
+ log.warn('install', 'Usage of the `--dev` option is deprecated. Use `--only=dev` instead.')
+ }
- if (pkg.dependencies) {
- var invalid = findPeerInvalid_(pkg.dependencies, fpiList)
- if (invalid)
- return invalid
- }
+ if (where === globalTop && !args.length) {
+ args = ['.']
}
+ args = args.filter(function (a) {
+ return path.resolve(a) !== npm.prefix
+ })
- return null
+ new Installer(where, dryrun, args).run(cb)
}
-// reads dependencies for the package at "where". There are several cases,
-// depending on our current state and the package's configuration:
-//
-// 1. If "context" is specified, then we examine the context to see if there's a
-// shrinkwrap there. In that case, dependencies are read from the shrinkwrap.
-// 2. Otherwise, if an npm-shrinkwrap.json file is present, dependencies are
-// read from there.
-// 3. Otherwise, dependencies come from package.json.
-//
-// Regardless of which case we fall into, "cb" is invoked with a first argument
-// describing the full package (as though readJson had been used) but with
-// "dependencies" read as described above. The second argument to "cb" is the
-// shrinkwrap to use in processing this package's dependencies, which may be
-// "wrap" (in case 1) or a new shrinkwrap (in case 2).
-function readDependencies (context, where, opts, cb) {
- var wrap = context ? context.wrap : null
-
- var jsonPath = path.resolve(where, 'package.json')
- log.verbose('readDependencies', 'loading dependencies from', jsonPath)
- readJson(jsonPath, log.warn, function (er, data) {
- if (er && er.code === "ENOENT") er.code = "ENOPACKAGEJSON"
- if (er) return cb(er)
-
- if (opts && opts.dev) {
- if (!data.dependencies) data.dependencies = {}
- Object.keys(data.devDependencies || {}).forEach(function (k) {
- if (data.dependencies[k]) {
- log.warn("package.json", "Dependency '%s' exists in both dependencies " +
- "and devDependencies, using '%s@%s' from dependencies",
- k, k, data.dependencies[k])
- } else {
- data.dependencies[k] = data.devDependencies[k]
- }
- })
- }
-
- if (!npm.config.get("optional") && data.optionalDependencies) {
- Object.keys(data.optionalDependencies).forEach(function (d) {
- delete data.dependencies[d]
- })
+function Installer (where, dryrun, args) {
+ validate('SBA', arguments)
+ this.where = where
+ this.dryrun = dryrun
+ this.args = args
+ this.currentTree = null
+ this.idealTree = null
+ this.differences = []
+ this.todo = []
+ this.progress = {}
+ this.noPackageJsonOk = !!args.length
+ this.topLevelLifecycles = !args.length
+ this.npat = npm.config.get('npat')
+ this.dev = npm.config.get('dev') || (!/^prod(uction)?$/.test(npm.config.get('only')) && !npm.config.get('production'))
+ this.prod = !/^dev(elopment)?$/.test(npm.config.get('only'))
+ this.rollback = npm.config.get('rollback')
+ this.link = npm.config.get('link')
+ this.global = this.where === path.resolve(npm.globalDir, '..')
+}
+Installer.prototype = {}
+
+Installer.prototype.run = function (cb) {
+ validate('F', arguments)
+
+ // FIXME: This is bad and I should feel bad.
+ // lib/install needs to have some way of sharing _limited_
+ // state with the things it calls. Passing the object is too
+ // much. The global config is WAY too much. =( =(
+ // But not having this is gonna break linked modules in
+ // subtle stupid ways, and refactoring all this code isn't
+ // the right thing to do just yet.
+ if (this.global) {
+ var prevGlobal = npm.config.get('global')
+ npm.config.set('global', true)
+ var next = cb
+ cb = function () {
+ npm.config.set('global', prevGlobal)
+ next.apply(null, arguments)
}
+ }
- // User has opted out of shrinkwraps entirely
- if (npm.config.get("shrinkwrap") === false)
- return cb(null, data, null)
-
- if (wrap) {
- log.verbose("readDependencies: using existing wrap", [where, wrap])
- var rv = {}
- Object.keys(data).forEach(function (key) {
- rv[key] = data[key]
- })
- rv.dependencies = {}
- Object.keys(wrap).forEach(function (key) {
- log.verbose("from wrap", [key, wrap[key]])
- rv.dependencies[key] = readWrap(wrap[key])
- })
- log.verbose("readDependencies returned deps", rv.dependencies)
- return cb(null, rv, wrap)
+ var installSteps = []
+ var postInstallSteps = []
+ installSteps.push(
+ [this.newTracker(log, 'loadCurrentTree', 4)],
+ [this, this.loadCurrentTree],
+ [this, this.finishTracker, 'loadCurrentTree'],
+
+ [this.newTracker(log, 'loadIdealTree', 12)],
+ [this, this.loadIdealTree],
+ [this, this.finishTracker, 'loadIdealTree'],
+
+ [this, this.debugTree, 'currentTree', 'currentTree'],
+ [this, this.debugTree, 'idealTree', 'idealTree'],
+
+ [this.newTracker(log, 'generateActionsToTake')],
+ [this, this.generateActionsToTake],
+ [this, this.finishTracker, 'generateActionsToTake'],
+
+ [this, this.debugActions, 'diffTrees', 'differences'],
+ [this, this.debugActions, 'decomposeActions', 'todo'])
+ if (!this.dryrun) {
+ installSteps.push(
+ [this.newTracker(log, 'executeActions', 8)],
+ [this, this.executeActions],
+ [this, this.finishTracker, 'executeActions'])
+ var node_modules = path.resolve(this.where, 'node_modules')
+ var staging = path.resolve(node_modules, '.staging')
+ postInstallSteps.push(
+ [this.newTracker(log, 'rollbackFailedOptional', 1)],
+ [this, this.rollbackFailedOptional, staging, this.todo],
+ [this, this.finishTracker, 'rollbackFailedOptional'],
+ [this, this.commit, staging, this.todo],
+ [this.newTracker(log, 'runTopLevelLifecycles', 2)],
+ [this, this.runTopLevelLifecycles],
+ [this, this.finishTracker, 'runTopLevelLifecycles'])
+
+ if (getSaveType(this.args)) {
+ postInstallSteps.push(
+ [this, this.saveToDependencies])
}
-
- var wrapfile = path.resolve(where, "npm-shrinkwrap.json")
-
- fs.readFile(wrapfile, "utf8", function (er, wrapjson) {
- if (er) return cb(null, data, null)
-
- log.verbose("readDependencies", "npm-shrinkwrap.json is overriding dependencies")
- var newwrap
- try {
- newwrap = JSON.parse(wrapjson)
- } catch (ex) {
- return cb(ex)
- }
-
- log.info("shrinkwrap", "file %j", wrapfile)
- var rv = {}
- Object.keys(data).forEach(function (key) {
- rv[key] = data[key]
- })
- rv.dependencies = {}
- Object.keys(newwrap.dependencies || {}).forEach(function (key) {
- rv.dependencies[key] = readWrap(newwrap.dependencies[key])
- })
-
- // fold in devDependencies if not already present, at top level
- if (opts && opts.dev) {
- Object.keys(data.devDependencies || {}).forEach(function (k) {
- rv.dependencies[k] = rv.dependencies[k] || data.devDependencies[k]
+ }
+ postInstallSteps.push(
+ [this, this.printInstalled])
+
+ var self = this
+ chain(installSteps, function (installEr) {
+ if (installEr) self.failing = true
+ chain(postInstallSteps, function (postInstallEr) {
+ if (self.idealTree) {
+ self.idealTree.warnings.forEach(function (warning) {
+ if (warning.code === 'EPACKAGEJSON' && self.global) return
+ if (warning.code === 'ENOTDIR') return
+ log.warn(warning.code, warning.message)
})
}
-
- log.verbose("readDependencies returned deps", rv.dependencies)
- return cb(null, rv, newwrap.dependencies)
+ if (installEr && postInstallEr) {
+ log.warn('error', postInstallEr.message)
+ log.verbose('error', postInstallEr.stack)
+ }
+ cb(installEr || postInstallEr, self.getInstalledModules(), self.idealTree)
})
})
}
-function readWrap (w) {
- return (w.resolved) ? w.resolved
- : (w.from && url.parse(w.from).protocol) ? w.from
- : w.version
+Installer.prototype.loadArgMetadata = function (next) {
+ var self = this
+ getAllMetadata(this.args, this.currentTree, iferr(next, function (args) {
+ self.args = args
+ next()
+ }))
}
-// if the -S|--save option is specified, then write installed packages
-// as dependencies to a package.json file.
-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")) {
- return cb(null, installed, tree, pretty)
+Installer.prototype.newTracker = function (tracker, name, size) {
+ validate('OS', [tracker, name])
+ if (size) validate('N', [size])
+ this.progress[name] = tracker.newGroup(name, size)
+ var self = this
+ return function (next) {
+ self.progress[name].silly(name, 'Starting')
+ next()
}
+}
- var saveBundle = npm.config.get("save-bundle")
- var savePrefix = npm.config.get("save-prefix")
-
- // each item in the tree is a top-level thing that should be saved
- // to the package.json file.
- // The relevant tree shape is { <folder>: {what:<pkg>} }
- var saveTarget = path.resolve(where, "package.json")
+Installer.prototype.finishTracker = function (name, cb) {
+ validate('SF', arguments)
+ this.progress[name].silly(name, 'Finishing')
+ this.progress[name].finish()
+ cb()
+}
- asyncMap(Object.keys(tree), function (k, cb) {
- // if "from" is remote, git, or hosted, then save that instead.
- var t = tree[k]
- , f = npa(t.from)
- , a = npa(t.what)
- , w = [a.name, a.spec]
+Installer.prototype.loadCurrentTree = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'loadCurrentTree')
+ var todo = []
+ if (this.global) {
+ todo.push([this, this.readGlobalPackageData])
+ } else {
+ todo.push([this, this.readLocalPackageData])
+ }
+ todo.push(
+ [this, this.normalizeTree, log.newGroup('normalizeTree')])
+ chain(todo, cb)
+}
+Installer.prototype.loadIdealTree = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'loadIdealTree')
- fs.stat(t.from, function (er){
- if (!er) {
- w[1] = "file:" + t.from
- } else if (['hosted', 'git', 'remote'].indexOf(f.type) !== -1) {
- w[1] = t.from
- }
- cb(null, [w])
- })
- }
- , function (er, arr) {
- var things = arr.reduce(function (set, k) {
- var rangeDescriptor = semver.valid(k[1], true) &&
- semver.gte(k[1], "0.1.0", true) &&
- !npm.config.get("save-exact")
- ? savePrefix : ""
- set[k[0]] = rangeDescriptor + k[1]
- return set
- }, {})
-
-
- // don't use readJson, because we don't want to do all the other
- // tricky npm-specific stuff that's in there.
- fs.readFile(saveTarget, function (er, data) {
- // ignore errors here, just don't save it.
- try {
- data = JSON.parse(data.toString("utf8"))
- } catch (ex) {
- er = ex
- }
+ chain([
+ [this.newTracker(this.progress.loadIdealTree, 'cloneCurrentTree')],
+ [this, this.cloneCurrentTreeToIdealTree],
+ [this, this.finishTracker, 'cloneCurrentTree'],
- if (er) {
- return cb(null, installed, tree, pretty)
- }
+ [this.newTracker(this.progress.loadIdealTree, 'loadShrinkwrap')],
+ [this, this.loadShrinkwrap],
+ [this, this.finishTracker, 'loadShrinkwrap'],
- var deps = npm.config.get("save-optional") ? "optionalDependencies"
- : npm.config.get("save-dev") ? "devDependencies"
- : "dependencies"
+ [this.newTracker(this.progress.loadIdealTree, 'loadAllDepsIntoIdealTree', 10)],
+ [this, this.loadAllDepsIntoIdealTree],
+ [this, this.finishTracker, 'loadAllDepsIntoIdealTree'],
- if (saveBundle) {
- var bundle = data.bundleDependencies || data.bundledDependencies
- delete data.bundledDependencies
- if (!Array.isArray(bundle)) bundle = []
- data.bundleDependencies = bundle.sort()
- }
+ [this, function (next) { recalculateMetadata(this.idealTree, log, next) } ],
+ [this, this.debugTree, 'idealTree:prePrune', 'idealTree'],
+ [this, function (next) { next(pruneTree(this.idealTree)) } ]
+ ], cb)
+}
- log.verbose("save", "saving", things)
- data[deps] = data[deps] || {}
- Object.keys(things).forEach(function (t) {
- data[deps][t] = things[t]
- if (saveBundle) {
- var i = bundle.indexOf(t)
- if (i === -1) bundle.push(t)
- data.bundleDependencies = bundle.sort()
- }
- })
+Installer.prototype.loadAllDepsIntoIdealTree = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'loadAllDepsIntoIdealTree')
+ var saveDeps = getSaveType(this.args)
+
+ var cg = this.progress.loadAllDepsIntoIdealTree
+ var installNewModules = !!this.args.length
+ var steps = []
+
+ if (installNewModules) {
+ steps.push([validateArgs, this.idealTree, this.args])
+ steps.push([loadRequestedDeps, this.args, this.idealTree, saveDeps, cg.newGroup('loadRequestedDeps')])
+ } else {
+ if (this.prod) {
+ steps.push(
+ [loadDeps, this.idealTree, cg.newGroup('loadDeps')])
+ }
+ if (this.dev) {
+ steps.push(
+ [loadDevDeps, this.idealTree, cg.newGroup('loadDevDeps')])
+ }
+ }
+ steps.push(
+ [loadExtraneous.andResolveDeps, this.idealTree, cg.newGroup('loadExtraneous')])
+ chain(steps, cb)
+}
- data[deps] = sortedObject(data[deps])
+Installer.prototype.generateActionsToTake = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'generateActionsToTake')
+ var cg = this.progress.generateActionsToTake
+ chain([
+ [validateTree, this.idealTree, cg.newGroup('validateTree')],
+ [diffTrees, this.currentTree, this.idealTree, this.differences, cg.newGroup('diffTrees')],
+ [this, this.computeLinked],
+ [filterInvalidActions, this.where, this.differences],
+ [checkPermissions, this.differences],
+ [decomposeActions, this.differences, this.todo]
+ ], cb)
+}
- log.silly("save", "writing", saveTarget)
- data = JSON.stringify(data, null, 2) + "\n"
- writeFileAtomic(saveTarget, data, function (er) {
- cb(er, installed, tree, pretty)
- })
+Installer.prototype.computeLinked = function (cb) {
+ validate('F', arguments)
+ if (!this.link || this.global) return cb()
+ var linkTodoList = []
+ var self = this
+ asyncMap(this.differences, function (action, next) {
+ var cmd = action[0]
+ var pkg = action[1]
+ if (cmd !== 'add' && cmd !== 'update') return next()
+ var isReqByTop = pkg.package._requiredBy.filter(function (name) { return name === '/' }).length
+ var isReqByUser = pkg.package._requiredBy.filter(function (name) { return name === '#USER' }).length
+ var isExtraneous = pkg.package._requiredBy.length === 0
+ if (!isReqByTop && !isReqByUser && !isExtraneous) return next()
+ isLinkable(pkg, function (install, link) {
+ if (install) linkTodoList.push(['global-install', pkg])
+ if (link) linkTodoList.push(['global-link', pkg])
+ if (install || link) {
+ pkg.parent.children = pkg.parent.children.filter(function (child) { return child !== pkg })
+ }
+ next()
})
+ }, function () {
+ if (linkTodoList.length === 0) return cb()
+ pruneTree(self.idealTree)
+ self.differences.length = 0
+ Array.prototype.push.apply(self.differences, linkTodoList)
+ diffTrees(self.currentTree, self.idealTree, self.differences, log.newGroup('d2'), cb)
})
}
-
-// Outputting *all* the installed modules is a bit confusing,
-// because the length of the path does not make it clear
-// that the submodules are not immediately require()able.
-// TODO: Show the complete tree, ls-style, but only if --long is provided
-function prettify (tree, installed) {
- function red (set, kv) {
- set[kv[0]] = kv[1]
- return set
- }
-
- if (npm.config.get("json")) {
- tree = Object.keys(tree).map(function (p) {
- if (!tree[p]) return null
- var what = npa(tree[p].what)
- , name = what.name
- , version = what.spec
- , o = { name: name, version: version, from: tree[p].from }
- o.dependencies = tree[p].children.map(function P (dep) {
- var what = npa(dep.what)
- , name = what.name
- , version = what.spec
- , o = { version: version, from: dep.from }
- o.dependencies = dep.children.map(P).reduce(red, {})
- return [name, o]
- }).reduce(red, {})
- return o
+function isLinkable (pkg, cb) {
+ var globalPackage = path.resolve(npm.globalPrefix, 'lib', 'node_modules', pkg.package.name)
+ var globalPackageJson = path.resolve(globalPackage, 'package.json')
+ fs.stat(globalPackage, function (er) {
+ if (er) return cb(true, true)
+ fs.readFile(globalPackageJson, function (er, data) {
+ var json = parseJSON.noExceptions(data)
+ cb(false, json && json.version === pkg.package.version)
})
-
- return JSON.stringify(tree, null, 2)
- }
- if (npm.config.get("parseable")) return parseable(installed)
-
- return Object.keys(tree).map(function (p) {
- return archy({ label: tree[p].what + " " + p
- , nodes: (tree[p].children || []).map(function P (c) {
- if (npm.config.get("long")) {
- return { label: c.what, nodes: c.children.map(P) }
- }
- var g = c.children.map(function (g) {
- return g.what
- }).join(", ")
- if (g) g = " (" + g + ")"
- return c.what + g
- })
- }, "", { unicode: npm.config.get("unicode") })
- }).join("\n")
+ })
}
-function parseable (installed) {
- var long = npm.config.get("long")
- , cwd = process.cwd()
- return installed.map(function (item) {
- return path.resolve(cwd, item[1]) +
- ( long ? ":" + item[0] : "" )
- }).join("\n")
-}
+Installer.prototype.executeActions = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'executeActions')
+ var todo = this.todo
+ var cg = this.progress.executeActions
+
+ var node_modules = path.resolve(this.where, 'node_modules')
+ var staging = path.resolve(node_modules, '.staging')
+ var steps = []
+ var trackLifecycle = cg.newGroup('lifecycle')
+
+ cb = unlockCB(node_modules, '.staging', cb)
+
+ steps.push(
+ [doSerialActions, 'global-install', staging, todo, trackLifecycle.newGroup('global-install')],
+ [doParallelActions, 'fetch', staging, todo, cg.newGroup('fetch', 10)],
+ [lock, node_modules, '.staging'],
+ [rimraf, staging],
+ [mkdirp, staging],
+ [doParallelActions, 'extract', staging, todo, cg.newGroup('extract', 10)],
+ [doParallelActions, 'preinstall', staging, todo, trackLifecycle.newGroup('preinstall')],
+ [doReverseSerialActions, 'remove', staging, todo, cg.newGroup('remove')],
+ // FIXME: We do this here to commit the removes prior to trying to move
+ // anything into place. Once we can rollback removes we should find
+ // a better solution for this.
+ // This is to protect against cruft in the node_modules folder (like dot files)
+ // that stop it from being removed.
+ [this, this.commit, staging, this.todo],
+ [doSerialActions, 'move', staging, todo, cg.newGroup('move')],
+ [doSerialActions, 'finalize', staging, todo, cg.newGroup('finalize')],
+ [doSerialActions, 'build', staging, todo, trackLifecycle.newGroup('build')],
+ [doSerialActions, 'global-link', staging, todo, trackLifecycle.newGroup('global-link')],
+ [doParallelActions, 'update-linked', staging, todo, trackLifecycle.newGroup('update-linked')],
+ [doSerialActions, 'install', staging, todo, trackLifecycle.newGroup('install')],
+ [doSerialActions, 'postinstall', staging, todo, trackLifecycle.newGroup('postinstall')])
+ if (this.npat) {
+ steps.push(
+ [doParallelActions, 'test', staging, todo, trackLifecycle.newGroup('npat')])
+ }
-function treeify (installed) {
- // each item is [what, where, parent, parentDir]
- // If no parent, then report it.
- // otherwise, tack it into the parent's children list.
- // If the parent isn't a top-level then ignore it.
- var whatWhere = installed.reduce(function (l, r) {
- var parentDir = r[3]
- , parent = r[2]
- , where = r[1]
- , what = r[0]
- , from = r[4]
- l[where] = { parentDir: parentDir
- , parent: parent
- , children: []
- , where: where
- , what: what
- , from: from }
- return l
- }, {})
-
- // log.warn("install", whatWhere, "whatWhere")
- return Object.keys(whatWhere).reduce(function (l, r) {
- var ww = whatWhere[r]
- //log.warn("r, ww", [r, ww])
- if (!ww.parent) {
- l[r] = ww
+ var self = this
+ chain(steps, function (er) {
+ if (!er || self.rollback) {
+ rimraf(staging, function () { cb(er) })
} else {
- var p = whatWhere[ww.parentDir]
- if (p) p.children.push(ww)
- else l[r] = ww
+ cb(er)
}
- return l
- }, {})
+ })
}
+Installer.prototype.rollbackFailedOptional = function (staging, actionsToRun, cb) {
+ if (!this.rollback) return cb()
+ var failed = actionsToRun.map(function (action) {
+ return action[1]
+ }).filter(function (pkg) {
+ return pkg.failed && pkg.rollback
+ })
+ asyncMap(failed, function (pkg, next) {
+ asyncMap(pkg.rollback, function (rollback, done) {
+ rollback(staging, pkg, done)
+ }, next)
+ }, cb)
+}
-// just like installMany, but also add the existing packages in
-// where/node_modules to the family object.
-function installManyTop (what, where, context, cb_) {
- function cb (er, d) {
- if (context.explicit || er) return cb_(er, d)
- // since this wasn't an explicit install, let's build the top
- // folder, so that `npm install` also runs the lifecycle scripts.
- npm.commands.build([where], false, true, function (er) {
- return cb_(er, d)
+Installer.prototype.commit = function (staging, actionsToRun, cb) {
+ var toCommit = actionsToRun.map(function (action) { return action[1] }).filter(function (pkg) { return !pkg.failed && pkg.commit })
+ asyncMap(toCommit, function (pkg, next) {
+ asyncMap(pkg.commit, function (commit, done) {
+ commit(staging, pkg, done)
+ }, function () {
+ pkg.commit = []
+ next.apply(null, arguments)
})
- }
-
- if (context.explicit) return next()
+ }, cb)
+}
- var jsonPath = path.join(where, 'package.json')
- log.verbose('installManyTop', 'reading for lifecycle', jsonPath)
- readJson(jsonPath, log.warn, function (er, data) {
- if (er) return next(er)
- lifecycle(data, "preinstall", where, next)
- })
+Installer.prototype.runTopLevelLifecycles = function (cb) {
+ validate('F', arguments)
+ if (this.failing) return cb()
+ log.silly('install', 'runTopLevelLifecycles')
+ var steps = []
+ var trackLifecycle = this.progress.runTopLevelLifecycles
+ if (!this.topLevelLifecycles) {
+ trackLifecycle.finish()
+ return cb()
+ }
- function next (er) {
- if (er) return cb(er)
- installManyTop_(what, where, context, cb)
+ steps.push(
+ [doOneAction, 'preinstall', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('preinstall:.')],
+ [doOneAction, 'build', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('build:.')],
+ [doOneAction, 'install', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('install:.')],
+ [doOneAction, 'postinstall', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('postinstall:.')])
+ if (this.npat) {
+ steps.push(
+ [doOneAction, 'test', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('npat:.')])
+ }
+ if (this.dev) {
+ steps.push(
+ [doOneAction, 'prepublish', this.idealTree.path, this.idealTree, trackLifecycle.newGroup('prepublish')])
}
+ chain(steps, cb)
}
-function installManyTop_ (what, where, context, cb) {
- var nm = path.resolve(where, "node_modules")
-
- fs.readdir(nm, function (er, pkgs) {
- if (er) return installMany(what, where, context, cb)
-
- var scopes = [], unscoped = []
- pkgs.filter(function (p) {
- return !p.match(/^[\._-]/)
- }).forEach(function (p) {
- // @names deserve deeper investigation
- if (p[0] === "@") {
- scopes.push(p)
- }
- else {
- unscoped.push(p)
- }
- })
-
- maybeScoped(scopes, nm, function (er, scoped) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- // recombine unscoped with @scope/package packages
- asyncMap(unscoped.concat(scoped).map(function (p) {
- return path.resolve(nm, p, "package.json")
- }), function (jsonPath, cb) {
- log.verbose('installManyTop', 'reading scoped package data from', jsonPath)
- readJson(jsonPath, log.info, function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (er) return cb(null, [])
- cb(null, [[data.name, data.version]])
- })
- }, function (er, packages) {
- // if there's nothing in node_modules, then don't freak out.
- if (er) packages = []
- // add all the existing packages to the family list.
- // however, do not add to the ancestors list.
- packages.forEach(function (p) {
- context.family[p[0]] = p[1]
- })
- installMany(what, where, context, cb)
- })
- })
- })
+Installer.prototype.saveToDependencies = function (cb) {
+ validate('F', arguments)
+ if (this.failing) return cb()
+ log.silly('install', 'saveToDependencies')
+ saveRequested(this.args, this.idealTree, cb)
}
-function maybeScoped (scopes, where, cb) {
- // find packages in scopes
- asyncMap(scopes, function (scope, cb) {
- fs.readdir(path.resolve(where, scope), function (er, scoped) {
- if (er) return cb(er)
- var paths = scoped.map(function (p) {
- return path.join(scope, p)
+Installer.prototype.readGlobalPackageData = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'readGlobalPackageData')
+ var self = this
+ this.loadArgMetadata(iferr(cb, function () {
+ mkdirp(self.where, iferr(cb, function () {
+ var pkgs = {}
+ self.args.forEach(function (pkg) {
+ pkgs[pkg.name] = true
})
- cb(null, paths)
- })
- }, cb)
+ readPackageTree(self.where, function (ctx, kid) { return ctx.parent || pkgs[kid] }, iferr(cb, function (currentTree) {
+ self.currentTree = currentTree
+ return cb()
+ }))
+ }))
+ }))
}
-function installMany (what, where, context, cb) {
- // readDependencies takes care of figuring out whether the list of
- // dependencies we'll iterate below comes from an existing shrinkwrap from a
- // parent level, a new shrinkwrap at this level, or package.json at this
- // level, as well as which shrinkwrap (if any) our dependencies should use.
- var opt = { dev: npm.config.get("dev") }
- readDependencies(context, where, opt, function (er, data, wrap) {
- if (er) data = {}
-
- var parent = data
-
- // if we're explicitly installing "what" into "where", then the shrinkwrap
- // for "where" doesn't apply. This would be the case if someone were adding
- // a new package to a shrinkwrapped package. (data.dependencies will not be
- // used here except to indicate what packages are already present, so
- // there's no harm in using that.)
- if (context.explicit) wrap = null
-
- var deps = data.dependencies || {}
- var devDeps = data.devDependencies || {}
-
- // what is a list of things.
- // resolve each one.
- asyncMap( what
- , targetResolver(where, context, deps, devDeps)
- , function (er, targets) {
-
- if (er) return cb(er)
-
- var bundled = data.bundleDependencies || data.bundledDependencies || []
- // only take the hit for readInstalled if there are probably bundled
- // dependencies to read
- if (bundled.length) {
- readInstalled(where, { dev: true }, andBuildResolvedTree)
- } else {
- andBuildResolvedTree()
+Installer.prototype.readLocalPackageData = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'readLocalPackageData')
+ var self = this
+ mkdirp(this.where, iferr(cb, function () {
+ readPackageTree(self.where, iferr(cb, function (currentTree) {
+ self.currentTree = currentTree
+ self.currentTree.warnings = []
+ if (!self.noPackageJsonOk && !currentTree.package) {
+ log.error('install', "Couldn't read dependencies")
+ var er = new Error("ENOENT, open '" + path.join(self.where, 'package.json') + "'")
+ er.code = 'ENOPACKAGEJSON'
+ er.errno = 34
+ return cb(er)
}
-
- function andBuildResolvedTree (er, current) {
- if (er) return cb(er)
-
- // each target will be a data object corresponding
- // to a package, folder, or whatever that is in the cache now.
- var newPrev = Object.create(context.family)
- , newAnc = Object.create(context.ancestors)
-
- if (!context.root) {
- newAnc[data.name] = data.version
- }
- bundled.forEach(function (bundle) {
- var bundleData = current.dependencies[bundle]
- if ((!bundleData || !bundleData.version) && current.devDependencies) {
- log.verbose(
- 'installMany', bundle, 'was bundled with',
- data.name + '@' + data.version +
- ", but wasn't found in dependencies. Trying devDependencies"
- )
- bundleData = current.devDependencies[bundle]
- }
-
- if (!bundleData || !bundleData.version) {
- log.warn(
- 'installMany', bundle, 'was bundled with',
- data.name + '@' + data.version +
- ", but bundled package wasn't found in unpacked tree"
- )
- } else {
- log.verbose(
- 'installMany', bundle + '@' + bundleData.version,
- 'was bundled with', data.name + '@' + data.version
- )
- newPrev[bundle] = bundleData.version
+ if (!currentTree.package) currentTree.package = {}
+ self.loadArgMetadata(iferr(cb, function () {
+ if (currentTree.package._shrinkwrap) return cb()
+ fs.readFile(path.join(self.where, 'npm-shrinkwrap.json'), function (er, data) {
+ if (er) return cb()
+ try {
+ currentTree.package._shrinkwrap = parseJSON(data)
+ } catch (ex) {
+ return cb(ex)
}
+ return cb()
})
- targets.forEach(function (t) {
- newPrev[t.name] = t.version
- })
- log.silly("install resolved", targets)
- targets.filter(function (t) { return t }).forEach(function (t) {
- log.info("install", "%s into %s", t._id, where)
- })
- asyncMap(targets, function (target, cb) {
- log.info("installOne", target._id)
- var wrapData = wrap ? wrap[target.name] : null
- var newWrap = wrapData && wrapData.dependencies
- ? wrap[target.name].dependencies || {}
- : null
- var newContext = { family: newPrev
- , ancestors: newAnc
- , parent: parent
- , explicit: false
- , wrap: newWrap }
- installOne(target, where, newContext, cb)
- }, cb)
- }
- })
- })
+ }))
+ }))
+ }))
}
-function targetResolver (where, context, deps, devDeps) {
- var alreadyInstalledManually = []
- , resolveLeft = 0
- , nm = path.resolve(where, "node_modules")
- , parent = context.parent
- , wrap = context.wrap
-
- if (!context.explicit) readdir(nm)
-
- function readdir(name) {
- resolveLeft++
- fs.readdir(name, function (er, inst) {
- if (er) return resolveLeft--
-
- // don't even mess with non-package looking things
- inst = inst.filter(function (p) {
- if (!p.match(/^[@\._-]/)) return true
- // scoped packages
- readdir(path.join(name, p))
- })
-
- asyncMap(inst, function (pkg, cb) {
- var jsonPath = path.resolve(name, pkg, 'package.json')
- log.verbose('targetResolver', 'reading package data from', jsonPath)
- readJson(jsonPath, log.info, function (er, d) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- // error means it's not a package, most likely.
- if (er) return cb(null, [])
-
- // if it's a bundled dep, then assume that anything there is valid.
- // otherwise, make sure that it's a semver match with what we want.
- var bd = parent.bundleDependencies
- var isBundled = bd && bd.indexOf(d.name) !== -1
- var expectedVersion = deps[d.name] || (devDeps && devDeps[d.name]) || "*"
- var currentIsSatisfactory = semver.satisfies(d.version, expectedVersion, true)
- if (isBundled || currentIsSatisfactory || deps[d.name] === d._resolved) {
- return cb(null, d.name)
- }
-
- // see if the package had been previously linked
- fs.lstat(path.resolve(nm, pkg), function(err, s) {
- if (err) return cb(null, [])
- if (s.isSymbolicLink()) {
- return cb(null, d.name)
- }
+Installer.prototype.cloneCurrentTreeToIdealTree = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'cloneCurrentTreeToIdealTree')
+ this.idealTree = copyTree(this.currentTree)
+ this.idealTree.warnings = []
+ cb()
+}
- // something is there, but it's not satisfactory. Clobber it.
- return cb(null, [])
- })
- })
- }, function (er, inst) {
- // this is the list of things that are valid and should be ignored.
- alreadyInstalledManually = alreadyInstalledManually.concat(inst)
- resolveLeft--
- })
- })
+Installer.prototype.loadShrinkwrap = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'loadShrinkwrap')
+ var installNewModules = !!this.args.length
+ if (installNewModules) {
+ readShrinkwrap(this.idealTree, cb)
+ } else {
+ readShrinkwrap.andInflate(this.idealTree, cb)
}
+}
- var to = 0
- return function resolver (what, cb) {
- if (resolveLeft) return setTimeout(function () {
- resolver(what, cb)
- }, to++)
-
- // now we know what's been installed here manually,
- // or tampered with in some way that npm doesn't want to overwrite.
- if (alreadyInstalledManually.indexOf(npa(what).name) !== -1) {
- log.verbose("already installed", "skipping %s %s", what, where)
- return cb(null, [])
- }
-
- // check for a version installed higher in the tree.
- // If installing from a shrinkwrap, it must match exactly.
- if (context.family[what]) {
- log.verbose('install', what, 'is installed as', context.family[what])
- if (wrap && wrap[what].version === context.family[what]) {
- log.verbose("shrinkwrap", "use existing", what)
- return cb(null, [])
- }
- }
-
- // if it's identical to its parent, then it's probably someone
- // doing `npm install foo` inside of the foo project. Print
- // a warning, and skip it.
- if (parent && parent.name === what && !npm.config.get("force")) {
- log.warn("install", "Refusing to install %s as a dependency of itself"
- , what)
- return cb(null, [])
- }
-
- if (wrap) {
- var name = npa(what).name
- if (wrap[name]) {
- var wrapTarget = readWrap(wrap[name])
- what = name + "@" + wrapTarget
- } else {
- log.verbose("shrinkwrap", "skipping %s (not in shrinkwrap)", what)
- }
- } else if (deps[what]) {
- what = what + "@" + deps[what]
- }
-
- // This is where we actually fetch the package, if it's not already
- // in the cache.
- // If it's a git repo, then we want to install it, even if the parent
- // already has a matching copy.
- // If it's not a git repo, and the parent already has that pkg, then
- // we can skip installing it again.
- var pkgroot = path.resolve(npm.prefix, (parent && parent._from) || "")
- cache.add(what, null, pkgroot, false, function (er, data) {
- if (er && parent && parent.optionalDependencies &&
- parent.optionalDependencies.hasOwnProperty(npa(what).name)) {
- log.warn("optional dep failed, continuing", what)
- log.verbose("optional dep failed, continuing", [what, er])
- return cb(null, [])
- }
-
- var type = npa(what).type
- var isGit = type === "git" || type === "hosted"
-
- if (!er &&
- data &&
- !context.explicit &&
- context.family[data.name] === data.version &&
- !npm.config.get("force") &&
- !isGit) {
- log.info("already installed", data.name + "@" + data.version)
- return cb(null, [])
+Installer.prototype.normalizeTree = function (log, cb) {
+ validate('OF', arguments)
+ log.silly('install', 'normalizeTree')
+ recalculateMetadata(this.currentTree, log, iferr(cb, function (tree) {
+ tree.children.forEach(function (child) {
+ if (child.package._requiredBy.length === 0) {
+ child.package._requiredBy.push('#EXISTING')
}
-
-
- if (data && !data._from) data._from = what
- if (er && parent && parent.name) er.parent = parent.name
- return cb(er, data || [])
})
- }
+ cb(null, tree)
+ }))
}
-// we've already decided to install this. if anything's in the way,
-// then uninstall it first.
-function installOne (target, where, context, cb) {
- // the --link flag makes this a "link" command if it's at the
- // the top level.
- var isGit = false
- var type = npa(target._from).type
- if (target && target._from) isGit = type === 'git' || type === 'hosted'
-
- if (where === npm.prefix && npm.config.get("link")
- && !npm.config.get("global") && !isGit) {
- return localLink(target, where, context, cb)
- }
- installOne_(target, where, context, function (er, installedWhat) {
-
- // check if this one is optional to its parent.
- if (er && context.parent && context.parent.optionalDependencies &&
- context.parent.optionalDependencies.hasOwnProperty(target.name)) {
- log.warn("optional dep failed, continuing", target._id)
- log.verbose("optional dep failed, continuing", [target._id, er])
- er = null
- }
-
- cb(er, installedWhat)
+Installer.prototype.getInstalledModules = function () {
+ return this.differences.filter(function (action) {
+ var mutation = action[0]
+ return (mutation === 'add' || mutation === 'update')
+ }).map(function (action) {
+ var child = action[1]
+ return [child.package._id, child.path]
})
-
}
-function localLink (target, where, context, cb) {
- log.verbose("localLink", target._id)
- var jsonPath = path.resolve(npm.globalDir, target.name , 'package.json')
- var parent = context.parent
-
- log.verbose('localLink', 'reading data to link', target.name, 'from', jsonPath)
- readJson(jsonPath, log.warn, function (er, data) {
- function thenLink () {
- npm.commands.link([target.name], function (er, d) {
- log.silly("localLink", "back from link", [er, d])
- cb(er, [resultList(target, where, parent && parent._id)])
- })
- }
-
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (er || data._id === target._id) {
- if (er) {
- install( path.resolve(npm.globalDir, "..")
- , target._id
- , function (er) {
- if (er) return cb(er, [])
- thenLink()
- })
- } else thenLink()
- } else {
- log.verbose("localLink", "install locally (no link)", target._id)
- installOne_(target, where, context, cb)
+Installer.prototype.printInstalled = function (cb) {
+ validate('F', arguments)
+ log.silly('install', 'printInstalled')
+ var self = this
+ log.clearProgress()
+ this.differences.forEach(function (action) {
+ var mutation = action[0]
+ var child = action[1]
+ var name = getPackageId(child)
+ var where = path.relative(self.where, child.path)
+ if (mutation === 'remove') {
+ console.log('- ' + name + ' ' + where)
+ } else if (mutation === 'move') {
+ var oldWhere = path.relative(self.where, child.fromPath)
+ console.log(name + ' ' + oldWhere + ' -> ' + where)
}
})
-}
-
-function resultList (target, where, parentId) {
- var nm = path.resolve(where, "node_modules")
- , targetFolder = path.resolve(nm, target.name)
- , prettyWhere = where
-
- if (!npm.config.get("global")) {
- prettyWhere = path.relative(process.cwd(), where)
- }
-
- if (prettyWhere === ".") prettyWhere = null
-
- if (!npm.config.get("global")) {
- // print out the folder relative to where we are right now.
- targetFolder = path.relative(process.cwd(), targetFolder)
- }
-
- return [ target._id
- , targetFolder
- , prettyWhere && parentId
- , parentId && prettyWhere
- , target._from ]
-}
-
-var installed = Object.create(null)
-
-function installOne_ (target, where, context, cb_) {
- var nm = path.resolve(where, "node_modules")
- , targetFolder = path.resolve(nm, target.name)
- , prettyWhere = path.relative(process.cwd(), where)
- , parent = context.parent
-
- if (prettyWhere === ".") prettyWhere = null
-
- cb_ = inflight(target.name + ":" + where, cb_)
- if (!cb_) {
- return log.verbose("installOne", "of", target.name, "to", where, "already in flight; waiting")
- }
- else {
- log.verbose("installOne", "of", target.name, "to", where, "not in flight; installing")
- }
-
- function cb(er, data) {
- unlock(nm, target.name, function () { cb_(er, data) })
- }
-
- lock(nm, target.name, function (er) {
- if (er) return cb(er)
-
- if (targetFolder in installed) {
- log.error("install", "trying to install", target.version, "to", targetFolder)
- log.error("install", "but already installed versions", installed[targetFolder])
- installed[targetFolder].push(target.version)
- }
- else {
- installed[targetFolder] = [target.version]
- }
-
- var force = npm.config.get("force")
- , nodeVersion = npm.config.get("node-version")
- , strict = npm.config.get("engine-strict")
- , c = npmInstallChecks
-
- chain(
- [ [c.checkEngine, target, npm.version, nodeVersion, force, strict]
- , [c.checkPlatform, target, force]
- , [c.checkCycle, target, context.ancestors]
- , [c.checkGit, targetFolder]
- , [write, target, targetFolder, context] ]
- , function (er, d) {
- if (er) return cb(er)
-
- d.push(resultList(target, where, parent && parent._id))
- cb(er, d)
- }
- )
+ var addedOrMoved = this.differences.filter(function (action) {
+ var mutation = action[0]
+ var child = action[1]
+ return !child.failed && (mutation === 'add' || mutation === 'update')
+ }).map(function (action) {
+ var child = action[1]
+ return getPackageId(child)
})
-}
-
-function write (target, targetFolder, context, cb_) {
- var up = npm.config.get("unsafe-perm")
- , user = up ? null : npm.config.get("user")
- , group = up ? null : npm.config.get("group")
- , family = context.family
-
- function cb (er, data) {
- // cache.unpack returns the data object, and all we care about
- // is the list of installed packages from that last thing.
- if (!er) return cb_(er, data)
-
- if (npm.config.get("rollback") === false) return cb_(er)
- npm.rollbacks.push(targetFolder)
- cb_(er, data)
- }
-
- var bundled = []
-
- log.silly("install write", "writing", target.name, target.version, "to", targetFolder)
- chain(
- [ [ cache.unpack, target.name, target.version, targetFolder, null, null, user, group ],
- function writePackageJSON (cb) {
- var jsonPath = path.resolve(targetFolder, 'package.json')
- log.verbose('write', 'writing to', jsonPath)
- writeFileAtomic(jsonPath, JSON.stringify(target, null, 2) + '\n', cb)
- },
- [ lifecycle, target, "preinstall", targetFolder ],
- function collectBundled (cb) {
- if (!target.bundleDependencies) return cb()
-
- var bd = path.resolve(targetFolder, "node_modules")
- fs.readdir(bd, function (er, b) {
- // nothing bundled, maybe
- if (er) return cb()
- bundled = b || []
- cb()
- })
- } ]
-
- // nest the chain so that we can throw away the results returned
- // up until this point, since we really don't care about it.
- , function X (er) {
- if (er) return cb(er)
-
- // before continuing to installing dependencies, check for a shrinkwrap.
- var opt = { dev: npm.config.get("dev") }
- readDependencies(context, targetFolder, opt, function (er, data, wrap) {
- if (er) return cb(er);
- var deps = prepareForInstallMany(data, "dependencies", bundled, wrap,
- family)
- var depsTargetFolder = targetFolder
- var depsContext = { family: family
- , ancestors: context.ancestors
- , parent: target
- , explicit: false
- , wrap: wrap }
-
- var actions =
- [ [ installManyAndBuild, deps, depsTargetFolder, depsContext ] ]
-
- // FIXME: This is an accident waiting to happen!
- //
- // 1. If multiple children at the same level of the tree share a
- // peerDependency that's not in the parent's dependencies, because
- // the peerDeps don't get added to the family, they will keep
- // getting reinstalled (worked around by inflighting installOne).
- // 2. The installer can't safely build at the parent level because
- // that's already being done by the parent's installAndBuild. This
- // runs the risk of the peerDependency never getting built.
- //
- // The fix: Don't install peerDependencies; require them to be
- // included as explicit dependencies / devDependencies, and warn
- // or error when they're missing. See #5080 for more arguments in
- // favor of killing implicit peerDependency installs with fire.
- var peerDeps = prepareForInstallMany(data, "peerDependencies", bundled,
- wrap, family)
- peerDeps.forEach(function (pd) {
- warnPeers([
- "The peer dependency "+pd+" included from "+data.name+" will no",
- "longer be automatically installed to fulfill the peerDependency ",
- "in npm 3+. Your application will need to depend on it explicitly."
- ], pd+","+data.name)
- })
-
- // Package scopes cause an addditional tree level which needs to be
- // considered when resolving a peerDependency's target folder.
- var pdTargetFolder
- if (npa(target.name).scope) {
- pdTargetFolder = path.resolve(targetFolder, '../../..')
- } else {
- pdTargetFolder = path.resolve(targetFolder, '../..')
- }
-
- var pdContext = context
- if (peerDeps.length > 0) {
- actions.push(
- [ installMany, peerDeps, pdTargetFolder, pdContext ]
- )
- }
-
- chain(actions, cb)
- })
+ log.showProgress()
+ if (!addedOrMoved.length) return cb()
+ recalculateMetadata(this.idealTree, log, iferr(cb, function (tree) {
+ log.clearProgress()
+ ls.fromTree(self.where, tree, addedOrMoved, false, function () {
+ log.showProgress()
+ cb()
})
+ }))
}
-function installManyAndBuild (deps, targetFolder, context, cb) {
- installMany(deps, targetFolder, context, function (er, d) {
- log.verbose("about to build", targetFolder)
- if (er) return cb(er)
- npm.commands.build( [targetFolder]
- , npm.config.get("global")
- , true
- , function (er) { return cb(er, d) })
+Installer.prototype.debugActions = function (name, actionListName, cb) {
+ validate('SSF', arguments)
+ var actionsToLog = this[actionListName]
+ log.silly(name, 'action count', actionsToLog.length)
+ actionsToLog.forEach(function (action) {
+ log.silly(name, action.map(function (value) {
+ return (value && value.package) ? getPackageId(value) : value
+ }).join(' '))
})
+ cb()
}
-function prepareForInstallMany (packageData, depsKey, bundled, wrap, family) {
- var deps = Object.keys(packageData[depsKey] || {})
+// This takes an object and a property name instead of a value to allow us
+// to define the arguments for use by chain before the property exists yet.
+Installer.prototype.debugTree = function (name, treeName, cb) {
+ validate('SSF', arguments)
+ log.silly(name, this.prettify(this[treeName]).trim())
+ cb()
+}
- // don't install bundleDependencies, unless they're missing.
- if (packageData.bundleDependencies) {
- deps = deps.filter(function (d) {
- return packageData.bundleDependencies.indexOf(d) === -1 ||
- bundled.indexOf(d) === -1
- })
+Installer.prototype.prettify = function (tree) {
+ validate('O', arguments)
+ var seen = {}
+ function byName (aa, bb) {
+ return getPackageId(aa).localeCompare(getPackageId(bb))
}
-
- return deps.filter(function (d) {
- // prefer to not install things that are satisfied by
- // something in the "family" list, unless we're installing
- // from a shrinkwrap.
- if (wrap) return wrap
- if (semver.validRange(family[d], true)) {
- return !semver.satisfies(family[d], packageData[depsKey][d], true)
+ function expandTree (tree) {
+ seen[tree.path] = true
+ return {
+ label: getPackageId(tree),
+ nodes: tree.children.filter(function (tree) { return !seen[tree.path] }).sort(byName).map(expandTree)
}
- return true
- }).map(function (d) {
- var v = packageData[depsKey][d]
- var t = d + "@" + v
- log.silly("prepareForInstallMany", "adding", t, "from", packageData.name, depsKey)
- return t
- })
+ }
+ return archy(expandTree(tree), '', { unicode: npm.config.get('unicode') })
}
diff --git a/deps/npm/lib/install/access-error.js b/deps/npm/lib/install/access-error.js
new file mode 100644
index 0000000000..ff94be9857
--- /dev/null
+++ b/deps/npm/lib/install/access-error.js
@@ -0,0 +1,8 @@
+'use strict'
+module.exports = function (dir, er) {
+ if (!er) return
+ var accessEr = new Error("EACCES, access '" + dir + "'", -13)
+ accessEr.code = 'EACCES'
+ accessEr.path = dir
+ return accessEr
+}
diff --git a/deps/npm/lib/install/action/build.js b/deps/npm/lib/install/action/build.js
new file mode 100644
index 0000000000..0feb3a0fbf
--- /dev/null
+++ b/deps/npm/lib/install/action/build.js
@@ -0,0 +1,12 @@
+'use strict'
+var chain = require('slide').chain
+var build = require('../../build.js')
+var npm = require('../../npm.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('build', pkg.package.name)
+ chain([
+ [build.linkStuff, pkg.package, pkg.path, npm.config.get('global'), false],
+ [build.writeBuiltinConf, pkg.package, pkg.path]
+ ], next)
+}
diff --git a/deps/npm/lib/install/action/extract.js b/deps/npm/lib/install/action/extract.js
new file mode 100644
index 0000000000..f9a4f8b2fa
--- /dev/null
+++ b/deps/npm/lib/install/action/extract.js
@@ -0,0 +1,17 @@
+'use strict'
+var updatePackageJson = require('../update-package-json')
+var npm = require('../../npm.js')
+var cache = require('../../cache.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('extract', pkg.package.name)
+ var up = npm.config.get('unsafe-perm')
+ var user = up ? null : npm.config.get('user')
+ var group = up ? null : npm.config.get('group')
+ cache.unpack(pkg.package.name, pkg.package.version
+ , buildpath
+ , null, null, user, group, function (er) {
+ if (er) return next(er)
+ updatePackageJson(pkg, buildpath, next)
+ })
+}
diff --git a/deps/npm/lib/install/action/fetch.js b/deps/npm/lib/install/action/fetch.js
new file mode 100644
index 0000000000..16a94244b1
--- /dev/null
+++ b/deps/npm/lib/install/action/fetch.js
@@ -0,0 +1,27 @@
+'use strict'
+// var cache = require('../../cache.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ next()
+/*
+// FIXME: Unnecessary as long as we have to have the tarball to resolve all deps, which
+// is progressively seeming to be likely for the indefinite future.
+// ALSO fails for local deps specified with relative URLs outside of the top level.
+
+ var name = pkg.package.name
+ var version
+ switch (pkg.package._requested.type) {
+ case 'version':
+ case 'range':
+ version = pkg.package.version
+ break
+ case 'hosted':
+ name = name + '@' + pkg.package._requested.spec
+ break
+ default:
+ name = pkg.package._requested.raw
+ }
+ log.silly('fetch', name, version)
+ cache.add(name, version, top, false, next)
+*/
+}
diff --git a/deps/npm/lib/install/action/finalize.js b/deps/npm/lib/install/action/finalize.js
new file mode 100644
index 0000000000..62e21cc47d
--- /dev/null
+++ b/deps/npm/lib/install/action/finalize.js
@@ -0,0 +1,93 @@
+'use strict'
+var path = require('path')
+var rimraf = require('rimraf')
+var fs = require('graceful-fs')
+var mkdirp = require('mkdirp')
+var asyncMap = require('slide').asyncMap
+var andIgnoreErrors = require('../and-ignore-errors.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('finalize', pkg.path)
+
+ var delpath = path.join(path.dirname(pkg.path), '.' + path.basename(pkg.path) + '.DELETE')
+
+ mkdirp(path.resolve(pkg.path, '..'), whenParentExists)
+
+ function whenParentExists (mkdirEr) {
+ if (mkdirEr) return next(mkdirEr)
+ // We stat first, because we can't rely on ENOTEMPTY from Windows.
+ // Windows, by contrast, gives the generic EPERM of a folder already exists.
+ fs.lstat(pkg.path, destStated)
+ }
+
+ function destStated (doesNotExist) {
+ if (doesNotExist) {
+ fs.rename(buildpath, pkg.path, whenMoved)
+ } else {
+ moveAway()
+ }
+ }
+
+ function whenMoved (renameEr) {
+ if (!renameEr) return next()
+ if (renameEr.code !== 'ENOTEMPTY') return next(renameEr)
+ moveAway()
+ }
+
+ function moveAway () {
+ fs.rename(pkg.path, delpath, whenOldMovedAway)
+ }
+
+ function whenOldMovedAway (renameEr) {
+ if (renameEr) return next(renameEr)
+ fs.rename(buildpath, pkg.path, whenConflictMoved)
+ }
+
+ function whenConflictMoved (renameEr) {
+ // if we got an error we'll try to put back the original module back,
+ // succeed or fail though we want the original error that caused this
+ if (renameEr) return fs.rename(delpath, pkg.path, function () { next(renameEr) })
+ fs.readdir(path.join(delpath, 'node_modules'), makeTarget)
+ }
+
+ function makeTarget (readdirEr, files) {
+ if (readdirEr) return cleanup()
+ if (!files.length) return cleanup()
+ mkdirp(path.join(pkg.path, 'node_modules'), function (mkdirEr) { moveModules(mkdirEr, files) })
+ }
+
+ function moveModules (mkdirEr, files) {
+ if (mkdirEr) return next(mkdirEr)
+ asyncMap(files, function (file, done) {
+ var from = path.join(delpath, 'node_modules', file)
+ var to = path.join(pkg.path, 'node_modules', file)
+ // we ignore errors here, because they can legitimately happen, for instance,
+ // bundled modules will be in both node_modules folders
+ fs.rename(from, to, andIgnoreErrors(done))
+ }, cleanup)
+ }
+
+ function cleanup () {
+ rimraf(delpath, afterCleanup)
+ }
+
+ function afterCleanup (rimrafEr) {
+ if (rimrafEr) log.warn('finalize', rimrafEr)
+ next()
+ }
+}
+
+module.exports.rollback = function (buildpath, pkg, next) {
+ var top = path.resolve(buildpath, '..')
+ rimraf(pkg.path, function () {
+ removeEmptyParents(pkg.path)
+ })
+ function removeEmptyParents (pkgdir) {
+ if (path.relative(top, pkgdir)[0] === '.') return next()
+ fs.rmdir(pkgdir, function (er) {
+ // FIXME: Make sure windows does what we want here
+ if (er && er.code !== 'ENOENT') return next()
+ removeEmptyParents(path.resolve(pkgdir, '..'))
+ })
+ }
+}
diff --git a/deps/npm/lib/install/action/global-install.js b/deps/npm/lib/install/action/global-install.js
new file mode 100644
index 0000000000..25c61aebd8
--- /dev/null
+++ b/deps/npm/lib/install/action/global-install.js
@@ -0,0 +1,16 @@
+'use strict'
+var path = require('path')
+var npm = require('../../npm.js')
+var Installer = require('../../install.js').Installer
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('global-install', pkg.package.name)
+ var globalRoot = path.resolve(npm.globalDir, '..')
+ npm.config.set('global', true)
+ var install = new Installer(globalRoot, false, [pkg.package.name + '@' + pkg.package._requested.spec])
+ install.link = false
+ install.run(function () {
+ npm.config.set('global', false)
+ next.apply(null, arguments)
+ })
+}
diff --git a/deps/npm/lib/install/action/global-link.js b/deps/npm/lib/install/action/global-link.js
new file mode 100644
index 0000000000..80eb46b95a
--- /dev/null
+++ b/deps/npm/lib/install/action/global-link.js
@@ -0,0 +1,7 @@
+'use strict'
+var npm = require('../../npm.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('global-link', pkg.package.name)
+ npm.link(pkg.package.name, next)
+}
diff --git a/deps/npm/lib/install/action/install.js b/deps/npm/lib/install/action/install.js
new file mode 100644
index 0000000000..f6c8d56e08
--- /dev/null
+++ b/deps/npm/lib/install/action/install.js
@@ -0,0 +1,7 @@
+'use strict'
+var lifecycle = require('../../utils/lifecycle.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('install', pkg.package.name, buildpath)
+ lifecycle(pkg.package, 'install', pkg.path, false, false, next)
+}
diff --git a/deps/npm/lib/install/action/move.js b/deps/npm/lib/install/action/move.js
new file mode 100644
index 0000000000..9bdfbc7bf2
--- /dev/null
+++ b/deps/npm/lib/install/action/move.js
@@ -0,0 +1,59 @@
+'use strict'
+var fs = require('graceful-fs')
+var path = require('path')
+var chain = require('slide').chain
+var iferr = require('iferr')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var rmStuff = require('../../unbuild.js').rmStuff
+var lifecycle = require('../../utils/lifecycle.js')
+var updatePackageJson = require('../update-package-json')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('move', pkg.fromPath, pkg.path)
+ chain([
+ [lifecycle, pkg.package, 'preuninstall', pkg.fromPath, false, true],
+ [lifecycle, pkg.package, 'uninstall', pkg.fromPath, false, true],
+ [rmStuff, pkg.package, pkg.fromPath],
+ [lifecycle, pkg.package, 'postuninstall', pkg.fromPath, false, true],
+ [moveModuleOnly, pkg.fromPath, pkg.path],
+ [lifecycle, pkg.package, 'preinstall', pkg.path, false, true],
+ [removeEmptyParents, path.resolve(pkg.fromPath, '..')],
+ [updatePackageJson, pkg, pkg.path]
+ ], next)
+}
+
+function removeEmptyParents (pkgdir, next) {
+ fs.rmdir(pkgdir, function (er) {
+ // FIXME: Make sure windows does what we want here
+ if (er && er.code !== 'ENOENT') return next()
+ removeEmptyParents(path.resolve(pkgdir, '..'), next)
+ })
+}
+
+function moveModuleOnly (from, to, done) {
+ var from_modules = path.join(from, 'node_modules')
+ var temp_modules = from + '.node_modules'
+
+ rimraf(to, iferr(done, makeDestination))
+
+ function makeDestination () {
+ mkdirp(path.resolve(to, '..'), iferr(done, moveNodeModules))
+ }
+
+ function moveNodeModules () {
+ fs.rename(from_modules, temp_modules, function (er) {
+ doMove(er ? done : moveNodeModulesBack)
+ })
+ }
+
+ function doMove (next) {
+ fs.rename(from, to, iferr(done, next))
+ }
+
+ function moveNodeModulesBack () {
+ mkdirp(from, iferr(done, function () {
+ fs.rename(temp_modules, from_modules, done)
+ }))
+ }
+}
diff --git a/deps/npm/lib/install/action/postinstall.js b/deps/npm/lib/install/action/postinstall.js
new file mode 100644
index 0000000000..5460c8364d
--- /dev/null
+++ b/deps/npm/lib/install/action/postinstall.js
@@ -0,0 +1,7 @@
+'use strict'
+var lifecycle = require('../../utils/lifecycle.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('postinstall', pkg.package.name, buildpath)
+ lifecycle(pkg.package, 'postinstall', pkg.path, false, false, next)
+}
diff --git a/deps/npm/lib/install/action/preinstall.js b/deps/npm/lib/install/action/preinstall.js
new file mode 100644
index 0000000000..989519c26f
--- /dev/null
+++ b/deps/npm/lib/install/action/preinstall.js
@@ -0,0 +1,7 @@
+'use strict'
+var lifecycle = require('../../utils/lifecycle.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('preinstall', pkg.package.name, buildpath)
+ lifecycle(pkg.package, 'preinstall', buildpath, false, false, next)
+}
diff --git a/deps/npm/lib/install/action/prepublish.js b/deps/npm/lib/install/action/prepublish.js
new file mode 100644
index 0000000000..95ff22b66e
--- /dev/null
+++ b/deps/npm/lib/install/action/prepublish.js
@@ -0,0 +1,7 @@
+'use strict'
+var lifecycle = require('../../utils/lifecycle.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('prepublish', pkg.package.name, buildpath)
+ lifecycle(pkg.package, 'prepublish', buildpath, false, false, next)
+}
diff --git a/deps/npm/lib/install/action/remove.js b/deps/npm/lib/install/action/remove.js
new file mode 100644
index 0000000000..b3126a5800
--- /dev/null
+++ b/deps/npm/lib/install/action/remove.js
@@ -0,0 +1,82 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var rimraf = require('rimraf')
+var asyncMap = require('slide').asyncMap
+var mkdirp = require('mkdirp')
+var npm = require('../../npm.js')
+var andIgnoreErrors = require('../and-ignore-errors.js')
+
+// This is weird because we want to remove the module but not it's node_modules folder
+// allowing for this allows us to not worry about the order of operations
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('remove', pkg.path)
+ if (pkg.target) {
+ removeLink(pkg, next)
+ } else {
+ removeDir(pkg, log, next)
+ }
+}
+
+function removeLink (pkg, next) {
+ npm.commands.unbuild(pkg.path, true, next)
+}
+
+function removeDir (pkg, log, next) {
+ var modpath = path.join(path.dirname(pkg.path), '.' + path.basename(pkg.path) + '.MODULES')
+
+ fs.rename(path.join(pkg.path, 'node_modules'), modpath, unbuildPackage)
+
+ function unbuildPackage (renameEr) {
+ npm.commands.unbuild(pkg.path, true, renameEr ? andRemoveEmptyParents(pkg.path) : moveModulesBack)
+ }
+
+ function andRemoveEmptyParents (path) {
+ return function (er) {
+ if (er) return next(er)
+ removeEmptyParents(pkg.path)
+ }
+ }
+
+ function moveModulesBack () {
+ fs.readdir(modpath, makeTarget)
+ }
+
+ function makeTarget (readdirEr, files) {
+ if (readdirEr) return cleanup()
+ if (!files.length) return cleanup()
+ mkdirp(path.join(pkg.path, 'node_modules'), function (mkdirEr) { moveModules(mkdirEr, files) })
+ }
+
+ function moveModules (mkdirEr, files) {
+ if (mkdirEr) return next(mkdirEr)
+ asyncMap(files, function (file, done) {
+ var from = path.join(modpath, file)
+ var to = path.join(pkg.path, 'node_modules', file)
+ // we ignore errors here, because they can legitimately happen, for instance,
+ // bundled modules will be in both node_modules folders
+ fs.rename(from, to, andIgnoreErrors(done))
+ }, cleanup)
+ }
+
+ function cleanup () {
+ rimraf(modpath, afterCleanup)
+ }
+
+ function afterCleanup (rimrafEr) {
+ if (rimrafEr) log.warn('finalize', rimrafEr)
+ removeEmptyParents(path.resolve(pkg.path, '..'))
+ }
+
+ function removeEmptyParents (pkgdir) {
+ fs.rmdir(pkgdir, function (er) {
+ // FIXME: Make sure windows does what we want here
+ if (er && er.code !== 'ENOENT') return next()
+ removeEmptyParents(path.resolve(pkgdir, '..'))
+ })
+ }
+}
+
+module.exports.commit = function (staging, pkg, next) {
+ rimraf(pkg.path, next)
+}
diff --git a/deps/npm/lib/install/action/test.js b/deps/npm/lib/install/action/test.js
new file mode 100644
index 0000000000..354519d06f
--- /dev/null
+++ b/deps/npm/lib/install/action/test.js
@@ -0,0 +1,7 @@
+'use strict'
+var lifecycle = require('../../utils/lifecycle.js')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.silly('test', pkg.package.name, buildpath)
+ lifecycle(pkg.package, 'test', buildpath, false, false, next)
+}
diff --git a/deps/npm/lib/install/action/update-linked.js b/deps/npm/lib/install/action/update-linked.js
new file mode 100644
index 0000000000..46c4cdfadd
--- /dev/null
+++ b/deps/npm/lib/install/action/update-linked.js
@@ -0,0 +1,8 @@
+'use strict'
+var path = require('path')
+
+module.exports = function (top, buildpath, pkg, log, next) {
+ log.warn('update-linked', path.relative(top, pkg.path), 'needs updating to', pkg.package.version,
+ 'from', pkg.oldPkg.package.version, "but we can't, as it's a symlink")
+ next()
+}
diff --git a/deps/npm/lib/install/actions.js b/deps/npm/lib/install/actions.js
new file mode 100644
index 0000000000..84d987faf0
--- /dev/null
+++ b/deps/npm/lib/install/actions.js
@@ -0,0 +1,127 @@
+'use strict'
+var path = require('path')
+var validate = require('aproba')
+var chain = require('slide').chain
+var asyncMap = require('slide').asyncMap
+var uniqueFilename = require('unique-filename')
+var log = require('npmlog')
+var andFinishTracker = require('./and-finish-tracker.js')
+var andAddParentToErrors = require('./and-add-parent-to-errors.js')
+var failedDependency = require('./deps.js').failedDependency
+
+var actions = {}
+
+actions.fetch = require('./action/fetch.js')
+actions.extract = require('./action/extract.js')
+actions.build = require('./action/build.js')
+actions.test = require('./action/test.js')
+actions.preinstall = require('./action/preinstall.js')
+actions.install = require('./action/install.js')
+actions.postinstall = require('./action/postinstall.js')
+actions.prepublish = require('./action/prepublish.js')
+actions.finalize = require('./action/finalize.js')
+actions.remove = require('./action/remove.js')
+actions.move = require('./action/move.js')
+actions['update-linked'] = require('./action/update-linked.js')
+actions['global-install'] = require('./action/global-install.js')
+actions['global-link'] = require('./action/global-link.js')
+
+// FIXME: We wrap actions like three ways to sunday here.
+// Rewrite this to only work one way.
+
+Object.keys(actions).forEach(function (actionName) {
+ var action = actions[actionName]
+ actions[actionName] = function (top, buildpath, pkg, log, next) {
+ validate('SSOOF', arguments)
+ // refuse to run actions for failed packages
+ if (pkg.failed) return next()
+ if (action.rollback) {
+ if (!pkg.rollback) pkg.rollback = []
+ pkg.rollback.unshift(action.rollback)
+ }
+ if (action.commit) {
+ if (!pkg.commit) pkg.commit = []
+ pkg.commit.push(action.commit)
+ }
+ return action(top, buildpath, pkg, log, andFinishTracker(log, andAddParentToErrors(pkg.parent, andHandleOptionalDepErrors(pkg, next))))
+ }
+})
+
+function markAsFailed (pkg) {
+ pkg.failed = true
+ pkg.requires.forEach(function (req) {
+ req.requiredBy = req.requiredBy.filter(function (reqReqBy) { return reqReqBy !== pkg })
+ if (req.requiredBy.length === 0 && !req.userRequired && !req.existing) {
+ markAsFailed(req)
+ }
+ })
+}
+
+function andHandleOptionalDepErrors (pkg, next) {
+ return function (er) {
+ if (!er) return next.apply(null, arguments)
+ markAsFailed(pkg)
+ var anyFatal = pkg.directlyRequested || !pkg.parent
+ for (var ii = 0; ii < pkg.requiredBy.length; ++ii) {
+ var parent = pkg.requiredBy[ii]
+ var isFatal = failedDependency(parent, pkg)
+ if (isFatal) anyFatal = true
+ }
+ if (anyFatal) return next.apply(null, arguments)
+ log.warn('install:' + pkg.package.name, er.message)
+ log.verbose('install:' + pkg.package.name, er.stack)
+ next()
+ }
+}
+
+function prepareAction (staging, log) {
+ validate('SO', arguments)
+ return function (action) {
+ validate('SO', action)
+ var cmd = action[0]
+ var pkg = action[1]
+ if (!actions[cmd]) throw new Error('Unknown decomposed command "' + cmd + '" (is it new?)')
+ var buildpath = uniqueFilename(staging, pkg.package.name, pkg.realpath)
+ var top = path.resolve(staging, '../..')
+ return [actions[cmd], top, buildpath, pkg, log.newGroup(cmd + ':' + pkg.package.name)]
+ }
+}
+
+exports.actions = actions
+
+function execAction (todo, done) {
+ validate('AF', arguments)
+ var cmd = todo.shift()
+ todo.push(done)
+ cmd.apply(null, todo)
+}
+
+exports.doOne = function (cmd, staging, pkg, log, next) {
+ validate('SSOOF', arguments)
+ execAction(prepareAction(staging, log)([cmd, pkg]), next)
+}
+
+exports.doSerial = function (type, staging, actionsToRun, log, next) {
+ validate('SSAOF', arguments)
+ actionsToRun = actionsToRun
+ .filter(function (value) { return value[0] === type })
+ log.silly('doSerial', '%s %d', type, actionsToRun.length)
+ chain(actionsToRun.map(prepareAction(staging, log)), andFinishTracker(log, next))
+}
+
+exports.doReverseSerial = function (type, staging, actionsToRun, log, next) {
+ validate('SSAOF', arguments)
+ actionsToRun = actionsToRun
+ .filter(function (value) { return value[0] === type })
+ .reverse()
+ log.silly('doReverseSerial', '%s %d', type, actionsToRun.length)
+ chain(actionsToRun.map(prepareAction(staging, log)), andFinishTracker(log, next))
+}
+
+exports.doParallel = function (type, staging, actionsToRun, log, next) {
+ validate('SSAOF', arguments)
+ actionsToRun = actionsToRun.filter(function (value) { return value[0] === type })
+ log.silly('doParallel', type + ' ' + actionsToRun.length)
+
+ asyncMap(actionsToRun.map(prepareAction(staging, log)), execAction, andFinishTracker(log, next))
+}
diff --git a/deps/npm/lib/install/and-add-parent-to-errors.js b/deps/npm/lib/install/and-add-parent-to-errors.js
new file mode 100644
index 0000000000..62a86bd4a6
--- /dev/null
+++ b/deps/npm/lib/install/and-add-parent-to-errors.js
@@ -0,0 +1,13 @@
+'use strict'
+var validate = require('aproba')
+
+module.exports = function (parent, cb) {
+ validate('F', [cb])
+ return function (er) {
+ if (!er) return cb.apply(null, arguments)
+ if (er instanceof Error && parent && parent.package && parent.package.name) {
+ er.parent = parent.package.name
+ }
+ cb(er)
+ }
+}
diff --git a/deps/npm/lib/install/and-finish-tracker.js b/deps/npm/lib/install/and-finish-tracker.js
new file mode 100644
index 0000000000..2bab60ddc4
--- /dev/null
+++ b/deps/npm/lib/install/and-finish-tracker.js
@@ -0,0 +1,16 @@
+'use strict'
+var validate = require('aproba')
+
+module.exports = function (tracker, cb) {
+ validate('OF', [tracker, cb])
+ return function () {
+ tracker.finish()
+ cb.apply(null, arguments)
+ }
+}
+
+module.exports.now = function (tracker, cb) {
+ validate('OF', [tracker, cb])
+ tracker.finish()
+ cb.apply(null, Array.prototype.slice.call(arguments, 2))
+}
diff --git a/deps/npm/lib/install/and-ignore-errors.js b/deps/npm/lib/install/and-ignore-errors.js
new file mode 100644
index 0000000000..cf46ad8215
--- /dev/null
+++ b/deps/npm/lib/install/and-ignore-errors.js
@@ -0,0 +1,9 @@
+'use strict'
+
+module.exports = function (cb) {
+ return function () {
+ var args = Array.prototype.slice.call(arguments, 1)
+ if (args.length) args.unshift(null)
+ return cb.apply(null, args)
+ }
+}
diff --git a/deps/npm/lib/install/check-permissions.js b/deps/npm/lib/install/check-permissions.js
new file mode 100644
index 0000000000..7806fcff99
--- /dev/null
+++ b/deps/npm/lib/install/check-permissions.js
@@ -0,0 +1,69 @@
+'use strict'
+var path = require('path')
+var log = require('npmlog')
+var validate = require('aproba')
+var uniq = require('lodash.uniq')
+var asyncMap = require('slide').asyncMap
+var npm = require('../npm.js')
+var exists = require('./exists.js')
+var writable = require('./writable.js')
+
+module.exports = function (actions, next) {
+ validate('AF', arguments)
+ var errors = []
+ asyncMap(actions, function (action, done) {
+ var cmd = action[0]
+ var pkg = action[1]
+ switch (cmd) {
+ case 'add':
+ hasAnyWriteAccess(path.resolve(pkg.path, '..'), errors, done)
+ break
+ case 'update':
+ case 'remove':
+ hasWriteAccess(pkg.path, errors, andHasWriteAccess(path.resolve(pkg.path, '..'), errors, done))
+ break
+ case 'move':
+ hasAnyWriteAccess(pkg.path, errors, andHasWriteAccess(path.resolve(pkg.fromPath, '..'), errors, done))
+ break
+ default:
+ done()
+ }
+ }, function () {
+ if (!errors.length) return next()
+ uniq(errors.map(function (er) { return 'Missing write access to ' + er.path })).forEach(function (er) {
+ log.warn('checkPermissions', er)
+ })
+ npm.config.get('force') ? next() : next(errors[0])
+ })
+}
+
+function andHasWriteAccess (dir, errors, done) {
+ validate('SAF', arguments)
+ return function () {
+ hasWriteAccess(dir, errors, done)
+ }
+}
+
+function hasAnyWriteAccess (dir, errors, done) {
+ validate('SAF', arguments)
+ findNearestDir()
+ function findNearestDir () {
+ var nextDir = path.resolve(dir, '..')
+ exists(dir, function (dirDoesntExist) {
+ if (!dirDoesntExist || nextDir === dir) {
+ return hasWriteAccess(dir, errors, done)
+ } else {
+ dir = nextDir
+ findNearestDir()
+ }
+ })
+ }
+}
+
+function hasWriteAccess (dir, errors, done) {
+ validate('SAF', arguments)
+ writable(dir, function (er) {
+ if (er) errors.push(er)
+ done()
+ })
+}
diff --git a/deps/npm/lib/install/copy-tree.js b/deps/npm/lib/install/copy-tree.js
new file mode 100644
index 0000000000..67a9c687a2
--- /dev/null
+++ b/deps/npm/lib/install/copy-tree.js
@@ -0,0 +1,25 @@
+'use strict'
+
+module.exports = function (tree) {
+ return copyTree(tree, {})
+}
+
+function copyTree (tree, cache) {
+ if (cache[tree.path]) return cache[tree.path]
+ var newTree = cache[tree.path] = Object.create(tree)
+ copyModuleList(newTree, 'children', cache)
+ newTree.children.forEach(function (child) {
+ child.parent = newTree
+ })
+ copyModuleList(newTree, 'requires', cache)
+ copyModuleList(newTree, 'requiredBy', cache)
+ return newTree
+}
+
+function copyModuleList (tree, key, cache) {
+ var newList = []
+ tree[key].forEach(function (child) {
+ newList.push(copyTree(child, cache))
+ })
+ tree[key] = newList
+}
diff --git a/deps/npm/lib/install/decompose-actions.js b/deps/npm/lib/install/decompose-actions.js
new file mode 100644
index 0000000000..b345ba5d09
--- /dev/null
+++ b/deps/npm/lib/install/decompose-actions.js
@@ -0,0 +1,50 @@
+'use strict'
+var validate = require('aproba')
+var asyncMap = require('slide').asyncMap
+
+module.exports = function (differences, decomposed, next) {
+ validate('AAF', arguments)
+ asyncMap(differences, function (action, done) {
+ var cmd = action[0]
+ var pkg = action[1]
+ switch (cmd) {
+ case 'add':
+ case 'update':
+ addSteps(decomposed, pkg, done)
+ break
+ case 'move':
+ moveSteps(decomposed, pkg, done)
+ break
+ case 'remove':
+ case 'update-linked':
+ default:
+ defaultSteps(decomposed, cmd, pkg, done)
+ }
+ }, next)
+}
+
+function addSteps (decomposed, pkg, done) {
+ decomposed.push(['fetch', pkg])
+ decomposed.push(['extract', pkg])
+ decomposed.push(['preinstall', pkg])
+ decomposed.push(['build', pkg])
+ decomposed.push(['install', pkg])
+ decomposed.push(['postinstall', pkg])
+ decomposed.push(['test', pkg])
+ decomposed.push(['finalize', pkg])
+ done()
+}
+
+function moveSteps (decomposed, pkg, done) {
+ decomposed.push(['move', pkg])
+ decomposed.push(['build', pkg])
+ decomposed.push(['install', pkg])
+ decomposed.push(['postinstall', pkg])
+ decomposed.push(['test', pkg])
+ done()
+}
+
+function defaultSteps (decomposed, cmd, pkg, done) {
+ decomposed.push([cmd, pkg])
+ done()
+}
diff --git a/deps/npm/lib/install/deps.js b/deps/npm/lib/install/deps.js
new file mode 100644
index 0000000000..ab16208740
--- /dev/null
+++ b/deps/npm/lib/install/deps.js
@@ -0,0 +1,534 @@
+'use strict'
+var assert = require('assert')
+var path = require('path')
+var url = require('url')
+var semver = require('semver')
+var asyncMap = require('slide').asyncMap
+var chain = require('slide').chain
+var union = require('lodash.union')
+var iferr = require('iferr')
+var npa = require('npm-package-arg')
+var validate = require('aproba')
+var realizePackageSpecifier = require('realize-package-specifier')
+var dezalgo = require('dezalgo')
+var fetchPackageMetadata = require('../fetch-package-metadata.js')
+var andAddParentToErrors = require('./and-add-parent-to-errors.js')
+var addShrinkwrap = require('../fetch-package-metadata.js').addShrinkwrap
+var addBundled = require('../fetch-package-metadata.js').addBundled
+var readShrinkwrap = require('./read-shrinkwrap.js')
+var inflateShrinkwrap = require('./inflate-shrinkwrap.js')
+var inflateBundled = require('./inflate-bundled.js')
+var andFinishTracker = require('./and-finish-tracker.js')
+var npm = require('../npm.js')
+var flatName = require('./flatten-tree.js').flatName
+var createChild = require('./node.js').create
+var resetMetadata = require('./node.js').reset
+var andIgnoreErrors = require('./and-ignore-errors.js')
+var isInstallable = require('./validate-args.js').isInstallable
+var getPackageId = require('./get-package-id.js')
+
+// The export functions in this module mutate a dependency tree, adding
+// items to them.
+
+function isDep (tree, child) {
+ if (child.fromShrinkwrap) return true
+ var requested = isProdDep(tree, child.package.name)
+ var matches
+ if (requested) matches = doesChildVersionMatch(child, requested)
+ if (matches) return matches
+ requested = isDevDep(tree, child.package.name)
+ if (!requested) return
+ return doesChildVersionMatch(child, requested)
+}
+
+function isDevDep (tree, name) {
+ var devDeps = tree.package.devDependencies || {}
+ var reqVer = devDeps[name]
+ if (reqVer == null) return
+ return npa(name + '@' + reqVer)
+}
+
+function isProdDep (tree, name) {
+ var deps = tree.package.dependencies || {}
+ var reqVer = deps[name]
+ if (reqVer == null) return false
+ return npa(name + '@' + reqVer)
+}
+
+var registryTypes = { range: true, version: true }
+
+function doesChildVersionMatch (child, requested) {
+ // we always consider deps provided by a shrinkwrap as "correct" or else
+ // we'll subvert them if they're intentionally "invalid"
+ if (child.fromShrinkwrap) return true
+ // ranges of * ALWAYS count as a match, because when downloading we allow
+ // prereleases to match * if there are ONLY prereleases
+ if (requested.spec === '*') return true
+
+ var childReq = child.package._requested
+ if (childReq) {
+ if (childReq.rawSpec === requested.rawSpec) return true
+ if (childReq.type === requested.type && childReq.spec === requested.spec) return true
+ }
+ if (!registryTypes[requested.type]) return requested.rawSpec === child.package._from
+ return semver.satisfies(child.package.version, requested.spec)
+}
+
+exports.recalculateMetadata = function (tree, log, next) {
+ recalculateMetadata(tree, log, {}, next)
+}
+
+function recalculateMetadata (tree, log, seen, next) {
+ validate('OOOF', arguments)
+ if (seen[tree.path]) return next()
+ seen[tree.path] = true
+ if (tree.parent == null) resetMetadata(tree)
+ function markDeps (spec, done) {
+ validate('SF', arguments)
+ realizePackageSpecifier(spec, packageRelativePath(tree), function (er, req) {
+ if (er) return done()
+ var child = findRequirement(tree, req.name, req)
+ if (child) {
+ resolveWithExistingModule(child, tree, log, andIgnoreErrors(done))
+ } else if (tree.package.dependencies[req.name] != null) {
+ tree.missingDeps[req.name] = req.rawSpec
+ done()
+ } else if (tree.package.devDependencies[req.name] != null) {
+ tree.missingDevDeps[req.name] = req.rawSpec
+ done()
+ } else {
+ done()
+ }
+ })
+ }
+ function specs (deps) {
+ return Object.keys(deps).map(function (depname) { return depname + '@' + deps[depname] })
+ }
+ var tomark = specs(tree.package.dependencies)
+ if (!tree.parent && (npm.config.get('dev') || !npm.config.get('production'))) {
+ tomark = union(tomark, specs(tree.package.devDependencies))
+ }
+ tree.children = tree.children.filter(function (child) { return !child.failed })
+ chain([
+ [asyncMap, tomark, markDeps],
+ [asyncMap, tree.children, function (child, done) { recalculateMetadata(child, log, seen, done) }]
+ ], function () {
+ tree.userRequired = tree.package._requiredBy.some(function (req) { req === '#USER' })
+ tree.existing = tree.package._requiredBy.some(function (req) { req === '#EXISTING' })
+ tree.package._location = flatNameFromTree(tree)
+ next(null, tree)
+ })
+}
+
+function addRequiredDep (tree, child) {
+ if (!isDep(tree, child)) return false
+ var name = isProdDep(tree, child.package.name) ? flatNameFromTree(tree) : '#DEV:' + flatNameFromTree(tree)
+ child.package._requiredBy = union(child.package._requiredBy || [], [name])
+ child.requiredBy = union(child.requiredBy || [], [tree])
+ tree.requires = union(tree.requires || [], [child])
+ return true
+}
+
+function matchingDep (tree, name) {
+ if (tree.package.dependencies && tree.package.dependencies[name]) return tree.package.dependencies[name]
+ if (tree.package.devDependencies && tree.package.devDependencies[name]) return tree.package.devDependencies[name]
+ return
+}
+
+function packageRelativePath (tree) {
+ if (!tree) return ''
+ var requested = tree.package._requested || {}
+ var isLocal = requested.type === 'directory' || requested.type === 'local'
+ return isLocal ? requested.spec : tree.path
+}
+
+function getShrinkwrap (tree, name) {
+ return tree.package._shrinkwrap && tree.package._shrinkwrap.dependencies && tree.package._shrinkwrap.dependencies[name]
+}
+
+exports.getAllMetadata = function (args, tree, next) {
+ asyncMap(args, function (spec, done) {
+ if (tree && spec.lastIndexOf('@') <= 0) {
+ var sw = getShrinkwrap(tree, spec)
+ if (sw) {
+ // FIXME: This is duplicated in inflate-shrinkwrap and should be factoed
+ // into a shared function
+ spec = sw.resolved
+ ? spec + '@' + sw.resolved
+ : (sw.from && url.parse(sw.from).protocol)
+ ? spec + '@' + sw.from
+ : spec + '@' + sw.version
+ } else {
+ var version = matchingDep(tree, spec)
+ if (version != null) {
+ spec += '@' + version
+ }
+ }
+ }
+ fetchPackageMetadata(spec, packageRelativePath(tree), done)
+ }, next)
+}
+
+// Add a list of args to tree's top level dependencies
+exports.loadRequestedDeps = function (args, tree, saveToDependencies, log, next) {
+ validate('AOOF', [args, tree, log, next])
+ asyncMap(args, function (pkg, done) {
+ var depLoaded = andAddParentToErrors(tree, done)
+ tree.children = tree.children.filter(function (child) {
+ return child.package.name !== pkg.name
+ })
+ resolveWithNewModule(pkg, tree, log.newGroup('loadRequestedDeps'), iferr(depLoaded, function (child, tracker) {
+ validate('OO', arguments)
+ if (npm.config.get('global')) {
+ child.isGlobal = true
+ }
+ if (saveToDependencies) {
+ tree.package[saveToDependencies][child.package.name] =
+ child.package._requested.rawSpec || child.package._requested.spec
+ }
+ if (saveToDependencies && saveToDependencies !== 'devDependencies') {
+ tree.package.dependencies[child.package.name] =
+ child.package._requested.rawSpec || child.package._requested.spec
+ }
+ child.directlyRequested = true
+ child.save = saveToDependencies
+
+ // For things the user asked to install, that aren't a dependency (or
+ // won't be when we're done), flag it as "depending" on the user
+ // themselves, so we don't remove it as a dep that no longer exists
+ if (!addRequiredDep(tree, child)) {
+ child.package._requiredBy = union(child.package._requiredBy, ['#USER'])
+ child.directlyRequested = true
+ }
+ depLoaded(null, child, tracker)
+ }))
+ }, andForEachChild(loadDeps, andFinishTracker(log, next)))
+}
+
+// while this implementation does not require async calling, doing so
+// gives this a consistent interface with loadDeps et al
+exports.removeDeps = function (args, tree, saveToDependencies, log, next) {
+ validate('AOOF', [args, tree, log, next])
+ args.forEach(function (pkg) {
+ if (saveToDependencies) {
+ var toRemove = tree.children.filter(function (child) { return child.package.name === pkg.name })
+ tree.removed = union(tree.removed || [], toRemove)
+ toRemove.forEach(function (parent) {
+ parent.save = saveToDependencies
+ })
+ }
+ tree.children = tree.children.filter(function (child) { return child.package.name !== pkg.name })
+ })
+ log.finish()
+ next()
+}
+
+function andForEachChild (load, next) {
+ validate('F', [next])
+ next = dezalgo(next)
+ return function (er, children, logs) {
+ // when children is empty, logs won't be passed in at all (asyncMap is weird)
+ // so shortcircuit before arg validation
+ if (!er && (!children || children.length === 0)) return next()
+ validate('EAA', arguments)
+ if (er) return next(er)
+ assert(children.length === logs.length)
+ var cmds = []
+ for (var ii = 0; ii < children.length; ++ii) {
+ cmds.push([load, children[ii], logs[ii]])
+ }
+ var sortedCmds = cmds.sort(function installOrder (aa, bb) {
+ return aa[1].package.name.localeCompare(bb[1].package.name)
+ })
+ chain(sortedCmds, next)
+ }
+}
+
+function isDepOptional (tree, name) {
+ if (!tree.package.optionalDependencies) return false
+ if (tree.package.optionalDependencies[name] != null) return true
+ return false
+}
+
+var failedDependency = exports.failedDependency = function (tree, name_pkg) {
+ var name, pkg
+ if (typeof name_pkg === 'string') {
+ name = name_pkg
+ } else {
+ pkg = name_pkg
+ name = pkg.name || pkg.package.name
+ }
+
+ tree.children = tree.children.filter(function (child) { return child.package.name !== name })
+
+ if (isDepOptional(tree, name)) {
+ return false
+ }
+
+ tree.failed = true
+
+ if (!tree.parent) return true
+
+ for (var ii = 0; ii < tree.requiredBy.length; ++ii) {
+ var requireParent = tree.requiredBy[ii]
+ if (failedDependency(requireParent, tree.package)) {
+ return true
+ }
+ }
+ return false
+}
+
+function andHandleOptionalErrors (log, tree, name, done) {
+ validate('OOSF', arguments)
+ return function (er, child, childLog) {
+ if (!er) validate('OO', [child, childLog])
+ if (!er) return done(er, child, childLog)
+ var isFatal = failedDependency(tree, name)
+ if (er && !isFatal) {
+ tree.children = tree.children.filter(function (child) { return child.package.name !== name })
+ log.warn('install', "Couldn't install optional dependency:", er.message)
+ log.verbose('install', er.stack)
+ return done()
+ } else {
+ return done(er, child, childLog)
+ }
+ }
+}
+
+// Load any missing dependencies in the given tree
+exports.loadDeps = loadDeps
+function loadDeps (tree, log, next) {
+ validate('OOF', arguments)
+ if (tree.loaded || (tree.parent && tree.parent.failed)) return andFinishTracker.now(log, next)
+ if (tree.parent) tree.loaded = true
+ if (!tree.package.dependencies) tree.package.dependencies = {}
+ asyncMap(Object.keys(tree.package.dependencies), function (dep, done) {
+ var version = tree.package.dependencies[dep]
+ if (tree.package.optionalDependencies &&
+ tree.package.optionalDependencies[dep] &&
+ !npm.config.get('optional')) {
+ return done()
+ }
+
+ addDependency(dep, version, tree, log.newGroup('loadDep:' + dep), andHandleOptionalErrors(log, tree, dep, done))
+ }, andForEachChild(loadDeps, andFinishTracker(log, next)))
+}
+
+// Load development dependencies into the given tree
+exports.loadDevDeps = function (tree, log, next) {
+ validate('OOF', arguments)
+ if (!tree.package.devDependencies) return andFinishTracker.now(log, next)
+ asyncMap(Object.keys(tree.package.devDependencies), function (dep, done) {
+ // things defined as both dev dependencies and regular dependencies are treated
+ // as the former
+ if (tree.package.dependencies[dep]) return done()
+
+ var logGroup = log.newGroup('loadDevDep:' + dep)
+ addDependency(dep, tree.package.devDependencies[dep], tree, logGroup, done)
+ }, andForEachChild(loadDeps, andFinishTracker(log, next)))
+}
+
+exports.loadExtraneous = function loadExtraneous (tree, log, next) {
+ var seen = {}
+ function loadExtraneous (tree, log, next) {
+ validate('OOF', arguments)
+ if (seen[tree.path]) return next()
+ seen[tree.path] = true
+ asyncMap(tree.children.filter(function (child) { return !child.loaded }), function (child, done) {
+ resolveWithExistingModule(child, tree, log, done)
+ }, andForEachChild(loadExtraneous, andFinishTracker(log, next)))
+ }
+ loadExtraneous(tree, log, next)
+}
+
+exports.loadExtraneous.andResolveDeps = function (tree, log, next) {
+ validate('OOF', arguments)
+ asyncMap(tree.children.filter(function (child) { return !child.loaded }), function (child, done) {
+ resolveWithExistingModule(child, tree, log, done)
+ }, andForEachChild(loadDeps, andFinishTracker(log, next)))
+}
+
+function addDependency (name, versionSpec, tree, log, done) {
+ validate('SSOOF', arguments)
+ var next = andAddParentToErrors(tree, done)
+ var spec = name + '@' + versionSpec
+ realizePackageSpecifier(spec, packageRelativePath(tree), iferr(done, function (req) {
+ var child = findRequirement(tree, name, req)
+ if (child) {
+ resolveWithExistingModule(child, tree, log, iferr(next, function (child, log) {
+ if (child.package._shrinkwrap === undefined) {
+ readShrinkwrap.andInflate(child, function (er) { next(er, child, log) })
+ } else {
+ next(null, child, log)
+ }
+ }))
+ } else {
+ resolveWithNewModule(req, tree, log, next)
+ }
+ }))
+}
+
+function resolveWithExistingModule (child, tree, log, next) {
+ validate('OOOF', arguments)
+ addRequiredDep(tree, child)
+
+ if (tree.parent && child.parent !== tree) updatePhantomChildren(tree.parent, child)
+
+ next(null, child, log)
+}
+
+var updatePhantomChildren = exports.updatePhantomChildren = function (current, child) {
+ validate('OO', arguments)
+ while (current && current !== child.parent) {
+ // FIXME: phantomChildren doesn't actually belong in the package.json
+ if (!current.package._phantomChildren) current.package._phantomChildren = {}
+ current.package._phantomChildren[child.package.name] = child.package.version
+ current = current.parent
+ }
+}
+
+function flatNameFromTree (tree) {
+ validate('O', arguments)
+ if (!tree.parent) return '/'
+ var path = flatNameFromTree(tree.parent)
+ if (path !== '/') path += '/'
+ return flatName(path, tree)
+}
+
+function resolveWithNewModule (pkg, tree, log, next) {
+ validate('OOOF', arguments)
+ if (pkg.type) {
+ return fetchPackageMetadata(pkg, packageRelativePath(tree), log.newItem('fetchMetadata'), iferr(next, function (pkg) {
+ resolveWithNewModule(pkg, tree, log, next)
+ }))
+ }
+
+ if (!pkg.installable) {
+ log.silly('resolveWithNewModule', getPackageId(pkg), 'checking installable status')
+ return isInstallable(pkg, iferr(next, function () {
+ pkg.installable = true
+ resolveWithNewModule(pkg, tree, log, next)
+ }))
+ }
+
+ if (!pkg._from) {
+ pkg._from = pkg._requested.name + '@' + pkg._requested.spec
+ }
+ addShrinkwrap(pkg, iferr(next, function () {
+ addBundled(pkg, iferr(next, function () {
+ var parent = earliestInstallable(tree, tree, pkg) || tree
+ var child = createChild({
+ package: pkg,
+ parent: parent,
+ path: path.join(parent.path, 'node_modules', pkg.name),
+ realpath: path.resolve(parent.realpath, 'node_modules', pkg.name),
+ children: pkg._bundled || [],
+ isLink: tree.isLink
+ })
+
+ parent.children = parent.children.filter(function (pkg) { return pkg.package.name !== child.package.name })
+ parent.children.push(child)
+ addRequiredDep(tree, child)
+ pkg._location = flatNameFromTree(child)
+
+ if (tree.parent && parent !== tree) updatePhantomChildren(tree.parent, child)
+
+ if (pkg._bundled) {
+ inflateBundled(child, child.children)
+ }
+
+ if (pkg._shrinkwrap && pkg._shrinkwrap.dependencies) {
+ return inflateShrinkwrap(child, pkg._shrinkwrap.dependencies, function (er) {
+ next(er, child, log)
+ })
+ }
+
+ next(null, child, log)
+ }))
+ }))
+}
+
+var validatePeerDeps = exports.validatePeerDeps = function (tree, onInvalid) {
+ if (!tree.package.peerDependencies) return
+ Object.keys(tree.package.peerDependencies).forEach(function (pkgname) {
+ var version = tree.package.peerDependencies[pkgname]
+ var match = findRequirement(tree.parent || tree, pkgname, npa(pkgname + '@' + version))
+ if (!match) onInvalid(tree, pkgname, version)
+ })
+}
+
+exports.validateAllPeerDeps = function (tree, onInvalid) {
+ validateAllPeerDeps(tree, onInvalid, {})
+}
+
+function validateAllPeerDeps (tree, onInvalid, seen) {
+ validate('OFO', arguments)
+ if (seen[tree.path]) return
+ seen[tree.path] = true
+ validatePeerDeps(tree, onInvalid)
+ tree.children.forEach(function (child) { validateAllPeerDeps(child, onInvalid, seen) })
+}
+
+// Determine if a module requirement is already met by the tree at or above
+// our current location in the tree.
+var findRequirement = exports.findRequirement = function (tree, name, requested) {
+ validate('OSO', arguments)
+ var nameMatch = function (child) {
+ return child.package.name === name && child.parent
+ }
+ var versionMatch = function (child) {
+ return doesChildVersionMatch(child, requested)
+ }
+ if (nameMatch(tree)) {
+ // this *is* the module, but it doesn't match the version, so a
+ // new copy will have to be installed
+ return versionMatch(tree) ? tree : null
+ }
+
+ var matches = tree.children.filter(nameMatch)
+ if (matches.length) {
+ matches = matches.filter(versionMatch)
+ // the module exists as a dependent, but the version doesn't match, so
+ // a new copy will have to be installed above here
+ if (matches.length) return matches[0]
+ return null
+ }
+ if (!tree.parent) return null
+ return findRequirement(tree.parent, name, requested)
+}
+
+// Find the highest level in the tree that we can install this module in.
+// If the module isn't installed above us yet, that'd be the very top.
+// If it is, then it's the level below where its installed.
+var earliestInstallable = exports.earliestInstallable = function (requiredBy, tree, pkg) {
+ validate('OOO', arguments)
+ var nameMatch = function (child) {
+ return child.package.name === pkg.name
+ }
+
+ if (tree.children.some(nameMatch)) return null
+
+ // If any of the children of this tree have conflicting
+ // binaries then we need to decline to install this package here.
+ var binaryMatches = tree.children.some(function (child) {
+ return Object.keys(child.package.bin || {}).some(function (bin) {
+ return pkg.bin && pkg.bin[bin]
+ })
+ })
+ if (binaryMatches) return null
+
+ // if this tree location requested the same module then we KNOW it
+ // isn't compatible because if it were findRequirement would have
+ // found that version.
+ if (requiredBy !== tree && tree.package.dependencies && tree.package.dependencies[pkg.name]) {
+ return null
+ }
+
+ // FIXME: phantomChildren doesn't actually belong in the package.json
+ if (tree.package._phantomChildren && tree.package._phantomChildren[pkg.name]) return null
+
+ if (!tree.parent) return tree
+ if (tree.isGlobal) return tree
+
+ return (earliestInstallable(requiredBy, tree.parent, pkg) || tree)
+}
diff --git a/deps/npm/lib/install/diff-trees.js b/deps/npm/lib/install/diff-trees.js
new file mode 100644
index 0000000000..768bcde55f
--- /dev/null
+++ b/deps/npm/lib/install/diff-trees.js
@@ -0,0 +1,159 @@
+'use strict'
+var validate = require('aproba')
+var npa = require('npm-package-arg')
+var flattenTree = require('./flatten-tree.js')
+
+function nonRegistrySource (pkg) {
+ validate('O', arguments)
+ var requested = pkg._requested || (pkg._from && npa(pkg._from))
+ if (!requested) return false
+
+ if (requested.type === 'hosted') return true
+ if (requested.type === 'local') return true
+ return false
+}
+
+function pkgAreEquiv (aa, bb) {
+ var aaSha = (aa.dist && aa.dist.shasum) || aa._shasum
+ var bbSha = (bb.dist && bb.dist.shasum) || bb._shasum
+ if (aaSha === bbSha) return true
+ if (aaSha || bbSha) return false
+ if (nonRegistrySource(aa) || nonRegistrySource(bb)) return false
+ if (aa.version === bb.version) return true
+ return false
+}
+
+function getNameAndVersion (pkg) {
+ var versionspec = pkg._shasum
+
+ if (!versionspec && nonRegistrySource(pkg)) {
+ if (pkg._requested) {
+ versionspec = pkg._requested.spec
+ } else if (pkg._from) {
+ versionspec = npa(pkg._from).spec
+ }
+ }
+ if (!versionspec) {
+ versionspec = pkg.version
+ }
+ return pkg.name + '@' + versionspec
+}
+
+function pushAll (aa, bb) {
+ Array.prototype.push.apply(aa, bb)
+}
+
+module.exports = function (oldTree, newTree, differences, log, next) {
+ validate('OOAOF', arguments)
+ pushAll(differences, sortActions(diffTrees(oldTree, newTree)))
+ log.finish()
+ next()
+}
+
+function isLink (node) {
+ return node && node.isLink
+}
+
+function requiredByAllLinked (node) {
+ if (!node.requiredBy.length) return false
+ return node.requiredBy.filter(isLink).length === node.requiredBy.length
+}
+
+function isNotReqByTop (req) {
+ return req !== '/' && // '/' is the top level itself
+ req !== '#USER' && // #USER
+ req !== '#EXTRANEOUS'
+}
+
+var sortActions = module.exports.sortActions = function (differences) {
+ var actions = {}
+ differences.forEach(function (action) {
+ var child = action[1]
+ actions[child.package._location] = action
+ })
+
+ var sorted = []
+ var added = {}
+
+ var sortedlocs = Object.keys(actions).sort(sortByLocation)
+
+ // Do top level deps first, this stops the sorting by required order from
+ // unsorting these deps.
+ var toplocs = sortedlocs.filter(function (location) {
+ var mod = actions[location][1]
+ if (!mod.package._requiredBy) return true
+ // If the module is required by ANY non-top level package
+ // then we don't want to include this.
+ return !mod.package._requiredBy.some(isNotReqByTop)
+ })
+
+ toplocs.concat(sortedlocs).forEach(function (location) {
+ sortByDeps(actions[location])
+ })
+
+ function sortByLocation (aa, bb) {
+ return bb.localeCompare(aa)
+ }
+ function sortByDeps (action) {
+ var mod = action[1]
+ if (added[mod.package._location]) return
+ added[mod.package._location] = action
+ mod.package._requiredBy.sort().forEach(function (location) {
+ if (actions[location]) sortByDeps(actions[location])
+ })
+ sorted.unshift(action)
+ }
+
+ return sorted
+}
+
+function diffTrees (oldTree, newTree) {
+ validate('OO', arguments)
+ var differences = []
+ var flatOldTree = flattenTree(oldTree)
+ var flatNewTree = flattenTree(newTree)
+ var toRemove = {}
+ var toRemoveByNameAndVer = {}
+ // find differences
+ Object.keys(flatOldTree).forEach(function (flatname) {
+ if (flatNewTree[flatname]) return
+ var pkg = flatOldTree[flatname]
+ toRemove[flatname] = pkg
+ var namever = getNameAndVersion(pkg.package)
+ if (!toRemoveByNameAndVer[namever]) toRemoveByNameAndVer[namever] = []
+ toRemoveByNameAndVer[namever].push(flatname)
+ })
+ Object.keys(flatNewTree).forEach(function (path) {
+ var pkg = flatNewTree[path]
+ pkg.oldPkg = flatOldTree[path]
+ pkg.isInLink = (pkg.oldPkg && isLink(pkg.oldPkg.parent)) ||
+ (pkg.parent && isLink(pkg.parent)) ||
+ requiredByAllLinked(pkg)
+ if (pkg.fromBundle) return
+ if (pkg.oldPkg) {
+ if (!pkg.directlyRequested && pkgAreEquiv(pkg.oldPkg.package, pkg.package)) return
+ if (!pkg.isInLink && (isLink(pkg.oldPkg) || isLink(pkg))) {
+ differences.push(['update-linked', pkg])
+ } else {
+ differences.push(['update', pkg])
+ }
+ } else {
+ var vername = getNameAndVersion(pkg.package)
+ if (toRemoveByNameAndVer[vername] && toRemoveByNameAndVer[vername].length) {
+ var flatname = toRemoveByNameAndVer[vername].shift()
+ pkg.fromPath = toRemove[flatname].path
+ differences.push(['move', pkg])
+ delete toRemove[flatname]
+ } else {
+ differences.push(['add', pkg])
+ }
+ }
+ })
+ Object
+ .keys(toRemove)
+ .map(function (path) { return toRemove[path] })
+ .forEach(function (pkg) {
+ differences.push(['remove', pkg])
+ })
+ return differences
+}
diff --git a/deps/npm/lib/install/exists.js b/deps/npm/lib/install/exists.js
new file mode 100644
index 0000000000..59100d63ba
--- /dev/null
+++ b/deps/npm/lib/install/exists.js
@@ -0,0 +1,27 @@
+'use strict'
+var fs = require('fs')
+var inflight = require('inflight')
+var accessError = require('./access-error.js')
+var isFsAccessAvailable = require('./is-fs-access-available.js')
+
+if (isFsAccessAvailable) {
+ module.exports = fsAccessImplementation
+} else {
+ module.exports = fsStatImplementation
+}
+
+// exposed only for testing purposes
+module.exports.fsAccessImplementation = fsAccessImplementation
+module.exports.fsStatImplementation = fsStatImplementation
+
+function fsAccessImplementation (dir, done) {
+ done = inflight('exists:' + dir, done)
+ if (!done) return
+ fs.access(dir, fs.F_OK, done)
+}
+
+function fsStatImplementation (dir, done) {
+ done = inflight('exists:' + dir, done)
+ if (!done) return
+ fs.stat(dir, function (er) { done(accessError(dir, er)) })
+}
diff --git a/deps/npm/lib/install/filter-invalid-actions.js b/deps/npm/lib/install/filter-invalid-actions.js
new file mode 100644
index 0000000000..55278ed829
--- /dev/null
+++ b/deps/npm/lib/install/filter-invalid-actions.js
@@ -0,0 +1,36 @@
+'use strict'
+var path = require('path')
+var validate = require('aproba')
+var log = require('npmlog')
+var getPackageId = require('./get-package-id.js')
+
+module.exports = function (top, differences, next) {
+ validate('SAF', arguments)
+ var action
+ var keep = []
+
+ differences.forEach(function (action) {
+ var cmd = action[0]
+ var pkg = action[1]
+ if (cmd === 'remove') {
+ pkg.removing = true
+ }
+ })
+
+ /*eslint no-cond-assign:0*/
+ while (action = differences.shift()) {
+ var cmd = action[0]
+ var pkg = action[1]
+ if (pkg.isInLink || pkg.parent.target || pkg.parent.isLink) {
+ // we want to skip warning if this is a child of another module that we're removing
+ if (!pkg.parent.removing) {
+ log.warn('skippingAction', 'Module is inside a symlinked module: not running ' +
+ cmd + ' ' + getPackageId(pkg) + ' ' + path.relative(top, pkg.path))
+ }
+ } else {
+ keep.push(action)
+ }
+ }
+ differences.push.apply(differences, keep)
+ next()
+}
diff --git a/deps/npm/lib/install/flatten-tree.js b/deps/npm/lib/install/flatten-tree.js
new file mode 100644
index 0000000000..a0c6b7a79d
--- /dev/null
+++ b/deps/npm/lib/install/flatten-tree.js
@@ -0,0 +1,29 @@
+'use strict'
+var validate = require('aproba')
+
+module.exports = function (tree) {
+ validate('O', arguments)
+ var seen = {}
+ var flat = {}
+ var todo = [[tree, '/']]
+ while (todo.length) {
+ var next = todo.shift()
+ var pkg = next[0]
+ seen[pkg.path] = true
+ var path = next[1]
+ flat[path] = pkg
+ if (path !== '/') path += '/'
+ for (var ii = 0; ii < pkg.children.length; ++ii) {
+ var child = pkg.children[ii]
+ if (!seen[child.path]) {
+ todo.push([child, flatName(path, child)])
+ }
+ }
+ }
+ return flat
+}
+
+var flatName = module.exports.flatName = function (path, child) {
+ validate('SO', arguments)
+ return path + (child.package.name || 'TOP')
+}
diff --git a/deps/npm/lib/install/get-package-id.js b/deps/npm/lib/install/get-package-id.js
new file mode 100644
index 0000000000..076eb1423a
--- /dev/null
+++ b/deps/npm/lib/install/get-package-id.js
@@ -0,0 +1,19 @@
+'use strict'
+var path = require('path')
+
+module.exports = function (tree) {
+ var pkg = tree.package || tree
+ // FIXME: Excluding the '@' here is cleaning up after the mess that
+ // read-package-json makes. =(
+ if (pkg._id && pkg._id !== '@') return pkg._id
+ var name = pkg.name || (tree && tree.logical && path.basename(tree.logical))
+ if (name && pkg.version) {
+ return name + '@' + pkg.version
+ } else if (tree) {
+ return tree.path
+ } else if (name) {
+ return name
+ } else {
+ return ''
+ }
+}
diff --git a/deps/npm/lib/install/inflate-bundled.js b/deps/npm/lib/install/inflate-bundled.js
new file mode 100644
index 0000000000..c27acd1dc0
--- /dev/null
+++ b/deps/npm/lib/install/inflate-bundled.js
@@ -0,0 +1,15 @@
+'use strict'
+var path = require('path')
+var validate = require('aproba')
+
+module.exports = function inflateBundled (parent, children) {
+ validate('OA', arguments)
+ children.forEach(function (child) {
+ child.fromBundle = true
+ child.parent = parent
+ child.path = path.join(parent.path, child.package.name)
+ child.realpath = path.resolve(parent.realpath, child.package.name)
+ child.isLink = child.isLink || parent.isLink || parent.target
+ inflateBundled(child, child.children)
+ })
+}
diff --git a/deps/npm/lib/install/inflate-shrinkwrap.js b/deps/npm/lib/install/inflate-shrinkwrap.js
new file mode 100644
index 0000000000..dd32583f6d
--- /dev/null
+++ b/deps/npm/lib/install/inflate-shrinkwrap.js
@@ -0,0 +1,58 @@
+'use strict'
+var path = require('path')
+var url = require('url')
+var asyncMap = require('slide').asyncMap
+var validate = require('aproba')
+var iferr = require('iferr')
+var fetchPackageMetadata = require('../fetch-package-metadata.js')
+var addShrinkwrap = require('../fetch-package-metadata.js').addShrinkwrap
+var addBundled = require('../fetch-package-metadata.js').addBundled
+var inflateBundled = require('./inflate-bundled.js')
+var npm = require('../npm.js')
+var createChild = require('./node.js').create
+
+var inflateShrinkwrap = module.exports = function (tree, swdeps, finishInflating) {
+ validate('OOF', arguments)
+ if (!npm.config.get('shrinkwrap')) return finishInflating()
+ var onDisk = {}
+ tree.children.forEach(function (child) { onDisk[child.package.name] = child })
+ tree.children = []
+ asyncMap(Object.keys(swdeps), function (name, next) {
+ var sw = swdeps[name]
+ var spec = sw.resolved
+ ? name + '@' + sw.resolved
+ : (sw.from && url.parse(sw.from).protocol)
+ ? name + '@' + sw.from
+ : name + '@' + sw.version
+ var child = onDisk[name]
+ if (child && (child.fromShrinkwrap ||
+ (sw.resolved && child.package._resolved === sw.resolved) ||
+ (sw.from && url.parse(sw.from).protocol && child.package._from === sw.from) ||
+ child.package.version === sw.version)) {
+ if (!child.fromShrinkwrap) child.fromShrinkwrap = spec
+ tree.children.push(child)
+ return next()
+ }
+ fetchPackageMetadata(spec, tree.path, iferr(next, function (pkg) {
+ pkg._from = sw.from || spec
+ addShrinkwrap(pkg, iferr(next, function () {
+ addBundled(pkg, iferr(next, function () {
+ var child = createChild({
+ package: pkg,
+ loaded: false,
+ parent: tree,
+ fromShrinkwrap: spec,
+ path: path.join(tree.path, 'node_modules', pkg.name),
+ realpath: path.resolve(tree.realpath, 'node_modules', pkg.name),
+ children: pkg._bundled || []
+ })
+ tree.children.push(child)
+ if (pkg._bundled) {
+ inflateBundled(child, child.children)
+ }
+ inflateShrinkwrap(child, sw.dependencies || {}, next)
+ }))
+ }))
+ }))
+ }, finishInflating)
+}
diff --git a/deps/npm/lib/install/is-dev.js b/deps/npm/lib/install/is-dev.js
new file mode 100644
index 0000000000..b1f2c4b661
--- /dev/null
+++ b/deps/npm/lib/install/is-dev.js
@@ -0,0 +1,7 @@
+'use strict'
+var isDev = exports.isDev = function (node) {
+ return node.package._requiredBy.some(function (req) { return req === '#DEV:/' })
+}
+exports.isOnlyDev = function (node) {
+ return node.package._requiredBy.length === 1 && isDev(node)
+}
diff --git a/deps/npm/lib/install/is-extraneous.js b/deps/npm/lib/install/is-extraneous.js
new file mode 100644
index 0000000000..cd4d954668
--- /dev/null
+++ b/deps/npm/lib/install/is-extraneous.js
@@ -0,0 +1,14 @@
+'use strict'
+var path = require('path')
+var isDev = require('./is-dev.js').isDev
+var npm = require('../npm.js')
+
+module.exports = function (tree) {
+ var pkg = tree.package
+ var requiredBy = pkg._requiredBy.filter(function (req) { return req[0] !== '#' })
+ var isTopLevel = tree.parent == null
+ var isChildOfTop = !isTopLevel && tree.parent.parent == null
+ var isTopGlobal = isChildOfTop && tree.parent.path === path.resolve(npm.globalDir, '..')
+ var topHasNoPackageJson = isChildOfTop && tree.parent.error
+ return !isTopLevel && (!isChildOfTop || !topHasNoPackageJson) && !isTopGlobal && requiredBy.length === 0 && !isDev(tree)
+}
diff --git a/deps/npm/lib/install/is-fs-access-available.js b/deps/npm/lib/install/is-fs-access-available.js
new file mode 100644
index 0000000000..a7d2640d79
--- /dev/null
+++ b/deps/npm/lib/install/is-fs-access-available.js
@@ -0,0 +1,22 @@
+'use strict'
+var fs = require('fs')
+var semver = require('semver')
+var isWindows = process.platform === 'win32'
+
+// fs.access first introduced in node 0.12 / io.js
+if (!fs.access) {
+ module.exports = false
+} else if (!isWindows) {
+ // fs.access always works on non-Windows OSes
+ module.exports = true
+} else {
+ // The Windows implementation of `fs.access` has a bug where it will
+ // sometimes return access errors all the time for directories, even
+ // when access is available. As all we actually test ARE directories, this
+ // is a bit of a problem.
+ // This was fixed in io.js version 1.5.0
+ // As of 2015-07-20, it is still unfixed in node:
+ // https://github.com/joyent/node/issues/25657
+
+ module.exports = semver.gte(process.version, '1.5.0')
+}
diff --git a/deps/npm/lib/install/mutate-into-logical-tree.js b/deps/npm/lib/install/mutate-into-logical-tree.js
new file mode 100644
index 0000000000..0fbedcb9d2
--- /dev/null
+++ b/deps/npm/lib/install/mutate-into-logical-tree.js
@@ -0,0 +1,112 @@
+'use strict'
+var union = require('lodash.union')
+var without = require('lodash.without')
+var validate = require('aproba')
+var flattenTree = require('./flatten-tree.js')
+var isExtraneous = require('./is-extraneous.js')
+var validateAllPeerDeps = require('./deps.js').validateAllPeerDeps
+var getPackageId = require('./get-package-id.js')
+
+var mutateIntoLogicalTree = module.exports = function (tree) {
+ validate('O', arguments)
+
+ validateAllPeerDeps(tree, function (tree, pkgname, version) {
+ if (!tree.missingPeers) tree.missingPeers = {}
+ tree.missingPeers[pkgname] = version
+ })
+
+ var flat = flattenTree(tree)
+
+ function getNode (flatname) {
+ return flatname.substr(0, 5) === '#DEV:' ?
+ flat[flatname.substr(5)] :
+ flat[flatname]
+ }
+
+ Object.keys(flat).sort().forEach(function (flatname) {
+ var node = flat[flatname]
+ var requiredBy = node.package._requiredBy || []
+ var requiredByNames = requiredBy.filter(function (parentFlatname) {
+ var parentNode = getNode(parentFlatname)
+ if (!parentNode) return false
+ return parentNode.package.dependencies[node.package.name] ||
+ (parentNode.package.devDependencies && parentNode.package.devDependencies[node.package.name])
+ })
+ requiredBy = requiredByNames.map(getNode)
+
+ node.requiredBy = requiredBy
+
+ if (!requiredBy.length) return
+
+ if (node.parent) node.parent.children = without(node.parent.children, node)
+
+ requiredBy.forEach(function (parentNode) {
+ parentNode.children = union(parentNode.children, [node])
+ })
+ if (node.package._requiredBy.some(function (nodename) { return nodename[0] === '#' })) {
+ tree.children = union(tree.children, [node])
+ }
+ })
+ return tree
+}
+
+module.exports.asReadInstalled = function (tree) {
+ mutateIntoLogicalTree(tree)
+ return translateTree(tree)
+}
+
+function translateTree (tree) {
+ return translateTree_(tree, {})
+}
+
+function translateTree_ (tree, seen) {
+ var pkg = tree.package
+ if (seen[tree.path]) return pkg
+ seen[tree.path] = pkg
+ if (pkg._dependencies) return pkg
+ pkg._dependencies = pkg.dependencies
+ pkg.dependencies = {}
+ tree.children.forEach(function (child) {
+ pkg.dependencies[child.package.name] = translateTree_(child, seen)
+ })
+ Object.keys(tree.missingDeps).forEach(function (name) {
+ if (pkg.dependencies[name]) {
+ pkg.dependencies[name].invalid = true
+ pkg.dependencies[name].realName = name
+ pkg.dependencies[name].extraneous = false
+ } else {
+ pkg.dependencies[name] = {
+ requiredBy: tree.missingDeps[name],
+ missing: true,
+ optional: !!pkg.optionalDependencies[name]
+ }
+ }
+ })
+ var checkForMissingPeers = (tree.parent ? [] : [tree]).concat(tree.children)
+ checkForMissingPeers.filter(function (child) {
+ return child.missingPeers
+ }).forEach(function (child) {
+ Object.keys(child.missingPeers).forEach(function (pkgname) {
+ var version = child.missingPeers[pkgname]
+ var peerPkg = pkg.dependencies[pkgname]
+ if (!peerPkg) {
+ peerPkg = pkg.dependencies[pkgname] = {
+ _id: pkgname + '@' + version,
+ name: pkgname,
+ version: version
+ }
+ }
+ if (!peerPkg.peerMissing) peerPkg.peerMissing = []
+ peerPkg.peerMissing.push({
+ requiredBy: getPackageId(child),
+ requires: pkgname + '@' + version
+ })
+ })
+ })
+ pkg.path = tree.path
+
+ pkg.error = tree.error
+ pkg.extraneous = isExtraneous(tree)
+ if (tree.target && tree.parent && !tree.parent.target) pkg.link = tree.realpath
+ return pkg
+}
diff --git a/deps/npm/lib/install/node.js b/deps/npm/lib/install/node.js
new file mode 100644
index 0000000000..c76dc765ba
--- /dev/null
+++ b/deps/npm/lib/install/node.js
@@ -0,0 +1,61 @@
+'use strict'
+
+var defaultTemplate = {
+ package: {
+ dependencies: {},
+ devDependencies: {},
+ optionalDependencies: {},
+ _requiredBy: [],
+ _phantomChildren: {}
+ },
+ loaded: false,
+ children: [],
+ requiredBy: [],
+ requires: [],
+ missingDeps: {},
+ missingDevDeps: {},
+ path: null,
+ realpath: null,
+ userRequired: false,
+ existing: false
+}
+
+function isLink (node) {
+ return node && node.isLink
+}
+
+var create = exports.create = function (node, template) {
+ if (!template) template = defaultTemplate
+ Object.keys(template).forEach(function (key) {
+ if (template[key] != null && typeof template[key] === 'object' && !(template[key] instanceof Array)) {
+ if (!node[key]) node[key] = {}
+ return create(node[key], template[key])
+ }
+ if (node[key] != null) return
+ node[key] = template[key]
+ })
+ if (isLink(node) || isLink(node.parent)) {
+ node.isLink = true
+ }
+ return node
+}
+
+exports.reset = function (node) {
+ reset(node, {})
+}
+
+function reset (node, seen) {
+ if (seen[node.path]) return
+ seen[node.path] = true
+ var child = create(node)
+ child.package._requiredBy = child.package._requiredBy.filter(function (req) {
+ return req[0] === '#'
+ })
+ child.requiredBy = []
+ child.package._phantomChildren = {}
+ // FIXME: cleaning up after read-package-json's mess =(
+ if (child.package._id === '@') delete child.package._id
+ child.missingDeps = {}
+ child.children.forEach(function (child) { reset(child, seen) })
+ if (!child.package.version) child.package.version = ''
+}
diff --git a/deps/npm/lib/install/prune-tree.js b/deps/npm/lib/install/prune-tree.js
new file mode 100644
index 0000000000..eb3edf4f75
--- /dev/null
+++ b/deps/npm/lib/install/prune-tree.js
@@ -0,0 +1,36 @@
+'use strict'
+var validate = require('aproba')
+var flattenTree = require('./flatten-tree.js')
+
+function isNotPackage (mod) {
+ return function (parentMod) { return mod !== parentMod }
+}
+
+module.exports = function pruneTree (tree) {
+ validate('O', arguments)
+ var flat = flattenTree(tree)
+ // we just do this repeatedly until there are no more orphaned packages
+ // which isn't as effecient as it could be on a REALLY big tree
+ // but we'll face that if it proves to be an issue
+ var removedPackage
+ do {
+ removedPackage = false
+ Object.keys(flat).forEach(function (flatname) {
+ var child = flat[flatname]
+ if (!child.parent) return
+ child.package._requiredBy = (child.package._requiredBy || []).filter(function (req) {
+ var isDev = req.substr(0, 4) === '#DEV'
+ if (req[0] === '#' && !isDev) return true
+ if (flat[req]) return true
+ if (!isDev) return false
+ var reqChildAsDevDep = flat[req.substr(5)]
+ return reqChildAsDevDep && !reqChildAsDevDep.parent
+ })
+ if (!child.package._requiredBy.length) {
+ removedPackage = true
+ delete flat[flatname]
+ child.parent.children = child.parent.children.filter(isNotPackage(child))
+ }
+ })
+ } while (removedPackage)
+}
diff --git a/deps/npm/lib/install/read-shrinkwrap.js b/deps/npm/lib/install/read-shrinkwrap.js
new file mode 100644
index 0000000000..35180b688d
--- /dev/null
+++ b/deps/npm/lib/install/read-shrinkwrap.js
@@ -0,0 +1,32 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var iferr = require('iferr')
+var inflateShrinkwrap = require('./inflate-shrinkwrap.js')
+var parseJSON = require('../utils/parse-json.js')
+
+var readShrinkwrap = module.exports = function (child, next) {
+ fs.readFile(path.join(child.path, 'npm-shrinkwrap.json'), function (er, data) {
+ if (er) {
+ child.package._shrinkwrap = null
+ return next()
+ }
+ try {
+ child.package._shrinkwrap = parseJSON(data)
+ } catch (ex) {
+ child.package._shrinkwrap = null
+ return next(ex)
+ }
+ return next()
+ })
+}
+
+module.exports.andInflate = function (child, next) {
+ readShrinkwrap(child, iferr(next, function () {
+ if (child.package._shrinkwrap) {
+ return inflateShrinkwrap(child, child.package._shrinkwrap.dependencies || {}, next)
+ } else {
+ return next()
+ }
+ }))
+}
diff --git a/deps/npm/lib/install/save.js b/deps/npm/lib/install/save.js
new file mode 100644
index 0000000000..dffd3a0cd5
--- /dev/null
+++ b/deps/npm/lib/install/save.js
@@ -0,0 +1,199 @@
+'use strict'
+var fs = require('graceful-fs')
+var path = require('path')
+var url = require('url')
+var writeFileAtomic = require('write-file-atomic')
+var log = require('npmlog')
+var semver = require('semver')
+var iferr = require('iferr')
+var validate = require('aproba')
+var without = require('lodash.without')
+var npm = require('../npm.js')
+var deepSortObject = require('../utils/deep-sort-object.js')
+var parseJSON = require('../utils/parse-json.js')
+
+// if the -S|--save option is specified, then write installed packages
+// as dependencies to a package.json file.
+
+exports.saveRequested = function (args, tree, andReturn) {
+ validate('AOF', arguments)
+ savePackageJson(args, tree, andWarnErrors(andSaveShrinkwrap(tree, andReturn)))
+}
+
+function andSaveShrinkwrap (tree, andReturn) {
+ validate('OF', arguments)
+ return function (er) {
+ validate('E', arguments)
+ saveShrinkwrap(tree, andWarnErrors(andReturn))
+ }
+}
+
+function andWarnErrors (cb) {
+ validate('F', arguments)
+ return function (er) {
+ if (er) log.warn('saveError', er.message)
+ arguments[0] = null
+ cb.apply(null, arguments)
+ }
+}
+
+function saveShrinkwrap (tree, next) {
+ validate('OF', arguments)
+ var saveTarget = path.resolve(tree.path, 'npm-shrinkwrap.json')
+ fs.stat(saveTarget, function (er, stat) {
+ if (er) return next()
+ var save = npm.config.get('save')
+ var saveDev = npm.config.get('save-dev')
+ var saveOptional = npm.config.get('save-optional')
+ if (!saveOptional && saveDev) return next()
+ if (saveOptional || !save) return next()
+ npm.commands.shrinkwrap([], true, next)
+ })
+}
+
+function savePackageJson (args, tree, next) {
+ validate('AOF', arguments)
+ var saveBundle = npm.config.get('save-bundle')
+
+ // each item in the tree is a top-level thing that should be saved
+ // to the package.json file.
+ // The relevant tree shape is { <folder>: {what:<pkg>} }
+ var saveTarget = path.resolve(tree.path, 'package.json')
+ // don't use readJson, because we don't want to do all the other
+ // tricky npm-specific stuff that's in there.
+ fs.readFile(saveTarget, iferr(next, function (packagejson) {
+ try {
+ packagejson = parseJSON(packagejson)
+ } catch (ex) {
+ return next(ex)
+ }
+
+ // If we're saving bundled deps, normalize the key before we start
+ if (saveBundle) {
+ var bundle = packagejson.bundleDependencies || packagejson.bundledDependencies
+ delete packagejson.bundledDependencies
+ if (!Array.isArray(bundle)) bundle = []
+ }
+
+ var toSave = getThingsToSave(tree)
+ var toRemove = getThingsToRemove(args, tree)
+ var savingTo = {}
+ toSave.forEach(function (pkg) { savingTo[pkg.save] = true })
+ toRemove.forEach(function (pkg) { savingTo[pkg.save] = true })
+
+ Object.keys(savingTo).forEach(function (save) {
+ if (!packagejson[save]) packagejson[save] = {}
+ })
+
+ log.verbose('saving', toSave)
+ toSave.forEach(function (pkg) {
+ packagejson[pkg.save][pkg.name] = pkg.spec
+ if (saveBundle) {
+ var ii = bundle.indexOf(pkg.name)
+ if (ii === -1) bundle.push(pkg.name)
+ }
+ })
+
+ toRemove.forEach(function (pkg) {
+ delete packagejson[pkg.save][pkg.name]
+ if (saveBundle) {
+ bundle = without(bundle, pkg.name)
+ }
+ })
+
+ Object.keys(savingTo).forEach(function (key) {
+ packagejson[key] = deepSortObject(packagejson[key])
+ })
+ if (saveBundle) {
+ packagejson.bundledDependencies = deepSortObject(bundle)
+ }
+
+ var json = JSON.stringify(packagejson, null, 2) + '\n'
+ writeFileAtomic(saveTarget, json, next)
+ }))
+}
+
+var getSaveType = exports.getSaveType = function (args) {
+ validate('A', arguments)
+ var nothingToSave = !args.length
+ var globalInstall = npm.config.get('global')
+ var noSaveFlags = !npm.config.get('save') &&
+ !npm.config.get('save-dev') &&
+ !npm.config.get('save-optional')
+ if (nothingToSave || globalInstall || noSaveFlags) return null
+
+ if (npm.config.get('save-optional')) return 'optionalDependencies'
+ else if (npm.config.get('save-dev')) return 'devDependencies'
+ else return 'dependencies'
+}
+
+function computeVersionSpec (child) {
+ validate('O', arguments)
+ var requested = child.package._requested
+ if (!requested || requested.type === 'tag') {
+ requested = {
+ type: 'version',
+ spec: child.package.version
+ }
+ }
+ if (requested.type === 'version' || requested.type === 'range') {
+ var version = child.package.version
+ var rangeDescriptor = ''
+ if (semver.valid(version, true) &&
+ semver.gte(version, '0.1.0', true) &&
+ !npm.config.get('save-exact')) {
+ rangeDescriptor = npm.config.get('save-prefix')
+ }
+ return rangeDescriptor + version
+ } else if (requested.type === 'directory' || requested.type === 'local') {
+ var relativePath = path.relative(child.parent.path, requested.spec)
+ if (/^[.][.]/.test(relativePath)) {
+ return url.format({
+ protocol: 'file',
+ slashes: true,
+ pathname: requested.spec
+ })
+ } else {
+ return url.format({
+ protocol: 'file',
+ slashes: false,
+ pathname: relativePath
+ })
+ }
+ } else {
+ return requested.spec
+ }
+}
+
+function getThingsToSave (tree) {
+ validate('O', arguments)
+ var toSave = tree.children.filter(function (child) {
+ return child.save
+ }).map(function (child) {
+ return {
+ name: child.package.name,
+ spec: computeVersionSpec(child),
+ save: child.save
+ }
+ })
+ return toSave
+}
+
+function getThingsToRemove (args, tree) {
+ validate('AO', arguments)
+ if (!tree.removed) return []
+ var toRemove = tree.removed.map(function (child) {
+ return {
+ name: child.package.name,
+ save: child.save
+ }
+ })
+ var saveType = getSaveType(args)
+ args.forEach(function (arg) {
+ toRemove.push({
+ name: arg,
+ save: saveType
+ })
+ })
+ return toRemove
+}
diff --git a/deps/npm/lib/install/update-package-json.js b/deps/npm/lib/install/update-package-json.js
new file mode 100644
index 0000000000..97b2f05bb0
--- /dev/null
+++ b/deps/npm/lib/install/update-package-json.js
@@ -0,0 +1,18 @@
+'use strict'
+var path = require('path')
+var writeFileAtomic = require('write-file-atomic')
+var deepSortObject = require('../utils/deep-sort-object.js')
+
+module.exports = function (pkg, buildpath, next) {
+ // FIXME: This bundled dance is because we're sticking a big tree of bundled
+ // deps into the parsed package.json– it probably doesn't belong there =/
+ // But the real reason we don't just dump it out is that it's the result
+ // of npm-read-tree, which produces circular data structures, due to the
+ // parent and children keys.
+ var bundled = pkg.package._bundled
+ delete pkg.package._bundled // FIXME
+ var packagejson = deepSortObject(pkg.package)
+ var data = JSON.stringify(packagejson, null, 2) + '\n'
+ pkg.package._bundled = bundled
+ writeFileAtomic(path.resolve(buildpath, 'package.json'), data, next)
+}
diff --git a/deps/npm/lib/install/validate-args.js b/deps/npm/lib/install/validate-args.js
new file mode 100644
index 0000000000..75ae3e362a
--- /dev/null
+++ b/deps/npm/lib/install/validate-args.js
@@ -0,0 +1,44 @@
+'use strict'
+var validate = require('aproba')
+var asyncMap = require('slide').asyncMap
+var chain = require('slide').chain
+var npmInstallChecks = require('npm-install-checks')
+var checkEngine = npmInstallChecks.checkEngine
+var checkPlatform = npmInstallChecks.checkPlatform
+var npm = require('../npm.js')
+
+module.exports = function (idealTree, args, next) {
+ validate('OAF', arguments)
+ var force = npm.config.get('force')
+
+ asyncMap(args, function (pkg, done) {
+ chain([
+ [checkSelf, idealTree, pkg, force],
+ [isInstallable, pkg]
+ ], done)
+ }, next)
+}
+
+var isInstallable = module.exports.isInstallable = function (pkg, next) {
+ var force = npm.config.get('force')
+ var nodeVersion = npm.config.get('node-version')
+ var strict = npm.config.get('engine-strict')
+ chain([
+ [checkEngine, pkg, npm.version, nodeVersion, force, strict],
+ [checkPlatform, pkg, force]
+ ], next)
+}
+
+function checkSelf (idealTree, pkg, force, next) {
+ if (idealTree.package.name !== pkg.name) return next()
+ if (force) {
+ var warn = new Error("Wouldn't install " + pkg.name + ' as a dependency of itself, but being forced')
+ warn.code = 'ENOSELF'
+ idealTree.warnings.push(warn)
+ next()
+ } else {
+ var er = new Error('Refusing to install ' + pkg.name + ' as a dependency of itself')
+ er.code = 'ENOSELF'
+ next(er)
+ }
+}
diff --git a/deps/npm/lib/install/validate-tree.js b/deps/npm/lib/install/validate-tree.js
new file mode 100644
index 0000000000..f09abedcbe
--- /dev/null
+++ b/deps/npm/lib/install/validate-tree.js
@@ -0,0 +1,69 @@
+'use strict'
+var path = require('path')
+var validate = require('aproba')
+var asyncMap = require('slide').asyncMap
+var chain = require('slide').chain
+var npmInstallChecks = require('npm-install-checks')
+var checkGit = npmInstallChecks.checkGit
+var clone = require('lodash.clonedeep')
+var normalizePackageData = require('normalize-package-data')
+var npm = require('../npm.js')
+var andFinishTracker = require('./and-finish-tracker.js')
+var flattenTree = require('./flatten-tree.js')
+var validateAllPeerDeps = require('./deps.js').validateAllPeerDeps
+var getPackageId = require('./get-package-id.js')
+
+module.exports = function (idealTree, log, next) {
+ validate('OOF', arguments)
+ var moduleMap = flattenTree(idealTree)
+ var modules = Object.keys(moduleMap).map(function (name) { return moduleMap[name] })
+
+ chain([
+ [asyncMap, modules, function (mod, done) {
+ chain([
+ mod.parent && !mod.isLink && [checkGit, mod.realpath],
+ [checkErrors, mod, idealTree]
+ ], done)
+ }],
+ [thenValidateAllPeerDeps, idealTree],
+ [thenCheckTop, idealTree]
+ ], andFinishTracker(log, next))
+}
+
+function checkErrors (mod, idealTree, next) {
+ if (mod.error && (mod.parent || path.resolve(npm.globalDir, '..') !== mod.path)) idealTree.warnings.push(mod.error)
+ next()
+}
+
+function thenValidateAllPeerDeps (idealTree, next) {
+ validate('OF', arguments)
+ validateAllPeerDeps(idealTree, function (tree, pkgname, version) {
+ var warn = new Error(getPackageId(tree) + ' requires a peer of ' + pkgname + '@' +
+ version + ' but none was installed.')
+ warn.code = 'EPEERINVALID'
+ idealTree.warnings.push(warn)
+ })
+ next()
+}
+
+function thenCheckTop (idealTree, next) {
+ validate('OF', arguments)
+ if (idealTree.package.error) return next()
+
+ // FIXME: when we replace read-package-json with something less magic,
+ // this should done elsewhere.
+ // As it is, the package has already been normalized and thus some
+ // errors are suppressed.
+ var pkg = clone(idealTree.package)
+ try {
+ normalizePackageData(pkg, function (warn) {
+ var warnObj = new Error(getPackageId(idealTree) + ' ' + warn)
+ warnObj.code = 'EPACKAGEJSON'
+ idealTree.warnings.push(warnObj)
+ }, false)
+ } catch (er) {
+ er.code = 'EPACKAGEJSON'
+ idealTree.warnings.push(er)
+ }
+ next()
+}
diff --git a/deps/npm/lib/install/writable.js b/deps/npm/lib/install/writable.js
new file mode 100644
index 0000000000..199b48f597
--- /dev/null
+++ b/deps/npm/lib/install/writable.js
@@ -0,0 +1,35 @@
+'use strict'
+var path = require('path')
+var fs = require('fs')
+var inflight = require('inflight')
+var accessError = require('./access-error.js')
+var andIgnoreErrors = require('./and-ignore-errors.js')
+var isFsAccessAvailable = require('./is-fs-access-available.js')
+
+if (isFsAccessAvailable) {
+ module.exports = fsAccessImplementation
+} else {
+ module.exports = fsOpenImplementation
+}
+
+// exposed only for testing purposes
+module.exports.fsAccessImplementation = fsAccessImplementation
+module.exports.fsOpenImplementation = fsOpenImplementation
+
+function fsAccessImplementation (dir, done) {
+ done = inflight('writable:' + dir, done)
+ if (!done) return
+ fs.access(dir, fs.W_OK, done)
+}
+
+function fsOpenImplementation (dir, done) {
+ done = inflight('writable:' + dir, done)
+ if (!done) return
+ var tmp = path.join(dir, '.npm.check.permissions')
+ fs.open(tmp, 'w', function (er, fd) {
+ if (er) return done(accessError(dir, er))
+ fs.close(fd, function () {
+ fs.unlink(tmp, andIgnoreErrors(done))
+ })
+ })
+}
diff --git a/deps/npm/lib/link.js b/deps/npm/lib/link.js
index 19c5dd0629..9a62b06338 100644
--- a/deps/npm/lib/link.js
+++ b/deps/npm/lib/link.js
@@ -1,20 +1,21 @@
// link with no args: symlink the folder to the global location
// link with package arg: symlink the global to the local
-var npm = require("./npm.js")
- , symlink = require("./utils/link.js")
- , fs = require("graceful-fs")
- , log = require("npmlog")
- , asyncMap = require("slide").asyncMap
- , chain = require("slide").chain
- , path = require("path")
- , build = require("./build.js")
- , npa = require("npm-package-arg")
+var npm = require('./npm.js')
+var symlink = require('./utils/link.js')
+var fs = require('graceful-fs')
+var log = require('npmlog')
+var asyncMap = require('slide').asyncMap
+var chain = require('slide').chain
+var path = require('path')
+var build = require('./build.js')
+var npa = require('npm-package-arg')
module.exports = link
-link.usage = "npm link (in package dir)"
- + "\nnpm link <pkg> (link global into local)"
+link.usage = 'npm link (in package dir)' +
+ '\nnpm link [<@scope>/]<pkg>[@<version>]' +
+ '\n\nalias: npm ln'
link.completion = function (opts, cb) {
var dir = npm.globalDir
@@ -37,30 +38,44 @@ function link (args, cb) {
}
}
- if (npm.config.get("global")) {
- return cb(new Error("link should never be --global.\n"
- +"Please re-run this command with --local"))
+ if (npm.config.get('global')) {
+ return cb(new Error(
+ 'link should never be --global.\n' +
+ 'Please re-run this command with --local'
+ ))
}
- if (args.length === 1 && args[0] === ".") args = []
+ if (args.length === 1 && args[0] === '.') args = []
if (args.length) return linkInstall(args, cb)
linkPkg(npm.prefix, cb)
}
+function parentFolder (id, folder) {
+ if (id[0] === '@') {
+ return path.resolve(folder, '..', '..')
+ } else {
+ return path.resolve(folder, '..')
+ }
+}
+
function linkInstall (pkgs, cb) {
asyncMap(pkgs, function (pkg, cb) {
- var t = path.resolve(npm.globalDir, "..")
- , pp = path.resolve(npm.globalDir, pkg)
- , rp = null
- , target = path.resolve(npm.dir, pkg)
+ var t = path.resolve(npm.globalDir, '..')
+ var pp = path.resolve(npm.globalDir, pkg)
+ var rp = null
+ var target = path.resolve(npm.dir, pkg)
function n (er, data) {
if (er) return cb(er, data)
- // install returns [ [folder, pkgId], ... ]
- // but we definitely installed just one thing.
- var d = data.filter(function (d) { return !d[3] })
- var what = npa(d[0][0])
- pp = d[0][1]
+ // we want the ONE thing that was installed into the global dir
+ var installed = data.filter(function (info) {
+ var id = info[0]
+ var folder = info[1]
+ return parentFolder(id, folder) === npm.globalDir
+ })
+ var id = installed[0][0]
+ pp = installed[0][1]
+ var what = npa(id)
pkg = what.name
target = path.resolve(npm.dir, pkg)
next()
@@ -68,7 +83,7 @@ function linkInstall (pkgs, cb) {
// if it's a folder, a random not-installed thing, or not a scoped package,
// then link or install it first
- if (pkg[0] !== "@" && (pkg.indexOf("/") !== -1 || pkg.indexOf("\\") !== -1)) {
+ if (pkg[0] !== '@' && (pkg.indexOf('/') !== -1 || pkg.indexOf('\\') !== -1)) {
return fs.lstat(path.resolve(pkg), function (er, st) {
if (er || !st.isDirectory()) {
npm.commands.install(t, pkg, n)
@@ -82,13 +97,13 @@ function linkInstall (pkgs, cb) {
fs.lstat(pp, function (er, st) {
if (er) {
rp = pp
- return npm.commands.install(t, pkg, n)
+ return npm.commands.install(t, [pkg], n)
} else if (!st.isSymbolicLink()) {
rp = pp
next()
} else {
return fs.realpath(pp, function (er, real) {
- if (er) log.warn("invalid symbolic link", pkg)
+ if (er) log.warn('invalid symbolic link', pkg)
else rp = real
next()
})
@@ -96,39 +111,44 @@ function linkInstall (pkgs, cb) {
})
function next () {
- chain
- ( [ [function (cb) {
- log.verbose("link", "symlinking %s to %s", pp, target)
- cb()
- }]
- , [symlink, pp, target]
+ if (npm.config.get('dry-run')) return resultPrinter(pkg, pp, target, rp, cb)
+ chain(
+ [
+ [function (cb) {
+ log.verbose('link', 'symlinking %s to %s', pp, target)
+ cb()
+ }],
+ [symlink, pp, target],
// do not run any scripts
- , rp && [build, [target], npm.config.get("global"), build._noLC, true]
- , [ resultPrinter, pkg, pp, target, rp ] ]
- , cb )
+ rp && [build, [target], npm.config.get('global'), build._noLC, true],
+ [resultPrinter, pkg, pp, target, rp ]
+ ],
+ cb
+ )
}
}, cb)
}
function linkPkg (folder, cb_) {
var me = folder || npm.prefix
- , readJson = require("read-package-json")
+ var readJson = require('read-package-json')
- log.verbose("linkPkg", folder)
+ log.verbose('linkPkg', folder)
- readJson(path.resolve(me, "package.json"), function (er, d) {
+ readJson(path.resolve(me, 'package.json'), function (er, d) {
function cb (er) {
return cb_(er, [[d && d._id, target, null, null]])
}
if (er) return cb(er)
if (!d.name) {
- er = new Error("Package must have a name field to be linked")
+ er = new Error('Package must have a name field to be linked')
return cb(er)
}
+ if (npm.config.get('dry-run')) return resultPrinter(path.basename(me), me, target, cb)
var target = path.resolve(npm.globalDir, d.name)
symlink(me, target, false, true, function (er) {
if (er) return cb(er)
- log.verbose("link", "build target", target)
+ log.verbose('link', 'build target', target)
// also install missing dependencies.
npm.commands.install(me, [], function (er) {
if (er) return cb(er)
@@ -144,16 +164,21 @@ function linkPkg (folder, cb_) {
}
function resultPrinter (pkg, src, dest, rp, cb) {
- if (typeof cb !== "function") cb = rp, rp = null
+ if (typeof cb !== 'function') {
+ cb = rp
+ rp = null
+ }
var where = dest
- rp = (rp || "").trim()
- src = (src || "").trim()
+ rp = (rp || '').trim()
+ src = (src || '').trim()
// XXX If --json is set, then look up the data from the package.json
- if (npm.config.get("parseable")) {
+ if (npm.config.get('parseable')) {
return parseableOutput(dest, rp || src, cb)
}
if (rp === src) rp = null
- console.log(where + " -> " + src + (rp ? " -> " + rp: ""))
+ log.clearProgress()
+ console.log(where + ' -> ' + src + (rp ? ' -> ' + rp : ''))
+ log.showProgress()
cb()
}
@@ -161,10 +186,12 @@ function parseableOutput (dest, rp, cb) {
// XXX this should match ls --parseable and install --parseable
// look up the data from package.json, format it the same way.
//
- // link is always effectively "long", since it doesn't help much to
+ // link is always effectively 'long', since it doesn't help much to
// *just* print the target folder.
// However, we don't actually ever read the version number, so
// the second field is always blank.
- console.log(dest + "::" + rp)
+ log.clearProgress()
+ console.log(dest + '::' + rp)
+ log.showProgress()
cb()
}
diff --git a/deps/npm/lib/logout.js b/deps/npm/lib/logout.js
index 64635be4de..c1ac2818ef 100644
--- a/deps/npm/lib/logout.js
+++ b/deps/npm/lib/logout.js
@@ -1,39 +1,34 @@
module.exports = logout
-var dezalgo = require("dezalgo")
-var log = require("npmlog")
+var dezalgo = require('dezalgo')
+var log = require('npmlog')
-var npm = require("./npm.js")
-var mapToRegistry = require("./utils/map-to-registry.js")
+var npm = require('./npm.js')
+var mapToRegistry = require('./utils/map-to-registry.js')
-logout.usage = "npm logout [--registry] [--scope]"
+logout.usage = 'npm logout [--registry=<url>] [--scope=<@scope>]'
function logout (args, cb) {
- npm.spinner.start()
cb = dezalgo(cb)
- mapToRegistry("/", npm.config, function (err, uri, auth, normalized) {
+ mapToRegistry('/', npm.config, function (err, uri, auth, normalized) {
if (err) return cb(err)
if (auth.token) {
- log.verbose("logout", "clearing session token for", normalized)
+ log.verbose('logout', 'clearing session token for', normalized)
npm.registry.logout(normalized, { auth: auth }, function (err) {
if (err) return cb(err)
npm.config.clearCredentialsByURI(normalized)
- npm.spinner.stop()
- npm.config.save("user", cb)
+ npm.config.save('user', cb)
})
- }
- else if (auth.username || auth.password) {
- log.verbose("logout", "clearing user credentials for", normalized)
+ } else if (auth.username || auth.password) {
+ log.verbose('logout', 'clearing user credentials for', normalized)
npm.config.clearCredentialsByURI(normalized)
- npm.spinner.stop()
- npm.config.save("user", cb)
- }
- else {
+ npm.config.save('user', cb)
+ } else {
cb(new Error(
- "Not logged in to", normalized + ",", "so can't log out."
+ 'Not logged in to', normalized + ',', "so can't log out."
))
}
})
diff --git a/deps/npm/lib/ls.js b/deps/npm/lib/ls.js
index c7877b925e..1854938eb6 100644
--- a/deps/npm/lib/ls.js
+++ b/deps/npm/lib/ls.js
@@ -1,4 +1,3 @@
-
// show the installed versions of packages
//
// --parseable creates output like this:
@@ -7,74 +6,99 @@
module.exports = exports = ls
-var npm = require("./npm.js")
- , readInstalled = require("read-installed")
- , log = require("npmlog")
- , path = require("path")
- , archy = require("archy")
- , semver = require("semver")
- , url = require("url")
- , color = require("ansicolors")
- , npa = require("npm-package-arg")
-
-ls.usage = "npm ls"
-
-ls.completion = require("./utils/completion/installed-deep.js")
+var path = require('path')
+var url = require('url')
+var readPackageTree = require('read-package-tree')
+var log = require('npmlog')
+var archy = require('archy')
+var semver = require('semver')
+var color = require('ansicolors')
+var npa = require('npm-package-arg')
+var iferr = require('iferr')
+var npm = require('./npm.js')
+var mutateIntoLogicalTree = require('./install/mutate-into-logical-tree.js')
+var recalculateMetadata = require('./install/deps.js').recalculateMetadata
+var getPackageId = require('./install/get-package-id.js')
+
+ls.usage = 'npm ls [[<@scope>/]<pkg> ...]' +
+ '\n\naliases: list, la, ll'
+
+ls.completion = require('./utils/completion/installed-deep.js')
function ls (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
+ var dir = path.resolve(npm.dir, '..')
+ readPackageTree(dir, andRecalculateMetadata(iferr(cb, function (physicalTree) {
+ lsFromTree(dir, physicalTree, args, silent, cb)
+ })))
+}
- var dir = path.resolve(npm.dir, "..")
+function andRecalculateMetadata (next) {
+ return function (er, tree) {
+ recalculateMetadata(tree || {}, log, next)
+ }
+}
- // npm ls 'foo@~1.3' bar 'baz@<2'
- if (!args) args = []
- else args = args.map(function (a) {
- var p = npa(a)
- , name = p.name
- , ver = semver.validRange(p.rawSpec) || ""
+var lsFromTree = ls.fromTree = function (dir, physicalTree, args, silent, cb) {
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
- return [ name, ver ]
- })
+ // npm ls 'foo@~1.3' bar 'baz@<2'
+ if (!args) {
+ args = []
+ } else {
+ args = args.map(function (a) {
+ var p = npa(a)
+ var name = p.name
+ var ver = semver.validRange(p.rawSpec) || ''
+
+ return [ name, ver ]
+ })
+ }
- var depth = npm.config.get("depth")
- var opt = { depth: depth, log: log.warn, dev: true }
- readInstalled(dir, opt, function (er, data) {
- pruneNestedExtraneous(data)
- filterByEnv(data)
- var bfs = bfsify(data, args)
- , lite = getLite(bfs)
-
- if (er || silent) return cb(er, data, lite)
-
- var long = npm.config.get("long")
- , json = npm.config.get("json")
- , out
- if (json) {
- var seen = []
- var d = long ? bfs : lite
- // the raw data can be circular
- out = JSON.stringify(d, function (k, o) {
- if (typeof o === "object") {
- if (-1 !== seen.indexOf(o)) return "[Circular]"
- seen.push(o)
- }
- return o
- }, 2)
- } else if (npm.config.get("parseable")) {
- out = makeParseable(bfs, long, dir)
- } else if (data) {
- out = makeArchy(bfs, long, dir)
- }
- console.log(out)
+ var data = mutateIntoLogicalTree.asReadInstalled(physicalTree)
+
+ pruneNestedExtraneous(data)
+ filterByEnv(data)
+ var bfs = filterFound(bfsify(data), args)
+ var lite = getLite(bfs)
+
+ if (silent) return cb(null, data, lite)
+
+ var long = npm.config.get('long')
+ var json = npm.config.get('json')
+ var out
+ if (json) {
+ var seen = []
+ var d = long ? bfs : lite
+ // the raw data can be circular
+ out = JSON.stringify(d, function (k, o) {
+ if (typeof o === 'object') {
+ if (seen.indexOf(o) !== -1) return '[Circular]'
+ seen.push(o)
+ }
+ return o
+ }, 2)
+ } else if (npm.config.get('parseable')) {
+ out = makeParseable(bfs, long, dir)
+ } else if (data) {
+ out = makeArchy(bfs, long, dir)
+ }
+ console.log(out)
- if (args.length && !data._found) process.exitCode = 1
+ if (args.length && !data._found) process.exitCode = 1
- // if any errors were found, then complain and exit status 1
- if (lite.problems && lite.problems.length) {
- er = lite.problems.join("\n")
- }
- cb(er, data, lite)
- })
+ var er
+ // if any errors were found, then complain and exit status 1
+ if (lite.problems && lite.problems.length) {
+ er = lite.problems.join('\n')
+ }
+ cb(er, data, lite)
}
function pruneNestedExtraneous (data, visited) {
@@ -90,15 +114,15 @@ function pruneNestedExtraneous (data, visited) {
}
function filterByEnv (data) {
- var dev = npm.config.get("dev")
- var production = npm.config.get("production")
- if (dev === production) return
+ var dev = npm.config.get('dev') || /^dev(elopment)?$/.test(npm.config.get('only'))
+ var production = npm.config.get('production') || /^prod(uction)?$/.test(npm.config.get('only'))
var dependencies = {}
var devDependencies = data.devDependencies || []
Object.keys(data.dependencies).forEach(function (name) {
var keys = Object.keys(devDependencies)
- if (production && keys.indexOf(name) !== -1) return
- if (dev && keys.indexOf(name) === -1) return
+ if (production && !dev && keys.indexOf(name) !== -1) return
+ if (dev && !production && keys.indexOf(name) === -1) return
+ if (!dev && keys.indexOf(name) !== -1 && data.dependencies[name].missing) return
dependencies[name] = data.dependencies[name]
})
data.dependencies = dependencies
@@ -111,59 +135,84 @@ function alphasort (a, b) {
: a < b ? -1 : 0
}
+function isCruft (data) {
+ return data.extraneous && data.error && data.error.code === 'ENOTDIR'
+}
+
function getLite (data, noname) {
var lite = {}
- , maxDepth = npm.config.get("depth")
+
+ if (isCruft(data)) return lite
+
+ var maxDepth = npm.config.get('depth')
if (!noname && data.name) lite.name = data.name
if (data.version) lite.version = data.version
if (data.extraneous) {
lite.extraneous = true
lite.problems = lite.problems || []
- lite.problems.push( "extraneous: "
- + data.name + "@" + data.version
- + " " + (data.path || "") )
+ lite.problems.push('extraneous: ' + getPackageId(data) + ' ' + (data.path || ''))
}
- if (data._from)
+ if (data.error && data.path !== path.resolve(npm.globalDir, '..') &&
+ (data.error.code !== 'ENOENT' || noname)) {
+ lite.invalid = true
+ lite.problems = lite.problems || []
+ var message = data.error.message
+ lite.problems.push('error in ' + data.path + ': ' + message)
+ }
+
+ if (data._from) {
lite.from = data._from
+ }
- if (data._resolved)
+ if (data._resolved) {
lite.resolved = data._resolved
+ }
if (data.invalid) {
lite.invalid = true
lite.problems = lite.problems || []
- lite.problems.push( "invalid: "
- + data.name + "@" + data.version
- + " " + (data.path || "") )
+ lite.problems.push('invalid: ' +
+ getPackageId(data) +
+ ' ' + (data.path || ''))
}
if (data.peerInvalid) {
lite.peerInvalid = true
lite.problems = lite.problems || []
- lite.problems.push( "peer invalid: "
- + data.name + "@" + data.version
- + " " + (data.path || "") )
+ lite.problems.push('peer dep not met: ' +
+ getPackageId(data) +
+ ' ' + (data.path || ''))
}
- if (data.dependencies) {
- var deps = Object.keys(data.dependencies)
- if (deps.length) lite.dependencies = deps.map(function (d) {
+ var deps = (data.dependencies && Object.keys(data.dependencies)) || []
+ if (deps.length) {
+ lite.dependencies = deps.map(function (d) {
var dep = data.dependencies[d]
- if (typeof dep === "string") {
+ if (dep.missing && !dep.optional) {
lite.problems = lite.problems || []
var p
if (data.depth > maxDepth) {
- p = "max depth reached: "
+ p = 'max depth reached: '
} else {
- p = "missing: "
+ p = 'missing: '
}
- p += d + "@" + dep
- + ", required by "
- + data.name + "@" + data.version
+ p += d + '@' + dep.requiredBy +
+ ', required by ' +
+ getPackageId(data)
lite.problems.push(p)
- return [d, { required: dep, missing: true }]
+ return [d, { required: dep.requiredBy, missing: true }]
+ } else if (dep.peerMissing) {
+ lite.problems = lite.problems || []
+ dep.peerMissing.forEach(function (missing) {
+ var pdm = 'peer dep missing: ' +
+ missing.requires +
+ ', required by ' +
+ missing.requiredBy
+ lite.problems.push(pdm)
+ })
+ return [d, { required: dep, peerMissing: true }]
}
return [d, getLite(dep, true)]
}).reduce(function (deps, d) {
@@ -178,7 +227,7 @@ function getLite (data, noname) {
return lite
}
-function bfsify (root, args, current, queue, seen) {
+function bfsify (root) {
// walk over the data, and turn it from this:
// +-- a
// | `-- b
@@ -188,137 +237,162 @@ function bfsify (root, args, current, queue, seen) {
// +-- a
// `-- b
// which looks nicer
- args = args || []
- current = current || root
- queue = queue || []
- seen = seen || [root]
- var deps = current.dependencies = current.dependencies || {}
- Object.keys(deps).forEach(function (d) {
- var dep = deps[d]
- if (typeof dep !== "object") return
- if (seen.indexOf(dep) !== -1) {
- if (npm.config.get("parseable") || !npm.config.get("long")) {
- delete deps[d]
- return
- } else {
- dep = deps[d] = Object.create(dep)
- dep.dependencies = {}
+ var queue = [root]
+ var seen = [root]
+
+ while (queue.length) {
+ var current = queue.shift()
+ var deps = current.dependencies = current.dependencies || {}
+ Object.keys(deps).forEach(function (d) {
+ var dep = deps[d]
+ if (dep.missing) return
+ if (seen.indexOf(dep) !== -1) {
+ if (npm.config.get('parseable') || !npm.config.get('long')) {
+ delete deps[d]
+ return
+ } else {
+ dep = deps[d] = Object.create(dep)
+ dep.dependencies = {}
+ }
}
- }
- queue.push(dep)
- seen.push(dep)
- })
-
- if (!queue.length) {
- // if there were args, then only show the paths to found nodes.
- return filterFound(root, args)
+ queue.push(dep)
+ seen.push(dep)
+ })
}
- return bfsify(root, args, queue.shift(), queue, seen)
+
+ return root
}
function filterFound (root, args) {
if (!args.length) return root
var deps = root.dependencies
- if (deps) Object.keys(deps).forEach(function (d) {
- var dep = filterFound(deps[d], args)
-
- // see if this one itself matches
- 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], true)
+ if (deps) {
+ Object.keys(deps).forEach(function (d) {
+ var dep = filterFound(deps[d], args)
+ if (dep.peerMissing) return
+
+ // see if this one itself matches
+ 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], true)
+ }
}
- }
- // included explicitly
- if (found) dep._found = true
- // included because a child was included
- if (dep._found && !root._found) root._found = 1
- // not included
- if (!dep._found) delete deps[d]
- })
+ // included explicitly
+ if (found) dep._found = true
+ // included because a child was included
+ if (dep._found && !root._found) root._found = 1
+ // not included
+ if (!dep._found) delete deps[d]
+ })
+ }
if (!root._found) root._found = false
return root
}
function makeArchy (data, long, dir) {
var out = makeArchy_(data, long, dir, 0)
- return archy(out, "", { unicode: npm.config.get("unicode") })
+ return archy(out, '', { unicode: npm.config.get('unicode') })
}
function makeArchy_ (data, long, dir, depth, parent, d) {
- if (typeof data === "string") {
- if (depth -1 <= npm.config.get("depth")) {
+ if (data.missing) {
+ if (depth - 1 <= npm.config.get('depth')) {
// just missing
- var unmet = "UNMET DEPENDENCY"
+ var unmet = 'UNMET ' + (data.optional ? 'OPTIONAL ' : '') + 'DEPENDENCY'
if (npm.color) {
- unmet = color.bgBlack(color.red(unmet))
+ if (data.optional) {
+ unmet = color.bgBlack(color.yellow(unmet))
+ } else {
+ unmet = color.bgBlack(color.red(unmet))
+ }
}
- data = unmet + " " + d + "@" + data
+ data = unmet + ' ' + d + '@' + data.requiredBy
} else {
- data = d+"@"+ data
+ data = d + '@' + data.requiredBy
}
return data
}
var out = {}
// the top level is a bit special.
- out.label = data._id || ""
+ out.label = data._id || ''
if (data._found === true && data._id) {
if (npm.color) {
- out.label = color.bgBlack(color.yellow(out.label.trim())) + " "
+ out.label = color.bgBlack(color.yellow(out.label.trim())) + ' '
} else {
- out.label = out.label.trim() + " "
+ out.label = out.label.trim() + ' '
}
}
- if (data.link) out.label += " -> " + data.link
+ if (data.link) out.label += ' -> ' + data.link
if (data.invalid) {
- if (data.realName !== data.name) out.label += " ("+data.realName+")"
- var invalid = "invalid"
+ if (data.realName !== data.name) out.label += ' (' + data.realName + ')'
+ var invalid = 'invalid'
if (npm.color) invalid = color.bgBlack(color.red(invalid))
- out.label += " " + invalid
+ out.label += ' ' + invalid
}
if (data.peerInvalid) {
- var peerInvalid = "peer invalid"
+ var peerInvalid = 'peer invalid'
if (npm.color) peerInvalid = color.bgBlack(color.red(peerInvalid))
- out.label += " " + peerInvalid
+ out.label += ' ' + peerInvalid
+ }
+
+ if (data.peerMissing) {
+ var peerMissing = 'UNMET PEER DEPENDENCY'
+ if (npm.color) peerMissing = color.bgBlack(color.red(peerMissing))
+ out.label = peerMissing + ' ' + out.label
}
if (data.extraneous && data.path !== dir) {
- var extraneous = "extraneous"
+ var extraneous = 'extraneous'
if (npm.color) extraneous = color.bgBlack(color.green(extraneous))
- out.label += " " + extraneous
+ out.label += ' ' + extraneous
+ }
+
+ if (data.error && depth) {
+ var message = data.error.message
+ if (message.indexOf('\n')) message = message.slice(0, message.indexOf('\n'))
+ var error = 'error: ' + message
+ if (npm.color) error = color.bgRed(color.brightWhite(error))
+ out.label += ' ' + error
}
// add giturl to name@version
if (data._resolved) {
- var type = npa(data._resolved).type
- var isGit = type === 'git' || type === 'hosted'
- if (isGit) {
- out.label += ' (' + data._resolved + ')'
+ try {
+ var type = npa(data._resolved).type
+ var isGit = type === 'git' || type === 'hosted'
+ if (isGit) {
+ out.label += ' (' + data._resolved + ')'
+ }
+ } catch (ex) {
+ // npa threw an exception then it ain't git so whatev
}
}
if (long) {
- if (dir === data.path) out.label += "\n" + dir
- out.label += "\n" + getExtras(data, dir)
+ if (dir === data.path) out.label += '\n' + dir
+ out.label += '\n' + getExtras(data, dir)
} else if (dir === data.path) {
- if (out.label) out.label += " "
+ if (out.label) out.label += ' '
out.label += dir
}
// now all the children.
out.nodes = []
- if (depth <= npm.config.get("depth")) {
+ if (depth <= npm.config.get('depth')) {
out.nodes = Object.keys(data.dependencies || {})
- .sort(alphasort).map(function (d) {
+ .sort(alphasort).filter(function (d) {
+ return !isCruft(data.dependencies[d])
+ }).map(function (d) {
return makeArchy_(data.dependencies[d], long, dir, depth + 1, data, d)
})
}
if (out.nodes.length === 0 && data.path === dir) {
- out.nodes = ["(empty)"]
+ out.nodes = ['(empty)']
}
return out
@@ -332,16 +406,15 @@ function getExtras (data) {
if (data.homepage) extras.push(data.homepage)
if (data._from) {
var from = data._from
- if (from.indexOf(data.name + "@") === 0) {
+ if (from.indexOf(data.name + '@') === 0) {
from = from.substr(data.name.length + 1)
}
var u = url.parse(from)
if (u.protocol) extras.push(from)
}
- return extras.join("\n")
+ return extras.join('\n')
}
-
function makeParseable (data, long, dir, depth, parent, d) {
depth = depth || 0
@@ -351,36 +424,38 @@ function makeParseable (data, long, dir, depth, parent, d) {
return makeParseable(data.dependencies[d], long, dir, depth + 1, data, d)
}))
.filter(function (x) { return x })
- .join("\n")
+ .join('\n')
}
function makeParseable_ (data, long, dir, depth, parent, d) {
- if (data.hasOwnProperty("_found") && data._found !== true) return ""
-
- if (typeof data === "string") {
- if (data.depth < npm.config.get("depth")) {
- data = npm.config.get("long")
- ? path.resolve(parent.path, "node_modules", d)
- + ":"+d+"@"+JSON.stringify(data)+":INVALID:MISSING"
- : ""
+ if (data.hasOwnProperty('_found') && data._found !== true) return ''
+
+ if (data.missing) {
+ if (depth < npm.config.get('depth')) {
+ data = npm.config.get('long')
+ ? path.resolve(parent.path, 'node_modules', d) +
+ ':' + d + '@' + JSON.stringify(data.requiredBy) + ':INVALID:MISSING'
+ : ''
} else {
- data = path.resolve(data.path || "", "node_modules", d || "")
- + (npm.config.get("long")
- ? ":" + d + "@" + JSON.stringify(data)
- + ":" // no realpath resolved
- + ":MAXDEPTH"
- : "")
+ data = path.resolve(dir || '', 'node_modules', d || '') +
+ (npm.config.get('long')
+ ? ':' + d + '@' + JSON.stringify(data.requiredBy) +
+ ':' + // no realpath resolved
+ ':MAXDEPTH'
+ : '')
}
return data
}
- if (!npm.config.get("long")) return data.path
+ if (!npm.config.get('long')) return data.path
- return data.path
- + ":" + (data._id || "")
- + ":" + (data.realPath !== data.path ? data.realPath : "")
- + (data.extraneous ? ":EXTRANEOUS" : "")
- + (data.invalid ? ":INVALID" : "")
- + (data.peerInvalid ? ":PEERINVALID" : "")
+ return data.path +
+ ':' + (data._id || '') +
+ ':' + (data.realPath !== data.path ? data.realPath : '') +
+ (data.extraneous ? ':EXTRANEOUS' : '') +
+ (data.error && data.path !== path.resolve(npm.globalDir, '..') ? ':ERROR' : '') +
+ (data.invalid ? ':INVALID' : '') +
+ (data.peerInvalid ? ':PEERINVALID' : '') +
+ (data.peerMissing ? ':PEERINVALID:MISSING' : '')
}
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index c049d95ba6..264ad3636e 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -1,469 +1,477 @@
-;(function(){
-// windows: running "npm blah" in this folder will invoke WSH, not node.
-if (typeof WScript !== "undefined") {
- WScript.echo("npm does not work when run\n"
- +"with the Windows Scripting Host\n\n"
- +"'cd' to a different directory,\n"
- +"or type 'npm.cmd <args>',\n"
- +"or type 'node npm <args>'.")
- WScript.quit(1)
- return
-}
-
-
-var EventEmitter = require("events").EventEmitter
- , npm = module.exports = new EventEmitter()
- , npmconf = require("./config/core.js")
- , log = require("npmlog")
- , gfs = require('graceful-fs')
- , fs = gfs.gracefulify(require('fs'))
- , path = require("path")
- , abbrev = require("abbrev")
- , which = require("which")
- , CachingRegClient = require("./cache/caching-client.js")
- , charSpin = require("char-spinner")
-
-npm.config = {
- loaded: false,
- get: function() {
- throw new Error('npm.load() required')
- },
- set: function() {
- throw new Error('npm.load() required')
+;(function () {
+ // windows: running 'npm blah' in this folder will invoke WSH, not node.
+ /*globals WScript*/
+ if (typeof WScript !== 'undefined') {
+ WScript.echo(
+ 'npm does not work when run\n' +
+ 'with the Windows Scripting Host\n\n' +
+ '"cd" to a different directory,\n' +
+ 'or type "npm.cmd <args>",\n' +
+ 'or type "node npm <args>".'
+ )
+ WScript.quit(1)
+ return
}
-}
-npm.commands = {}
+ var gfs = require('graceful-fs')
+ // Patch the global fs module here at the app level
+ var fs = gfs.gracefulify(require('fs'))
+
+ var EventEmitter = require('events').EventEmitter
+ var npm = module.exports = new EventEmitter()
+ var npmconf = require('./config/core.js')
+ var log = require('npmlog')
+
+ var path = require('path')
+ var abbrev = require('abbrev')
+ var which = require('which')
+ var CachingRegClient = require('./cache/caching-client.js')
+ var parseJSON = require('./utils/parse-json.js')
+
+ npm.config = {
+ loaded: false,
+ get: function () {
+ throw new Error('npm.load() required')
+ },
+ set: function () {
+ throw new Error('npm.load() required')
+ }
+ }
-npm.rollbacks = []
+ npm.commands = {}
+
+ npm.rollbacks = []
-try {
- // startup, ok to do this synchronously
- var j = JSON.parse(fs.readFileSync(
- path.join(__dirname, "../package.json"))+"")
- npm.version = j.version
-} catch (ex) {
try {
- log.info("error reading version", ex)
- } catch (er) {}
- npm.version = ex
-}
+ // startup, ok to do this synchronously
+ var j = parseJSON(fs.readFileSync(
+ path.join(__dirname, '../package.json')) + '')
+ npm.version = j.version
+ } catch (ex) {
+ try {
+ log.info('error reading version', ex)
+ } catch (er) {}
+ npm.version = ex
+ }
+
+ var commandCache = {}
-var commandCache = {}
// short names for common things
- , aliases = { "rm" : "uninstall"
- , "r" : "uninstall"
- , "un" : "uninstall"
- , "unlink" : "uninstall"
- , "remove" : "uninstall"
- , "rb" : "rebuild"
- , "list" : "ls"
- , "la" : "ls"
- , "ll" : "ls"
- , "ln" : "link"
- , "i" : "install"
- , "isntall" : "install"
- , "up" : "update"
- , "upgrade" : "update"
- , "c" : "config"
- , "dist-tags" : "dist-tag"
- , "info" : "view"
- , "show" : "view"
- , "find" : "search"
- , "s" : "search"
- , "se" : "search"
- , "author" : "owner"
- , "home" : "docs"
- , "issues": "bugs"
- , "unstar": "star" // same function
- , "apihelp" : "help"
- , "login": "adduser"
- , "add-user": "adduser"
- , "tst": "test"
- , "t": "test"
- , "find-dupes": "dedupe"
- , "ddp": "dedupe"
- , "v": "view"
- , "verison": "version"
- }
-
- , aliasNames = Object.keys(aliases)
- // these are filenames in .
- , cmdList = [ "install"
- , "uninstall"
- , "cache"
- , "config"
- , "set"
- , "get"
- , "update"
- , "outdated"
- , "prune"
- , "pack"
- , "dedupe"
-
- , "rebuild"
- , "link"
-
- , "publish"
- , "star"
- , "stars"
- , "tag"
- , "adduser"
- , "logout"
- , "unpublish"
- , "owner"
- , "access"
- , "team"
- , "deprecate"
- , "shrinkwrap"
-
- , "help"
- , "help-search"
- , "ls"
- , "search"
- , "view"
- , "init"
- , "version"
- , "edit"
- , "explore"
- , "docs"
- , "repo"
- , "bugs"
- , "faq"
- , "root"
- , "prefix"
- , "bin"
- , "whoami"
- , "dist-tag"
- , "ping"
-
- , "test"
- , "stop"
- , "start"
- , "restart"
- , "run-script"
- , "completion"
- ]
- , plumbing = [ "build"
- , "unbuild"
- , "xmas"
- , "substack"
- , "visnup"
- ]
- , littleGuys = [ "isntall" ]
- , fullList = cmdList.concat(aliasNames).filter(function (c) {
- return plumbing.indexOf(c) === -1
- })
- , abbrevs = abbrev(fullList)
-
-// we have our reasons
-fullList = npm.fullList = fullList.filter(function (c) {
- return littleGuys.indexOf(c) === -1
-})
-
-npm.spinner =
- { int: null
- , started: false
- , start: function () {
- if (npm.spinner.int) return
- var c = npm.config.get("spin")
- if (!c) return
- var stream = npm.config.get("logstream")
- var opt = { tty: c !== "always", stream: stream }
- opt.cleanup = !npm.spinner.started
- npm.spinner.int = charSpin(opt)
- npm.spinner.started = true
- }
- , stop: function () {
- clearInterval(npm.spinner.int)
- npm.spinner.int = null
- }
+ var aliases = {
+ 'rm': 'uninstall',
+ 'r': 'uninstall',
+ 'un': 'uninstall',
+ 'unlink': 'uninstall',
+ 'remove': 'uninstall',
+ 'rb': 'rebuild',
+ 'list': 'ls',
+ 'la': 'ls',
+ 'll': 'ls',
+ 'ln': 'link',
+ 'i': 'install',
+ 'isntall': 'install',
+ 'up': 'update',
+ 'upgrade': 'update',
+ 'c': 'config',
+ 'dist-tags': 'dist-tag',
+ 'info': 'view',
+ 'show': 'view',
+ 'find': 'search',
+ 's': 'search',
+ 'se': 'search',
+ 'author': 'owner',
+ 'home': 'docs',
+ 'issues': 'bugs',
+ 'unstar': 'star', // same function
+ 'apihelp': 'help',
+ 'login': 'adduser',
+ 'add-user': 'adduser',
+ 'tst': 'test',
+ 't': 'test',
+ 'find-dupes': 'dedupe',
+ 'ddp': 'dedupe',
+ 'v': 'view',
+ 'verison': 'version'
}
-Object.keys(abbrevs).concat(plumbing).forEach(function addCommand (c) {
- Object.defineProperty(npm.commands, c, { get : function () {
- if (!loaded) throw new Error(
- "Call npm.load(config, cb) before using this command.\n"+
- "See the README.md or cli.js for example usage.")
- var a = npm.deref(c)
- if (c === "la" || c === "ll") {
- npm.config.set("long", true)
- }
-
- npm.command = c
- if (commandCache[a]) return commandCache[a]
+ var aliasNames = Object.keys(aliases)
- var cmd = require(__dirname+"/"+a+".js")
+ // these are filenames in .
+ var cmdList = [
+ 'install',
+ 'uninstall',
+ 'cache',
+ 'config',
+ 'set',
+ 'get',
+ 'update',
+ 'outdated',
+ 'prune',
+ 'pack',
+ 'dedupe',
+
+ 'rebuild',
+ 'link',
+
+ 'publish',
+ 'star',
+ 'stars',
+ 'tag',
+ 'adduser',
+ 'logout',
+ 'unpublish',
+ 'owner',
+ 'access',
+ 'team',
+ 'deprecate',
+ 'shrinkwrap',
+
+ 'help',
+ 'help-search',
+ 'ls',
+ 'search',
+ 'view',
+ 'init',
+ 'version',
+ 'edit',
+ 'explore',
+ 'docs',
+ 'repo',
+ 'bugs',
+ 'faq',
+ 'root',
+ 'prefix',
+ 'bin',
+ 'whoami',
+ 'dist-tag',
+ 'ping',
+
+ 'test',
+ 'stop',
+ 'start',
+ 'restart',
+ 'run-script',
+ 'completion'
+ ]
+ var plumbing = [
+ 'build',
+ 'unbuild',
+ 'xmas',
+ 'substack',
+ 'visnup'
+ ]
+ var littleGuys = [ 'isntall' ]
+ var fullList = cmdList.concat(aliasNames).filter(function (c) {
+ return plumbing.indexOf(c) === -1
+ })
+ var abbrevs = abbrev(fullList)
+
+ // we have our reasons
+ fullList = npm.fullList = fullList.filter(function (c) {
+ return littleGuys.indexOf(c) === -1
+ })
- commandCache[a] = function () {
- var args = Array.prototype.slice.call(arguments, 0)
- if (typeof args[args.length - 1] !== "function") {
- args.push(defaultCb)
+ Object.keys(abbrevs).concat(plumbing).forEach(function addCommand (c) {
+ Object.defineProperty(npm.commands, c, { get: function () {
+ if (!loaded) {
+ throw new Error(
+ 'Call npm.load(config, cb) before using this command.\n' +
+ 'See the README.md or cli.js for example usage.'
+ )
}
- if (args.length === 1) args.unshift([])
-
- npm.registry.version = npm.version
- if (!npm.registry.refer) {
- npm.registry.refer = [a].concat(args[0]).map(function (arg) {
- // exclude anything that might be a URL, path, or private module
- // Those things will always have a slash in them somewhere
- if (arg && arg.match && arg.match(/\/|\\/)) {
- return "[REDACTED]"
- } else {
- return arg
- }
- }).filter(function (arg) {
- return arg && arg.match
- }).join(" ")
+ var a = npm.deref(c)
+ if (c === 'la' || c === 'll') {
+ npm.config.set('long', true)
}
- cmd.apply(npm, args)
- }
+ npm.command = c
+ if (commandCache[a]) return commandCache[a]
+
+ var cmd = require(__dirname + '/' + a + '.js')
+
+ commandCache[a] = function () {
+ var args = Array.prototype.slice.call(arguments, 0)
+ if (typeof args[args.length - 1] !== 'function') {
+ args.push(defaultCb)
+ }
+ if (args.length === 1) args.unshift([])
+
+ npm.registry.version = npm.version
+ if (!npm.registry.refer) {
+ npm.registry.refer = [a].concat(args[0]).map(function (arg) {
+ // exclude anything that might be a URL, path, or private module
+ // Those things will always have a slash in them somewhere
+ if (arg && arg.match && arg.match(/\/|\\/)) {
+ return '[REDACTED]'
+ } else {
+ return arg
+ }
+ }).filter(function (arg) {
+ return arg && arg.match
+ }).join(' ')
+ }
+
+ cmd.apply(npm, args)
+ }
- Object.keys(cmd).forEach(function (k) {
- commandCache[a][k] = cmd[k]
- })
+ Object.keys(cmd).forEach(function (k) {
+ commandCache[a][k] = cmd[k]
+ })
- return commandCache[a]
- }, enumerable: fullList.indexOf(c) !== -1, configurable: true })
+ return commandCache[a]
+ }, enumerable: fullList.indexOf(c) !== -1, configurable: true })
- // make css-case commands callable via camelCase as well
- if (c.match(/\-([a-z])/)) {
- addCommand(c.replace(/\-([a-z])/g, function (a, b) {
- return b.toUpperCase()
- }))
- }
-})
+ // make css-case commands callable via camelCase as well
+ if (c.match(/\-([a-z])/)) {
+ addCommand(c.replace(/\-([a-z])/g, function (a, b) {
+ return b.toUpperCase()
+ }))
+ }
+ })
-function defaultCb (er, data) {
- if (er) console.error(er.stack || er.message)
- else console.log(data)
-}
+ function defaultCb (er, data) {
+ log.disableProgress()
+ if (er) console.error(er.stack || er.message)
+ else console.log(data)
+ }
-npm.deref = function (c) {
- if (!c) return ""
- if (c.match(/[A-Z]/)) c = c.replace(/([A-Z])/g, function (m) {
- return "-" + m.toLowerCase()
- })
- if (plumbing.indexOf(c) !== -1) return c
- var a = abbrevs[c]
- if (aliases[a]) a = aliases[a]
- return a
-}
-
-var loaded = false
- , loading = false
- , loadErr = null
- , loadListeners = []
-
-function loadCb (er) {
- loadListeners.forEach(function (cb) {
- process.nextTick(cb.bind(npm, er, npm))
- })
- loadListeners.length = 0
-}
-
-npm.load = function (cli, cb_) {
- if (!cb_ && typeof cli === "function") cb_ = cli , cli = {}
- if (!cb_) cb_ = function () {}
- if (!cli) cli = {}
- loadListeners.push(cb_)
- if (loaded || loadErr) return cb(loadErr)
- if (loading) return
- loading = true
- var onload = true
-
- function cb (er) {
- if (loadErr) return
- loadErr = er
- if (er) return cb_(er)
- if (npm.config.get("force")) {
- log.warn("using --force", "I sure hope you know what you are doing.")
- }
- npm.config.loaded = true
- loaded = true
- loadCb(loadErr = er)
- if (onload = onload && npm.config.get("onload-script")) {
- require(onload)
- onload = false
+ npm.deref = function (c) {
+ if (!c) return ''
+ if (c.match(/[A-Z]/)) {
+ c = c.replace(/([A-Z])/g, function (m) {
+ return '-' + m.toLowerCase()
+ })
}
+ if (plumbing.indexOf(c) !== -1) return c
+ var a = abbrevs[c]
+ if (aliases[a]) a = aliases[a]
+ return a
}
- log.pause()
+ var loaded = false
+ var loading = false
+ var loadErr = null
+ var loadListeners = []
- load(npm, cli, cb)
-}
+ function loadCb (er) {
+ loadListeners.forEach(function (cb) {
+ process.nextTick(cb.bind(npm, er, npm))
+ })
+ loadListeners.length = 0
+ }
-function load (npm, cli, cb) {
- which(process.argv[0], function (er, node) {
- if (!er && node.toUpperCase() !== process.execPath.toUpperCase()) {
- log.verbose("node symlink", node)
- process.execPath = node
- process.installPrefix = path.resolve(node, "..", "..")
+ npm.load = function (cli, cb_) {
+ if (!cb_ && typeof cli === 'function') {
+ cb_ = cli
+ cli = {}
}
-
- // look up configs
- //console.error("about to look up configs")
-
- var builtin = path.resolve(__dirname, "..", "npmrc")
- npmconf.load(cli, builtin, function (er, config) {
- if (er === config) er = null
-
- npm.config = config
- if (er) return cb(er)
-
- // if the "project" config is not a filename, and we're
- // not in global mode, then that means that it collided
- // with either the default or effective userland config
- if (!config.get("global")
- && config.sources.project
- && config.sources.project.type !== "ini") {
- log.verbose("config"
- , "Skipping project config: %s. "
- + "(matches userconfig)"
- , config.localPrefix + "/.npmrc")
+ if (!cb_) cb_ = function () {}
+ if (!cli) cli = {}
+ loadListeners.push(cb_)
+ if (loaded || loadErr) return cb(loadErr)
+ if (loading) return
+ loading = true
+ var onload = true
+
+ function cb (er) {
+ if (loadErr) return
+ loadErr = er
+ if (er) return cb_(er)
+ if (npm.config.get('force')) {
+ log.warn('using --force', 'I sure hope you know what you are doing.')
}
-
- // Include npm-version and node-version in user-agent
- var ua = config.get("user-agent") || ""
- ua = ua.replace(/\{node-version\}/gi, process.version)
- ua = ua.replace(/\{npm-version\}/gi, npm.version)
- ua = ua.replace(/\{platform\}/gi, process.platform)
- ua = ua.replace(/\{arch\}/gi, process.arch)
- config.set("user-agent", ua)
-
- var color = config.get("color")
-
- log.level = config.get("loglevel")
- log.heading = config.get("heading") || "npm"
- log.stream = config.get("logstream")
-
- switch (color) {
- case "always":
- log.enableColor()
- npm.color = true
- break
- case false:
- log.disableColor()
- npm.color = false
- break
- default:
- var tty = require("tty")
- if (process.stdout.isTTY) npm.color = true
- else if (!tty.isatty) npm.color = true
- else if (tty.isatty(1)) npm.color = true
- else npm.color = false
- break
+ npm.config.loaded = true
+ loaded = true
+ loadCb(loadErr = er)
+ onload = onload && npm.config.get('onload-script')
+ if (onload) {
+ require(onload)
+ onload = false
}
+ }
- log.resume()
-
- // at this point the configs are all set.
- // go ahead and spin up the registry client.
- npm.registry = new CachingRegClient(npm.config)
-
- var umask = npm.config.get("umask")
- npm.modes = { exec: 0777 & (~umask)
- , file: 0666 & (~umask)
- , umask: umask }
+ log.pause()
- var gp = Object.getOwnPropertyDescriptor(config, "globalPrefix")
- Object.defineProperty(npm, "globalPrefix", gp)
+ load(npm, cli, cb)
+ }
- var lp = Object.getOwnPropertyDescriptor(config, "localPrefix")
- Object.defineProperty(npm, "localPrefix", lp)
+ function load (npm, cli, cb) {
+ which(process.argv[0], function (er, node) {
+ if (!er && node.toUpperCase() !== process.execPath.toUpperCase()) {
+ log.verbose('node symlink', node)
+ process.execPath = node
+ process.installPrefix = path.resolve(node, '..', '..')
+ }
- return cb(null, npm)
+ // look up configs
+ var builtin = path.resolve(__dirname, '..', 'npmrc')
+ npmconf.load(cli, builtin, function (er, config) {
+ if (er === config) er = null
+
+ npm.config = config
+ if (er) return cb(er)
+
+ // if the 'project' config is not a filename, and we're
+ // not in global mode, then that means that it collided
+ // with either the default or effective userland config
+ if (!config.get('global') &&
+ config.sources.project &&
+ config.sources.project.type !== 'ini') {
+ log.verbose(
+ 'config',
+ 'Skipping project config: %s. (matches userconfig)',
+ config.localPrefix + '/.npmrc'
+ )
+ }
+
+ // Include npm-version and node-version in user-agent
+ var ua = config.get('user-agent') || ''
+ ua = ua.replace(/\{node-version\}/gi, process.version)
+ ua = ua.replace(/\{npm-version\}/gi, npm.version)
+ ua = ua.replace(/\{platform\}/gi, process.platform)
+ ua = ua.replace(/\{arch\}/gi, process.arch)
+ config.set('user-agent', ua)
+
+ var color = config.get('color')
+
+ log.level = config.get('loglevel')
+ log.heading = config.get('heading') || 'npm'
+ log.stream = config.get('logstream')
+
+ switch (color) {
+ case 'always':
+ log.enableColor()
+ npm.color = true
+ break
+ case false:
+ log.disableColor()
+ npm.color = false
+ break
+ default:
+ var tty = require('tty')
+ if (process.stdout.isTTY) npm.color = true
+ else if (!tty.isatty) npm.color = true
+ else if (tty.isatty(1)) npm.color = true
+ else npm.color = false
+ break
+ }
+
+ log.resume()
+
+ if (config.get('progress')) {
+ log.enableProgress()
+ } else {
+ log.disableProgress()
+ }
+
+ // at this point the configs are all set.
+ // go ahead and spin up the registry client.
+ npm.registry = new CachingRegClient(npm.config)
+
+ var umask = npm.config.get('umask')
+ npm.modes = {
+ exec: parseInt('0777', 8) & (~umask),
+ file: parseInt('0666', 8) & (~umask),
+ umask: umask
+ }
+
+ var gp = Object.getOwnPropertyDescriptor(config, 'globalPrefix')
+ Object.defineProperty(npm, 'globalPrefix', gp)
+
+ var lp = Object.getOwnPropertyDescriptor(config, 'localPrefix')
+ Object.defineProperty(npm, 'localPrefix', lp)
+
+ return cb(null, npm)
+ })
})
- })
-}
+ }
-Object.defineProperty(npm, "prefix",
- { get : function () {
- return npm.config.get("global") ? npm.globalPrefix : npm.localPrefix
- }
- , set : function (r) {
- var k = npm.config.get("global") ? "globalPrefix" : "localPrefix"
- return npm[k] = r
- }
- , enumerable : true
- })
+ Object.defineProperty(npm, 'prefix',
+ { get: function () {
+ return npm.config.get('global') ? npm.globalPrefix : npm.localPrefix
+ },
+ set: function (r) {
+ var k = npm.config.get('global') ? 'globalPrefix' : 'localPrefix'
+ npm[k] = r
+ return r
+ },
+ enumerable: true
+ })
-Object.defineProperty(npm, "bin",
- { get : function () {
- if (npm.config.get("global")) return npm.globalBin
- return path.resolve(npm.root, ".bin")
- }
- , enumerable : true
- })
+ Object.defineProperty(npm, 'bin',
+ { get: function () {
+ if (npm.config.get('global')) return npm.globalBin
+ return path.resolve(npm.root, '.bin')
+ },
+ enumerable: true
+ })
-Object.defineProperty(npm, "globalBin",
- { get : function () {
- var b = npm.globalPrefix
- if (process.platform !== "win32") b = path.resolve(b, "bin")
- return b
- }
- })
+ Object.defineProperty(npm, 'globalBin',
+ { get: function () {
+ var b = npm.globalPrefix
+ if (process.platform !== 'win32') b = path.resolve(b, 'bin')
+ return b
+ }
+ })
-Object.defineProperty(npm, "dir",
- { get : function () {
- if (npm.config.get("global")) return npm.globalDir
- return path.resolve(npm.prefix, "node_modules")
- }
- , enumerable : true
- })
+ Object.defineProperty(npm, 'dir',
+ { get: function () {
+ if (npm.config.get('global')) return npm.globalDir
+ return path.resolve(npm.prefix, 'node_modules')
+ },
+ enumerable: true
+ })
-Object.defineProperty(npm, "globalDir",
- { get : function () {
- return (process.platform !== "win32")
- ? path.resolve(npm.globalPrefix, "lib", "node_modules")
- : path.resolve(npm.globalPrefix, "node_modules")
- }
- , enumerable : true
- })
+ Object.defineProperty(npm, 'globalDir',
+ { get: function () {
+ return (process.platform !== 'win32')
+ ? path.resolve(npm.globalPrefix, 'lib', 'node_modules')
+ : path.resolve(npm.globalPrefix, 'node_modules')
+ },
+ enumerable: true
+ })
-Object.defineProperty(npm, "root",
- { get : function () { return npm.dir } })
+ Object.defineProperty(npm, 'root',
+ { get: function () { return npm.dir } })
-Object.defineProperty(npm, "cache",
- { get : function () { return npm.config.get("cache") }
- , set : function (r) { return npm.config.set("cache", r) }
- , enumerable : true
- })
+ Object.defineProperty(npm, 'cache',
+ { get: function () { return npm.config.get('cache') },
+ set: function (r) { return npm.config.set('cache', r) },
+ enumerable: true
+ })
-var tmpFolder
-var rand = require("crypto").randomBytes(4).toString("hex")
-Object.defineProperty(npm, "tmp",
- { get : function () {
- if (!tmpFolder) tmpFolder = "npm-" + process.pid + "-" + rand
- return path.resolve(npm.config.get("tmp"), tmpFolder)
- }
- , enumerable : true
- })
+ var tmpFolder
+ var rand = require('crypto').randomBytes(4).toString('hex')
+ Object.defineProperty(npm, 'tmp',
+ { get: function () {
+ if (!tmpFolder) tmpFolder = 'npm-' + process.pid + '-' + rand
+ return path.resolve(npm.config.get('tmp'), tmpFolder)
+ },
+ enumerable: true
+ })
-// the better to repl you with
-Object.getOwnPropertyNames(npm.commands).forEach(function (n) {
- if (npm.hasOwnProperty(n) || n === "config") return
+ // the better to repl you with
+ Object.getOwnPropertyNames(npm.commands).forEach(function (n) {
+ if (npm.hasOwnProperty(n) || n === 'config') return
- Object.defineProperty(npm, n, { get: function () {
- return function () {
- var args = Array.prototype.slice.call(arguments, 0)
- , cb = defaultCb
+ Object.defineProperty(npm, n, { get: function () {
+ return function () {
+ var args = Array.prototype.slice.call(arguments, 0)
+ var cb = defaultCb
- if (args.length === 1 && Array.isArray(args[0])) {
- args = args[0]
- }
+ if (args.length === 1 && Array.isArray(args[0])) {
+ args = args[0]
+ }
- if (typeof args[args.length - 1] === "function") {
- cb = args.pop()
+ if (typeof args[args.length - 1] === 'function') {
+ cb = args.pop()
+ }
+ npm.commands[n](args, cb)
}
+ }, enumerable: false, configurable: true })
+ })
- npm.commands[n](args, cb)
- }
- }, enumerable: false, configurable: true })
-})
-
-if (require.main === module) {
- require("../bin/npm-cli.js")
-}
+ if (require.main === module) {
+ require('../bin/npm-cli.js')
+ }
})()
diff --git a/deps/npm/lib/outdated.js b/deps/npm/lib/outdated.js
index ab49d10969..61eb3beb9a 100644
--- a/deps/npm/lib/outdated.js
+++ b/deps/npm/lib/outdated.js
@@ -16,97 +16,129 @@ packages.
module.exports = outdated
-outdated.usage = "npm outdated [<pkg> [<pkg> ...]]"
-
-outdated.completion = require("./utils/completion/installed-deep.js")
-
-
-var path = require("path")
- , readJson = require("read-package-json")
- , cache = require("./cache.js")
- , asyncMap = require("slide").asyncMap
- , npm = require("./npm.js")
- , url = require("url")
- , color = require("ansicolors")
- , styles = require("ansistyles")
- , table = require("text-table")
- , semver = require("semver")
- , os = require("os")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , npa = require("npm-package-arg")
- , readInstalled = require("read-installed")
- , long = npm.config.get("long")
- , log = require("npmlog")
+outdated.usage = 'npm outdated [[<@scope>/]<pkg> ...]'
+
+outdated.completion = require('./utils/completion/installed-deep.js')
+
+var os = require('os')
+var url = require('url')
+var path = require('path')
+var log = require('npmlog')
+var readPackageTree = require('read-package-tree')
+var readJson = require('read-package-json')
+var asyncMap = require('slide').asyncMap
+var color = require('ansicolors')
+var styles = require('ansistyles')
+var table = require('text-table')
+var semver = require('semver')
+var npa = require('npm-package-arg')
+var mutateIntoLogicalTree = require('./install/mutate-into-logical-tree.js')
+var cache = require('./cache.js')
+var npm = require('./npm.js')
+var long = npm.config.get('long')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var isExtraneous = require('./install/is-extraneous.js')
+var recalculateMetadata = require('./install/deps.js').recalculateMetadata
+
+function uniqName (item) {
+ return item[0].path + '|' + item[1] + '|' + item[7]
+}
+
+function uniq (list) {
+ var uniqed = []
+ var seen = {}
+ list.forEach(function (item) {
+ var name = uniqName(item)
+ if (seen[name]) return
+ seen[name] = true
+ uniqed.push(item)
+ })
+ return uniqed
+}
+
+function andRecalculateMetadata (next) {
+ return function (er, tree) {
+ if (er) return next(er)
+ recalculateMetadata(tree, log, next)
+ }
+}
function outdated (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
- var dir = path.resolve(npm.dir, "..")
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
+ var dir = path.resolve(npm.dir, '..')
// default depth for `outdated` is 0 (cf. `ls`)
- if (npm.config.get("depth") === Infinity) npm.config.set("depth", 0)
-
- outdated_(args, dir, {}, 0, function (er, list) {
- if (!list) list = []
- if (er || silent || list.length === 0) return cb(er, list)
- list.sort(function(a, b) {
- var aa = a[1].toLowerCase()
- , bb = b[1].toLowerCase()
- return aa === bb ? 0
- : aa < bb ? -1 : 1
- })
- if (npm.config.get("json")) {
- console.log(makeJSON(list))
- } else if (npm.config.get("parseable")) {
- console.log(makeParseable(list))
- } else {
- var outList = list.map(makePretty)
- var outHead = [ "Package"
- , "Current"
- , "Wanted"
- , "Latest"
- , "Location"
- ]
- if (long) outHead.push("Package Type")
- var outTable = [outHead].concat(outList)
-
- if (npm.color) {
- outTable[0] = outTable[0].map(function(heading) {
- return styles.underline(heading)
- })
- }
+ if (npm.config.get('depth') === Infinity) npm.config.set('depth', 0)
+
+ readPackageTree(dir, andRecalculateMetadata(function (er, tree) {
+ mutateIntoLogicalTree(tree)
+ outdated_(args, '', tree, {}, 0, function (er, list) {
+ list = uniq(list || []).sort(function (aa, bb) {
+ return aa[0].path.localeCompare(bb[0].path) ||
+ aa[1].localeCompare(bb[1])
+ })
+ if (er || silent || list.length === 0) return cb(er, list)
+ log.disableProgress()
+ if (npm.config.get('json')) {
+ console.log(makeJSON(list))
+ } else if (npm.config.get('parseable')) {
+ console.log(makeParseable(list))
+ } else {
+ var outList = list.map(makePretty)
+ var outHead = [ 'Package',
+ 'Current',
+ 'Wanted',
+ 'Latest',
+ 'Location'
+ ]
+ if (long) outHead.push('Package Type')
+ var outTable = [outHead].concat(outList)
+
+ if (npm.color) {
+ outTable[0] = outTable[0].map(function (heading) {
+ return styles.underline(heading)
+ })
+ }
- var tableOpts = { align: ["l", "r", "r", "r", "l"]
- , stringLength: function(s) { return ansiTrim(s).length }
- }
- console.log(table(outTable, tableOpts))
- }
- cb(null, list)
- })
+ var tableOpts = {
+ align: ['l', 'r', 'r', 'r', 'l'],
+ stringLength: function (s) { return ansiTrim(s).length }
+ }
+ console.log(table(outTable, tableOpts))
+ }
+ cb(null, list.map(function (item) { return [item[0].parent.path].concat(item.slice(1, 7)) }))
+ })
+ }))
}
// [[ dir, dep, has, want, latest, type ]]
function makePretty (p) {
- var dep = p[1]
- , dir = path.resolve(p[0], "node_modules", dep)
- , has = p[2]
- , want = p[3]
- , latest = p[4]
- , type = p[6]
-
- if (!npm.config.get("global")) {
+ var dep = p[0]
+ var depname = p[1]
+ var dir = dep.path
+ var has = p[2]
+ var want = p[3]
+ var latest = p[4]
+ var type = p[6]
+ var deppath = p[7]
+
+ if (!npm.config.get('global')) {
dir = path.relative(process.cwd(), dir)
}
- var columns = [ dep
- , has || "MISSING"
- , want
- , latest
- , dirToPrettyLocation(dir)
+ var columns = [ depname,
+ has || 'MISSING',
+ want,
+ latest,
+ deppath
]
if (long) columns[5] = type
if (npm.color) {
- columns[0] = color[has === want ? "yellow" : "red"](columns[0]) // dep
+ columns[0] = color[has === want ? 'yellow' : 'red'](columns[0]) // dep
columns[2] = color.green(columns[2]) // want
columns[3] = color.magenta(columns[3]) // latest
columns[4] = color.brightBlack(columns[4]) // dir
@@ -117,171 +149,162 @@ function makePretty (p) {
}
function ansiTrim (str) {
- var r = new RegExp("\x1b(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|" +
- "\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)", "g")
- return str.replace(r, "")
-}
-
-function dirToPrettyLocation (dir) {
- return dir.replace(/^node_modules[/\\]/, "")
- .replace(/[[/\\]node_modules[/\\]/g, " > ")
+ var r = new RegExp('\x1b(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|' +
+ '\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)', 'g')
+ return str.replace(r, '')
}
function makeParseable (list) {
return list.map(function (p) {
-
- var dep = p[1]
- , dir = path.resolve(p[0], "node_modules", dep)
- , has = p[2]
- , want = p[3]
- , latest = p[4]
- , type = p[6]
-
- var out = [ dir
- , dep + "@" + want
- , (has ? (dep + "@" + has) : "MISSING")
- , dep + "@" + latest
- ]
- if (long) out.push(type)
-
- return out.join(":")
+ var dep = p[0]
+ var depname = p[1]
+ var dir = dep.path
+ var has = p[2]
+ var want = p[3]
+ var latest = p[4]
+ var type = p[6]
+
+ var out = [
+ dir,
+ depname + '@' + want,
+ (has ? (depname + '@' + has) : 'MISSING'),
+ depname + '@' + latest
+ ]
+ if (long) out.push(type)
+
+ return out.join(':')
}).join(os.EOL)
}
function makeJSON (list) {
var out = {}
list.forEach(function (p) {
- var dir = path.resolve(p[0], "node_modules", p[1])
- if (!npm.config.get("global")) {
+ var dep = p[0]
+ var depname = p[1]
+ var dir = dep.path
+ var has = p[2]
+ var want = p[3]
+ var latest = p[4]
+ var type = p[6]
+ if (!npm.config.get('global')) {
dir = path.relative(process.cwd(), dir)
}
- out[p[1]] = { current: p[2]
- , wanted: p[3]
- , latest: p[4]
- , location: dir
+ out[depname] = { current: has,
+ wanted: want,
+ latest: latest,
+ location: dir
}
- if (long) out[p[1]].type = p[6]
+ if (long) out[depname].type = type
})
return JSON.stringify(out, null, 2)
}
-function outdated_ (args, dir, parentHas, depth, cb) {
- // get the deps from package.json, or {<dir/node_modules/*>:"*"}
- // asyncMap over deps:
- // shouldHave = cache.add(dep, req).version
- // if has === shouldHave then
- // return outdated(args, dir/node_modules/dep, parentHas + has)
- // else if dep in args or args is empty
- // return [dir, dep, has, shouldHave]
-
- if (depth > npm.config.get("depth")) {
+function outdated_ (args, path, tree, parentHas, depth, cb) {
+ if (!tree.package) tree.package = {}
+ if (path && tree.package.name) path += ' > ' + tree.package.name
+ if (!path && tree.package.name) path = tree.package.name
+ if (depth > npm.config.get('depth')) {
return cb(null, [])
}
- var deps = null
var types = {}
- readJson(path.resolve(dir, "package.json"), function (er, d) {
- d = d || {}
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- deps = (er) ? true : (d.dependencies || {})
- if (!er) {
- Object.keys(deps).forEach(function (k) {
- types[k] = "dependencies"
- })
- }
-
- if (npm.config.get("save-dev")) {
- deps = d.devDependencies || {}
- Object.keys(deps).forEach(function (k) {
- types[k] = "devDependencies"
- })
+ var pkg = tree.package
- return next()
- }
-
- if (npm.config.get("save")) {
- // remove optional dependencies from dependencies during --save.
- Object.keys(d.optionalDependencies || {}).forEach(function (k) {
- delete deps[k]
- })
- return next()
- }
+ var deps = tree.children.filter(function (child) { return !isExtraneous(child) }) || []
- if (npm.config.get("save-optional")) {
- deps = d.optionalDependencies || {}
- Object.keys(deps).forEach(function (k) {
- types[k] = "optionalDependencies"
- })
- return next()
- }
-
- var doUpdate = npm.config.get("dev") ||
- (!npm.config.get("production") &&
- !Object.keys(parentHas).length &&
- !npm.config.get("global"))
-
- if (!er && d && doUpdate) {
- Object.keys(d.devDependencies || {}).forEach(function (k) {
- if (!(k in parentHas)) {
- deps[k] = d.devDependencies[k]
- types[k] = "devDependencies"
- }
- })
- }
- return next()
+ deps.forEach(function (dep) {
+ types[dep.package.name] = 'dependencies'
})
- var has = null
- readInstalled(path.resolve(dir), { dev : true }, function (er, data) {
- if (er) {
- has = Object.create(parentHas)
- return next()
- }
- var pkgs = Object.keys(data.dependencies)
- pkgs = pkgs.filter(function (p) {
- return !p.match(/^[\._-]/)
+ Object.keys(tree.missingDeps).forEach(function (name) {
+ deps.push({
+ package: { name: name },
+ path: tree.path,
+ parent: tree,
+ isMissing: true
})
- asyncMap(pkgs, function (pkg, cb) {
- var jsonFile = path.resolve(dir, "node_modules", pkg, "package.json")
- readJson(jsonFile, function (er, d) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (d && d.name && d.private) delete deps[d.name]
- cb(null, er ? [] : [[d.name, d.version, d._from]])
- })
- }, function (er, pvs) {
- if (er) return cb(er)
- has = Object.create(parentHas)
- pvs.forEach(function (pv) {
- has[pv[0]] = {
- version: pv[1],
- from: pv[2]
- }
+ types[name] = 'dependencies'
+ })
+
+ // If we explicitly asked for dev deps OR we didn't ask for production deps
+ // AND we asked to save dev-deps OR we didn't ask to save anything that's NOT
+ // dev deps then…
+ // (All the save checking here is because this gets called from npm-update currently
+ // and that requires this logic around dev deps.)
+ // FIXME: Refactor npm update to not be in terms of outdated.
+ var dev = npm.config.get('dev') || /^dev(elopment)?$/.test(npm.config.get('also'))
+ var prod = npm.config.get('production') || /^prod(uction)?$/.test(npm.config.get('only'))
+ if ((dev || !prod) &&
+ (npm.config.get('save-dev') || (
+ !npm.config.get('save') && !npm.config.get('save-optional')))) {
+ Object.keys(tree.missingDevDeps).forEach(function (name) {
+ deps.push({
+ package: { name: name },
+ path: tree.path,
+ parent: tree,
+ isMissing: true
})
+ if (!types[name]) {
+ types[name] = 'devDependencies'
+ }
+ })
+ }
- next()
+ if (npm.config.get('save-dev')) {
+ deps = deps.filter(function (dep) { return pkg.devDependencies[dep.package.name] })
+ deps.forEach(function (dep) {
+ types[dep.package.name] = 'devDependencies'
})
- })
+ } else if (npm.config.get('save')) {
+ // remove optional dependencies from dependencies during --save.
+ deps = deps.filter(function (dep) { return !pkg.optionalDependencies[dep.package.name] })
+ } else if (npm.config.get('save-optional')) {
+ deps = deps.filter(function (dep) { return pkg.optionalDependencies[dep.package.name] })
+ deps.forEach(function (dep) {
+ types[dep.package.name] = 'optionalDependencies'
+ })
+ }
+ var doUpdate = dev || (
+ !prod &&
+ !Object.keys(parentHas).length &&
+ !npm.config.get('global')
+ )
+ if (doUpdate) {
+ Object.keys(pkg.devDependencies).forEach(function (k) {
+ if (!(k in parentHas)) {
+ deps[k] = pkg.devDependencies[k]
+ types[k] = 'devDependencies'
+ }
+ })
+ }
- function next () {
- if (!has || !deps) return
- if (deps === true) {
- deps = Object.keys(has).reduce(function (l, r) {
- l[r] = "latest"
- return l
- }, {})
+ var has = Object.create(parentHas)
+ tree.children.forEach(function (child) {
+ if (child.package.name && child.package.private) {
+ deps = deps.filter(function (dep) { return dep !== child })
}
+ has[child.package.name] = {
+ version: child.package.version,
+ from: child.package._from
+ }
+ })
- // now get what we should have, based on the dep.
- // if has[dep] !== shouldHave[dep], then cb with the data
- // otherwise dive into the folder
- asyncMap(Object.keys(deps), function (dep, cb) {
- if (!long) return shouldUpdate(args, dir, dep, has, deps[dep], depth, cb)
-
- shouldUpdate(args, dir, dep, has, deps[dep], depth, cb, types[dep])
- }, cb)
- }
+ // now get what we should have, based on the dep.
+ // if has[dep] !== shouldHave[dep], then cb with the data
+ // otherwise dive into the folder
+ asyncMap(deps, function (dep, cb) {
+ var name = dep.package.name
+ var required = (tree.package.dependencies)[name] ||
+ (tree.package.optionalDependencies)[name] ||
+ (tree.package.devDependencies)[name] ||
+ dep.package._requested && dep.package._requested.spec ||
+ '*'
+ if (!long) return shouldUpdate(args, dep, name, has, required, depth, path, cb)
+
+ shouldUpdate(args, dep, name, has, required, depth, path, cb, types[name])
+ }, cb)
}
-function shouldUpdate (args, dir, dep, has, req, depth, cb, type) {
+function shouldUpdate (args, tree, dep, has, req, depth, pkgpath, cb, type) {
// look up the most recent version.
// if that's what we already have, or if it's not on the args list,
// then dive into it. Otherwise, cb() with the data.
@@ -292,31 +315,32 @@ function shouldUpdate (args, dir, dep, has, req, depth, cb, type) {
function skip (er) {
// show user that no viable version can be found
if (er) return cb(er)
- outdated_( args
- , path.resolve(dir, "node_modules", dep)
- , has
- , depth + 1
- , cb )
+ outdated_(args,
+ pkgpath,
+ tree,
+ has,
+ depth + 1,
+ cb)
}
function doIt (wanted, latest) {
if (!long) {
- return cb(null, [[ dir, dep, curr && curr.version, wanted, latest, req]])
+ return cb(null, [[ tree, dep, curr && curr.version, wanted, latest, req, null, pkgpath]])
}
- cb(null, [[ dir, dep, curr && curr.version, wanted, latest, req, type]])
+ cb(null, [[ tree, dep, curr && curr.version, wanted, latest, req, type, pkgpath]])
}
if (args.length && args.indexOf(dep) === -1) return skip()
var parsed = npa(dep + '@' + req)
- if (parsed.type === "git" || (parsed.hosted && parsed.hosted.type === "github")) {
- return doIt("git", "git")
+ if (parsed.type === 'git' || parsed.type === 'hosted') {
+ return doIt('git', 'git')
}
// search for the latest package
mapToRegistry(dep, npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, updateDeps)
+ npm.registry.get(uri, { auth: auth }, updateDeps)
})
function updateLocalDeps (latestRegistryVersion) {
@@ -348,13 +372,14 @@ function shouldUpdate (args, dir, dep, has, req, depth, cb, type) {
return updateLocalDeps()
}
- if (!d || !d["dist-tags"] || !d.versions) return cb()
- var l = d.versions[d["dist-tags"].latest]
+ if (!d || !d['dist-tags'] || !d.versions) return cb()
+ var l = d.versions[d['dist-tags'].latest]
if (!l) return cb()
var r = req
- if (d["dist-tags"][req])
- r = d["dist-tags"][req]
+ if (d['dist-tags'][req]) {
+ r = d['dist-tags'][req]
+ }
if (semver.validRange(r, true)) {
// some kind of semver range.
@@ -369,11 +394,11 @@ function shouldUpdate (args, dir, dep, has, req, depth, cb, type) {
// We didn't find the version in the doc. See if cache can find it.
cache.add(dep, req, null, false, onCacheAdd)
- function onCacheAdd(er, d) {
+ function onCacheAdd (er, d) {
// if this fails, then it means we can't update this thing.
// it's probably a thing that isn't published.
if (er) {
- if (er.code && er.code === "ETARGET") {
+ if (er.code && er.code === 'ETARGET') {
// no viable version found
return skip(er)
}
@@ -385,14 +410,14 @@ function shouldUpdate (args, dir, dep, has, req, depth, cb, type) {
var dFromUrl = d._from && url.parse(d._from).protocol
var cFromUrl = curr && curr.from && url.parse(curr.from).protocol
- if (!curr || dFromUrl && cFromUrl && d._from !== curr.from
- || d.version !== curr.version
- || d.version !== l.version) {
+ if (!curr ||
+ dFromUrl && cFromUrl && d._from !== curr.from ||
+ d.version !== curr.version ||
+ d.version !== l.version) {
if (parsed.type === 'local') return updateLocalDeps(l.version)
doIt(d.version, l.version)
- }
- else {
+ } else {
skip()
}
}
diff --git a/deps/npm/lib/owner.js b/deps/npm/lib/owner.js
index c9adb79224..f32f405dd1 100644
--- a/deps/npm/lib/owner.js
+++ b/deps/npm/lib/owner.js
@@ -1,21 +1,21 @@
module.exports = owner
-owner.usage = "npm owner add <username> <pkg>"
- + "\nnpm owner rm <username> <pkg>"
- + "\nnpm owner ls <pkg>"
+owner.usage = 'npm owner add <user> [<@scope>/]<pkg>' +
+ '\nnpm owner rm <user> [<@scope>/]<pkg>' +
+ '\nnpm owner ls [<@scope>/]<pkg>'
-var npm = require("./npm.js")
- , log = require("npmlog")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , readLocalPkg = require("./utils/read-local-package.js")
+var npm = require('./npm.js')
+var log = require('npmlog')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var readLocalPkg = require('./utils/read-local-package.js')
owner.completion = function (opts, cb) {
var argv = opts.conf.argv.remain
if (argv.length > 4) return cb()
if (argv.length <= 2) {
- var subs = ["add", "rm"]
- if (opts.partialWord === "l") subs.push("ls")
- else subs.push("ls", "list")
+ var subs = ['add', 'rm']
+ if (opts.partialWord === 'l') subs.push('ls')
+ else subs.push('ls', 'list')
return cb(null, subs)
}
@@ -25,44 +25,45 @@ owner.completion = function (opts, cb) {
var un = encodeURIComponent(username)
var byUser, theUser
switch (argv[2]) {
- case "ls":
+ case 'ls':
// FIXME: there used to be registry completion here, but it stopped
// making sense somewhere around 50,000 packages on the registry
return cb()
- case "rm":
+ case 'rm':
if (argv.length > 3) {
theUser = encodeURIComponent(argv[3])
- byUser = "-/by-user/" + theUser + "|" + un
+ byUser = '-/by-user/' + theUser + '|' + un
return mapToRegistry(byUser, npm.config, function (er, uri, auth) {
if (er) return cb(er)
console.error(uri)
- npm.registry.get(uri, { auth : auth }, function (er, d) {
+ npm.registry.get(uri, { auth: auth }, function (er, d) {
if (er) return cb(er)
// return the intersection
return cb(null, d[theUser].filter(function (p) {
// kludge for server adminery.
- return un === "isaacs" || d[un].indexOf(p) === -1
+ return un === 'isaacs' || d[un].indexOf(p) === -1
}))
})
})
}
// else fallthrough
- case "add":
+ /*eslint no-fallthrough:0*/
+ case 'add':
if (argv.length > 3) {
theUser = encodeURIComponent(argv[3])
- byUser = "-/by-user/" + theUser + "|" + un
+ byUser = '-/by-user/' + theUser + '|' + un
return mapToRegistry(byUser, npm.config, function (er, uri, auth) {
if (er) return cb(er)
console.error(uri)
- npm.registry.get(uri, { auth : auth }, function (er, d) {
+ npm.registry.get(uri, { auth: auth }, function (er, d) {
console.error(uri, er || d)
// return mine that they're not already on.
if (er) return cb(er)
var mine = d[un] || []
- , theirs = d[theUser] || []
+ var theirs = d[theUser] || []
return cb(null, mine.filter(function (p) {
return theirs.indexOf(p) === -1
}))
@@ -70,10 +71,10 @@ owner.completion = function (opts, cb) {
})
}
// just list all users who aren't me.
- return mapToRegistry("-/users", npm.config, function (er, uri, auth) {
+ return mapToRegistry('-/users', npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, list) {
+ npm.registry.get(uri, { auth: auth }, function (er, list) {
if (er) return cb()
return cb(null, Object.keys(list).filter(function (n) {
return n !== un
@@ -90,34 +91,39 @@ owner.completion = function (opts, cb) {
function owner (args, cb) {
var action = args.shift()
switch (action) {
- case "ls": case "list": return ls(args[0], cb)
- case "add": return add(args[0], args[1], cb)
- case "rm": case "remove": return rm(args[0], args[1], cb)
+ case 'ls': case 'list': return ls(args[0], cb)
+ case 'add': return add(args[0], args[1], cb)
+ case 'rm': case 'remove': return rm(args[0], args[1], cb)
default: return unknown(action, cb)
}
}
function ls (pkg, cb) {
- if (!pkg) return readLocalPkg(function (er, pkg) {
- if (er) return cb(er)
- if (!pkg) return cb(owner.usage)
- ls(pkg, cb)
- })
+ if (!pkg) {
+ return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(owner.usage)
+ ls(pkg, cb)
+ })
+ }
mapToRegistry(pkg, npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, data) {
- var msg = ""
+ npm.registry.get(uri, { auth: auth }, function (er, data) {
+ var msg = ''
if (er) {
- log.error("owner ls", "Couldn't get owner data", pkg)
+ log.error('owner ls', "Couldn't get owner data", pkg)
return cb(er)
}
var owners = data.maintainers
- if (!owners || !owners.length) msg = "admin party!"
- else msg = owners.map(function (o) {
- return o.name + " <" + o.email + ">"
- }).join("\n")
+ if (!owners || !owners.length) {
+ msg = 'admin party!'
+ } else {
+ msg = owners.map(function (o) {
+ return o.name + ' <' + o.email + '>'
+ }).join('\n')
+ }
console.log(msg)
cb(er, owners)
})
@@ -126,20 +132,24 @@ function ls (pkg, cb) {
function add (user, pkg, cb) {
if (!user) return cb(owner.usage)
- if (!pkg) return readLocalPkg(function (er, pkg) {
- if (er) return cb(er)
- if (!pkg) return cb(new Error(owner.usage))
- add(user, pkg, cb)
- })
+ if (!pkg) {
+ return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(new Error(owner.usage))
+ add(user, pkg, cb)
+ })
+ }
- log.verbose("owner add", "%s to %s", user, pkg)
+ log.verbose('owner add', '%s to %s', user, pkg)
mutate(pkg, user, function (u, owners) {
if (!owners) owners = []
- for (var i = 0, l = owners.length; i < l; i ++) {
+ for (var i = 0, l = owners.length; i < l; i++) {
var o = owners[i]
if (o.name === u.name) {
- log.info( "owner add"
- , "Already a package owner: " + o.name + " <" + o.email + ">")
+ log.info(
+ 'owner add',
+ 'Already a package owner: ' + o.name + ' <' + o.email + '>'
+ )
return false
}
}
@@ -149,58 +159,69 @@ function add (user, pkg, cb) {
}
function rm (user, pkg, cb) {
- if (!pkg) return readLocalPkg(function (er, pkg) {
- if (er) return cb(er)
- if (!pkg) return cb(new Error(owner.usage))
- rm(user, pkg, cb)
- })
+ if (!pkg) {
+ return readLocalPkg(function (er, pkg) {
+ if (er) return cb(er)
+ if (!pkg) return cb(new Error(owner.usage))
+ rm(user, pkg, cb)
+ })
+ }
- log.verbose("owner rm", "%s from %s", user, pkg)
+ log.verbose('owner rm', '%s from %s', user, pkg)
mutate(pkg, user, function (u, owners) {
var found = false
- , m = owners.filter(function (o) {
- var match = (o.name === user)
- found = found || match
- return !match
- })
+ var m = owners.filter(function (o) {
+ var match = (o.name === user)
+ found = found || match
+ return !match
+ })
+
if (!found) {
- log.info("owner rm", "Not a package owner: " + user)
+ log.info('owner rm', 'Not a package owner: ' + user)
return false
}
- if (!m.length) return new Error(
- "Cannot remove all owners of a package. Add someone else first.")
+
+ if (!m.length) {
+ return new Error(
+ 'Cannot remove all owners of a package. Add someone else first.'
+ )
+ }
+
return m
}, cb)
}
function mutate (pkg, user, mutation, cb) {
if (user) {
- var byUser = "-/user/org.couchdb.user:" + user
+ var byUser = '-/user/org.couchdb.user:' + user
mapToRegistry(byUser, npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, mutate_)
+ npm.registry.get(uri, { auth: auth }, mutate_)
})
} else {
mutate_(null, null)
}
function mutate_ (er, u) {
- if (!er && user && (!u || u.error)) er = new Error(
- "Couldn't get user data for " + user + ": " + JSON.stringify(u))
+ if (!er && user && (!u || u.error)) {
+ er = new Error(
+ "Couldn't get user data for " + user + ': ' + JSON.stringify(u)
+ )
+ }
if (er) {
- log.error("owner mutate", "Error getting user data for %s", user)
+ log.error('owner mutate', 'Error getting user data for %s', user)
return cb(er)
}
- if (u) u = { "name" : u.name, "email" : u.email }
+ if (u) u = { name: u.name, email: u.email }
mapToRegistry(pkg, npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, data) {
+ npm.registry.get(uri, { auth: auth }, function (er, data) {
if (er) {
- log.error("owner mutate", "Error getting package data for %s", pkg)
+ log.error('owner mutate', 'Error getting package data for %s', pkg)
return cb(er)
}
@@ -213,32 +234,30 @@ function mutate (pkg, user, mutation, cb) {
if (m instanceof Error) return cb(m) // error
data = {
- _id : data._id,
- _rev : data._rev,
- maintainers : m
+ _id: data._id,
+ _rev: data._rev,
+ maintainers: m
}
- var dataPath = pkg.replace("/", "%2f") + "/-rev/" + data._rev
+ var dataPath = pkg.replace('/', '%2f') + '/-rev/' + data._rev
mapToRegistry(dataPath, npm.config, function (er, uri, auth) {
if (er) return cb(er)
var params = {
- method : "PUT",
- body : data,
- auth : auth
+ method: 'PUT',
+ body: data,
+ auth: auth
}
npm.registry.request(uri, params, function (er, data) {
if (!er && data.error) {
- er = new Error("Failed to update package metadata: "+JSON.stringify(data))
+ er = new Error('Failed to update package metadata: ' + JSON.stringify(data))
}
if (er) {
- log.error("owner mutate", "Failed to update package metadata")
- }
- else if (m.length > beforeMutation) {
- console.log("+ %s (%s)", user, pkg)
- }
- else if (m.length < beforeMutation) {
- console.log("- %s (%s)", user, pkg)
+ log.error('owner mutate', 'Failed to update package metadata')
+ } else if (m.length > beforeMutation) {
+ console.log('+ %s (%s)', user, pkg)
+ } else if (m.length < beforeMutation) {
+ console.log('- %s (%s)', user, pkg)
}
cb(er, data)
@@ -250,5 +269,5 @@ function mutate (pkg, user, mutation, cb) {
}
function unknown (action, cb) {
- cb("Usage: \n" + owner.usage)
+ cb('Usage: \n' + owner.usage)
}
diff --git a/deps/npm/lib/pack.js b/deps/npm/lib/pack.js
index a5ce90094f..d596dd034b 100644
--- a/deps/npm/lib/pack.js
+++ b/deps/npm/lib/pack.js
@@ -4,39 +4,42 @@
module.exports = pack
-var npm = require("./npm.js")
- , install = require("./install.js")
- , cache = require("./cache.js")
- , fs = require("graceful-fs")
- , chain = require("slide").chain
- , path = require("path")
- , cwd = process.cwd()
- , writeStream = require('fs-write-stream-atomic')
- , cachedPackageRoot = require("./cache/cached-package-root.js")
+var install = require('./install.js')
+var cache = require('./cache.js')
+var fs = require('graceful-fs')
+var chain = require('slide').chain
+var path = require('path')
+var cwd = process.cwd()
+var writeStream = require('fs-write-stream-atomic')
+var cachedPackageRoot = require('./cache/cached-package-root.js')
-pack.usage = "npm pack <pkg>"
+pack.usage = 'npm pack [[<@scope>/]<pkg>...]'
// if it can be installed, it can be packed.
pack.completion = install.completion
function pack (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
- if (args.length === 0) args = ["."]
+ if (args.length === 0) args = ['.']
- chain(args.map(function (arg) { return function (cb) {
- pack_(arg, cb)
- }}), function (er, files) {
- if (er || silent) return cb(er, files)
- printFiles(files, cb)
- })
+ chain(
+ args.map(function (arg) { return function (cb) { pack_(arg, cb) } }),
+ function (er, files) {
+ if (er || silent) return cb(er, files)
+ printFiles(files, cb)
+ }
+ )
}
function printFiles (files, cb) {
files = files.map(function (file) {
return path.relative(cwd, file)
})
- console.log(files.join("\n"))
+ console.log(files.join('\n'))
cb()
}
@@ -47,17 +50,17 @@ function pack_ (pkg, cb) {
// scoped packages get special treatment
var name = data.name
- if (name[0] === "@") name = name.substr(1).replace(/\//g, "-")
- var fname = name + "-" + data.version + ".tgz"
+ if (name[0] === '@') name = name.substr(1).replace(/\//g, '-')
+ var fname = name + '-' + data.version + '.tgz'
- var cached = path.join(cachedPackageRoot(data), "package.tgz")
- , from = fs.createReadStream(cached)
- , to = writeStream(fname)
- , errState = null
+ var cached = path.join(cachedPackageRoot(data), 'package.tgz')
+ var from = fs.createReadStream(cached)
+ var to = writeStream(fname)
+ var errState = null
- from.on("error", cb_)
- to.on("error", cb_)
- to.on("close", cb_)
+ from.on('error', cb_)
+ to.on('error', cb_)
+ to.on('close', cb_)
from.pipe(to)
function cb_ (er) {
diff --git a/deps/npm/lib/prefix.js b/deps/npm/lib/prefix.js
index e002edea15..42f61103f6 100644
--- a/deps/npm/lib/prefix.js
+++ b/deps/npm/lib/prefix.js
@@ -1,11 +1,14 @@
module.exports = prefix
-var npm = require("./npm.js")
+var npm = require('./npm.js')
-prefix.usage = "npm prefix\nnpm prefix -g\n(just prints the prefix folder)"
+prefix.usage = 'npm prefix [-g]'
function prefix (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
if (!silent) console.log(npm.prefix)
process.nextTick(cb.bind(this, null, npm.prefix))
}
diff --git a/deps/npm/lib/prune.js b/deps/npm/lib/prune.js
index edba876013..46373742f5 100644
--- a/deps/npm/lib/prune.js
+++ b/deps/npm/lib/prune.js
@@ -2,28 +2,28 @@
module.exports = prune
-prune.usage = "npm prune"
+prune.usage = 'npm prune [[<@scope>/]<pkg>...] [--production]'
-var readInstalled = require("read-installed")
- , npm = require("./npm.js")
- , path = require("path")
- , readJson = require("read-package-json")
- , log = require("npmlog")
+var readInstalled = require('read-installed')
+var npm = require('./npm.js')
+var path = require('path')
+var readJson = require('read-package-json')
+var log = require('npmlog')
-prune.completion = require("./utils/completion/installed-deep.js")
+prune.completion = require('./utils/completion/installed-deep.js')
function prune (args, cb) {
- //check if is a valid package.json file
- var jsonFile = path.resolve(npm.dir, "..", "package.json" )
+ // check if is a valid package.json file
+ var jsonFile = path.resolve(npm.dir, '..', 'package.json')
readJson(jsonFile, log.warn, function (er) {
if (er) return cb(er)
next()
})
- function next() {
+ function next () {
var opt = {
- depth: npm.config.get("depth"),
- dev: !npm.config.get("production") || npm.config.get("dev")
+ depth: npm.config.get('depth'),
+ dev: !npm.config.get('production') || npm.config.get('dev')
}
readInstalled(npm.prefix, opt, function (er, data) {
if (er) return cb(er)
@@ -39,11 +39,9 @@ function prune_ (args, data, cb) {
function prunables (args, data, seen) {
var deps = data.dependencies || {}
return Object.keys(deps).map(function (d) {
- if (typeof deps[d] !== "object"
- || seen.indexOf(deps[d]) !== -1) return null
+ if (typeof deps[d] !== 'object' || seen.indexOf(deps[d]) !== -1) return null
seen.push(deps[d])
- if (deps[d].extraneous
- && (args.length === 0 || args.indexOf(d) !== -1)) {
+ if (deps[d].extraneous && (args.length === 0 || args.indexOf(d) !== -1)) {
var extra = deps[d]
delete deps[d]
return extra.path
@@ -51,6 +49,6 @@ function prunables (args, data, seen) {
return prunables(args, deps[d], seen)
}).filter(function (d) { return d !== null })
.reduce(function FLAT (l, r) {
- return l.concat(Array.isArray(r) ? r.reduce(FLAT,[]) : r)
+ return l.concat(Array.isArray(r) ? r.reduce(FLAT, []) : r)
}, [])
}
diff --git a/deps/npm/lib/publish.js b/deps/npm/lib/publish.js
index 8f1c73c3c9..45de4f24b4 100644
--- a/deps/npm/lib/publish.js
+++ b/deps/npm/lib/publish.js
@@ -1,23 +1,22 @@
module.exports = publish
-var npm = require("./npm.js")
- , log = require("npmlog")
- , path = require("path")
- , readJson = require("read-package-json")
- , lifecycle = require("./utils/lifecycle.js")
- , chain = require("slide").chain
- , mapToRegistry = require("./utils/map-to-registry.js")
- , cachedPackageRoot = require("./cache/cached-package-root.js")
- , createReadStream = require("graceful-fs").createReadStream
- , npa = require("npm-package-arg")
- , semver = require('semver')
- , getPublishConfig = require("./utils/get-publish-config.js")
-
-publish.usage = "npm publish <tarball> [--tag <tagname>]"
- + "\nnpm publish <folder> [--tag <tagname>]"
- + "\n\nPublishes '.' if no argument supplied"
- + "\n\nSets tag `latest` if no --tag specified"
+var npm = require('./npm.js')
+var log = require('npmlog')
+var path = require('path')
+var readJson = require('read-package-json')
+var lifecycle = require('./utils/lifecycle.js')
+var chain = require('slide').chain
+var mapToRegistry = require('./utils/map-to-registry.js')
+var cachedPackageRoot = require('./cache/cached-package-root.js')
+var createReadStream = require('graceful-fs').createReadStream
+var npa = require('npm-package-arg')
+var semver = require('semver')
+var getPublishConfig = require('./utils/get-publish-config.js')
+
+publish.usage = 'npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>]' +
+ "\n\nPublishes '.' if no argument supplied" +
+ '\n\nSets tag `latest` if no --tag specified'
publish.completion = function (opts, cb) {
// publish can complete to a folder with a package.json
@@ -27,29 +26,29 @@ publish.completion = function (opts, cb) {
}
function publish (args, isRetry, cb) {
- if (typeof cb !== "function") {
+ if (typeof cb !== 'function') {
cb = isRetry
isRetry = false
}
- if (args.length === 0) args = ["."]
+ if (args.length === 0) args = ['.']
if (args.length !== 1) return cb(publish.usage)
- log.verbose("publish", args)
+ log.verbose('publish', args)
var t = npm.config.get('tag').trim()
if (semver.validRange(t)) {
- var er = new Error("Tag name must not be a valid SemVer range: " + t)
+ var er = new Error('Tag name must not be a valid SemVer range: ' + t)
return cb(er)
}
var arg = args[0]
// if it's a local folder, then run the prepublish there, first.
- readJson(path.resolve(arg, "package.json"), function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ readJson(path.resolve(arg, 'package.json'), function (er, data) {
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
if (data) {
- if (!data.name) return cb(new Error("No name provided"))
- if (!data.version) return cb(new Error("No version provided"))
+ if (!data.name) return cb(new Error('No name provided'))
+ if (!data.version) return cb(new Error('No version provided'))
}
// Error is OK. Could be publishing a URL or tarball, however, that means
@@ -61,26 +60,29 @@ function publish (args, isRetry, cb) {
}
// didPre in this case means that we already ran the prepublish script,
-// and that the "dir" is an actual directory, and not something silly
+// and that the 'dir' is an actual directory, and not something silly
// like a tarball or name@version thing.
// That means that we can run publish/postpublish in the dir, rather than
// in the cache dir.
function cacheAddPublish (dir, didPre, isRetry, cb) {
npm.commands.cache.add(dir, null, null, false, function (er, data) {
if (er) return cb(er)
- log.silly("publish", data)
- var cachedir = path.resolve(cachedPackageRoot(data), "package")
- chain([ !didPre &&
- [lifecycle, data, "prepublish", cachedir]
- , [publish_, dir, data, isRetry, cachedir]
- , [lifecycle, data, "publish", didPre ? dir : cachedir]
- , [lifecycle, data, "postpublish", didPre ? dir : cachedir] ]
- , cb )
+ log.silly('publish', data)
+ var cachedir = path.resolve(cachedPackageRoot(data), 'package')
+ chain(
+ [
+ !didPre && [lifecycle, data, 'prepublish', cachedir],
+ [publish_, dir, data, isRetry, cachedir],
+ [lifecycle, data, 'publish', didPre ? dir : cachedir],
+ [lifecycle, data, 'postpublish', didPre ? dir : cachedir]
+ ],
+ cb
+ )
})
}
function publish_ (arg, data, isRetry, cachedir, cb) {
- if (!data) return cb(new Error("no package.json file found"))
+ if (!data) return cb(new Error('no package.json file found'))
var mappedConfig = getPublishConfig(
data.publishConfig,
@@ -90,51 +92,52 @@ function publish_ (arg, data, isRetry, cachedir, cb) {
var config = mappedConfig.config
var registry = mappedConfig.client
- data._npmVersion = npm.version
+ data._npmVersion = npm.version
data._nodeVersion = process.versions.node
delete data.modules
- if (data.private) return cb(
- new Error(
- "This package has been marked as private\n" +
+ if (data.private) {
+ return cb(new Error(
+ 'This package has been marked as private\n' +
"Remove the 'private' field from the package.json to publish it."
- )
- )
+ ))
+ }
mapToRegistry(data.name, config, function (er, registryURI, auth, registryBase) {
if (er) return cb(er)
- var tarballPath = cachedir + ".tgz"
+ var tarballPath = cachedir + '.tgz'
// we just want the base registry URL in this case
- log.verbose("publish", "registryBase", registryBase)
- log.silly("publish", "uploading", tarballPath)
+ log.verbose('publish', 'registryBase', registryBase)
+ log.silly('publish', 'uploading', tarballPath)
data._npmUser = {
- name : auth.username,
- email : auth.email
+ name: auth.username,
+ email: auth.email
}
var params = {
- metadata : data,
- body : createReadStream(tarballPath),
- auth : auth
+ metadata: data,
+ body: createReadStream(tarballPath),
+ auth: auth
}
// registry-frontdoor cares about the access level, which is only
// configurable for scoped packages
- if (config.get("access")) {
- if (!npa(data.name).scope && config.get("access") === "restricted") {
+ if (config.get('access')) {
+ if (!npa(data.name).scope && config.get('access') === 'restricted') {
return cb(new Error("Can't restrict access to unscoped packages."))
}
- params.access = config.get("access")
+ params.access = config.get('access')
}
+ log.showProgress('publish:' + data._id)
registry.publish(registryBase, params, function (er) {
- if (er && er.code === "EPUBLISHCONFLICT" &&
- npm.config.get("force") && !isRetry) {
- log.warn("publish", "Forced publish over " + data._id)
+ if (er && er.code === 'EPUBLISHCONFLICT' &&
+ npm.config.get('force') && !isRetry) {
+ 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.
// but if it fails again, then report the first error.
@@ -144,7 +147,8 @@ function publish_ (arg, data, isRetry, cachedir, 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)
+ log.clearProgress()
+ console.log('+ ' + data._id)
cb()
})
})
diff --git a/deps/npm/lib/rebuild.js b/deps/npm/lib/rebuild.js
index ab372c6ec0..0e36c6361e 100644
--- a/deps/npm/lib/rebuild.js
+++ b/deps/npm/lib/rebuild.js
@@ -1,27 +1,27 @@
module.exports = rebuild
-var readInstalled = require("read-installed")
- , semver = require("semver")
- , log = require("npmlog")
- , npm = require("./npm.js")
- , npa = require("npm-package-arg")
+var readInstalled = require('read-installed')
+var semver = require('semver')
+var log = require('npmlog')
+var npm = require('./npm.js')
+var npa = require('npm-package-arg')
-rebuild.usage = "npm rebuild [<name>[@<version>] [name[@<version>] ...]]"
+rebuild.usage = 'npm rebuild [[<@scope>/<name>]...]'
-rebuild.completion = require("./utils/completion/installed-deep.js")
+rebuild.completion = require('./utils/completion/installed-deep.js')
function rebuild (args, cb) {
- var opt = { depth: npm.config.get("depth"), dev: true }
+ var opt = { depth: npm.config.get('depth'), dev: true }
readInstalled(npm.prefix, opt, function (er, data) {
- log.info("readInstalled", typeof data)
+ log.info('readInstalled', typeof data)
if (er) return cb(er)
var set = filter(data, args)
- , folders = Object.keys(set).filter(function (f) {
- return f !== npm.prefix
- })
+ var folders = Object.keys(set).filter(function (f) {
+ return f !== npm.prefix
+ })
if (!folders.length) return cb()
- log.silly("rebuild set", folders)
+ log.silly('rebuild set', folders)
cleanBuild(folders, set, cb)
})
}
@@ -29,9 +29,11 @@ function rebuild (args, cb) {
function cleanBuild (folders, set, cb) {
npm.commands.build(folders, function (er) {
if (er) return cb(er)
+ log.clearProgress()
console.log(folders.map(function (f) {
- return set[f] + " " + f
- }).join("\n"))
+ return set[f] + ' ' + f
+ }).join('\n'))
+ log.showProgress()
cb()
})
}
@@ -45,11 +47,11 @@ function filter (data, args, set, seen) {
var pass
if (!args.length) pass = true // rebuild everything
else if (data.name && data._id) {
- for (var i = 0, l = args.length; i < l; i ++) {
+ for (var i = 0, l = args.length; i < l; i++) {
var arg = args[i]
- , nv = npa(arg)
- , n = nv.name
- , v = nv.rawSpec
+ var nv = npa(arg)
+ var n = nv.name
+ var v = nv.rawSpec
if (n !== data.name) continue
if (!semver.satisfies(data.version, v, true)) continue
pass = true
@@ -57,7 +59,7 @@ function filter (data, args, set, seen) {
}
}
if (pass && data._id) {
- log.verbose("rebuild", "path, id", [data.path, data._id])
+ log.verbose('rebuild', 'path, id', [data.path, data._id])
set[data.path] = data._id
}
// need to also dive through kids, always.
@@ -66,7 +68,7 @@ function filter (data, args, set, seen) {
Object.keys(data.dependencies || {}).forEach(function (d) {
// return
var dep = data.dependencies[d]
- if (typeof dep === "string") return
+ if (typeof dep === 'string') return
filter(dep, args, set, seen)
})
return set
diff --git a/deps/npm/lib/repo.js b/deps/npm/lib/repo.js
index 1b0454773d..4bd200aff9 100644
--- a/deps/npm/lib/repo.js
+++ b/deps/npm/lib/repo.js
@@ -1,18 +1,12 @@
-
module.exports = repo
-repo.usage = "npm repo <pkgname>"
+repo.usage = 'npm repo [<pkg>]'
-var npm = require("./npm.js")
- , opener = require("opener")
- , github = require("github-url-from-git")
- , githubUserRepo = require("github-url-from-username-repo")
- , path = require("path")
- , readJson = require("read-package-json")
- , fs = require("fs")
- , url_ = require("url")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , npa = require("npm-package-arg")
+var npm = require('./npm.js')
+var opener = require('opener')
+var hostedGitInfo = require('hosted-git-info')
+var url_ = require('url')
+var fetchPackageMetadata = require('./fetch-package-metadata.js')
repo.completion = function (opts, cb) {
// FIXME: there used to be registry completion here, but it stopped making
@@ -21,58 +15,37 @@ repo.completion = function (opts, cb) {
}
function repo (args, cb) {
- var n = args.length && npa(args[0]).name || "."
- fs.stat(n, function (er, s) {
- if (er && er.code === "ENOENT") return callRegistry(n, cb)
- else if (er) return cb(er)
- if (!s.isDirectory()) return callRegistry(n, cb)
- readJson(path.resolve(n, "package.json"), function (er, d) {
- if (er) return cb(er)
- getUrlAndOpen(d, cb)
- })
+ var n = args.length ? args[0] : '.'
+ fetchPackageMetadata(n, '.', function (er, d) {
+ if (er) return cb(er)
+ getUrlAndOpen(d, cb)
})
}
function getUrlAndOpen (d, cb) {
var r = d.repository
- if (!r) return cb(new Error("no repository"))
+ if (!r) return cb(new Error('no repository'))
// XXX remove this when npm@v1.3.10 from node 0.10 is deprecated
// from https://github.com/npm/npm-www/issues/418
- if (githubUserRepo(r.url))
- r.url = githubUserRepo(r.url)
+ var info = hostedGitInfo.fromUrl(r.url)
+ var url = info ? info.browse() : unknownHostedUrl(r.url)
- var url = (r.url && ~r.url.indexOf("github"))
- ? github(r.url)
- : nonGithubUrl(r.url)
-
- if (!url)
- return cb(new Error("no repository: could not get url"))
- opener(url, { command: npm.config.get("browser") }, cb)
-}
+ if (!url) return cb(new Error('no repository: could not get url'))
-function callRegistry (n, cb) {
- mapToRegistry(n, npm.config, function (er, uri) {
- if (er) return cb(er)
-
- npm.registry.get(uri + "/latest", { timeout : 3600 }, function (er, d) {
- if (er) return cb(er)
- getUrlAndOpen(d, cb)
- })
- })
+ opener(url, { command: npm.config.get('browser') }, cb)
}
-function nonGithubUrl (url) {
+function unknownHostedUrl (url) {
try {
- var idx = url.indexOf("@")
+ var idx = url.indexOf('@')
if (idx !== -1) {
- url = url.slice(idx+1).replace(/:([^\d]+)/, "/$1")
+ url = url.slice(idx + 1).replace(/:([^\d]+)/, '/$1')
}
url = url_.parse(url)
- var protocol = url.protocol === "https:"
- ? "https:"
- : "http:"
- return protocol + "//" + (url.host || "") +
- url.path.replace(/\.git$/, "")
- }
- catch(e) {}
+ var protocol = url.protocol === 'https:'
+ ? 'https:'
+ : 'http:'
+ return protocol + '//' + (url.host || '') +
+ url.path.replace(/\.git$/, '')
+ } catch(e) {}
}
diff --git a/deps/npm/lib/restart.js b/deps/npm/lib/restart.js
index 69c4b913db..601249fd6b 100644
--- a/deps/npm/lib/restart.js
+++ b/deps/npm/lib/restart.js
@@ -1 +1 @@
-module.exports = require("./utils/lifecycle.js").cmd("restart")
+module.exports = require('./utils/lifecycle.js').cmd('restart')
diff --git a/deps/npm/lib/root.js b/deps/npm/lib/root.js
index b2f731ed55..958361d351 100644
--- a/deps/npm/lib/root.js
+++ b/deps/npm/lib/root.js
@@ -1,11 +1,14 @@
module.exports = root
-var npm = require("./npm.js")
+var npm = require('./npm.js')
-root.usage = "npm root\nnpm root -g\n(just prints the root folder)"
+root.usage = 'npm root [-g]'
function root (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
if (!silent) console.log(npm.dir)
process.nextTick(cb.bind(this, null, npm.dir))
}
diff --git a/deps/npm/lib/run-script.js b/deps/npm/lib/run-script.js
index 2c805615a4..8c99c29b82 100644
--- a/deps/npm/lib/run-script.js
+++ b/deps/npm/lib/run-script.js
@@ -1,13 +1,14 @@
module.exports = runScript
-var lifecycle = require("./utils/lifecycle.js")
- , npm = require("./npm.js")
- , path = require("path")
- , readJson = require("read-package-json")
- , log = require("npmlog")
- , chain = require("slide").chain
+var lifecycle = require('./utils/lifecycle.js')
+var npm = require('./npm.js')
+var path = require('path')
+var readJson = require('read-package-json')
+var log = require('npmlog')
+var chain = require('slide').chain
-runScript.usage = "npm run-script <command> [-- <args>]"
+runScript.usage = 'npm run-script <command> [-- <args>...]' +
+ '\n\nalias: npm run'
runScript.completion = function (opts, cb) {
@@ -19,20 +20,19 @@ runScript.completion = function (opts, cb) {
if (argv.length === 3) {
// either specified a script locally, in which case, done,
// or a package, in which case, complete against its scripts
- var json = path.join(npm.localPrefix, "package.json")
+ var json = path.join(npm.localPrefix, 'package.json')
return readJson(json, function (er, d) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
if (er) d = {}
var scripts = Object.keys(d.scripts || {})
- console.error("local scripts", scripts)
+ console.error('local scripts', scripts)
if (scripts.indexOf(argv[2]) !== -1) return cb()
// ok, try to find out which package it was, then
- var pref = npm.config.get("global") ? npm.config.get("prefix")
+ var pref = npm.config.get('global') ? npm.config.get('prefix')
: npm.localPrefix
- var pkgDir = path.resolve( pref, "node_modules"
- , argv[2], "package.json" )
+ var pkgDir = path.resolve(pref, 'node_modules', argv[2], 'package.json')
readJson(pkgDir, function (er, d) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
if (er) d = {}
var scripts = Object.keys(d.scripts || {})
return cb(null, scripts)
@@ -40,8 +40,8 @@ runScript.completion = function (opts, cb) {
})
}
- readJson(path.join(npm.localPrefix, "package.json"), function (er, d) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+ readJson(path.join(npm.localPrefix, 'package.json'), function (er, d) {
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
d = d || {}
cb(null, Object.keys(d.scripts || {}))
})
@@ -51,23 +51,30 @@ function runScript (args, cb) {
if (!args.length) return list(cb)
var pkgdir = npm.localPrefix
- , cmd = args.shift()
+ var cmd = args.shift()
- readJson(path.resolve(pkgdir, "package.json"), function (er, d) {
+ readJson(path.resolve(pkgdir, 'package.json'), function (er, d) {
if (er) return cb(er)
run(d, pkgdir, cmd, args, cb)
})
}
-function list(cb) {
- var json = path.join(npm.localPrefix, "package.json")
- var cmdList = [ "publish", "install", "uninstall"
- , "test", "stop", "start", "restart", "version"
- ].reduce(function (l, p) {
- return l.concat(["pre" + p, p, "post" + p])
- }, [])
- return readJson(json, function(er, d) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
+function list (cb) {
+ var json = path.join(npm.localPrefix, 'package.json')
+ var cmdList = [
+ 'publish',
+ 'install',
+ 'uninstall',
+ 'test',
+ 'stop',
+ 'start',
+ 'restart',
+ 'version'
+ ].reduce(function (l, p) {
+ return l.concat(['pre' + p, p, 'post' + p])
+ }, [])
+ return readJson(json, function (er, d) {
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
if (er) d = {}
var allScripts = Object.keys(d.scripts || {})
var scripts = []
@@ -77,37 +84,36 @@ function list(cb) {
else runScripts.push(script)
})
- if (log.level === "silent") {
+ if (log.level === 'silent') {
return cb(null, allScripts)
}
- if (npm.config.get("json")) {
+ if (npm.config.get('json')) {
console.log(JSON.stringify(d.scripts || {}, null, 2))
return cb(null, allScripts)
}
- if (npm.config.get("parseable")) {
- allScripts.forEach(function(script) {
- console.log(script + ":" + d.scripts[script])
+ if (npm.config.get('parseable')) {
+ allScripts.forEach(function (script) {
+ console.log(script + ':' + d.scripts[script])
})
return cb(null, allScripts)
}
- var s = "\n "
- var prefix = " "
+ var s = '\n '
+ var prefix = ' '
if (scripts.length) {
- console.log("Lifecycle scripts included in %s:", d.name)
+ console.log('Lifecycle scripts included in %s:', d.name)
}
- scripts.forEach(function(script) {
+ scripts.forEach(function (script) {
console.log(prefix + script + s + d.scripts[script])
})
if (!scripts.length && runScripts.length) {
- console.log("Scripts available in %s via `npm run-script`:", d.name)
+ console.log('Scripts available in %s via `npm run-script`:', d.name)
+ } else if (runScripts.length) {
+ console.log('\navailable via `npm run-script`:')
}
- else if (runScripts.length) {
- console.log("\navailable via `npm run-script`:")
- }
- runScripts.forEach(function(script) {
+ runScripts.forEach(function (script) {
console.log(prefix + script + s + d.scripts[script])
})
return cb(null, allScripts)
@@ -118,38 +124,38 @@ function run (pkg, wd, cmd, args, cb) {
if (!pkg.scripts) pkg.scripts = {}
var cmds
- if (cmd === "restart" && !pkg.scripts.restart) {
+ if (cmd === 'restart' && !pkg.scripts.restart) {
cmds = [
- "prestop", "stop", "poststop",
- "restart",
- "prestart", "start", "poststart"
+ 'prestop', 'stop', 'poststop',
+ 'restart',
+ 'prestart', 'start', 'poststart'
]
} else {
if (!pkg.scripts[cmd]) {
- if (cmd === "test") {
- pkg.scripts.test = "echo \"Error: no test specified\""
- } else if (cmd === "env") {
- if (process.platform === "win32") {
- log.verbose("run-script using default platform env: SET (Windows)")
- pkg.scripts[cmd] = "SET"
+ if (cmd === 'test') {
+ pkg.scripts.test = 'echo \'Error: no test specified\''
+ } else if (cmd === 'env') {
+ if (process.platform === 'win32') {
+ log.verbose('run-script using default platform env: SET (Windows)')
+ pkg.scripts[cmd] = 'SET'
} else {
- log.verbose("run-script using default platform env: env (Unix)")
- pkg.scripts[cmd] = "env"
+ log.verbose('run-script using default platform env: env (Unix)')
+ pkg.scripts[cmd] = 'env'
}
- } else if (npm.config.get("if-present")) {
- return cb(null);
+ } else if (npm.config.get('if-present')) {
+ return cb(null)
} else {
- return cb(new Error("missing script: " + cmd))
+ return cb(new Error('missing script: ' + cmd))
}
}
cmds = [cmd]
}
if (!cmd.match(/^(pre|post)/)) {
- cmds = ["pre"+cmd].concat(cmds).concat("post"+cmd)
+ cmds = ['pre' + cmd].concat(cmds).concat('post' + cmd)
}
- log.verbose("run-script", cmds)
+ log.verbose('run-script', cmds)
chain(cmds.map(function (c) {
// pass cli arguments after -- to script.
if (pkg.scripts[c] && c === cmd) {
@@ -164,8 +170,8 @@ function run (pkg, wd, cmd, args, cb) {
// join arguments after '--' and pass them to script,
// handle special characters such as ', ", ' '.
function joinArgs (args) {
- var joinedArgs = ""
- args.forEach(function(arg) {
+ var joinedArgs = ''
+ args.forEach(function (arg) {
joinedArgs += ' "' + arg.replace(/"/g, '\\"') + '"'
})
return joinedArgs
diff --git a/deps/npm/lib/search.js b/deps/npm/lib/search.js
index 840bc2f6b7..a029d62eb1 100644
--- a/deps/npm/lib/search.js
+++ b/deps/npm/lib/search.js
@@ -1,17 +1,18 @@
module.exports = exports = search
-var npm = require("./npm.js")
- , columnify = require("columnify")
- , updateIndex = require("./cache/update-index.js")
+var npm = require('./npm.js')
+var columnify = require('columnify')
+var updateIndex = require('./cache/update-index.js')
-search.usage = "npm search [some search terms ...]"
+search.usage = 'npm search [--long] [search terms ...]' +
+ '\n\naliases: s, se'
search.completion = function (opts, cb) {
var compl = {}
- , partial = opts.partialWord
- , ipartial = partial.toLowerCase()
- , plen = partial.length
+ var partial = opts.partialWord
+ var ipartial = partial.toLowerCase()
+ var plen = partial.length
// get the batch of data that matches so far.
// this is an example of using npm.commands.search programmatically
@@ -19,7 +20,7 @@ search.completion = function (opts, cb) {
search(opts.conf.argv.remain.slice(2), true, function (er, data) {
if (er) return cb(er)
Object.keys(data).forEach(function (name) {
- data[name].words.split(" ").forEach(function (w) {
+ data[name].words.split(' ').forEach(function (w) {
if (w.toLowerCase().indexOf(ipartial) === 0) {
compl[partial + w.substr(plen)] = true
}
@@ -30,19 +31,25 @@ search.completion = function (opts, cb) {
}
function search (args, silent, staleness, cb) {
- if (typeof cb !== "function") cb = staleness, staleness = 600
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = staleness
+ staleness = 600
+ }
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
- var searchopts = npm.config.get("searchopts")
- var searchexclude = npm.config.get("searchexclude")
+ var searchopts = npm.config.get('searchopts')
+ var searchexclude = npm.config.get('searchexclude')
- if (typeof searchopts !== "string") searchopts = ""
+ if (typeof searchopts !== 'string') searchopts = ''
searchopts = searchopts.split(/\s+/)
var opts = searchopts.concat(args).map(function (s) {
return s.toLowerCase()
}).filter(function (s) { return s })
- if (typeof searchexclude === "string") {
+ if (typeof searchexclude === 'string') {
searchexclude = searchexclude.split(/\s+/)
} else {
searchexclude = []
@@ -73,7 +80,7 @@ function filter (data, args, notArgs) {
return Object.keys(data).map(function (d) {
return data[d]
}).filter(function (d) {
- return typeof d === "object"
+ return typeof d === 'object'
}).map(stripData).map(getWords).filter(function (data) {
return filterWords(data, args, notArgs)
}).reduce(function (l, r) {
@@ -83,51 +90,52 @@ function filter (data, args, notArgs) {
}
function stripData (data) {
- return { name: data.name
- , description: npm.config.get("description") ? data.description : ""
- , maintainers: (data.maintainers || []).map(function (m) {
- return "=" + m.name
- })
- , url: !Object.keys(data.versions || {}).length ? data.url : null
- , keywords: data.keywords || []
- , version: Object.keys(data.versions || {})[0] || []
- , time: data.time
- && data.time.modified
- && (new Date(data.time.modified).toISOString()
- .split("T").join(" ")
- .replace(/:[0-9]{2}\.[0-9]{3}Z$/, ""))
- .slice(0, -5) // remove time
- || "prehistoric"
- }
+ return {
+ name: data.name,
+ description: npm.config.get('description') ? data.description : '',
+ maintainers: (data.maintainers || []).map(function (m) {
+ return '=' + m.name
+ }),
+ url: !Object.keys(data.versions || {}).length ? data.url : null,
+ keywords: data.keywords || [],
+ version: Object.keys(data.versions || {})[0] || [],
+ time: data.time &&
+ data.time.modified &&
+ (new Date(data.time.modified).toISOString() // remove time
+ .split('T').join(' ')
+ .replace(/:[0-9]{2}\.[0-9]{3}Z$/, ''))
+ .slice(0, -5) ||
+ 'prehistoric'
+ }
}
function getWords (data) {
data.words = [ data.name ]
.concat(data.description)
.concat(data.maintainers)
- .concat(data.url && ("<" + data.url + ">"))
+ .concat(data.url && ('<' + data.url + '>'))
.concat(data.keywords)
.map(function (f) { return f && f.trim && f.trim() })
.filter(function (f) { return f })
- .join(" ")
+ .join(' ')
.toLowerCase()
return data
}
function filterWords (data, args, notArgs) {
var words = data.words
- for (var i = 0, l = args.length; i < l; i ++) {
+ for (var i = 0, l = args.length; i < l; i++) {
if (!match(words, args[i])) return false
}
- for (i = 0, l = notArgs.length; i < l; i ++) {
+ for (i = 0, l = notArgs.length; i < l; i++) {
if (match(words, notArgs[i])) return false
}
return true
}
function match (words, arg) {
- if (arg.charAt(0) === "/") {
- arg = arg.replace(/\/$/, "")
+ if (arg.charAt(0) === '/') {
+ arg = arg.replace(/\/$/, '')
arg = new RegExp(arg.substr(1, arg.length - 1))
return words.match(arg)
}
@@ -135,68 +143,71 @@ function match (words, arg) {
}
function prettify (data, args) {
- var searchsort = (npm.config.get("searchsort") || "NAME").toLowerCase()
- , sortField = searchsort.replace(/^\-+/, "")
- , searchRev = searchsort.charAt(0) === "-"
- , truncate = !npm.config.get("long")
+ var searchsort = (npm.config.get('searchsort') || 'NAME').toLowerCase()
+ var sortField = searchsort.replace(/^\-+/, '')
+ var searchRev = searchsort.charAt(0) === '-'
+ var truncate = !npm.config.get('long')
if (Object.keys(data).length === 0) {
- return "No match found for "+(args.map(JSON.stringify).join(" "))
+ return 'No match found for ' + (args.map(JSON.stringify).join(' '))
}
var lines = Object.keys(data).map(function (d) {
// strip keyname
return data[d]
- }).map(function(dat) {
+ }).map(function (dat) {
dat.author = dat.maintainers
delete dat.maintainers
dat.date = dat.time
delete dat.time
return dat
- }).map(function(dat) {
+ }).map(function (dat) {
// split keywords on whitespace or ,
- if (typeof dat.keywords === "string") {
+ if (typeof dat.keywords === 'string') {
dat.keywords = dat.keywords.split(/[,\s]+/)
}
if (Array.isArray(dat.keywords)) {
- dat.keywords = dat.keywords.join(" ")
+ dat.keywords = dat.keywords.join(' ')
}
// split author on whitespace or ,
- if (typeof dat.author === "string") {
+ if (typeof dat.author === 'string') {
dat.author = dat.author.split(/[,\s]+/)
}
if (Array.isArray(dat.author)) {
- dat.author = dat.author.join(" ")
+ dat.author = dat.author.join(' ')
}
return dat
})
- lines.sort(function(a, b) {
+ lines.sort(function (a, b) {
var aa = a[sortField].toLowerCase()
- , bb = b[sortField].toLowerCase()
+ var bb = b[sortField].toLowerCase()
return aa === bb ? 0
: aa < bb ? -1 : 1
})
if (searchRev) lines.reverse()
- var columns = npm.config.get("description")
- ? ["name", "description", "author", "date", "version", "keywords"]
- : ["name", "author", "date", "version", "keywords"]
-
- var output = columnify(lines, {
- include: columns
- , truncate: truncate
- , config: {
- name: { maxWidth: 40, truncate: false, truncateMarker: "" }
- , description: { maxWidth: 60 }
- , author: { maxWidth: 20 }
- , date: { maxWidth: 11 }
- , version: { maxWidth: 11 }
- , keywords: { maxWidth: Infinity }
- }
- })
+ var columns = npm.config.get('description')
+ ? ['name', 'description', 'author', 'date', 'version', 'keywords']
+ : ['name', 'author', 'date', 'version', 'keywords']
+
+ var output = columnify(
+ lines,
+ {
+ include: columns,
+ truncate: truncate,
+ config: {
+ name: { maxWidth: 40, truncate: false, truncateMarker: '' },
+ description: { maxWidth: 60 },
+ author: { maxWidth: 20 },
+ date: { maxWidth: 11 },
+ version: { maxWidth: 11 },
+ keywords: { maxWidth: Infinity }
+ }
+ }
+ )
output = trimToMaxWidth(output)
output = highlightSearchTerms(output, args)
@@ -204,63 +215,63 @@ function prettify (data, args) {
}
var colors = [31, 33, 32, 36, 34, 35 ]
- , cl = colors.length
+var cl = colors.length
function addColorMarker (str, arg, i) {
var m = i % cl + 1
- , markStart = String.fromCharCode(m)
- , markEnd = String.fromCharCode(0)
-
- if (arg.charAt(0) === "/") {
- //arg = arg.replace(/\/$/, "")
- return str.replace( new RegExp(arg.substr(1, arg.length - 2), "gi")
- , function (bit) { return markStart + bit + markEnd } )
-
+ var markStart = String.fromCharCode(m)
+ var markEnd = String.fromCharCode(0)
+
+ if (arg.charAt(0) === '/') {
+ return str.replace(
+ new RegExp(arg.substr(1, arg.length - 2), 'gi'),
+ function (bit) { return markStart + bit + markEnd }
+ )
}
// just a normal string, do the split/map thing
var pieces = str.toLowerCase().split(arg.toLowerCase())
- , p = 0
+ var p = 0
return pieces.map(function (piece) {
piece = str.substr(p, piece.length)
- var mark = markStart
- + str.substr(p+piece.length, arg.length)
- + markEnd
+ var mark = markStart +
+ str.substr(p + piece.length, arg.length) +
+ markEnd
p += piece.length + arg.length
return piece + mark
- }).join("")
+ }).join('')
}
function colorize (line) {
- for (var i = 0; i < cl; i ++) {
+ for (var i = 0; i < cl; i++) {
var m = i + 1
- var color = npm.color ? "\033["+colors[i]+"m" : ""
+ var color = npm.color ? '\u001B[' + colors[i] + 'm' : ''
line = line.split(String.fromCharCode(m)).join(color)
}
- var uncolor = npm.color ? "\033[0m" : ""
- return line.split("\u0000").join(uncolor)
+ var uncolor = npm.color ? '\u001B[0m' : ''
+ return line.split('\u0000').join(uncolor)
}
-function getMaxWidth() {
+function getMaxWidth () {
var cols
try {
- var tty = require("tty")
- , stdout = process.stdout
+ var tty = require('tty')
+ var stdout = process.stdout
cols = !tty.isatty(stdout.fd) ? Infinity : process.stdout.getWindowSize()[0]
cols = (cols === 0) ? Infinity : cols
} catch (ex) { cols = Infinity }
return cols
}
-function trimToMaxWidth(str) {
+function trimToMaxWidth (str) {
var maxWidth = getMaxWidth()
- return str.split("\n").map(function(line) {
+ return str.split('\n').map(function (line) {
return line.slice(0, maxWidth)
- }).join("\n")
+ }).join('\n')
}
-function highlightSearchTerms(str, terms) {
+function highlightSearchTerms (str, terms) {
terms.forEach(function (arg, i) {
str = addColorMarker(str, arg, i)
})
diff --git a/deps/npm/lib/set.js b/deps/npm/lib/set.js
index c83602ec1f..b5e7376fbd 100644
--- a/deps/npm/lib/set.js
+++ b/deps/npm/lib/set.js
@@ -1,13 +1,13 @@
module.exports = set
-set.usage = "npm set <key> <value> (See `npm config`)"
+set.usage = 'npm set <key> <value> (See `npm config`)'
-var npm = require("./npm.js")
+var npm = require('./npm.js')
set.completion = npm.commands.config.completion
function set (args, cb) {
if (!args.length) return cb(set.usage)
- npm.commands.config(["set"].concat(args), cb)
+ npm.commands.config(['set'].concat(args), cb)
}
diff --git a/deps/npm/lib/shrinkwrap.js b/deps/npm/lib/shrinkwrap.js
index 03192a3fa4..2a8cc7a29f 100644
--- a/deps/npm/lib/shrinkwrap.js
+++ b/deps/npm/lib/shrinkwrap.js
@@ -3,84 +3,127 @@
module.exports = exports = shrinkwrap
-var npm = require("./npm.js")
- , log = require("npmlog")
- , fs = require("fs")
- , writeFileAtomic = require("write-file-atomic")
- , path = require("path")
- , readJson = require("read-package-json")
- , sortedObject = require("sorted-object")
+var path = require('path')
+var log = require('npmlog')
+var writeFileAtomic = require('write-file-atomic')
+var iferr = require('iferr')
+var readPackageTree = require('read-package-tree')
+var validate = require('aproba')
+var npm = require('./npm.js')
+var recalculateMetadata = require('./install/deps.js').recalculateMetadata
+var validatePeerDeps = require('./install/deps.js').validatePeerDeps
+var isExtraneous = require('./install/is-extraneous.js')
+var isOnlyDev = require('./install/is-dev.js').isOnlyDev
+var getPackageId = require('./install/get-package-id.js')
-shrinkwrap.usage = "npm shrinkwrap"
+shrinkwrap.usage = 'npm shrinkwrap'
function shrinkwrap (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
if (args.length) {
- log.warn("shrinkwrap", "doesn't take positional args")
+ log.warn('shrinkwrap', "doesn't take positional args")
}
- // https://github.com/npm/npm/issues/7641
- // introduced because `npm ls` can now show dev and prod depenednecy
- // trees separately
- if (npm.config.get("dev")) {
- npm.config.set("production", true)
- }
- npm.commands.ls([], true, function (er, _, pkginfo) {
- if (er) return cb(er)
- shrinkwrap_(pkginfo, silent, npm.config.get("dev"), cb)
- })
+ var dir = path.resolve(npm.dir, '..')
+ npm.config.set('production', true)
+ readPackageTree(dir, andRecalculateMetadata(iferr(cb, function (tree) {
+ var pkginfo = treeToShrinkwrap(tree, !!npm.config.get('dev') || /^dev(elopment)?$/.test(npm.config.get('also')))
+ shrinkwrap_(pkginfo, silent, cb)
+ })))
}
-function shrinkwrap_ (pkginfo, silent, dev, cb) {
- if (pkginfo.problems) {
- return cb(new Error("Problems were encountered\n"
- +"Please correct and try again.\n"
- +pkginfo.problems.join("\n")))
+function andRecalculateMetadata (next) {
+ validate('F', arguments)
+ return function (er, tree) {
+ validate('EO', arguments)
+ if (er) return next(er)
+ recalculateMetadata(tree, log, next)
}
+}
- if (!dev) {
- // remove dev deps unless the user does --dev
- readJson(path.resolve(npm.prefix, "package.json"), function (er, data) {
- if (er)
- return cb(er)
- if (data.devDependencies) {
- Object.keys(data.devDependencies).forEach(function (dep) {
- if (data.dependencies && data.dependencies[dep]) {
- // do not exclude the dev dependency if it's also listed as a dependency
- return
- }
+function treeToShrinkwrap (tree, dev) {
+ validate('OB', arguments)
+ var pkginfo = {}
+ if (tree.package.name) pkginfo.name = tree.package.name
+ if (tree.package.version) pkginfo.version = tree.package.version
+ var problems = []
+ if (tree.children.length) {
+ shrinkwrapDeps(dev, problems, pkginfo.dependencies = {}, tree)
+ }
+ if (problems.length) pkginfo.problems = problems
+ return pkginfo
+}
- log.warn("shrinkwrap", "Excluding devDependency: %s", dep, data.dependencies)
- delete pkginfo.dependencies[dep]
- })
- }
- save(pkginfo, silent, cb)
+function shrinkwrapDeps (dev, problems, deps, tree, seen) {
+ validate('BAOO', [dev, problems, deps, tree])
+ if (!seen) seen = {}
+ if (seen[tree.path]) return
+ seen[tree.path] = true
+ Object.keys(tree.missingDeps).forEach(function (name) {
+ var invalid = tree.children.filter(function (dep) { return dep.package.name === name })[0]
+ if (invalid) {
+ problems.push('invalid: have ' + invalid.package._id + ' (expected: ' + tree.missingDeps[name] + ') ' + invalid.path)
+ } else {
+ var topname = getPackageId(tree)
+ problems.push('missing: ' + name + '@' + tree.package.dependencies[name] +
+ (topname ? ', required by ' + topname : ''))
+ }
+ })
+ tree.children.sort(function (aa, bb) { return aa.package.name.localeCompare(bb.package.name) }).forEach(function (child) {
+ if (!dev && isOnlyDev(child)) {
+ log.warn('shrinkwrap', 'Excluding devDependency: %s', child.package.name, child.parent.package.dependencies)
+ return
+ }
+ var pkginfo = deps[child.package.name] = {}
+ pkginfo.version = child.package.version
+ pkginfo.from = child.package._from
+ pkginfo.resolved = child.package._resolved
+ if (isExtraneous(child)) {
+ problems.push('extraneous: ' + child.package._id + ' ' + child.path)
+ }
+ validatePeerDeps(child, function (tree, pkgname, version) {
+ problems.push('peer invalid: ' + pkgname + '@' + version +
+ ', required by ' + child.package._id)
})
- } else {
- save(pkginfo, silent, cb)
- }
+ if (child.children.length) {
+ shrinkwrapDeps(dev, problems, pkginfo.dependencies = {}, child, seen)
+ }
+ })
}
+function shrinkwrap_ (pkginfo, silent, cb) {
+ if (pkginfo.problems) {
+ return cb(new Error('Problems were encountered\n' +
+ 'Please correct and try again.\n' +
+ pkginfo.problems.join('\n')))
+ }
+
+ save(pkginfo, silent, cb)
+}
function save (pkginfo, silent, cb) {
// copy the keys over in a well defined order
// because javascript objects serialize arbitrarily
- pkginfo.dependencies = sortedObject(pkginfo.dependencies || {})
var swdata
try {
- swdata = JSON.stringify(pkginfo, null, 2) + "\n"
+ swdata = JSON.stringify(pkginfo, null, 2) + '\n'
} catch (er) {
- log.error("shrinkwrap", "Error converting package info to json")
+ log.error('shrinkwrap', 'Error converting package info to json')
return cb(er)
}
- var file = path.resolve(npm.prefix, "npm-shrinkwrap.json")
+ var file = path.resolve(npm.prefix, 'npm-shrinkwrap.json')
writeFileAtomic(file, swdata, function (er) {
if (er) return cb(er)
if (silent) return cb(null, pkginfo)
- console.log("wrote npm-shrinkwrap.json")
+ log.clearProgress()
+ console.log('wrote npm-shrinkwrap.json')
+ log.showProgress()
cb(null, pkginfo)
})
}
diff --git a/deps/npm/lib/star.js b/deps/npm/lib/star.js
index 1f324336c0..29c4037d0c 100644
--- a/deps/npm/lib/star.js
+++ b/deps/npm/lib/star.js
@@ -1,13 +1,12 @@
-
module.exports = star
-var npm = require("./npm.js")
- , log = require("npmlog")
- , asyncMap = require("slide").asyncMap
- , mapToRegistry = require("./utils/map-to-registry.js")
+var npm = require('./npm.js')
+var log = require('npmlog')
+var asyncMap = require('slide').asyncMap
+var mapToRegistry = require('./utils/map-to-registry.js')
-star.usage = "npm star <package> [pkg, pkg, ...]\n"
- + "npm unstar <package> [pkg, pkg, ...]"
+star.usage = 'npm star [<pkg>...]\n' +
+ 'npm unstar [<pkg>...]'
star.completion = function (opts, cb) {
// FIXME: there used to be registry completion here, but it stopped making
@@ -17,22 +16,22 @@ star.completion = function (opts, cb) {
function star (args, cb) {
if (!args.length) return cb(star.usage)
- var s = npm.config.get("unicode") ? "\u2605 " : "(*)"
- , u = npm.config.get("unicode") ? "\u2606 " : "( )"
- , using = !(npm.command.match(/^un/))
+ var s = npm.config.get('unicode') ? '\u2605 ' : '(*)'
+ var u = npm.config.get('unicode') ? '\u2606 ' : '( )'
+ var using = !(npm.command.match(/^un/))
if (!using) s = u
asyncMap(args, function (pkg, cb) {
mapToRegistry(pkg, npm.config, function (er, uri, auth) {
if (er) return cb(er)
var params = {
- starred : using,
- auth : auth
+ starred: using,
+ auth: auth
}
npm.registry.star(uri, params, function (er, data, raw, req) {
if (!er) {
- console.log(s + " "+pkg)
- log.verbose("star", data)
+ console.log(s + ' ' + pkg)
+ log.verbose('star', data)
}
cb(er, data, raw, req)
})
diff --git a/deps/npm/lib/stars.js b/deps/npm/lib/stars.js
index 01ec76e42c..4ad8f02e59 100644
--- a/deps/npm/lib/stars.js
+++ b/deps/npm/lib/stars.js
@@ -1,10 +1,10 @@
module.exports = stars
-stars.usage = "npm stars [username]"
+stars.usage = 'npm stars [<user>]'
-var npm = require("./npm.js")
- , log = require("npmlog")
- , mapToRegistry = require("./utils/map-to-registry.js")
+var npm = require('./npm.js')
+var log = require('npmlog')
+var mapToRegistry = require('./utils/map-to-registry.js')
function stars (args, cb) {
npm.commands.whoami([], true, function (er, username) {
@@ -20,12 +20,12 @@ function stars (args, cb) {
if (er.code !== 'ENEEDAUTH') return cb(er)
}
- mapToRegistry("", npm.config, function (er, uri, auth) {
+ mapToRegistry('', npm.config, function (er, uri, auth) {
if (er) return cb(er)
var params = {
- username : name,
- auth : auth
+ username: name,
+ auth: auth
}
npm.registry.stars(uri, params, showstars)
})
@@ -35,9 +35,9 @@ function stars (args, cb) {
if (er) return cb(er)
if (data.rows.length === 0) {
- log.warn("stars", "user has not starred any packages.")
+ log.warn('stars', 'user has not starred any packages.')
} else {
- data.rows.forEach(function(a) {
+ data.rows.forEach(function (a) {
console.log(a.value)
})
}
diff --git a/deps/npm/lib/start.js b/deps/npm/lib/start.js
index 98823825bb..85d61e78d0 100644
--- a/deps/npm/lib/start.js
+++ b/deps/npm/lib/start.js
@@ -1 +1 @@
-module.exports = require("./utils/lifecycle.js").cmd("start")
+module.exports = require('./utils/lifecycle.js').cmd('start')
diff --git a/deps/npm/lib/stop.js b/deps/npm/lib/stop.js
index 8ea5ba6aa6..e4d02ff281 100644
--- a/deps/npm/lib/stop.js
+++ b/deps/npm/lib/stop.js
@@ -1 +1 @@
-module.exports = require("./utils/lifecycle.js").cmd("stop")
+module.exports = require('./utils/lifecycle.js').cmd('stop')
diff --git a/deps/npm/lib/substack.js b/deps/npm/lib/substack.js
index 1929f18738..c39a5dcc48 100644
--- a/deps/npm/lib/substack.js
+++ b/deps/npm/lib/substack.js
@@ -1,15 +1,16 @@
module.exports = substack
-var npm = require("./npm.js")
+var npm = require('./npm.js')
-var isms =
- [ "\033[32mbeep \033[35mboop\033[m"
- , "Replace your configs with services"
- , "SEPARATE ALL THE CONCERNS!"
- , "MODULE ALL THE THINGS!"
- , "\\o/"
- , "but first, burritos"
- , "full time mad scientist here"
- , "c/,,\\" ]
+var isms = [
+ '\u001b[32mbeep \u001b[35mboop\u001b[m',
+ 'Replace your configs with services',
+ 'SEPARATE ALL THE CONCERNS!',
+ 'MODULE ALL THE THINGS!',
+ '\\o/',
+ 'but first, burritos',
+ 'full time mad scientist here',
+ 'c/,,\\'
+]
function substack (args, cb) {
var i = Math.floor(Math.random() * isms.length)
diff --git a/deps/npm/lib/tag.js b/deps/npm/lib/tag.js
index 75da0b2174..01db4d8ea6 100644
--- a/deps/npm/lib/tag.js
+++ b/deps/npm/lib/tag.js
@@ -1,40 +1,41 @@
// turns out tagging isn't very complicated
// all the smarts are in the couch.
module.exports = tag
-tag.usage = "npm tag <project>@<version> [<tag>]"
+tag.usage = '[DEPRECATED] npm tag <name>@<version> [<tag>]' +
+ '\nSee `dist-tag`'
-tag.completion = require("./unpublish.js").completion
+tag.completion = require('./unpublish.js').completion
-var npm = require("./npm.js")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , npa = require("npm-package-arg")
- , semver = require("semver")
- , log = require("npmlog")
+var npm = require('./npm.js')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var npa = require('npm-package-arg')
+var semver = require('semver')
+var log = require('npmlog')
function tag (args, cb) {
- var thing = npa(args.shift() || "")
- , project = thing.name
- , version = thing.rawSpec
- , t = args.shift() || npm.config.get("tag")
+ var thing = npa(args.shift() || '')
+ var project = thing.name
+ var version = thing.rawSpec
+ var t = args.shift() || npm.config.get('tag')
t = t.trim()
- if (!project || !version || !t) return cb("Usage:\n"+tag.usage)
+ if (!project || !version || !t) return cb('Usage:\n' + tag.usage)
if (semver.validRange(t)) {
- var er = new Error("Tag name must not be a valid SemVer range: " + t)
+ var er = new Error('Tag name must not be a valid SemVer range: ' + t)
return cb(er)
}
- log.warn("tag", "This command is deprecated. Use `npm dist-tag` instead.")
+ log.warn('tag', 'This command is deprecated. Use `npm dist-tag` instead.')
mapToRegistry(project, npm.config, function (er, uri, auth) {
if (er) return cb(er)
var params = {
- version : version,
- tag : t,
- auth : auth
+ version: version,
+ tag: t,
+ auth: auth
}
npm.registry.tag(uri, params, cb)
})
diff --git a/deps/npm/lib/test.js b/deps/npm/lib/test.js
index dd4994cf28..cbc7582170 100644
--- a/deps/npm/lib/test.js
+++ b/deps/npm/lib/test.js
@@ -1,12 +1,12 @@
module.exports = test
-var testCmd = require("./utils/lifecycle.js").cmd("test")
+var testCmd = require('./utils/lifecycle.js').cmd('test')
function test (args, cb) {
testCmd(args, function (er) {
if (!er) return cb()
- if (er.code === "ELIFECYCLE") {
- return cb("Test failed. See above for more details.")
+ if (er.code === 'ELIFECYCLE') {
+ return cb('Test failed. See above for more details.')
}
return cb(er)
})
diff --git a/deps/npm/lib/unbuild.js b/deps/npm/lib/unbuild.js
index d5fe0e6a0d..e6605939de 100644
--- a/deps/npm/lib/unbuild.js
+++ b/deps/npm/lib/unbuild.js
@@ -1,59 +1,70 @@
module.exports = unbuild
-unbuild.usage = "npm unbuild <folder>\n(this is plumbing)"
+module.exports.rmStuff = rmStuff
+unbuild.usage = 'npm unbuild <folder>\n(this is plumbing)'
-var readJson = require("read-package-json")
- , gentlyRm = require("./utils/gently-rm.js")
- , npm = require("./npm.js")
- , path = require("path")
- , isInside = require("path-is-inside")
- , lifecycle = require("./utils/lifecycle.js")
- , asyncMap = require("slide").asyncMap
- , chain = require("slide").chain
- , log = require("npmlog")
- , build = require("./build.js")
+var readJson = require('read-package-json')
+var gentlyRm = require('./utils/gently-rm.js')
+var npm = require('./npm.js')
+var path = require('path')
+var isInside = require('path-is-inside')
+var lifecycle = require('./utils/lifecycle.js')
+var asyncMap = require('slide').asyncMap
+var chain = require('slide').chain
+var log = require('npmlog')
+var build = require('./build.js')
// args is a list of folders.
// remove any bins/etc, and then delete the folder.
function unbuild (args, silent, cb) {
- if (typeof silent === "function") cb = silent, silent = false
+ if (typeof silent === 'function') {
+ cb = silent
+ silent = false
+ }
asyncMap(args, unbuild_(silent), cb)
}
-function unbuild_ (silent) { return function (folder, cb_) {
- function cb (er) {
- cb_(er, path.relative(npm.root, folder))
- }
- folder = path.resolve(folder)
- var base = isInside(folder, npm.prefix) ? npm.prefix : folder
- delete build._didBuild[folder]
- log.verbose("unbuild", folder.substr(npm.prefix.length + 1))
- readJson(path.resolve(folder, "package.json"), function (er, pkg) {
- // if no json, then just trash it, but no scripts or whatever.
- if (er) return gentlyRm(folder, false, base, cb)
- chain
- ( [ [lifecycle, pkg, "preuninstall", folder, false, true]
- , [lifecycle, pkg, "uninstall", folder, false, true]
- , !silent && function(cb) {
- console.log("unbuild " + pkg._id)
+function unbuild_ (silent) {
+ return function (folder, cb_) {
+ function cb (er) {
+ cb_(er, path.relative(npm.root, folder))
+ }
+ folder = path.resolve(folder)
+ var base = isInside(folder, npm.prefix) ? npm.prefix : folder
+ delete build._didBuild[folder]
+ log.verbose('unbuild', folder.substr(npm.prefix.length + 1))
+ readJson(path.resolve(folder, 'package.json'), function (er, pkg) {
+ // if no json, then just trash it, but no scripts or whatever.
+ if (er) return gentlyRm(folder, false, base, cb)
+ chain(
+ [
+ [lifecycle, pkg, 'preuninstall', folder, false, true],
+ [lifecycle, pkg, 'uninstall', folder, false, true],
+ !silent && function (cb) {
+ log.clearProgress()
+ console.log('unbuild ' + pkg._id)
+ log.showProgress()
cb()
- }
- , [rmStuff, pkg, folder]
- , [lifecycle, pkg, "postuninstall", folder, false, true]
- , [gentlyRm, folder, false, base] ]
- , cb )
- })
-}}
+ },
+ [rmStuff, pkg, folder],
+ [lifecycle, pkg, 'postuninstall', folder, false, true],
+ [gentlyRm, folder, false, base]
+ ],
+ cb
+ )
+ })
+ }
+}
function rmStuff (pkg, folder, cb) {
// if it's global, and folder is in {prefix}/node_modules,
// then bins are in {prefix}/bin
// otherwise, then bins are in folder/../.bin
var parent = path.dirname(folder)
- , gnm = npm.dir
- , top = gnm === parent
+ var gnm = npm.dir
+ var top = gnm === parent
- log.verbose("unbuild rmStuff", pkg._id, "from", gnm)
- if (!top) log.verbose("unbuild rmStuff", "in", parent)
+ log.verbose('unbuild rmStuff', pkg._id, 'from', gnm)
+ if (!top) log.verbose('unbuild rmStuff', 'in', parent)
asyncMap([rmBins, rmMans], function (fn, cb) {
fn(pkg, folder, parent, top, cb)
}, cb)
@@ -61,26 +72,26 @@ function rmStuff (pkg, folder, cb) {
function rmBins (pkg, folder, parent, top, cb) {
if (!pkg.bin) return cb()
- var binRoot = top ? npm.bin : path.resolve(parent, ".bin")
+ var binRoot = top ? npm.bin : path.resolve(parent, '.bin')
asyncMap(Object.keys(pkg.bin), function (b, cb) {
- if (process.platform === "win32") {
- chain([ [gentlyRm, path.resolve(binRoot, b) + ".cmd", true]
- , [gentlyRm, path.resolve(binRoot, b), true] ], cb)
+ if (process.platform === 'win32') {
+ chain([ [gentlyRm, path.resolve(binRoot, b) + '.cmd', true, folder],
+ [gentlyRm, path.resolve(binRoot, b), true, folder] ], cb)
} else {
- gentlyRm(path.resolve(binRoot, b), true, cb)
+ gentlyRm(path.resolve(binRoot, b), true, folder, cb)
}
}, cb)
}
function rmMans (pkg, folder, parent, top, cb) {
- if (!pkg.man
- || !top
- || process.platform === "win32"
- || !npm.config.get("global")) {
+ if (!pkg.man ||
+ !top ||
+ process.platform === 'win32' ||
+ !npm.config.get('global')) {
return cb()
}
- var manRoot = path.resolve(npm.config.get("prefix"), "share", "man")
- log.verbose("rmMans", "man files are", pkg.man, "in", manRoot)
+ var manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
+ log.verbose('rmMans', 'man files are', pkg.man, 'in', manRoot)
asyncMap(pkg.man, function (man, cb) {
if (Array.isArray(man)) {
man.forEach(rmMan)
@@ -89,25 +100,25 @@ function rmMans (pkg, folder, parent, top, cb) {
}
function rmMan (man) {
- log.silly("rmMan", "preparing to remove", man)
+ log.silly('rmMan', 'preparing to remove', man)
var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
if (!parseMan) {
log.error(
- "rmMan", man, "is not a valid name for a man file.",
- "Man files must end with a number, " +
- "and optionally a .gz suffix if they are compressed."
+ 'rmMan', man, 'is not a valid name for a man file.',
+ 'Man files must end with a number, ' +
+ 'and optionally a .gz suffix if they are compressed.'
)
return cb()
}
var stem = parseMan[1]
var sxn = parseMan[2]
- var gz = parseMan[3] || ""
+ var gz = parseMan[3] || ''
var bn = path.basename(stem)
var manDest = path.join(
manRoot,
- "man"+sxn,
- (bn.indexOf(pkg.name) === 0 ? bn : pkg.name+"-"+bn)+"."+sxn+gz
+ 'man' + sxn,
+ (bn.indexOf(pkg.name) === 0 ? bn : pkg.name + '-' + bn) + '.' + sxn + gz
)
gentlyRm(manDest, true, cb)
}
diff --git a/deps/npm/lib/uninstall.js b/deps/npm/lib/uninstall.js
index 600c681974..03a0a56303 100644
--- a/deps/npm/lib/uninstall.js
+++ b/deps/npm/lib/uninstall.js
@@ -1,128 +1,73 @@
-
+'use strict'
// remove a package.
module.exports = uninstall
+module.exports.Uninstaller = Uninstaller
-uninstall.usage = "npm uninstall <name>[@<version> [<name>[@<version>] ...]"
- + "\nnpm rm <name>[@<version> [<name>[@<version>] ...]"
+uninstall.usage = 'npm uninstall [<@scope>/]<pkg>[@<version>]... [--save|--save-dev|--save-optional]' +
+ '\n\naliases: remove, rm, r, un, unlink'
-uninstall.completion = require("./utils/completion/installed-shallow.js")
+var util = require('util')
+var path = require('path')
+var validate = require('aproba')
+var chain = require('slide').chain
+var readJson = require('read-package-json')
+var npm = require('./npm.js')
+var Installer = require('./install.js').Installer
+var getSaveType = require('./install/save.js').getSaveType
+var removeDeps = require('./install/deps.js').removeDeps
+var loadExtraneous = require('./install/deps.js').loadExtraneous
+var log = require('npmlog')
-var fs = require("graceful-fs")
- , writeFileAtomic = require("write-file-atomic")
- , log = require("npmlog")
- , readJson = require("read-package-json")
- , path = require("path")
- , npm = require("./npm.js")
- , asyncMap = require("slide").asyncMap
+uninstall.completion = require('./utils/completion/installed-shallow.js')
function uninstall (args, cb) {
- // this is super easy
- // get the list of args that correspond to package names in either
- // the global npm.dir,
- // then call unbuild on all those folders to pull out their bins
- // and mans and whatnot, and then delete the folder.
-
- var nm = npm.dir
- if (args.length === 1 && args[0] === ".") args = []
- if (args.length) return uninstall_(args, nm, cb)
+ validate('AF', arguments)
+ // the /path/to/node_modules/..
+ var dryrun = !!npm.config.get('dry-run')
- // remove this package from the global space, if it's installed there
- readJson(path.resolve(npm.localPrefix, "package.json"), function (er, pkg) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (er) return cb(uninstall.usage)
- uninstall_( [pkg.name]
- , npm.globalDir
- , cb )
+ if (args.length === 1 && args[0] === '.') args = []
+ args = args.filter(function (a) {
+ return path.resolve(a) !== where
})
-}
-
-function uninstall_ (args, nm, cb) {
- // if we've been asked to --save or --save-dev or --save-optional,
- // then also remove it from the associated dependencies hash.
- var s = npm.config.get('save')
- , d = npm.config.get('save-dev')
- , o = npm.config.get('save-optional')
- if (s || d || o) {
- cb = saver(args, nm, cb)
- }
-
- asyncMap(args, function (arg, cb) {
- // uninstall .. should not delete /usr/local/lib/node_modules/..
- var p = path.join(path.resolve(nm), path.join("/", arg))
- if (path.resolve(p) === nm) {
- log.warn("uninstall", "invalid argument: %j", arg)
- return cb(null, [])
- }
- fs.lstat(p, function (er) {
- if (er) {
- log.warn("uninstall", "not installed in %s: %j", nm, arg)
- return cb(null, [])
- }
- cb(null, p)
+ var where = npm.config.get('global') || !args.length
+ ? path.resolve(npm.globalDir, '..')
+ : npm.prefix
+
+ if (args.length) {
+ new Uninstaller(where, dryrun, args).run(cb)
+ } else {
+ // remove this package from the global space, if it's installed there
+ readJson(path.resolve(npm.localPrefix, 'package.json'), function (er, pkg) {
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
+ if (er) return cb(uninstall.usage)
+ new Uninstaller(where, dryrun, [pkg.name]).run(cb)
})
- }, function (er, folders) {
- if (er) return cb(er)
- asyncMap(folders, npm.commands.unbuild, cb)
- })
+ }
}
-function saver (args, nm, cb_) {
- return cb
- function cb (er, data) {
- var s = npm.config.get('save')
- , d = npm.config.get('save-dev')
- , o = npm.config.get('save-optional')
- if (er || !(s || d || o)) return cb_(er, data)
- var pj = path.resolve(nm, '..', 'package.json')
- // don't use readJson here, because we don't want all the defaults
- // filled in, for mans and other bs.
- fs.readFile(pj, 'utf8', function (er, json) {
- var pkg
- try {
- pkg = JSON.parse(json)
- } catch (_) {}
- if (!pkg) return cb_(null, data)
-
- var bundle
- if (npm.config.get('save-bundle')) {
- bundle = pkg.bundleDependencies || pkg.bundledDependencies
- if (!Array.isArray(bundle)) bundle = undefined
- }
-
- var changed = false
- args.forEach(function (a) {
- ; [ [s, 'dependencies']
- , [o, 'optionalDependencies']
- , [d, 'devDependencies'] ].forEach(function (f) {
- var flag = f[0]
- , field = f[1]
- if (!flag || !pkg[field] || !pkg[field].hasOwnProperty(a)) return
- changed = true
+function Uninstaller (where, dryrun, args) {
+ validate('SBA', arguments)
+ Installer.call(this, where, dryrun, args)
+}
+util.inherits(Uninstaller, Installer)
- if (bundle) {
- var i = bundle.indexOf(a)
- if (i !== -1) bundle.splice(i, 1)
- }
+Uninstaller.prototype.loadArgMetadata = function (next) {
+ this.args = this.args.map(function (arg) { return {name: arg} })
+ next()
+}
- delete pkg[field][a]
- })
- })
- if (!changed) return cb_(null, data)
+Uninstaller.prototype.loadAllDepsIntoIdealTree = function (cb) {
+ validate('F', arguments)
+ log.silly('uninstall', 'loadAllDepsIntoIdealtree')
+ var saveDeps = getSaveType(this.args)
- if (bundle) {
- delete pkg.bundledDependencies
- if (bundle.length) {
- pkg.bundleDependencies = bundle
- } else {
- delete pkg.bundleDependencies
- }
- }
+ var cg = this.progress.loadAllDepsIntoIdealTree
+ var steps = []
- writeFileAtomic(pj, JSON.stringify(pkg, null, 2) + "\n", function (er) {
- return cb_(er, data)
- })
- })
- }
+ steps.push(
+ [removeDeps, this.args, this.idealTree, saveDeps, cg.newGroup('removeDeps')],
+ [loadExtraneous, this.idealTree, cg.newGroup('loadExtraneous')])
+ chain(steps, cb)
}
diff --git a/deps/npm/lib/unpublish.js b/deps/npm/lib/unpublish.js
index 111f27aa2d..63f87b8207 100644
--- a/deps/npm/lib/unpublish.js
+++ b/deps/npm/lib/unpublish.js
@@ -1,15 +1,15 @@
module.exports = unpublish
-var log = require("npmlog")
-var npm = require("./npm.js")
-var readJson = require("read-package-json")
-var path = require("path")
-var mapToRegistry = require("./utils/map-to-registry.js")
-var npa = require("npm-package-arg")
-var getPublishConfig = require("./utils/get-publish-config.js")
+var log = require('npmlog')
+var npm = require('./npm.js')
+var readJson = require('read-package-json')
+var path = require('path')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var npa = require('npm-package-arg')
+var getPublishConfig = require('./utils/get-publish-config.js')
-unpublish.usage = "npm unpublish <project>[@<version>]"
+unpublish.usage = 'npm unpublish [<@scope>/]<pkg>[@<version>]'
unpublish.completion = function (opts, cb) {
if (opts.conf.argv.remain.length >= 3) return cb()
@@ -18,11 +18,11 @@ unpublish.completion = function (opts, cb) {
var un = encodeURIComponent(username)
if (!un) return cb()
- var byUser = "-/by-user/" + un
+ var byUser = '-/by-user/' + un
mapToRegistry(byUser, npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, pkgs) {
+ npm.registry.get(uri, { auth: auth }, function (er, pkgs) {
// do a bit of filtering at this point, so that we don't need
// to fetch versions for more than one thing, but also don't
// accidentally a whole project.
@@ -36,12 +36,12 @@ unpublish.completion = function (opts, cb) {
mapToRegistry(pkgs[0], npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, d) {
+ npm.registry.get(uri, { auth: auth }, function (er, d) {
if (er) return cb(er)
var vers = Object.keys(d.versions)
if (!vers.length) return cb(null, pkgs)
return cb(null, vers.map(function (v) {
- return pkgs[0] + "@" + v
+ return pkgs[0] + '@' + v
}))
})
})
@@ -54,24 +54,26 @@ function unpublish (args, cb) {
if (args.length > 1) return cb(unpublish.usage)
var thing = args.length ? npa(args[0]) : {}
- , project = thing.name
- , version = thing.rawSpec
-
- log.silly("unpublish", "args[0]", args[0])
- log.silly("unpublish", "thing", thing)
- if (!version && !npm.config.get("force")) {
- return cb("Refusing to delete entire project.\n"
- + "Run with --force to do this.\n"
- + unpublish.usage)
+ var project = thing.name
+ var version = thing.rawSpec
+
+ log.silly('unpublish', 'args[0]', args[0])
+ log.silly('unpublish', 'thing', thing)
+ if (!version && !npm.config.get('force')) {
+ return cb(
+ 'Refusing to delete entire project.\n' +
+ 'Run with --force to do this.\n' +
+ unpublish.usage
+ )
}
if (!project || path.resolve(project) === npm.localPrefix) {
// if there's a package.json in the current folder, then
// read the package name and version out of that.
- var cwdJson = path.join(npm.localPrefix, "package.json")
+ var cwdJson = path.join(npm.localPrefix, 'package.json')
return readJson(cwdJson, function (er, data) {
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (er) return cb("Usage:\n" + unpublish.usage)
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
+ if (er) return cb('Usage:\n' + unpublish.usage)
log.verbose('unpublish', data)
gotProject(data.name, data.version, data.publishConfig, cb)
})
@@ -87,7 +89,7 @@ function gotProject (project, version, publishConfig, cb_) {
function cb (er) {
if (er) return cb_(er)
- console.log("- " + project + (version ? "@" + version : ""))
+ console.log('- ' + project + (version ? '@' + version : ''))
cb_()
}
@@ -96,9 +98,9 @@ function gotProject (project, version, publishConfig, cb_) {
var registry = mappedConfig.client
// remove from the cache first
- npm.commands.cache(["clean", project, version], function (er) {
+ npm.commands.cache(['clean', project, version], function (er) {
if (er) {
- log.error("unpublish", "Failed to clean cache")
+ log.error('unpublish', 'Failed to clean cache')
return cb(er)
}
diff --git a/deps/npm/lib/update.js b/deps/npm/lib/update.js
index 3e9438e923..45f2817f5f 100644
--- a/deps/npm/lib/update.js
+++ b/deps/npm/lib/update.js
@@ -1,58 +1,60 @@
-/*
-for each pkg in prefix that isn't a git repo
- look for a new version of pkg that satisfies dep
- if so, install it.
- if not, then update it
-*/
-
module.exports = update
-update.usage = "npm update [pkg]"
-
-var npm = require("./npm.js")
- , asyncMap = require("slide").asyncMap
- , log = require("npmlog")
+update.usage = 'npm update [-g] [<pkg>...]'
- // load these, just so that we know that they'll be available, in case
- // npm itself is getting overwritten.
- , install = require("./install.js")
- , build = require("./build.js")
+var url = require('url')
+var log = require('npmlog')
+var chain = require('slide').chain
+var npm = require('./npm.js')
+var Installer = require('./install.js').Installer
update.completion = npm.commands.outdated.completion
function update (args, cb) {
- npm.commands.outdated(args, true, function (er, outdated) {
+ var dryrun = false
+ if (npm.config.get('dry-run')) dryrun = true
+
+ npm.commands.outdated(args, true, function (er, rawOutdated) {
if (er) return cb(er)
+ var outdated = rawOutdated.map(function (ww) {
+ return {
+ dep: ww[0],
+ depname: ww[1],
+ current: ww[2],
+ wanted: ww[3],
+ latest: ww[4],
+ req: ww[5],
+ what: ww[1] + '@' + ww[3]
+ }
+ })
var wanted = outdated.filter(function (ww) {
- var dep = ww[1]
- var current = ww[2]
- var wanted = ww[3]
- var latest = ww[4]
- if (current === wanted && wanted !== latest) {
+ if (ww.current === ww.wanted && ww.wanted !== ww.latest) {
log.verbose(
'outdated',
- 'not updating', dep,
+ 'not updating', ww.depname,
"because it's currently at the maximum version that matches its specified semver range"
)
}
- return current !== wanted
+ return ww.current !== ww.wanted
})
if (wanted.length === 0) return cb()
log.info('outdated', 'updating', wanted)
- asyncMap(wanted, function (ww, cb) {
- // [[ dir, dep, has, want, req ]]
- var where = ww[0]
- , dep = ww[1]
- , want = ww[3]
- , what = dep + "@" + want
- , req = ww[5]
- , url = require('url')
-
+ var toInstall = {}
+ wanted.forEach(function (ww) {
// use the initial installation method (repo, tar, git) for updating
- if (url.parse(req).protocol) what = req
- npm.commands.install(where, what, cb)
- }, cb)
+ if (url.parse(ww.req).protocol) ww.what = ww.req
+
+ var where = ww.dep.parent && ww.dep.parent.path || ww.dep.path
+ if (toInstall[where]) {
+ toInstall[where].push(ww.what)
+ } else {
+ toInstall[where] = [ww.what]
+ }
+ })
+ chain(Object.keys(toInstall).map(function (where) {
+ return [new Installer(where, dryrun, toInstall[where]), 'run']
+ }), cb)
})
}
diff --git a/deps/npm/lib/utils/completion/file-completion.js b/deps/npm/lib/utils/completion/file-completion.js
index 6ce2f83467..78777a025e 100644
--- a/deps/npm/lib/utils/completion/file-completion.js
+++ b/deps/npm/lib/utils/completion/file-completion.js
@@ -1,21 +1,24 @@
module.exports = fileCompletion
-var mkdir = require("mkdirp")
- , path = require("path")
- , glob = require("glob")
+var mkdir = require('mkdirp')
+var path = require('path')
+var glob = require('glob')
function fileCompletion (root, req, depth, cb) {
- if (typeof cb !== "function") cb = depth, depth = Infinity
+ if (typeof cb !== 'function') {
+ cb = depth
+ depth = Infinity
+ }
mkdir(root, function (er) {
if (er) return cb(er)
// can be either exactly the req, or a descendent
- var pattern = root + "/{" + req + "," + req + "/**/*}"
- , opts = { mark: true, dot: true, maxDepth: depth }
+ var pattern = root + '/{' + req + ',' + req + '/**/*}'
+ var opts = { mark: true, dot: true, maxDepth: depth }
glob(pattern, opts, function (er, files) {
if (er) return cb(er)
return cb(null, (files || []).map(function (f) {
- var tail = f.substr(root.length + 1).replace(/^\//, "")
+ var tail = f.substr(root.length + 1).replace(/^\//, '')
return path.join(req, tail)
}))
})
diff --git a/deps/npm/lib/utils/completion/installed-deep.js b/deps/npm/lib/utils/completion/installed-deep.js
index 5fb67d263f..146a4d7908 100644
--- a/deps/npm/lib/utils/completion/installed-deep.js
+++ b/deps/npm/lib/utils/completion/installed-deep.js
@@ -1,21 +1,25 @@
module.exports = installedDeep
-var npm = require("../../npm.js")
- , readInstalled = require("read-installed")
+var npm = require('../../npm.js')
+var readInstalled = require('read-installed')
function installedDeep (opts, cb) {
var local
- , global
- , depth = npm.config.get("depth")
- , opt = { depth: depth, dev: true }
+ var global
+ var depth = npm.config.get('depth')
+ var opt = { depth: depth, dev: true }
- if (npm.config.get("global")) local = [], next()
- else readInstalled(npm.prefix, opt, function (er, data) {
- local = getNames(data || {})
+ if (npm.config.get('global')) {
+ local = []
next()
- })
+ } else {
+ readInstalled(npm.prefix, opt, function (er, data) {
+ local = getNames(data || {})
+ next()
+ })
+ }
- readInstalled(npm.config.get("prefix"), opt, function (er, data) {
+ readInstalled(npm.config.get('prefix'), opt, function (er, data) {
global = getNames(data || {})
next()
})
@@ -37,9 +41,9 @@ function installedDeep (opts, cb) {
function next () {
if (!local || !global) return
- if (!npm.config.get("global")) {
+ if (!npm.config.get('global')) {
global = global.map(function (g) {
- return [g, "-g"]
+ return [g, '-g']
})
}
var names = local.concat(global)
diff --git a/deps/npm/lib/utils/completion/installed-shallow.js b/deps/npm/lib/utils/completion/installed-shallow.js
index 8d64649d5f..bf692fedea 100644
--- a/deps/npm/lib/utils/completion/installed-shallow.js
+++ b/deps/npm/lib/utils/completion/installed-shallow.js
@@ -1,31 +1,39 @@
module.exports = installedShallow
-var npm = require("../../npm.js")
- , fs = require("graceful-fs")
- , path = require("path")
- , readJson = require("read-package-json")
- , asyncMap = require("slide").asyncMap
+var npm = require('../../npm.js')
+var fs = require('graceful-fs')
+var path = require('path')
+var readJson = require('read-package-json')
+var asyncMap = require('slide').asyncMap
function installedShallow (opts, filter, cb) {
- if (typeof cb !== "function") cb = filter, filter = null
+ if (typeof cb !== 'function') {
+ cb = filter
+ filter = null
+ }
var conf = opts.conf
- , args = conf.argv.remain
+ var args = conf.argv.remain
if (args.length > 3) return cb()
var local
- , global
- , localDir = npm.dir
- , globalDir = npm.globalDir
- if (npm.config.get("global")) local = [], next()
- else fs.readdir(localDir, function (er, pkgs) {
- local = (pkgs || []).filter(function (p) {
- return p.charAt(0) !== "."
- })
+ var global
+ var localDir = npm.dir
+ var globalDir = npm.globalDir
+ if (npm.config.get('global')) {
+ local = []
next()
- })
+ } else {
+ fs.readdir(localDir, function (er, pkgs) {
+ local = (pkgs || []).filter(function (p) {
+ return p.charAt(0) !== '.'
+ })
+ next()
+ })
+ }
+
fs.readdir(globalDir, function (er, pkgs) {
global = (pkgs || []).filter(function (p) {
- return p.charAt(0) !== "."
+ return p.charAt(0) !== '.'
})
next()
})
@@ -37,7 +45,7 @@ function installedShallow (opts, filter, cb) {
function filterInstalled (local, global, filter, cb) {
var fl
- , fg
+ var fg
if (!filter) {
fl = local
@@ -46,7 +54,7 @@ function filterInstalled (local, global, filter, cb) {
}
asyncMap(local, function (p, cb) {
- readJson(path.join(npm.dir, p, "package.json"), function (er, d) {
+ readJson(path.join(npm.dir, p, 'package.json'), function (er, d) {
if (!d || !filter(d)) return cb(null, [])
return cb(null, d.name)
})
@@ -57,7 +65,7 @@ function filterInstalled (local, global, filter, cb) {
var globalDir = npm.globalDir
asyncMap(global, function (p, cb) {
- readJson(path.join(globalDir, p, "package.json"), function (er, d) {
+ readJson(path.join(globalDir, p, 'package.json'), function (er, d) {
if (!d || !filter(d)) return cb(null, [])
return cb(null, d.name)
})
@@ -68,12 +76,12 @@ function filterInstalled (local, global, filter, cb) {
function next () {
if (!fg || !fl) return
- if (!npm.config.get("global")) {
+ if (!npm.config.get('global')) {
fg = fg.map(function (g) {
- return [g, "-g"]
+ return [g, '-g']
})
}
- console.error("filtered", fl, fg)
+ console.error('filtered', fl, fg)
return cb(null, fl.concat(fg))
}
}
diff --git a/deps/npm/lib/utils/deep-sort-object.js b/deps/npm/lib/utils/deep-sort-object.js
new file mode 100644
index 0000000000..c8003c2078
--- /dev/null
+++ b/deps/npm/lib/utils/deep-sort-object.js
@@ -0,0 +1,12 @@
+'use strict'
+var sortedObject = require('sorted-object')
+
+module.exports = function deepSortObject (obj, sortBy) {
+ if (obj == null || typeof obj !== 'object') return obj
+ if (obj instanceof Array) return obj.sort(sortBy)
+ obj = sortedObject(obj)
+ Object.keys(obj).forEach(function (key) {
+ obj[key] = deepSortObject(obj[key], sortBy)
+ })
+ return obj
+}
diff --git a/deps/npm/lib/utils/depr-check.js b/deps/npm/lib/utils/depr-check.js
index 7166348b08..89cf402739 100644
--- a/deps/npm/lib/utils/depr-check.js
+++ b/deps/npm/lib/utils/depr-check.js
@@ -1,13 +1,13 @@
-var log = require("npmlog")
+var log = require('npmlog')
var deprecated = {}
- , deprWarned = {}
+var deprWarned = {}
module.exports = function deprCheck (data) {
if (deprecated[data._id]) data.deprecated = deprecated[data._id]
if (data.deprecated) deprecated[data._id] = data.deprecated
else return
if (!deprWarned[data._id]) {
deprWarned[data._id] = true
- log.warn("deprecated", "%s: %s", data._id, data.deprecated)
+ log.warn('deprecated', '%s: %s', data._id, data.deprecated)
}
}
diff --git a/deps/npm/lib/utils/error-handler.js b/deps/npm/lib/utils/error-handler.js
index dac6a17f25..cd61f79129 100644
--- a/deps/npm/lib/utils/error-handler.js
+++ b/deps/npm/lib/utils/error-handler.js
@@ -2,45 +2,47 @@
module.exports = errorHandler
var cbCalled = false
- , log = require("npmlog")
- , npm = require("../npm.js")
- , rm = require("rimraf")
- , itWorked = false
- , path = require("path")
- , wroteLogFile = false
- , exitCode = 0
- , rollbacks = npm.rollbacks
- , chain = require("slide").chain
- , writeStream = require("fs-write-stream-atomic")
- , nameValidator = require("validate-npm-package-name")
-
-
-process.on("exit", function (code) {
- // console.error("exit", code)
+var log = require('npmlog')
+var npm = require('../npm.js')
+var rm = require('rimraf')
+var itWorked = false
+var path = require('path')
+var wroteLogFile = false
+var exitCode = 0
+var rollbacks = npm.rollbacks
+var chain = require('slide').chain
+var writeStream = require('fs-write-stream-atomic')
+var nameValidator = require('validate-npm-package-name')
+
+process.on('exit', function (code) {
+ log.disableProgress()
if (!npm.config || !npm.config.loaded) return
if (code) itWorked = false
- if (itWorked) log.info("ok")
+ if (itWorked) log.info('ok')
else {
if (!cbCalled) {
- log.error("", "cb() never called!")
+ log.error('', 'cb() never called!')
}
if (wroteLogFile) {
// just a line break
- if (log.levels[log.level] <= log.levels.error) console.error("")
-
- log.error("",
- ["Please include the following file with any support request:"
- ," " + path.resolve("npm-debug.log")
- ].join("\n"))
+ if (log.levels[log.level] <= log.levels.error) console.error('')
+
+ log.error(
+ '',
+ [
+ 'Please include the following file with any support request:',
+ ' ' + path.resolve('npm-debug.log')
+ ].join('\n')
+ )
wroteLogFile = false
}
if (code) {
- log.error("code", code)
+ log.error('code', code)
}
}
- var doExit = npm.config.get("_exit")
+ var doExit = npm.config.get('_exit')
if (doExit) {
// actually exit.
if (exitCode === 0 && !itWorked) {
@@ -55,9 +57,9 @@ process.on("exit", function (code) {
function exit (code, noLog) {
exitCode = exitCode || process.exitCode || code
- var doExit = npm.config ? npm.config.get("_exit") : true
- log.verbose("exit", [code, doExit])
- if (log.level === "silent") noLog = true
+ var doExit = npm.config ? npm.config.get('_exit') : true
+ log.verbose('exit', [code, doExit])
+ if (log.level === 'silent') noLog = true
if (rollbacks.length) {
chain(rollbacks.map(function (f) {
@@ -66,22 +68,22 @@ function exit (code, noLog) {
}
}), function (er) {
if (er) {
- log.error("error rolling back", er)
+ log.error('error rolling back', er)
if (!code) errorHandler(er)
- else if (noLog) rm("npm-debug.log", reallyExit.bind(null, er))
+ else if (noLog) rm('npm-debug.log', reallyExit.bind(null, er))
else writeLogFile(reallyExit.bind(this, er))
} else {
if (!noLog && code) writeLogFile(reallyExit)
- else rm("npm-debug.log", reallyExit)
+ else rm('npm-debug.log', reallyExit)
}
})
rollbacks.length = 0
}
else if (code && !noLog) writeLogFile(reallyExit)
- else rm("npm-debug.log", reallyExit)
+ else rm('npm-debug.log', reallyExit)
function reallyExit (er) {
- if (er && !code) code = typeof er.errno === "number" ? er.errno : 1
+ if (er && !code) code = typeof er.errno === 'number' ? er.errno : 1
// truncate once it's been written.
log.record.length = 0
@@ -91,298 +93,397 @@ function exit (code, noLog) {
// just emit a fake exit event.
// if we're really exiting, then let it exit on its own, so that
// in-process stuff can finish or clean up first.
- if (!doExit) process.emit("exit", code)
- npm.spinner.stop()
+ if (!doExit) process.emit('exit', code)
}
}
-
function errorHandler (er) {
- // console.error("errorHandler", er)
+ log.disableProgress()
+ // console.error('errorHandler', er)
if (!npm.config || !npm.config.loaded) {
// logging won't work unless we pretend that it's ready
- er = er || new Error("Exit prior to config file resolving.")
+ er = er || new Error('Exit prior to config file resolving.')
console.error(er.stack || er.message)
}
if (cbCalled) {
- er = er || new Error("Callback called more than once.")
+ er = er || new Error('Callback called more than once.')
}
cbCalled = true
if (!er) return exit(0)
- if (typeof er === "string") {
- log.error("", er)
+ if (typeof er === 'string') {
+ log.error('', er)
return exit(1, true)
} else if (!(er instanceof Error)) {
- log.error("weird error", er)
+ log.error('weird error', er)
return exit(1, true)
}
var m = er.code || er.message.match(/^(?:Error: )?(E[A-Z]+)/)
- if (m && !er.code) er.code = m
-
- ; [ "type"
- , "fstream_path"
- , "fstream_unc_path"
- , "fstream_type"
- , "fstream_class"
- , "fstream_finish_call"
- , "fstream_linkpath"
- , "stack"
- , "fstream_stack"
- , "statusCode"
- , "pkgid"
- ].forEach(function (k) {
- var v = er[k]
- if (!v) return
- if (k === "fstream_stack") v = v.join("\n")
- log.verbose(k, v)
- })
+ if (m && !er.code) {
+ er.code = m
+ }
- log.verbose("cwd", process.cwd())
-
- var os = require("os")
- // log.error("System", os.type() + " " + os.release())
- // log.error("command", process.argv.map(JSON.stringify).join(" "))
- // log.error("node -v", process.version)
- // log.error("npm -v", npm.version)
- log.error("", os.type() + " " + os.release())
- log.error("argv", process.argv.map(JSON.stringify).join(" "))
- log.error("node", process.version)
- log.error("npm ", "v" + npm.version)
-
- ; [ "file"
- , "path"
- , "code"
- , "errno"
- , "syscall"
- ].forEach(function (k) {
- var v = er[k]
- if (v) log.error(k, v)
- })
+ ;[
+ 'type',
+ 'fstream_path',
+ 'fstream_unc_path',
+ 'fstream_type',
+ 'fstream_class',
+ 'fstream_finish_call',
+ 'fstream_linkpath',
+ 'stack',
+ 'fstream_stack',
+ 'statusCode',
+ 'pkgid'
+ ].forEach(function (k) {
+ var v = er[k]
+ if (!v) return
+ if (k === 'fstream_stack') v = v.join('\n')
+ log.verbose(k, v)
+ })
+
+ log.verbose('cwd', process.cwd())
+
+ var os = require('os')
+ // log.error('System', os.type() + ' ' + os.release())
+ // log.error('command', process.argv.map(JSON.stringify).join(' '))
+ // log.error('node -v', process.version)
+ // log.error('npm -v', npm.version)
+ log.error('', os.type() + ' ' + os.release())
+ log.error('argv', process.argv.map(JSON.stringify).join(' '))
+ log.error('node', process.version)
+ log.error('npm ', 'v' + npm.version)
+
+ ;[
+ 'file',
+ 'path',
+ 'code',
+ 'errno',
+ 'syscall'
+ ].forEach(function (k) {
+ var v = er[k]
+ if (v) log.error(k, v)
+ })
// just a line break
- if (log.levels[log.level] <= log.levels.error) console.error("")
+ if (log.levels[log.level] <= log.levels.error) console.error('')
switch (er.code) {
- case "ECONNREFUSED":
- log.error("", er)
- log.error("", ["\nIf you are behind a proxy, please make sure that the"
- ,"'proxy' config is set properly. See: 'npm help config'"
- ].join("\n"))
+ case 'ECONNREFUSED':
+ log.error('', er)
+ log.error(
+ '',
+ [
+ '\nIf you are behind a proxy, please make sure that the',
+ "'proxy' config is set properly. See: 'npm help config'"
+ ].join('\n')
+ )
break
- case "EACCES":
- case "EPERM":
- log.error("", er)
- log.error("", ["\nPlease try running this command again as root/Administrator."
- ].join("\n"))
+ case 'EACCES':
+ case 'EPERM':
+ log.error('', er)
+ log.error('', ['\nPlease try running this command again as root/Administrator.'
+ ].join('\n'))
break
- case "ELIFECYCLE":
- log.error("", er.message)
- log.error("", ["","Failed at the "+er.pkgid+" "+er.stage+" script '"+er.script+"'."
- ,"This is most likely a problem with the "+er.pkgname+" package,"
- ,"not with npm itself."
- ,"Tell the author that this fails on your system:"
- ," "+er.script
- ,"You can get their info via:"
- ," npm owner ls "+er.pkgname
- ,"There is likely additional logging output above."
- ].join("\n"))
+ case 'ELIFECYCLE':
+ log.error('', er.message)
+ log.error(
+ '',
+ [
+ '',
+ 'Failed at the ' + er.pkgid + ' ' + er.stage + " script '" + er.script + "'.",
+ 'This is most likely a problem with the ' + er.pkgname + ' package,',
+ 'not with npm itself.',
+ 'Tell the author that this fails on your system:',
+ ' ' + er.script,
+ 'You can get their info via:',
+ ' npm owner ls ' + er.pkgname,
+ 'There is likely additional logging output above.'
+ ].join('\n')
+ )
break
- case "ENOGIT":
- log.error("", er.message)
- log.error("", ["","Failed using git."
- ,"This is most likely not a problem with npm itself."
- ,"Please check if you have git installed and in your PATH."
- ].join("\n"))
+ case 'ENOGIT':
+ log.error('', er.message)
+ log.error(
+ '',
+ [
+ '',
+ 'Failed using git.',
+ 'This is most likely not a problem with npm itself.',
+ 'Please check if you have git installed and in your PATH.'
+ ].join('\n')
+ )
break
- case "EJSONPARSE":
- log.error("", er.message)
- log.error("", "File: "+er.file)
- log.error("", ["Failed to parse package.json data."
- ,"package.json must be actual JSON, not just JavaScript."
- ,"","This is not a bug in npm."
- ,"Tell the package author to fix their package.json file."
- ].join("\n"), "JSON.parse")
+ case 'EJSONPARSE':
+ log.error('', er.message)
+ log.error('', 'File: ' + er.file)
+ log.error(
+ '',
+ [
+ 'Failed to parse package.json data.',
+ 'package.json must be actual JSON, not just JavaScript.',
+ '',
+ 'This is not a bug in npm.',
+ 'Tell the package author to fix their package.json file.'
+ ].join('\n'),
+ 'JSON.parse'
+ )
break
// TODO(isaacs)
// Add a special case here for E401 and E403 explaining auth issues?
- case "E404":
+ case 'E404':
var msg = [er.message]
- if (er.pkgid && er.pkgid !== "-") {
- msg.push("", "'" + er.pkgid + "' is not in the npm registry.")
+ if (er.pkgid && er.pkgid !== '-') {
+ msg.push('', "'" + er.pkgid + "' is not in the npm registry.")
var valResult = nameValidator(er.pkgid)
if (valResult.validForNewPackages) {
- msg.push("You should bug the author to publish it (or use the name yourself!)")
+ msg.push('You should bug the author to publish it (or use the name yourself!)')
} else {
- msg.push("Your package name is not valid, because", "")
+ msg.push('Your package name is not valid, because', '')
var errorsArray = (valResult.errors || []).concat(valResult.warnings || [])
- errorsArray.forEach(function(item, idx) {
- msg.push(" " + (idx + 1) + ". " + item)
+ errorsArray.forEach(function (item, idx) {
+ msg.push(' ' + (idx + 1) + '. ' + item)
})
}
if (er.parent) {
- msg.push("It was specified as a dependency of '"+er.parent+"'")
+ msg.push("It was specified as a dependency of '" + er.parent + "'")
}
- msg.push("\nNote that you can also install from a"
- ,"tarball, folder, http url, or git url.")
+ msg.push(
+ '\nNote that you can also install from a',
+ 'tarball, folder, http url, or git url.'
+ )
}
// There's no need to have 404 in the message as well.
- msg[0] = msg[0].replace(/^404\s+/, "")
- log.error("404", msg.join("\n"))
+ msg[0] = msg[0].replace(/^404\s+/, '')
+ log.error('404', msg.join('\n'))
break
- case "EPUBLISHCONFLICT":
- log.error("publish fail", ["Cannot publish over existing version."
- ,"Update the 'version' field in package.json and try again."
- ,""
- ,"To automatically increment version numbers, see:"
- ," npm help version"
- ].join("\n"))
+ case 'EPUBLISHCONFLICT':
+ log.error(
+ 'publish fail',
+ [
+ 'Cannot publish over existing version.',
+ "Update the 'version' field in package.json and try again.",
+ '',
+ 'To automatically increment version numbers, see:',
+ ' npm help version'
+ ].join('\n')
+ )
break
- case "EISGIT":
- log.error("git", [er.message
- ," "+er.path
- ,"Refusing to remove it. Update manually,"
- ,"or move it out of the way first."
- ].join("\n"))
+ case 'EISGIT':
+ log.error(
+ 'git',
+ [
+ er.message,
+ ' ' + er.path,
+ 'Refusing to remove it. Update manually,',
+ 'or move it out of the way first.'
+ ].join('\n')
+ )
break
- case "ECYCLE":
- log.error("cycle", [er.message
- ,"While installing: "+er.pkgid
- ,"Found a pathological dependency case that npm cannot solve."
- ,"Please report this to the package author."
- ].join("\n"))
+ case 'ECYCLE':
+ log.error(
+ 'cycle',
+ [
+ er.message,
+ 'While installing: ' + er.pkgid,
+ 'Found a pathological dependency case that npm cannot solve.',
+ 'Please report this to the package author.'
+ ].join('\n')
+ )
break
- case "EBADPLATFORM":
- log.error("notsup", [er.message
- ,"Not compatible with your operating system or architecture: "+er.pkgid
- ,"Valid OS: "+er.os.join(",")
- ,"Valid Arch: "+er.cpu.join(",")
- ,"Actual OS: "+process.platform
- ,"Actual Arch: "+process.arch
- ].join("\n"))
+ case 'EBADPLATFORM':
+ log.error(
+ 'notsup',
+ [
+ er.message,
+ 'Not compatible with your operating system or architecture: ' + er.pkgid,
+ 'Valid OS: ' + er.os.join(','),
+ 'Valid Arch: ' + er.cpu.join(','),
+ 'Actual OS: ' + process.platform,
+ 'Actual Arch: ' + process.arch
+ ].join('\n')
+ )
break
- case "EEXIST":
- log.error([er.message
- ,"File exists: "+er.path
- ,"Move it away, and try again."].join("\n"))
+ case 'EEXIST':
+ log.error(
+ [
+ er.message,
+ 'File exists: ' + er.path,
+ 'Move it away, and try again.'
+ ].join('\n')
+ )
break
- case "ENEEDAUTH":
- log.error("need auth", [er.message
- ,"You need to authorize this machine using `npm adduser`"
- ].join("\n"))
+ case 'ENEEDAUTH':
+ log.error(
+ 'need auth',
+ [
+ er.message,
+ 'You need to authorize this machine using `npm adduser`'
+ ].join('\n')
+ )
break
- case "EPEERINVALID":
+ case 'EPEERINVALID':
var peerErrors = Object.keys(er.peersDepending).map(function (peer) {
- return "Peer " + peer + " wants " + er.packageName + "@"
- + er.peersDepending[peer]
+ return 'Peer ' + peer + ' wants ' +
+ er.packageName + '@' + er.peersDepending[peer]
})
- log.error("peerinvalid", [er.message].concat(peerErrors).join("\n"))
+ log.error('peerinvalid', [er.message].concat(peerErrors).join('\n'))
break
- case "ECONNRESET":
- case "ENOTFOUND":
- case "ETIMEDOUT":
- case "EAI_FAIL":
- log.error("network", [er.message
- ,"This is most likely not a problem with npm itself"
- ,"and is related to network connectivity."
- ,"In most cases you are behind a proxy or have bad network settings."
- ,"\nIf you are behind a proxy, please make sure that the"
- ,"'proxy' config is set properly. See: 'npm help config'"
- ].join("\n"))
+ case 'ECONNRESET':
+ case 'ENOTFOUND':
+ case 'ETIMEDOUT':
+ case 'EAI_FAIL':
+ log.error(
+ 'network',
+ [
+ er.message,
+ 'This is most likely not a problem with npm itself',
+ 'and is related to network connectivity.',
+ 'In most cases you are behind a proxy or have bad network settings.',
+ '\nIf you are behind a proxy, please make sure that the',
+ "'proxy' config is set properly. See: 'npm help config'"
+ ].join('\n')
+ )
break
- case "ENOPACKAGEJSON":
- log.error("package.json", [er.message
- ,"This is most likely not a problem with npm itself."
- ,"npm can't find a package.json file in your current directory."
- ].join("\n"))
+ case 'ENOPACKAGEJSON':
+ log.error(
+ 'package.json',
+ [
+ er.message,
+ 'This is most likely not a problem with npm itself.',
+ "npm can't find a package.json file in your current directory."
+ ].join('\n')
+ )
break
- case "ETARGET":
- var msg = [er.message
- ,"This is most likely not a problem with npm itself."
- ,"In most cases you or one of your dependencies are requesting"
- ,"a package version that doesn't exist."
- ]
- if (er.parent) {
- msg.push("\nIt was specified as a dependency of '"+er.parent+"'\n")
- }
- log.error("notarget", msg.join("\n"))
+ case 'ETARGET':
+ msg = [
+ er.message,
+ 'This is most likely not a problem with npm itself.',
+ 'In most cases you or one of your dependencies are requesting',
+ "a package version that doesn't exist."
+ ]
+ if (er.parent) {
+ msg.push("\nIt was specified as a dependency of '" + er.parent + "'\n")
+ }
+ log.error('notarget', msg.join('\n'))
break
- case "ENOTSUP":
+ case 'ENOTSUP':
if (er.required) {
- log.error("notsup", [er.message
- ,"Not compatible with your version of node/npm: "+er.pkgid
- ,"Required: "+JSON.stringify(er.required)
- ,"Actual: "
- +JSON.stringify({npm:npm.version
- ,node:npm.config.get("node-version")})
- ].join("\n"))
+ log.error(
+ 'notsup',
+ [
+ er.message,
+ 'Not compatible with your version of node/npm: ' + er.pkgid,
+ 'Required: ' + JSON.stringify(er.required),
+ 'Actual: ' + JSON.stringify({
+ npm: npm.version,
+ node: npm.config.get('node-version')
+ })
+ ].join('\n')
+ )
break
} // else passthrough
+ /*eslint no-fallthrough:0*/
+
+ case 'ENOSPC':
+ log.error(
+ 'nospc',
+ [
+ er.message,
+ 'This is most likely not a problem with npm itself',
+ 'and is related to insufficient space on your system.'
+ ].join('\n')
+ )
+ break
- case "ENOSPC":
- log.error("nospc", [er.message
- ,"This is most likely not a problem with npm itself"
- ,"and is related to insufficient space on your system."
- ].join("\n"))
+ case 'EROFS':
+ log.error(
+ 'rofs',
+ [
+ er.message,
+ 'This is most likely not a problem with npm itself',
+ 'and is related to the file system being read-only.',
+ '\nOften virtualized file systems, or other file systems',
+ "that don't support symlinks, give this error."
+ ].join('\n')
+ )
break
- case "EROFS":
- log.error("rofs", [er.message
- ,"This is most likely not a problem with npm itself"
- ,"and is related to the file system being read-only."
- ,"\nOften virtualized file systems, or other file systems"
- ,"that don't support symlinks, give this error."
- ].join("\n"))
+ case 'ENOENT':
+ log.error(
+ 'enoent',
+ [
+ er.message,
+ 'This is most likely not a problem with npm itself',
+ 'and is related to npm not being able to find a file.',
+ er.file ? "\nCheck if the file '" + er.file + "' is present." : ''
+ ].join('\n')
+ )
break
- case "ENOENT":
- log.error("enoent", [er.message
- ,"This is most likely not a problem with npm itself"
- ,"and is related to npm not being able to find a file."
- ,er.file?"\nCheck if the file '"+er.file+"' is present.":""
- ].join("\n"))
+ case 'EMISSINGARG':
+ case 'EUNKNOWNTYPE':
+ case 'EINVALIDTYPE':
+ case 'ETOOMANYARGS':
+ log.error(
+ 'typeerror',
+ [
+ er.stack,
+ 'This is an error with npm itself. Please report this error at:',
+ ' <http://github.com/npm/npm/issues>'
+ ].join('\n')
+ )
break
- case "EISDIR":
- log.error("eisdir", [er.message
- ,"This is most likely not a problem with npm itself"
- ,"and is related to npm not being able to find a package.json in"
- ,"a package you are trying to install."
- ].join("\n"))
+ case 'EISDIR':
+ log.error(
+ 'eisdir',
+ [
+ er.message,
+ 'This is most likely not a problem with npm itself',
+ 'and is related to npm not being able to find a package.json in',
+ 'a package you are trying to install.'
+ ].join('\n')
+ )
break
default:
- log.error("", er.message || er)
- log.error("", ["", "If you need help, you may report this error at:"
- ," <https://github.com/npm/npm/issues>"
- ].join("\n"))
+ log.error('', er.message || er)
+ log.error(
+ '',
+ [
+ '',
+ 'If you need help, you may report this error at:',
+ ' <https://github.com/npm/npm/issues>'
+ ].join('\n')
+ )
break
}
- exit(typeof er.errno === "number" ? er.errno : 1)
+ exit(typeof er.errno === 'number' ? er.errno : 1)
}
var writingLogFile = false
@@ -391,22 +492,22 @@ function writeLogFile (cb) {
writingLogFile = true
wroteLogFile = true
- var fstr = writeStream("npm-debug.log")
- , os = require("os")
- , out = ""
+ var fstr = writeStream('npm-debug.log')
+ var os = require('os')
+ var out = ''
log.record.forEach(function (m) {
var pref = [m.id, m.level]
if (m.prefix) pref.push(m.prefix)
- pref = pref.join(" ")
+ pref = pref.join(' ')
m.message.trim().split(/\r?\n/).map(function (line) {
- return (pref + " " + line).trim()
+ return (pref + ' ' + line).trim()
}).forEach(function (line) {
out += line + os.EOL
})
})
fstr.end(out)
- fstr.on("close", cb)
+ fstr.on('close', cb)
}
diff --git a/deps/npm/lib/utils/gently-rm.js b/deps/npm/lib/utils/gently-rm.js
index ad0b4d0399..c73bb1bfc0 100644
--- a/deps/npm/lib/utils/gently-rm.js
+++ b/deps/npm/lib/utils/gently-rm.js
@@ -14,6 +14,8 @@ var vacuum = require('fs-vacuum')
var some = require('async-some')
var asyncMap = require('slide').asyncMap
var normalize = require('path').normalize
+var readCmdShim = require('read-cmd-shim')
+var iferr = require('iferr')
function gentlyRm (target, gently, base, cb) {
if (!cb) {
@@ -53,73 +55,74 @@ function gentlyRm (target, gently, base, cb) {
return cb(new Error('May not delete: ' + resolved))
}
- var options = { log: log.silly.bind(log, 'vacuum-fs') }
- if (npm.config.get('force') || !gently) options.purge = true
- if (base) options.base = normalize(resolve(npm.prefix, base))
+ follow(resolved, function (realpath) {
+ var options = { log: log.silly.bind(log, 'vacuum-fs') }
+ if (npm.config.get('force') || !gently) options.purge = true
+ if (base) options.base = normalize(resolve(npm.prefix, base))
- if (!gently) {
- log.verbose('gentlyRm', "don't care about contents; nuking", resolved)
- return vacuum(resolved, options, cb)
- }
-
- var parent = options.base = normalize(base ? resolve(npm.prefix, base) : npm.prefix)
-
- // is the parent directory managed by npm?
- log.silly('gentlyRm', 'verifying', parent, 'is an npm working directory')
- some(prefixes, isManaged(parent), function (er, matched) {
- if (er) return cb(er)
-
- if (!matched) {
- log.error('gentlyRm', 'containing path', parent, "isn't under npm's control")
- return clobberFail(resolved, parent, cb)
- }
- log.silly('gentlyRm', 'containing path', parent, "is under npm's control, in", matched)
-
- // is the target directly contained within the (now known to be
- // managed) parent?
- if (isInside(resolved, parent)) {
- log.silly('gentlyRm', 'deletion target', resolved, 'is under', parent)
- log.verbose('gentlyRm', 'vacuuming from', resolved, 'up to', parent)
+ if (!gently) {
+ log.verbose('gentlyRm', "don't care about contents; nuking", resolved)
return vacuum(resolved, options, cb)
}
- log.silly('gentlyRm', resolved, 'is not under', parent)
- // the target isn't directly within the parent, but is it itself managed?
- log.silly('gentlyRm', 'verifying', resolved, 'is an npm working directory')
- some(prefixes, isManaged(resolved), function (er, matched) {
+ var parent = options.base = normalize(base ? resolve(npm.prefix, base) : npm.prefix)
+
+ // is the parent directory managed by npm?
+ log.silly('gentlyRm', 'verifying', parent, 'is an npm working directory')
+ some(prefixes, isManaged(parent), function (er, matched) {
if (er) return cb(er)
- if (matched) {
- log.silly('gentlyRm', resolved, "is under npm's control, in", matched)
- options.base = matched
- log.verbose('gentlyRm', 'removing', resolved, 'with base', options.base)
+ if (!matched) {
+ log.error('gentlyRm', 'containing path', parent, "isn't under npm's control")
+ return clobberFail(resolved, parent, cb)
+ }
+ log.silly('gentlyRm', 'containing path', parent, "is under npm's control, in", matched)
+
+ // is the target directly contained within the (now known to be
+ // managed) parent?
+ if (isInside(resolved, parent)) {
+ log.silly('gentlyRm', 'deletion target', resolved, 'is under', parent)
+ log.verbose('gentlyRm', 'vacuuming from', resolved, 'up to', parent)
+ options.base = parent
return vacuum(resolved, options, cb)
}
- log.verbose('gentlyRm', resolved, "is not under npm's control")
-
- // the target isn't managed directly, but maybe it's a link...
- log.silly('gentlyRm', 'checking to see if', resolved, 'is a link')
- lstat(resolved, function (er, stat) {
- if (er) {
- // race conditions are common when unbuilding
- if (er.code === 'ENOENT') return cb(null)
- return cb(er)
- }
+ log.silly('gentlyRm', realpath, 'is not under', parent)
+
+ // the target isn't directly within the parent, but is it itself managed?
+ log.silly('gentlyRm', 'verifying', realpath, 'is an npm working directory')
+ some(prefixes, isManaged(realpath), function (er, matched) {
+ if (er) return cb(er)
- if (!stat.isSymbolicLink()) {
- log.error('gentlyRm', resolved, 'is outside', parent, 'and not a link')
- return clobberFail(resolved, parent, cb)
+ if (matched) {
+ log.silly('gentlyRm', resolved, "is under npm's control, in", matched)
+ if (isInside(realpath, parent)) {
+ log.silly('gentlyRm', realpath, 'is controlled by', parent)
+ options.base = matched
+ log.verbose('gentlyRm', 'removing', resolved, 'with base', options.base)
+ return vacuum(resolved, options, cb)
+ } else if (resolved !== realpath) {
+ log.warn('gentlyRm', 'not removing', resolved, "as it wasn't installed by", parent)
+ return cb()
+ }
}
+ log.verbose('gentlyRm', resolved, "is not under npm's control")
- // ...and maybe the link source, when read...
- log.silly('gentlyRm', resolved, 'is a link')
- readlink(resolved, function (er, link) {
+ // the target isn't managed directly, but maybe it's a link...
+ log.silly('gentlyRm', 'checking to see if', resolved, 'is a link')
+ readLinkOrShim(resolved, function (er, link) {
if (er) {
// race conditions are common when unbuilding
if (er.code === 'ENOENT') return cb(null)
return cb(er)
}
+ if (!link) {
+ log.error('gentlyRm', resolved, 'is outside', parent, 'and not a link')
+ return clobberFail(resolved, parent, cb)
+ }
+
+ // ...and maybe the link source, when read...
+ log.silly('gentlyRm', resolved, 'is a link')
// ...is inside the managed parent
var source = resolve(dirname(resolved), link)
if (isInside(source, parent)) {
@@ -168,23 +171,19 @@ function isManaged (target) {
if (cached) return cb(null, cached)
// otherwise, check the path
- lstat(resolved, function (er, stat) {
+ readLinkOrShim(resolved, function (er, source) {
if (er) return cb(er)
// if it's not a link, cache & return the path itself
- if (!stat.isSymbolicLink()) {
+ if (!source) {
resolvedPaths[resolved] = resolved
return cb(null, resolved)
}
// otherwise, cache & return the link's source
- readlink(resolved, function (er, source) {
- if (er) return cb(er)
-
- resolved = resolve(resolved, source)
- resolvedPaths[resolved] = resolved
- cb(null, resolved)
- })
+ resolved = resolve(resolved, source)
+ resolvedPaths[resolved] = resolved
+ cb(null, resolved)
})
}
}
@@ -195,3 +194,28 @@ function clobberFail (target, root, cb) {
er.path = target
return cb(er)
}
+
+function readLinkOrShim (path, cb) {
+ lstat(path, iferr(cb, function (stat) {
+ if (stat.isSymbolicLink()) {
+ readlink(path, cb)
+ } else {
+ readCmdShim(path, function (er, source) {
+ if (!er) return cb(null, source)
+ // lstat wouldn't return an error on these, so we don't either.
+ if (er.code === 'ENOTASHIM' || er.code === 'EISDIR') {
+ return cb(null, null)
+ } else {
+ return cb(er)
+ }
+ })
+ }
+ }))
+}
+
+function follow (path, cb) {
+ readLinkOrShim(path, function (er, source) {
+ if (!source) return cb(path)
+ cb(normalize(resolve(dirname(path), source)))
+ })
+}
diff --git a/deps/npm/lib/utils/git.js b/deps/npm/lib/utils/git.js
index 9c80ea5537..2d9da1086e 100644
--- a/deps/npm/lib/utils/git.js
+++ b/deps/npm/lib/utils/git.js
@@ -1,20 +1,19 @@
-
// handle some git configuration for windows
exports.spawn = spawnGit
exports.chainableExec = chainableExec
exports.whichAndExec = whichAndExec
-var exec = require("child_process").execFile
- , spawn = require("./spawn")
- , npm = require("../npm.js")
- , which = require("which")
- , git = npm.config.get("git")
- , assert = require("assert")
- , log = require("npmlog")
+var exec = require('child_process').execFile
+var spawn = require('./spawn')
+var npm = require('../npm.js')
+var which = require('which')
+var git = npm.config.get('git')
+var assert = require('assert')
+var log = require('npmlog')
function prefixGitArgs () {
- return process.platform === "win32" ? ["-c", "core.longpaths=true"] : []
+ return process.platform === 'win32' ? ['-c', 'core.longpaths=true'] : []
}
function execGit (args, options, cb) {
@@ -24,7 +23,7 @@ function execGit (args, options, cb) {
}
function spawnGit (args, options) {
- log.info("git", args)
+ log.info('git', args)
return spawn(git, prefixGitArgs().concat(args || []), options)
}
@@ -38,11 +37,11 @@ function whichGit (cb) {
}
function whichAndExec (args, options, cb) {
- assert.equal(typeof cb, "function", "no callback provided")
+ assert.equal(typeof cb, 'function', 'no callback provided')
// check for git
whichGit(function (err) {
if (err) {
- err.code = "ENOGIT"
+ err.code = 'ENOGIT'
return cb(err)
}
diff --git a/deps/npm/lib/utils/lifecycle.js b/deps/npm/lib/utils/lifecycle.js
index 9805a1c0c1..1c0d437a90 100644
--- a/deps/npm/lib/utils/lifecycle.js
+++ b/deps/npm/lib/utils/lifecycle.js
@@ -2,20 +2,20 @@ exports = module.exports = lifecycle
exports.cmd = cmd
exports.makeEnv = makeEnv
-var log = require("npmlog")
-var spawn = require("./spawn")
-var npm = require("../npm.js")
-var path = require("path")
-var fs = require("graceful-fs")
-var chain = require("slide").chain
-var Stream = require("stream").Stream
-var PATH = "PATH"
-var uidNumber = require("uid-number")
-var umask = require("./umask")
-
-// windows calls it's path "Path" usually, but this is not guaranteed.
-if (process.platform === "win32") {
- PATH = "Path"
+var log = require('npmlog')
+var spawn = require('./spawn')
+var npm = require('../npm.js')
+var path = require('path')
+var fs = require('graceful-fs')
+var chain = require('slide').chain
+var Stream = require('stream').Stream
+var PATH = 'PATH'
+var uidNumber = require('uid-number')
+var umask = require('./umask')
+
+// windows calls it's path 'Path' usually, but this is not guaranteed.
+if (process.platform === 'win32') {
+ PATH = 'Path'
Object.keys(process.env).forEach(function (e) {
if (e.match(/^PATH$/i)) {
PATH = e
@@ -23,27 +23,41 @@ if (process.platform === "win32") {
})
}
+function logid (pkg, stage) {
+ return pkg._id + '~' + stage + ':'
+}
+
function lifecycle (pkg, stage, wd, unsafe, failOk, cb) {
- if (typeof cb !== "function") cb = failOk, failOk = false
- if (typeof cb !== "function") cb = unsafe, unsafe = false
- if (typeof cb !== "function") cb = wd, wd = null
+ if (typeof cb !== 'function') {
+ cb = failOk
+ failOk = false
+ }
+ if (typeof cb !== 'function') {
+ cb = unsafe
+ unsafe = false
+ }
+ if (typeof cb !== 'function') {
+ cb = wd
+ wd = null
+ }
while (pkg && pkg._data) pkg = pkg._data
- if (!pkg) return cb(new Error("Invalid package data"))
+ if (!pkg) return cb(new Error('Invalid package data'))
- log.info(stage, pkg._id)
+ log.info('lifecycle', logid(pkg, stage), pkg._id)
if (!pkg.scripts || npm.config.get('ignore-scripts')) pkg.scripts = {}
validWd(wd || path.resolve(npm.dir, pkg.name), function (er, wd) {
if (er) return cb(er)
- unsafe = unsafe || npm.config.get("unsafe-perm")
+ unsafe = unsafe || npm.config.get('unsafe-perm')
if ((wd.indexOf(npm.dir) !== 0 ||
wd.indexOf(pkg.name) !== wd.length - pkg.name.length) &&
!unsafe && pkg.scripts[stage]) {
- log.warn( "cannot run in wd", "%s %s (wd=%s)"
- , pkg._id, pkg.scripts[stage], wd)
+ log.warn('lifecycle', logid(pkg, stage), 'cannot run in wd',
+ '%s %s (wd=%s)', pkg._id, pkg.scripts[stage], wd
+ )
return cb()
}
@@ -53,63 +67,61 @@ function lifecycle (pkg, stage, wd, unsafe, failOk, cb) {
env.npm_node_execpath = env.NODE = env.NODE || process.execPath
env.npm_execpath = require.main.filename
- // "nobody" typically doesn't have permission to write to /tmp
+ // 'nobody' typically doesn't have permission to write to /tmp
// even if it's never used, sh freaks out.
- if (!npm.config.get("unsafe-perm")) env.TMPDIR = wd
+ if (!npm.config.get('unsafe-perm')) env.TMPDIR = wd
lifecycle_(pkg, stage, wd, env, unsafe, failOk, cb)
})
}
-function checkForLink (pkg, cb) {
- var f = path.join(npm.dir, pkg.name)
- fs.lstat(f, function (er, s) {
- cb(null, !(er || !s.isSymbolicLink()))
- })
-}
-
function lifecycle_ (pkg, stage, wd, env, unsafe, failOk, cb) {
var pathArr = []
- , p = wd.split("node_modules")
- , acc = path.resolve(p.shift())
+ var p = wd.split('node_modules')
+ var acc = path.resolve(p.shift())
p.forEach(function (pp) {
- pathArr.unshift(path.join(acc, "node_modules", ".bin"))
- acc = path.join(acc, "node_modules", pp)
+ pathArr.unshift(path.join(acc, 'node_modules', '.bin'))
+ acc = path.join(acc, 'node_modules', pp)
})
- pathArr.unshift(path.join(acc, "node_modules", ".bin"))
+ pathArr.unshift(path.join(acc, 'node_modules', '.bin'))
// we also unshift the bundled node-gyp-bin folder so that
// the bundled one will be used for installing things.
- pathArr.unshift(path.join(__dirname, "..", "..", "bin", "node-gyp-bin"))
+ pathArr.unshift(path.join(__dirname, '..', '..', 'bin', 'node-gyp-bin'))
if (env[PATH]) pathArr.push(env[PATH])
- env[PATH] = pathArr.join(process.platform === "win32" ? ";" : ":")
+ env[PATH] = pathArr.join(process.platform === 'win32' ? ';' : ':')
var packageLifecycle = pkg.scripts && pkg.scripts.hasOwnProperty(stage)
if (packageLifecycle) {
// define this here so it's available to all scripts.
env.npm_lifecycle_script = pkg.scripts[stage]
+ } else {
+ log.silly('lifecycle', logid(pkg, stage), 'no script for ' + stage + ', continuing')
}
function done (er) {
if (er) {
- if (npm.config.get("force")) {
- log.info("forced, continuing", er)
+ if (npm.config.get('force')) {
+ log.info('lifecycle', logid(pkg, stage), 'forced, continuing', er)
er = null
} else if (failOk) {
- log.warn("continuing anyway", er.message)
+ log.warn('lifecycle', logid(pkg, stage), 'continuing anyway', er.message)
er = null
}
}
cb(er)
}
- chain
- ( [ packageLifecycle && [runPackageLifecycle, pkg, env, wd, unsafe]
- , [runHookLifecycle, pkg, env, wd, unsafe] ]
- , done )
+ chain(
+ [
+ packageLifecycle && [runPackageLifecycle, pkg, env, wd, unsafe],
+ [runHookLifecycle, pkg, env, wd, unsafe]
+ ],
+ done
+ )
}
function validWd (d, cb) {
@@ -117,7 +129,7 @@ function validWd (d, cb) {
if (er || !st.isDirectory()) {
var p = path.dirname(d)
if (p === d) {
- return cb(new Error("Could not find suitable wd"))
+ return cb(new Error('Could not find suitable wd'))
}
return validWd(p, cb)
}
@@ -128,17 +140,16 @@ function validWd (d, cb) {
function runPackageLifecycle (pkg, env, wd, unsafe, cb) {
// run package lifecycle scripts in the package root, or the nearest parent.
var stage = env.npm_lifecycle_event
- , cmd = env.npm_lifecycle_script
+ var cmd = env.npm_lifecycle_script
- var note = "\n> " + pkg._id + " " + stage + " " + wd
- + "\n> " + cmd + "\n"
+ var note = '\n> ' + pkg._id + ' ' + stage + ' ' + wd +
+ '\n> ' + cmd + '\n'
runCmd(note, cmd, pkg, env, stage, wd, unsafe, cb)
}
-
var running = false
var queue = []
-function dequeue() {
+function dequeue () {
running = false
if (queue.length) {
var r = queue.shift()
@@ -154,18 +165,17 @@ function runCmd (note, cmd, pkg, env, stage, wd, unsafe, cb) {
running = true
log.pause()
- var user = unsafe ? null : npm.config.get("user")
- , group = unsafe ? null : npm.config.get("group")
+ var user = unsafe ? null : npm.config.get('user')
+ var group = unsafe ? null : npm.config.get('group')
if (log.level !== 'silent') {
- if (npm.spinner.int) {
- npm.config.get("logstream").write("\r \r")
- }
+ log.clearProgress()
console.log(note)
+ log.showProgress()
}
- log.verbose("unsafe-perm in lifecycle", unsafe)
+ log.verbose('lifecycle', logid(pkg, stage), 'unsafe-perm in lifecycle', unsafe)
- if (process.platform === "win32") {
+ if (process.platform === 'win32') {
unsafe = true
}
@@ -186,10 +196,11 @@ function runCmd_ (cmd, pkg, env, wd, stage, unsafe, uid, gid, cb_) {
process.nextTick(dequeue)
}
- var conf = { cwd: wd
- , env: env
- , stdio: [ 0, 1, 2 ]
- }
+ var conf = {
+ cwd: wd,
+ env: env,
+ stdio: [ 0, 1, 2 ]
+ }
if (!unsafe) {
conf.uid = uid ^ 0
@@ -205,25 +216,33 @@ function runCmd_ (cmd, pkg, env, wd, stage, unsafe, uid, gid, cb_) {
conf.windowsVerbatimArguments = true
}
+ log.verbose('lifecycle', logid(pkg, stage), 'PATH:', env[PATH])
+ log.verbose('lifecycle', logid(pkg, stage), 'CWD:', wd)
+ log.silly('lifecycle', logid(pkg, stage), 'Args:', [shFlag, cmd])
+
+ var progressEnabled = log.progressEnabled
+ if (progressEnabled) log.disableProgress()
var proc = spawn(sh, [shFlag, cmd], conf)
- proc.on("error", procError)
- proc.on("close", function (code, signal) {
+
+ proc.on('error', procError)
+ proc.on('close', function (code, signal) {
+ log.silly('lifecycle', logid(pkg, stage), 'Returned: code:', code, ' signal:', signal)
if (signal) {
- process.kill(process.pid, signal);
+ process.kill(process.pid, signal)
} else if (code) {
- var er = new Error("Exit status " + code)
+ var er = new Error('Exit status ' + code)
}
procError(er)
})
function procError (er) {
+ if (progressEnabled) log.enableProgress()
if (er && !npm.ROLLBACK) {
- log.info(pkg._id, "Failed to exec "+stage+" script")
- er.message = pkg._id + " "
- + stage + ": `" + cmd +"`\n"
- + er.message
- if (er.code !== "EPERM") {
- er.code = "ELIFECYCLE"
+ log.info('lifecycle', logid(pkg, stage), 'Failed to exec ' + stage + ' script')
+ er.message = pkg._id + ' ' + stage + ': `' + cmd + '`\n' +
+ er.message
+ if (er.code !== 'EPERM') {
+ er.code = 'ELIFECYCLE'
}
er.pkgid = pkg._id
er.stage = stage
@@ -231,33 +250,30 @@ function runCmd_ (cmd, pkg, env, wd, stage, unsafe, uid, gid, cb_) {
er.pkgname = pkg.name
return cb(er)
} else if (er) {
- log.error(pkg._id+"."+stage, er)
- log.error(pkg._id+"."+stage, "continuing anyway")
+ log.error('lifecycle', logid(pkg, stage), er)
+ log.error('lifecycle', logid(pkg, stage), 'continuing anyway')
return cb()
}
cb(er)
}
}
-
function runHookLifecycle (pkg, env, wd, unsafe, cb) {
// check for a hook script, run if present.
var stage = env.npm_lifecycle_event
- , hook = path.join(npm.dir, ".hooks", stage)
- , user = unsafe ? null : npm.config.get("user")
- , group = unsafe ? null : npm.config.get("group")
- , cmd = hook
+ var hook = path.join(npm.dir, '.hooks', stage)
+ var cmd = hook
fs.stat(hook, function (er) {
if (er) return cb()
- var note = "\n> " + pkg._id + " " + stage + " " + wd
- + "\n> " + cmd
+ var note = '\n> ' + pkg._id + ' ' + stage + ' ' + wd +
+ '\n> ' + cmd
runCmd(note, hook, pkg, env, stage, wd, unsafe, cb)
})
}
function makeEnv (data, prefix, env) {
- prefix = prefix || "npm_package_"
+ prefix = prefix || 'npm_package_'
if (!env) {
env = {}
for (var i in process.env) if (!i.match(/^npm_/)) {
@@ -265,52 +281,57 @@ function makeEnv (data, prefix, env) {
}
// npat asks for tap output
- if (npm.config.get("npat")) env.TAP = 1
+ if (npm.config.get('npat')) env.TAP = 1
// express and others respect the NODE_ENV value.
- if (npm.config.get("production")) env.NODE_ENV = "production"
+ if (npm.config.get('production')) env.NODE_ENV = 'production'
- } else if (!data.hasOwnProperty("_lifecycleEnv")) {
- Object.defineProperty(data, "_lifecycleEnv",
- { value : env
- , enumerable : false
- })
+ } else if (!data.hasOwnProperty('_lifecycleEnv')) {
+ Object.defineProperty(data, '_lifecycleEnv',
+ {
+ value: env,
+ enumerable: false
+ }
+ )
}
- for (var i in data) if (i.charAt(0) !== "_") {
- var envKey = (prefix+i).replace(/[^a-zA-Z0-9_]/g, '_')
- if (i === "readme") {
+ for (i in data) if (i.charAt(0) !== '_') {
+ var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')
+ if (i === 'readme') {
continue
}
- if (data[i] && typeof(data[i]) === "object") {
+ if (data[i] && typeof data[i] === 'object') {
try {
// quick and dirty detection for cyclical structures
JSON.stringify(data[i])
- makeEnv(data[i], envKey+"_", env)
+ makeEnv(data[i], envKey + '_', env)
} catch (ex) {
// usually these are package objects.
// just get the path and basic details.
var d = data[i]
- makeEnv( { name: d.name, version: d.version, path:d.path }
- , envKey+"_", env)
+ makeEnv(
+ { name: d.name, version: d.version, path: d.path },
+ envKey + '_',
+ env
+ )
}
} else {
env[envKey] = String(data[i])
- env[envKey] = -1 !== env[envKey].indexOf("\n")
- ? JSON.stringify(env[envKey])
- : env[envKey]
+ env[envKey] = env[envKey].indexOf('\n') !== -1 ?
+ JSON.stringify(env[envKey]) :
+ env[envKey]
}
}
- if (prefix !== "npm_package_") return env
+ if (prefix !== 'npm_package_') return env
- prefix = "npm_config_"
+ prefix = 'npm_config_'
var pkgConfig = {}
- , keys = npm.config.keys
- , pkgVerConfig = {}
- , namePref = data.name + ":"
- , verPref = data.name + "@" + data.version + ":"
+ var keys = npm.config.keys
+ var pkgVerConfig = {}
+ var namePref = data.name + ':'
+ var verPref = data.name + '@' + data.version + ':'
keys.forEach(function (i) {
// in some rare cases (e.g. working with nerf darts), there are segmented
@@ -321,29 +342,30 @@ function makeEnv (data, prefix, env) {
var value = npm.config.get(i)
if (value instanceof Stream || Array.isArray(value)) return
if (i.match(/umask/)) value = umask.toString(value)
- if (!value) value = ""
- else if (typeof value === "number") value = "" + value
- else if (typeof value !== "string") value = JSON.stringify(value)
+ if (!value) value = ''
+ else if (typeof value === 'number') value = '' + value
+ else if (typeof value !== 'string') value = JSON.stringify(value)
- value = -1 !== value.indexOf("\n")
+ value = value.indexOf('\n') !== -1
? JSON.stringify(value)
: value
- i = i.replace(/^_+/, "")
+ i = i.replace(/^_+/, '')
+ var k
if (i.indexOf(namePref) === 0) {
- var k = i.substr(namePref.length).replace(/[^a-zA-Z0-9_]/g, "_")
- pkgConfig[ k ] = value
+ k = i.substr(namePref.length).replace(/[^a-zA-Z0-9_]/g, '_')
+ pkgConfig[k] = value
} else if (i.indexOf(verPref) === 0) {
- var k = i.substr(verPref.length).replace(/[^a-zA-Z0-9_]/g, "_")
- pkgVerConfig[ k ] = value
+ k = i.substr(verPref.length).replace(/[^a-zA-Z0-9_]/g, '_')
+ pkgVerConfig[k] = value
}
- var envKey = (prefix+i).replace(/[^a-zA-Z0-9_]/g, "_")
+ var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')
env[envKey] = value
})
- prefix = "npm_package_config_"
+ prefix = 'npm_package_config_'
;[pkgConfig, pkgVerConfig].forEach(function (conf) {
for (var i in conf) {
- var envKey = (prefix+i)
+ var envKey = (prefix + i)
env[envKey] = conf[i]
}
})
@@ -353,10 +375,10 @@ function makeEnv (data, prefix, env) {
function cmd (stage) {
function CMD (args, cb) {
- npm.commands["run-script"]([stage].concat(args), cb)
+ npm.commands['run-script']([stage].concat(args), cb)
}
- CMD.usage = "npm "+stage+" [-- <args>]"
- var installedShallow = require("./completion/installed-shallow.js")
+ CMD.usage = 'npm ' + stage + ' [-- <args>]'
+ var installedShallow = require('./completion/installed-shallow.js')
CMD.completion = function (opts, cb) {
installedShallow(opts, function (d) {
return d.scripts && d.scripts[stage]
diff --git a/deps/npm/lib/utils/link.js b/deps/npm/lib/utils/link.js
index e353bfae93..1091f46833 100644
--- a/deps/npm/lib/utils/link.js
+++ b/deps/npm/lib/utils/link.js
@@ -1,29 +1,44 @@
-
module.exports = link
link.ifExists = linkIfExists
-var fs = require("graceful-fs")
- , chain = require("slide").chain
- , mkdir = require("mkdirp")
- , rm = require("./gently-rm.js")
- , path = require("path")
- , npm = require("../npm.js")
+var fs = require('graceful-fs')
+var chain = require('slide').chain
+var mkdir = require('mkdirp')
+var rm = require('./gently-rm.js')
+var path = require('path')
+var npm = require('../npm.js')
function linkIfExists (from, to, gently, cb) {
fs.stat(from, function (er) {
if (er) return cb()
- link(from, to, gently, cb)
+ fs.readlink(to, function (er, fromOnDisk) {
+ // if the link already exists and matches what we would do,
+ // we don't need to do anything
+ if (!er) {
+ var toDir = path.dirname(to)
+ var absoluteFrom = path.resolve(toDir, from)
+ var absoluteFromOnDisk = path.resolve(toDir, fromOnDisk)
+ if (absoluteFrom === absoluteFromOnDisk) return cb()
+ }
+ link(from, to, gently, cb)
+ })
})
}
function link (from, to, gently, abs, cb) {
- if (typeof cb !== "function") cb = abs, abs = false
- if (typeof cb !== "function") cb = gently, gently = null
- if (npm.config.get("force")) gently = false
+ if (typeof cb !== 'function') {
+ cb = abs
+ abs = false
+ }
+ if (typeof cb !== 'function') {
+ cb = gently
+ gently = null
+ }
+ if (npm.config.get('force')) gently = false
to = path.resolve(to)
var target = from = path.resolve(from)
- if (!abs && process.platform !== "win32") {
+ if (!abs && process.platform !== 'win32') {
// junctions on windows must be absolute
target = path.relative(path.dirname(to), from)
// if there is no folder in common, then it will be much
@@ -31,10 +46,13 @@ function link (from, to, gently, abs, cb) {
if (target.length >= from.length) target = from
}
- chain
- ( [ [fs, "stat", from]
- , [rm, to, gently]
- , [mkdir, path.dirname(to)]
- , [fs, "symlink", target, to, "junction"] ]
- , cb)
+ chain(
+ [
+ [fs, 'stat', from],
+ [rm, to, gently],
+ [mkdir, path.dirname(to)],
+ [fs, 'symlink', target, to, 'junction']
+ ],
+ cb
+ )
}
diff --git a/deps/npm/lib/utils/locker.js b/deps/npm/lib/utils/locker.js
index 293d2da052..9cd8b2c4fd 100644
--- a/deps/npm/lib/utils/locker.js
+++ b/deps/npm/lib/utils/locker.js
@@ -1,38 +1,39 @@
-var crypto = require("crypto")
-var resolve = require("path").resolve
+var crypto = require('crypto')
+var resolve = require('path').resolve
-var lockfile = require("lockfile")
-var log = require("npmlog")
-var mkdirp = require("mkdirp")
+var lockfile = require('lockfile')
+var log = require('npmlog')
-var npm = require("../npm.js")
+var npm = require('../npm.js')
var correctMkdir = require('../utils/correct-mkdir.js')
var installLocks = {}
function lockFileName (base, name) {
- var c = name.replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "")
- , p = resolve(base, name)
- , h = crypto.createHash("sha1").update(p).digest("hex")
- , l = resolve(npm.cache, "_locks")
+ var c = name.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '')
+ var p = resolve(base, name)
+ var h = crypto.createHash('sha1').update(p).digest('hex')
+ var l = resolve(npm.cache, '_locks')
- return resolve(l, c.substr(0, 24)+"-"+h.substr(0, 16)+".lock")
+ return resolve(l, c.substr(0, 24) + '-' + h.substr(0, 16) + '.lock')
}
function lock (base, name, cb) {
- var lockDir = resolve(npm.cache, "_locks")
+ var lockDir = resolve(npm.cache, '_locks')
correctMkdir(lockDir, function (er) {
if (er) return cb(er)
- var opts = { stale: npm.config.get("cache-lock-stale")
- , retries: npm.config.get("cache-lock-retries")
- , wait: npm.config.get("cache-lock-wait") }
+ var opts = {
+ stale: npm.config.get('cache-lock-stale'),
+ retries: npm.config.get('cache-lock-retries'),
+ wait: npm.config.get('cache-lock-wait')
+ }
var lf = lockFileName(base, name)
lockfile.lock(lf, opts, function (er) {
- if (er) log.warn("locking", lf, "failed", er)
+ if (er) log.warn('locking', lf, 'failed', er)
if (!er) {
- log.verbose("lock", "using", lf, "for", resolve(base, name))
+ log.verbose('lock', 'using', lf, 'for', resolve(base, name))
installLocks[lf] = true
}
@@ -43,31 +44,30 @@ function lock (base, name, cb) {
function unlock (base, name, cb) {
var lf = lockFileName(base, name)
- , locked = installLocks[lf]
+ var locked = installLocks[lf]
if (locked === false) {
return process.nextTick(cb)
- }
- else if (locked === true) {
+ } else if (locked === true) {
lockfile.unlock(lf, function (er) {
if (er) {
- log.warn("unlocking", lf, "failed", er)
- }
- else {
+ log.warn('unlocking', lf, 'failed', er)
+ } else {
installLocks[lf] = false
- log.verbose("unlock", "done using", lf, "for", resolve(base, name))
+ log.verbose('unlock', 'done using', lf, 'for', resolve(base, name))
}
cb(er)
})
- }
- else {
- throw new Error(
- "Attempt to unlock " + resolve(base, name) + ", which hasn't been locked"
+ } else {
+ var notLocked = new Error(
+ 'Attempt to unlock ' + resolve(base, name) + ", which hasn't been locked"
)
+ notLocked.code = 'ENOTLOCKED'
+ throw notLocked
}
}
module.exports = {
- lock : lock,
- unlock : unlock
+ lock: lock,
+ unlock: unlock
}
diff --git a/deps/npm/lib/utils/map-to-registry.js b/deps/npm/lib/utils/map-to-registry.js
index bd68a26d42..34046d1917 100644
--- a/deps/npm/lib/utils/map-to-registry.js
+++ b/deps/npm/lib/utils/map-to-registry.js
@@ -1,56 +1,56 @@
-var url = require("url")
+var url = require('url')
-var log = require("npmlog")
- , npa = require("npm-package-arg")
+var log = require('npmlog')
+var npa = require('npm-package-arg')
module.exports = mapToRegistry
-function mapToRegistry(name, config, cb) {
- log.silly("mapToRegistry", "name", name)
+function mapToRegistry (name, config, cb) {
+ log.silly('mapToRegistry', 'name', name)
var registry
// the name itself takes precedence
var data = npa(name)
if (data.scope) {
// the name is definitely scoped, so escape now
- name = name.replace("/", "%2f")
+ name = name.replace('/', '%2f')
- log.silly("mapToRegistry", "scope (from package name)", data.scope)
+ log.silly('mapToRegistry', 'scope (from package name)', data.scope)
- registry = config.get(data.scope + ":registry")
+ registry = config.get(data.scope + ':registry')
if (!registry) {
- log.verbose("mapToRegistry", "no registry URL found in name for scope", data.scope)
+ log.verbose('mapToRegistry', 'no registry URL found in name for scope', data.scope)
}
}
// ...then --scope=@scope or --scope=scope
- var scope = config.get("scope")
+ var scope = config.get('scope')
if (!registry && scope) {
// I'm an enabler, sorry
- if (scope.charAt(0) !== "@") scope = "@" + scope
+ if (scope.charAt(0) !== '@') scope = '@' + scope
- log.silly("mapToRegistry", "scope (from config)", scope)
+ log.silly('mapToRegistry', 'scope (from config)', scope)
- registry = config.get(scope + ":registry")
+ registry = config.get(scope + ':registry')
if (!registry) {
- log.verbose("mapToRegistry", "no registry URL found in config for scope", scope)
+ log.verbose('mapToRegistry', 'no registry URL found in config for scope', scope)
}
}
// ...and finally use the default registry
if (!registry) {
- log.silly("mapToRegistry", "using default registry")
- registry = config.get("registry")
+ log.silly('mapToRegistry', 'using default registry')
+ registry = config.get('registry')
}
- log.silly("mapToRegistry", "registry", registry)
+ log.silly('mapToRegistry', 'registry', registry)
var auth = config.getCredentialsByURI(registry)
// normalize registry URL so resolution doesn't drop a piece of registry URL
- var normalized = registry.slice(-1) !== "/" ? registry+"/" : registry
+ var normalized = registry.slice(-1) !== '/' ? registry + '/' : registry
var uri = url.resolve(normalized, name)
- log.silly("mapToRegistry", "uri", uri)
+ log.silly('mapToRegistry', 'uri', uri)
cb(null, uri, auth, normalized)
}
diff --git a/deps/npm/lib/utils/parse-json.js b/deps/npm/lib/utils/parse-json.js
new file mode 100644
index 0000000000..5c0b959a0d
--- /dev/null
+++ b/deps/npm/lib/utils/parse-json.js
@@ -0,0 +1,24 @@
+'use strict'
+var parseJSON = module.exports = function (content) {
+ return JSON.parse(stripBOM(content))
+}
+
+parseJSON.noExceptions = function (content) {
+ try {
+ return parseJSON(content)
+ } catch (ex) {
+ return
+ }
+}
+
+// from read-package-json
+function stripBOM (content) {
+ content = content.toString()
+ // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
+ // because the buffer-to-string conversion in `fs.readFileSync()`
+ // translates it to FEFF, the UTF-16 BOM.
+ if (content.charCodeAt(0) === 0xFEFF) {
+ content = content.slice(1)
+ }
+ return content
+}
diff --git a/deps/npm/lib/utils/pulse-till-done.js b/deps/npm/lib/utils/pulse-till-done.js
new file mode 100644
index 0000000000..fc6450e003
--- /dev/null
+++ b/deps/npm/lib/utils/pulse-till-done.js
@@ -0,0 +1,21 @@
+'use strict'
+var validate = require('aproba')
+var log = require('npmlog')
+
+var pulsers = 0
+var pulse
+
+module.exports = function (prefix, cb) {
+ validate('SF', [prefix, cb])
+ if (!pulsers++) {
+ pulse = setInterval(function () {
+ log.gauge.pulse('network')
+ }, 250)
+ }
+ return function () {
+ if (!--pulsers) {
+ clearInterval(pulse)
+ }
+ cb.apply(null, arguments)
+ }
+}
diff --git a/deps/npm/lib/utils/read-local-package.js b/deps/npm/lib/utils/read-local-package.js
index ca6d613210..27ca7b4e39 100644
--- a/deps/npm/lib/utils/read-local-package.js
+++ b/deps/npm/lib/utils/read-local-package.js
@@ -1,12 +1,12 @@
exports = module.exports = readLocalPkg
-var npm = require("../npm.js")
- , readJson = require("read-package-json")
+var npm = require('../npm.js')
+var readJson = require('read-package-json')
function readLocalPkg (cb) {
- if (npm.config.get("global")) return cb()
- var path = require("path")
- readJson(path.resolve(npm.prefix, "package.json"), function (er, d) {
+ if (npm.config.get('global')) return cb()
+ var path = require('path')
+ readJson(path.resolve(npm.prefix, 'package.json'), function (er, d) {
return cb(er, d && d.name)
})
}
diff --git a/deps/npm/lib/utils/spawn.js b/deps/npm/lib/utils/spawn.js
index 74684521f7..e389d83e02 100644
--- a/deps/npm/lib/utils/spawn.js
+++ b/deps/npm/lib/utils/spawn.js
@@ -1,16 +1,16 @@
module.exports = spawn
-var _spawn = require("child_process").spawn
-var EventEmitter = require("events").EventEmitter
+var _spawn = require('child_process').spawn
+var EventEmitter = require('events').EventEmitter
function spawn (cmd, args, options) {
var raw = _spawn(cmd, args, options)
var cooked = new EventEmitter()
- raw.on("error", function (er) {
+ raw.on('error', function (er) {
er.file = cmd
- cooked.emit("error", er)
- }).on("close", function (code, signal) {
+ cooked.emit('error', er)
+ }).on('close', function (code, signal) {
// Create ENOENT error because Node.js v0.8 will not emit
// an `error` event if the command could not be found.
if (code === 127) {
@@ -21,7 +21,7 @@ function spawn (cmd, args, options) {
er.file = cmd
cooked.emit('error', er)
} else {
- cooked.emit("close", code, signal)
+ cooked.emit('close', code, signal)
}
})
diff --git a/deps/npm/lib/utils/tar.js b/deps/npm/lib/utils/tar.js
index 7656b5d975..5b20160ea5 100644
--- a/deps/npm/lib/utils/tar.js
+++ b/deps/npm/lib/utils/tar.js
@@ -1,22 +1,26 @@
// commands for packing and unpacking tarballs
// this file is used by lib/cache.js
-var npm = require("../npm.js")
- , fs = require("graceful-fs")
- , writeFileAtomic = require("write-file-atomic")
- , writeStreamAtomic = require("fs-write-stream-atomic")
- , path = require("path")
- , log = require("npmlog")
- , uidNumber = require("uid-number")
- , rm = require("./gently-rm.js")
- , readJson = require("read-package-json")
- , myUid = process.getuid && process.getuid()
- , myGid = process.getgid && process.getgid()
- , tar = require("tar")
- , zlib = require("zlib")
- , fstream = require("fstream")
- , Packer = require("fstream-npm")
- , lifecycle = require("./lifecycle.js")
+var fs = require('graceful-fs')
+var path = require('path')
+var writeFileAtomic = require('write-file-atomic')
+var writeStreamAtomic = require('fs-write-stream-atomic')
+var log = require('npmlog')
+var uidNumber = require('uid-number')
+var readJson = require('read-package-json')
+var tar = require('tar')
+var zlib = require('zlib')
+var fstream = require('fstream')
+var Packer = require('fstream-npm')
+var iferr = require('iferr')
+var inherits = require('inherits')
+var npm = require('../npm.js')
+var rm = require('./gently-rm.js')
+var myUid = process.getuid && process.getuid()
+var myGid = process.getgid && process.getgid()
+var readPackageTree = require('read-package-tree')
+var union = require('lodash.union')
+var flattenTree = require('../install/flatten-tree.js')
if (process.env.SUDO_UID && myUid === 0) {
if (!isNaN(process.env.SUDO_UID)) myUid = +process.env.SUDO_UID
@@ -26,28 +30,148 @@ if (process.env.SUDO_UID && myUid === 0) {
exports.pack = pack
exports.unpack = unpack
-function pack (tarball, folder, pkg, dfc, cb) {
- log.verbose("tar pack", [tarball, folder])
- if (typeof cb !== "function") cb = dfc, dfc = false
+function pack (tarball, folder, pkg, cb) {
+ log.verbose('tar pack', [tarball, folder])
+
+ log.verbose('tarball', tarball)
+ log.verbose('folder', folder)
+
+ readJson(path.join(folder, 'package.json'), function (er, pkg) {
+ if (er || !pkg.bundleDependencies) {
+ pack_(tarball, folder, null, null, pkg, cb)
+ } else {
+ // we require this at runtime due to load-order issues, because recursive
+ // requires fail if you replace the exports object, and we do, not in deps, but
+ // in a dep of it.
+ var recalculateMetadata = require('../install/deps.js').recalculateMetadata
+
+ readPackageTree(folder, iferr(cb, function (tree) {
+ recalculateMetadata(tree, log.newGroup('pack:' + pkg), iferr(cb, function () {
+ pack_(tarball, folder, tree, flattenTree(tree), pkg, cb)
+ }))
+ }))
+ }
+ })
+}
- log.verbose("tarball", tarball)
- log.verbose("folder", folder)
+function BundledPacker (props) {
+ Packer.call(this, props)
+}
+inherits(BundledPacker, Packer)
+
+BundledPacker.prototype.applyIgnores = function (entry, partial, entryObj) {
+ // package.json files can never be ignored.
+ if (entry === 'package.json') return true
+
+ // readme files should never be ignored.
+ if (entry.match(/^readme(\.[^\.]*)$/i)) return true
+
+ // license files should never be ignored.
+ if (entry.match(/^(license|licence)(\.[^\.]*)?$/i)) return true
+
+ // changelogs should never be ignored.
+ if (entry.match(/^(changes|changelog|history)(\.[^\.]*)?$/i)) return true
+
+ // special rules. see below.
+ if (entry === 'node_modules' && this.packageRoot) return true
+
+ // some files are *never* allowed under any circumstances
+ if (entry === '.git' ||
+ entry === '.lock-wscript' ||
+ entry.match(/^\.wafpickle-[0-9]+$/) ||
+ entry === 'CVS' ||
+ entry === '.svn' ||
+ entry === '.hg' ||
+ entry.match(/^\..*\.swp$/) ||
+ entry === '.DS_Store' ||
+ entry.match(/^\._/) ||
+ entry === 'npm-debug.log'
+ ) {
+ return false
+ }
- if (dfc) {
- // do fancy crap
- return lifecycle(pkg, "prepublish", folder, function (er) {
- if (er) return cb(er)
- pack_(tarball, folder, pkg, cb)
- })
- } else {
- pack_(tarball, folder, pkg, cb)
+ // in a node_modules folder, we only include bundled dependencies
+ // also, prevent packages in node_modules from being affected
+ // by rules set in the containing package, so that
+ // bundles don't get busted.
+ // Also, once in a bundle, everything is installed as-is
+ // To prevent infinite cycles in the case of cyclic deps that are
+ // linked with npm link, even in a bundle, deps are only bundled
+ // if they're not already present at a higher level.
+ if (this.bundleMagic) {
+ // bubbling up. stop here and allow anything the bundled pkg allows
+ if (entry.indexOf('/') !== -1) return true
+
+ // never include the .bin. It's typically full of platform-specific
+ // stuff like symlinks and .cmd files anyway.
+ if (entry === '.bin') return false
+
+ // the package root.
+ var p = this.parent
+ // the package before this one.
+ var pp = p && p.parent
+
+ // if this entry has already been bundled, and is a symlink,
+ // and it is the *same* symlink as this one, then exclude it.
+ if (pp && pp.bundleLinks && this.bundleLinks &&
+ pp.bundleLinks[entry] &&
+ pp.bundleLinks[entry] === this.bundleLinks[entry]) {
+ return false
+ }
+
+ // since it's *not* a symbolic link, if we're *already* in a bundle,
+ // then we should include everything.
+ if (pp && pp.package && pp.basename === 'node_modules') {
+ return true
+ }
+
+ // only include it at this point if it's a bundleDependency
+ return this.isBundled(entry)
}
+ // if (this.bundled) return true
+
+ return Packer.prototype.applyIgnores.call(this, entry, partial, entryObj)
}
-function pack_ (tarball, folder, pkg, cb) {
- new Packer({ path: folder, type: "Directory", isDirectory: true })
- .on("error", function (er) {
- if (er) log.error("tar pack", "Error reading " + folder)
+function nameMatch (name) { return function (other) { return name === other.package.name } }
+
+function pack_ (tarball, folder, tree, flatTree, pkg, cb) {
+ function InstancePacker (props) {
+ BundledPacker.call(this, props)
+ }
+ inherits(InstancePacker, BundledPacker)
+ InstancePacker.prototype.isBundled = function (name) {
+ var bd = this.package && this.package.bundleDependencies
+ if (!bd) return false
+
+ if (!Array.isArray(bd)) {
+ throw new Error(this.package.name + '\'s `bundledDependencies` should ' +
+ 'be an array')
+ }
+ if (!tree) return false
+
+ if (bd.indexOf(name) !== -1) return true
+ var pkg = tree.children.filter(nameMatch(name))[0]
+ if (!pkg) return false
+ var requiredBy = union([], pkg.package._requiredBy)
+ var seen = {}
+ while (requiredBy.length) {
+ var req = requiredBy.shift()
+ if (seen[req]) continue
+ seen[req] = true
+ var reqPkg = flatTree[req]
+ if (!reqPkg) continue
+ if (reqPkg.parent === tree && bd.indexOf(reqPkg.package.name) !== -1) {
+ return true
+ }
+ requiredBy = union(requiredBy, reqPkg.package._requiredBy)
+ }
+ return false
+ }
+
+ new InstancePacker({ path: folder, type: 'Directory', isDirectory: true })
+ .on('error', function (er) {
+ if (er) log.error('tar pack', 'Error reading ' + folder)
return cb(er)
})
@@ -56,32 +180,43 @@ function pack_ (tarball, folder, pkg, cb) {
// However, npm *itself* excludes these from its own package,
// so that it can be more easily bootstrapped using old and
// non-compliant tar implementations.
- .pipe(tar.Pack({ noProprietary: !npm.config.get("proprietary-attribs") }))
- .on("error", function (er) {
- if (er) log.error("tar.pack", "tar creation error", tarball)
+ .pipe(tar.Pack({ noProprietary: !npm.config.get('proprietary-attribs') }))
+ .on('error', function (er) {
+ if (er) log.error('tar.pack', 'tar creation error', tarball)
cb(er)
})
.pipe(zlib.Gzip())
- .on("error", function (er) {
- if (er) log.error("tar.pack", "gzip error "+tarball)
+ .on('error', function (er) {
+ if (er) log.error('tar.pack', 'gzip error ' + tarball)
cb(er)
})
.pipe(writeStreamAtomic(tarball))
- .on("error", function (er) {
- if (er) log.error("tar.pack", "Could not write "+tarball)
+ .on('error', function (er) {
+ if (er) log.error('tar.pack', 'Could not write ' + tarball)
cb(er)
})
- .on("close", cb)
+ .on('close', cb)
}
-
function unpack (tarball, unpackTarget, dMode, fMode, uid, gid, cb) {
- log.verbose("tar", "unpack", tarball)
- log.verbose("tar", "unpacking to", unpackTarget)
- if (typeof cb !== "function") cb = gid, gid = null
- if (typeof cb !== "function") cb = uid, uid = null
- if (typeof cb !== "function") cb = fMode, fMode = npm.modes.file
- if (typeof cb !== "function") cb = dMode, dMode = npm.modes.exec
+ log.verbose('tar', 'unpack', tarball)
+ log.verbose('tar', 'unpacking to', unpackTarget)
+ if (typeof cb !== 'function') {
+ cb = gid
+ gid = null
+ }
+ if (typeof cb !== 'function') {
+ cb = uid
+ uid = null
+ }
+ if (typeof cb !== 'function') {
+ cb = fMode
+ fMode = npm.modes.file
+ }
+ if (typeof cb !== 'function') {
+ cb = dMode
+ dMode = npm.modes.exec
+ }
uidNumber(uid, gid, function (er, uid, gid) {
if (er) return cb(er)
@@ -89,26 +224,25 @@ function unpack (tarball, unpackTarget, dMode, fMode, uid, gid, cb) {
})
}
-function unpack_ ( tarball, unpackTarget, dMode, fMode, uid, gid, cb ) {
+function unpack_ (tarball, unpackTarget, dMode, fMode, uid, gid, cb) {
rm(unpackTarget, function (er) {
if (er) return cb(er)
// gzip {tarball} --decompress --stdout \
// | tar -mvxpf - --strip-components=1 -C {unpackTarget}
- gunzTarPerm( tarball, unpackTarget
- , dMode, fMode
- , uid, gid
- , function (er, folder) {
+ gunzTarPerm(tarball, unpackTarget,
+ dMode, fMode,
+ uid, gid,
+ function (er, folder) {
if (er) return cb(er)
- readJson(path.resolve(folder, "package.json"), cb)
+ readJson(path.resolve(folder, 'package.json'), cb)
})
})
}
-
function gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {
if (!dMode) dMode = npm.modes.exec
if (!fMode) fMode = npm.modes.file
- log.silly("gunzTarPerm", "modes", [dMode.toString(8), fMode.toString(8)])
+ log.silly('gunzTarPerm', 'modes', [dMode.toString(8), fMode.toString(8)])
var cbCalled = false
function cb (er) {
@@ -119,51 +253,51 @@ function gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {
var fst = fs.createReadStream(tarball)
- fst.on("open", function (fd) {
+ fst.on('open', function (fd) {
fs.fstat(fd, function (er, st) {
- if (er) return fst.emit("error", er)
+ if (er) return fst.emit('error', er)
if (st.size === 0) {
- er = new Error("0-byte tarball\n" +
- "Please run `npm cache clean`")
- fst.emit("error", er)
+ er = new Error('0-byte tarball\n' +
+ 'Please run `npm cache clean`')
+ fst.emit('error', er)
}
})
})
// figure out who we're supposed to be, if we're not pretending
// to be a specific user.
- if (npm.config.get("unsafe-perm") && process.platform !== "win32") {
+ if (npm.config.get('unsafe-perm') && process.platform !== 'win32') {
uid = myUid
gid = myGid
}
function extractEntry (entry) {
- log.silly("gunzTarPerm", "extractEntry", entry.path)
+ log.silly('gunzTarPerm', 'extractEntry', entry.path)
// never create things that are user-unreadable,
// or dirs that are user-un-listable. Only leads to headaches.
var originalMode = entry.mode = entry.mode || entry.props.mode
- entry.mode = entry.mode | (entry.type === "Directory" ? dMode : fMode)
+ entry.mode = entry.mode | (entry.type === 'Directory' ? dMode : fMode)
entry.mode = entry.mode & (~npm.modes.umask)
entry.props.mode = entry.mode
if (originalMode !== entry.mode) {
- log.silly( "gunzTarPerm", "modified mode"
- , [entry.path, originalMode, entry.mode])
+ log.silly('gunzTarPerm', 'modified mode',
+ [entry.path, originalMode, entry.mode])
}
// if there's a specific owner uid/gid that we want, then set that
- if (process.platform !== "win32" &&
- typeof uid === "number" &&
- typeof gid === "number") {
+ if (process.platform !== 'win32' &&
+ typeof uid === 'number' &&
+ typeof gid === 'number') {
entry.props.uid = entry.uid = uid
entry.props.gid = entry.gid = gid
}
}
- var extractOpts = { type: "Directory", path: target, strip: 1 }
+ var extractOpts = { type: 'Directory', path: target, strip: 1 }
- if (process.platform !== "win32" &&
- typeof uid === "number" &&
- typeof gid === "number") {
+ if (process.platform !== 'win32' &&
+ typeof uid === 'number' &&
+ typeof gid === 'number') {
extractOpts.uid = uid
extractOpts.gid = gid
}
@@ -172,9 +306,9 @@ function gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {
extractOpts.filter = function () {
// symbolic links are not allowed in packages.
if (this.type.match(/^.*Link$/)) {
- log.warn( "excluding symbolic link"
- , this.path.substr(target.length + 1)
- + " -> " + this.linkpath )
+ log.warn('excluding symbolic link',
+ this.path.substr(target.length + 1) +
+ ' -> ' + this.linkpath)
return false
}
@@ -182,12 +316,12 @@ function gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {
// employed during tarball creation, in the fstream-npm module.
// It is duplicated here to handle tarballs that are created
// using other means, such as system tar or git archive.
- if (this.type === "File") {
+ if (this.type === 'File') {
var base = path.basename(this.path)
- if (base === ".npmignore") {
+ if (base === '.npmignore') {
sawIgnores[ this.path ] = true
- } else if (base === ".gitignore") {
- var npmignore = this.path.replace(/\.gitignore$/, ".npmignore")
+ } else if (base === '.gitignore') {
+ var npmignore = this.path.replace(/\.gitignore$/, '.npmignore')
if (sawIgnores[npmignore]) {
// Skip this one, already seen.
return false
@@ -202,13 +336,12 @@ function gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {
return true
}
-
fst
- .on("error", function (er) {
- if (er) log.error("tar.unpack", "error reading "+tarball)
+ .on('error', function (er) {
+ if (er) log.error('tar.unpack', 'error reading ' + tarball)
cb(er)
})
- .on("data", function OD (c) {
+ .on('data', function OD (c) {
// detect what it is.
// Then, depending on that, we'll figure out whether it's
// a single-file module, gzipped tarball, or naked tarball.
@@ -218,59 +351,59 @@ function gunzTarPerm (tarball, target, dMode, fMode, uid, gid, cb_) {
c[2] === 0x08) {
fst
.pipe(zlib.Unzip())
- .on("error", function (er) {
- if (er) log.error("tar.unpack", "unzip error "+tarball)
+ .on('error', function (er) {
+ if (er) log.error('tar.unpack', 'unzip error ' + tarball)
cb(er)
})
.pipe(tar.Extract(extractOpts))
- .on("entry", extractEntry)
- .on("error", function (er) {
- if (er) log.error("tar.unpack", "untar error "+tarball)
+ .on('entry', extractEntry)
+ .on('error', function (er) {
+ if (er) log.error('tar.unpack', 'untar error ' + tarball)
cb(er)
})
- .on("close", cb)
+ .on('close', cb)
} else if (hasTarHeader(c)) {
// naked tar
fst
.pipe(tar.Extract(extractOpts))
- .on("entry", extractEntry)
- .on("error", function (er) {
- if (er) log.error("tar.unpack", "untar error "+tarball)
+ .on('entry', extractEntry)
+ .on('error', function (er) {
+ if (er) log.error('tar.unpack', 'untar error ' + tarball)
cb(er)
})
- .on("close", cb)
+ .on('close', cb)
} else {
// naked js file
- var jsOpts = { path: path.resolve(target, "index.js") }
+ var jsOpts = { path: path.resolve(target, 'index.js') }
- if (process.platform !== "win32" &&
- typeof uid === "number" &&
- typeof gid === "number") {
+ if (process.platform !== 'win32' &&
+ typeof uid === 'number' &&
+ typeof gid === 'number') {
jsOpts.uid = uid
jsOpts.gid = gid
}
fst
.pipe(fstream.Writer(jsOpts))
- .on("error", function (er) {
- if (er) log.error("tar.unpack", "copy error "+tarball)
+ .on('error', function (er) {
+ if (er) log.error('tar.unpack', 'copy error ' + tarball)
cb(er)
})
- .on("close", function () {
- var j = path.resolve(target, "package.json")
+ .on('close', function () {
+ var j = path.resolve(target, 'package.json')
readJson(j, function (er, d) {
if (er) {
- log.error("not a package", tarball)
+ log.error('not a package', tarball)
return cb(er)
}
- writeFileAtomic(j, JSON.stringify(d) + "\n", cb)
+ writeFileAtomic(j, JSON.stringify(d) + '\n', cb)
})
})
}
// now un-hook, and re-emit the chunk
- fst.removeListener("data", OD)
- fst.emit("data", c)
+ fst.removeListener('data', OD)
+ fst.emit('data', c)
})
}
diff --git a/deps/npm/lib/utils/temp-filename.js b/deps/npm/lib/utils/temp-filename.js
new file mode 100644
index 0000000000..6b8245e8b7
--- /dev/null
+++ b/deps/npm/lib/utils/temp-filename.js
@@ -0,0 +1,7 @@
+'use strict'
+var uniqueFilename = require('unique-filename')
+var npm = require('../npm.js')
+
+module.exports = function (prefix) {
+ return uniqueFilename(npm.tmp, prefix)
+}
diff --git a/deps/npm/lib/utils/umask.js b/deps/npm/lib/utils/umask.js
index 6ccb4a1194..2dde1befa6 100644
--- a/deps/npm/lib/utils/umask.js
+++ b/deps/npm/lib/utils/umask.js
@@ -1,5 +1,5 @@
-var umask = require("umask")
-var npmlog = require("npmlog")
+var umask = require('umask')
+var npmlog = require('npmlog')
var _fromString = umask.fromString
module.exports = umask
@@ -8,7 +8,7 @@ module.exports = umask
umask.fromString = function (val) {
_fromString(val, function (err, result) {
if (err) {
- npmlog.warn("invalid umask", err.message)
+ npmlog.warn('invalid umask', err.message)
}
val = result
})
diff --git a/deps/npm/lib/utils/warn-deprecated.js b/deps/npm/lib/utils/warn-deprecated.js
index ec821b9bd4..fe5c5ec82a 100644
--- a/deps/npm/lib/utils/warn-deprecated.js
+++ b/deps/npm/lib/utils/warn-deprecated.js
@@ -1,6 +1,6 @@
module.exports = warnDeprecated
-var log = require("npmlog")
+var log = require('npmlog')
var deprecations = {}
@@ -11,8 +11,7 @@ function warnDeprecated (type) {
deprecations[type] = {}
messages.forEach(function (m) { log.warn(type, m) })
}
- }
- else {
+ } else {
if (!deprecations[type]) deprecations[type] = {}
if (!deprecations[type][instance]) {
diff --git a/deps/npm/lib/version.js b/deps/npm/lib/version.js
index dbd48a0145..455bcc2dba 100644
--- a/deps/npm/lib/version.js
+++ b/deps/npm/lib/version.js
@@ -12,6 +12,7 @@ var npm = require('./npm.js')
var git = require('./utils/git.js')
var assert = require('assert')
var lifecycle = require('./utils/lifecycle.js')
+var parseJSON = require('./utils/parse-json.js')
version.usage = 'npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]' +
'\n(run in package dir)\n' +
@@ -32,7 +33,7 @@ function version (args, silent, cb_) {
fs.readFile(packagePath, function (er, data) {
if (data) data = data.toString()
try {
- data = JSON.parse(data)
+ data = parseJSON(data)
} catch (e) {
er = e
data = null
@@ -107,7 +108,7 @@ function updateShrinkwrap (newVersion, cb) {
try {
data = data.toString()
- data = JSON.parse(data)
+ data = parseJSON(data)
} catch (er) {
log.error('version', 'Bad npm-shrinkwrap.json data')
return cb(er)
diff --git a/deps/npm/lib/view.js b/deps/npm/lib/view.js
index 9199d352ae..9ca18d3540 100644
--- a/deps/npm/lib/view.js
+++ b/deps/npm/lib/view.js
@@ -1,16 +1,17 @@
// npm view [pkg [pkg ...]]
module.exports = view
-view.usage = "npm view pkg[@version] [<field>[.subfield]...]"
-
-var npm = require("./npm.js")
- , readJson = require("read-package-json")
- , log = require("npmlog")
- , util = require("util")
- , semver = require("semver")
- , mapToRegistry = require("./utils/map-to-registry.js")
- , npa = require("npm-package-arg")
- , path = require("path")
+view.usage = 'npm view [<@scope>/]<pkg>[@<version>] [<field>[.subfield]...]' +
+ '\n\naliases: info, show, v'
+
+var npm = require('./npm.js')
+var readJson = require('read-package-json')
+var log = require('npmlog')
+var util = require('util')
+var semver = require('semver')
+var mapToRegistry = require('./utils/map-to-registry.js')
+var npa = require('npm-package-arg')
+var path = require('path')
view.completion = function (opts, cb) {
if (opts.conf.argv.remain.length <= 2) {
@@ -19,14 +20,14 @@ view.completion = function (opts, cb) {
return cb()
}
// have the package, get the fields.
- var tag = npm.config.get("tag")
+ var tag = npm.config.get('tag')
mapToRegistry(opts.conf.argv.remain[2], npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, d) {
+ npm.registry.get(uri, { auth: auth }, function (er, d) {
if (er) return cb(er)
- var dv = d.versions[d["dist-tags"][tag]]
- , fields = []
+ var dv = d.versions[d['dist-tags'][tag]]
+ var fields = []
d.versions = Object.keys(d.versions).sort(semver.compareLoose)
fields = getFields(d).concat(getFields(dv))
cb(null, fields)
@@ -38,48 +39,51 @@ view.completion = function (opts, cb) {
if (!d) return f
pref = pref || []
Object.keys(d).forEach(function (k) {
- if (k.charAt(0) === "_" || k.indexOf(".") !== -1) return
- var p = pref.concat(k).join(".")
+ if (k.charAt(0) === '_' || k.indexOf('.') !== -1) return
+ var p = pref.concat(k).join('.')
f.push(p)
if (Array.isArray(d[k])) {
d[k].forEach(function (val, i) {
- var pi = p + "[" + i + "]"
- if (val && typeof val === "object") getFields(val, f, [p])
+ var pi = p + '[' + i + ']'
+ if (val && typeof val === 'object') getFields(val, f, [p])
else f.push(pi)
})
return
}
- if (typeof d[k] === "object") getFields(d[k], f, [p])
+ if (typeof d[k] === 'object') getFields(d[k], f, [p])
})
return f
}
}
function view (args, silent, cb) {
- if (typeof cb !== "function") cb = silent, silent = false
+ if (typeof cb !== 'function') {
+ cb = silent
+ silent = false
+ }
- if (!args.length) args = ["."]
+ if (!args.length) args = ['.']
var pkg = args.shift()
- , nv = npa(pkg)
- , name = nv.name
- , local = (name === "." || !name)
+ var nv = npa(pkg)
+ var name = nv.name
+ var local = (name === '.' || !name)
- if (npm.config.get("global") && local) {
- return cb(new Error("Cannot use view command in global mode."))
+ if (npm.config.get('global') && local) {
+ return cb(new Error('Cannot use view command in global mode.'))
}
if (local) {
var dir = npm.prefix
- readJson(path.resolve(dir, "package.json"), function (er, d) {
+ readJson(path.resolve(dir, 'package.json'), function (er, d) {
d = d || {}
- if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR") return cb(er)
- if (!d.name) return cb(new Error("Invalid package.json"))
+ if (er && er.code !== 'ENOENT' && er.code !== 'ENOTDIR') return cb(er)
+ if (!d.name) return cb(new Error('Invalid package.json'))
var p = d.name
nv = npa(p)
- if (pkg && ~pkg.indexOf("@")) {
- nv.rawSpec = pkg.split("@")[pkg.indexOf("@")]
+ if (pkg && ~pkg.indexOf('@')) {
+ nv.rawSpec = pkg.split('@')[pkg.indexOf('@')]
}
fetchAndRead(nv, args, silent, cb)
@@ -92,53 +96,54 @@ function view (args, silent, cb) {
function fetchAndRead (nv, args, silent, cb) {
// get the data about this package
var name = nv.name
- , version = nv.rawSpec || npm.config.get("tag")
+ var version = nv.rawSpec || npm.config.get('tag')
mapToRegistry(name, npm.config, function (er, uri, auth) {
if (er) return cb(er)
- npm.registry.get(uri, { auth : auth }, function (er, data) {
+ npm.registry.get(uri, { auth: auth }, function (er, data) {
if (er) return cb(er)
- if (data["dist-tags"] && data["dist-tags"].hasOwnProperty(version)) {
- version = data["dist-tags"][version]
+ if (data['dist-tags'] && data['dist-tags'].hasOwnProperty(version)) {
+ version = data['dist-tags'][version]
}
if (data.time && data.time.unpublished) {
var u = data.time.unpublished
- er = new Error("Unpublished by " + u.name + " on " + u.time)
+ er = new Error('Unpublished by ' + u.name + ' on ' + u.time)
er.statusCode = 404
- er.code = "E404"
+ er.code = 'E404'
er.pkgid = data._id
return cb(er, data)
}
-
var results = []
- , error = null
- , versions = data.versions || {}
+ var error = null
+ var versions = data.versions || {}
data.versions = Object.keys(versions).sort(semver.compareLoose)
- if (!args.length) args = [""]
+ if (!args.length) args = ['']
// remove readme unless we asked for it
- if (-1 === args.indexOf("readme")) {
+ if (args.indexOf('readme') === -1) {
delete data.readme
}
Object.keys(versions).forEach(function (v) {
- 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
- }
- results.push(showFields(data, versions[v], args))
- })
+ if (semver.satisfies(v, version, true)) {
+ args.forEach(function (args) {
+ // remove readme unless we asked for it
+ if (args.indexOf('readme') !== -1) {
+ delete versions[v].readme
+ }
+ results.push(showFields(data, versions[v], args))
+ })
+ }
})
results = results.reduce(reducer, {})
var retval = results
- if (args.length === 1 && args[0] === "") {
+ if (args.length === 1 && args[0] === '') {
retval = cleanBlanks(retval)
- log.silly("cleanup", retval)
+ log.silly('cleanup', retval)
}
if (error || silent) cb(error, retval)
@@ -150,18 +155,21 @@ function fetchAndRead (nv, args, silent, cb) {
function cleanBlanks (obj) {
var clean = {}
Object.keys(obj).forEach(function (version) {
- clean[version] = obj[version][""]
+ clean[version] = obj[version]['']
})
return clean
}
function reducer (l, r) {
- if (r) Object.keys(r).forEach(function (v) {
- l[v] = l[v] || {}
- Object.keys(r[v]).forEach(function (t) {
- l[v][t] = r[v][t]
+ if (r) {
+ Object.keys(r).forEach(function (v) {
+ l[v] = l[v] || {}
+ Object.keys(r[v]).forEach(function (t) {
+ l[v][t] = r[v][t]
+ })
})
- })
+ }
+
return l
}
@@ -173,12 +181,12 @@ function showFields (data, version, fields) {
o[k] = s[k]
})
})
- return search(o, fields.split("."), version.version, fields)
+ return search(o, fields.split('.'), version.version, fields)
}
function search (data, fields, version, title) {
var field
- , tail = fields
+ var tail = fields
while (!field && fields.length) field = tail.shift()
fields = [field].concat(tail)
var o
@@ -195,7 +203,7 @@ function search (data, fields, version, title) {
if (data.field && data.field.hasOwnProperty(index)) {
return search(data[field][index], tail, version, title)
} else {
- field = field + "[" + index + "]"
+ field = field + '[' + index + ']'
}
}
if (Array.isArray(data)) {
@@ -205,8 +213,8 @@ function search (data, fields, version, title) {
var results = []
data.forEach(function (data, i) {
var tl = title.length
- , newt = title.substr(0, tl-(fields.join(".").length) - 1)
- + "["+i+"]" + [""].concat(fields).join(".")
+ var newt = title.substr(0, tl - fields.join('.').length - 1) +
+ '[' + i + ']' + [''].concat(fields).join('.')
results.push(search(data, fields.slice(), version, newt))
})
results = results.reduce(reducer, {})
@@ -215,11 +223,11 @@ function search (data, fields, version, title) {
if (!data.hasOwnProperty(field)) return undefined
data = data[field]
if (tail.length) {
- if (typeof data === "object") {
+ if (typeof data === 'object') {
// there are more fields to deal with.
return search(data, tail, version, title)
} else {
- return new Error("Not an object: "+data)
+ return new Error('Not an object: ' + data)
}
}
o = {}
@@ -230,33 +238,33 @@ function search (data, fields, version, title) {
function printData (data, name, cb) {
var versions = Object.keys(data)
- , msg = ""
- , includeVersions = versions.length > 1
- , includeFields
+ var msg = ''
+ var includeVersions = versions.length > 1
+ var includeFields
versions.forEach(function (v) {
var fields = Object.keys(data[v])
includeFields = includeFields || (fields.length > 1)
fields.forEach(function (f) {
var d = cleanup(data[v][f])
- if (includeVersions || includeFields || typeof d !== "string") {
+ if (includeVersions || includeFields || typeof d !== 'string') {
d = cleanup(data[v][f])
- d = npm.config.get("json")
+ d = npm.config.get('json')
? JSON.stringify(d, null, 2)
: util.inspect(d, false, 5, npm.color)
- } else if (typeof d === "string" && npm.config.get("json")) {
+ } else if (typeof d === 'string' && npm.config.get('json')) {
d = JSON.stringify(d)
}
- if (f && includeFields) f += " = "
- if (d.indexOf("\n") !== -1) d = " \n" + d
- msg += (includeVersions ? name + "@" + v + " " : "")
- + (includeFields ? f : "") + d + "\n"
+ if (f && includeFields) f += ' = '
+ if (d.indexOf('\n') !== -1) d = ' \n' + d
+ msg += (includeVersions ? name + '@' + v + ' ' : '') +
+ (includeFields ? f : '') + d + '\n'
})
})
// preserve output symmetry by adding a whitespace-only line at the end if
// there's one at the beginning
- if (/^\s*\n/.test(msg)) msg += "\n"
+ if (/^\s*\n/.test(msg)) msg += '\n'
// print directly to stdout to not unnecessarily add blank lines
process.stdout.write(msg)
@@ -265,38 +273,34 @@ function printData (data, name, cb) {
}
function cleanup (data) {
if (Array.isArray(data)) {
- if (data.length === 1) {
- data = data[0]
- } else {
- return data.map(cleanup)
- }
+ return data.map(cleanup)
}
- if (!data || typeof data !== "object") return data
+ if (!data || typeof data !== 'object') return data
- if (typeof data.versions === "object"
- && data.versions
- && !Array.isArray(data.versions)) {
+ if (typeof data.versions === 'object' &&
+ data.versions &&
+ !Array.isArray(data.versions)) {
data.versions = Object.keys(data.versions || {})
}
var keys = Object.keys(data)
keys.forEach(function (d) {
- if (d.charAt(0) === "_") delete data[d]
- else if (typeof data[d] === "object") data[d] = cleanup(data[d])
+ if (d.charAt(0) === '_') delete data[d]
+ else if (typeof data[d] === 'object') data[d] = cleanup(data[d])
})
keys = Object.keys(data)
- if (keys.length <= 3
- && data.name
- && (keys.length === 1
- || keys.length === 3 && data.email && data.url
- || keys.length === 2 && (data.email || data.url))) {
+ if (keys.length <= 3 &&
+ data.name &&
+ (keys.length === 1 ||
+ keys.length === 3 && data.email && data.url ||
+ keys.length === 2 && (data.email || data.url))) {
data = unparsePerson(data)
}
return data
}
function unparsePerson (d) {
- if (typeof d === "string") return d
- return d.name
- + (d.email ? " <"+d.email+">" : "")
- + (d.url ? " ("+d.url+")" : "")
+ if (typeof d === 'string') return d
+ return d.name +
+ (d.email ? ' <' + d.email + '>' : '') +
+ (d.url ? ' (' + d.url + ')' : '')
}
diff --git a/deps/npm/lib/visnup.js b/deps/npm/lib/visnup.js
index 8d710c20b0..b0352fd6d0 100644
--- a/deps/npm/lib/visnup.js
+++ b/deps/npm/lib/visnup.js
@@ -1,38 +1,38 @@
module.exports = visnup
-var npm = require("./npm.js")
+var npm = require('./npm.js')
var handsomeFace = [
- [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 237, 236, 236, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 235, 233, 237, 235, 233, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 235, 233, 232, 235, 235, 234, 233, 236, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 237, 235, 232, 232, 234, 233, 233, 232, 232, 233, 232, 232, 235, 232, 233, 234, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 232, 232, 232, 239, 238, 235, 233, 232, 232, 232, 232, 232, 232, 232, 233, 235, 232, 233, 233, 232, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 234, 234, 232, 233, 234, 233, 234, 235, 233, 235, 60, 238, 238, 234, 234, 233, 234, 233, 238, 251, 246, 233, 233, 232, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 233, 233, 233, 232, 232, 239, 249, 251, 252, 231, 231, 188, 250, 254, 59, 60, 255, 231, 231, 231, 252, 235, 239, 235, 232, 233, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 232, 233, 232, 232, 232, 248, 231, 231, 231, 231, 231, 231, 231, 254, 238, 254, 231, 231, 231, 231, 231, 252, 233, 235, 237, 233, 234, 0, 0, 0, 0, 0]
- ,[0, 0, 233, 232, 232, 232, 248, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 251, 233, 233, 233, 236, 233, 0, 0, 0, 0]
- ,[232, 233, 233, 232, 232, 246, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 249, 233, 234, 234, 0, 0, 0, 0]
- ,[232, 232, 232, 232, 233, 249, 231, 255, 255, 255, 255, 254, 109, 60, 239, 237, 238, 237, 235, 235, 235, 235, 236, 235, 235, 235, 234, 232, 232, 232, 232, 232, 233, 0]
- ,[0, 232, 232, 233, 233, 233, 233, 233, 233, 233, 233, 233, 235, 236, 238, 238, 235, 188, 254, 254, 145, 236, 252, 254, 254, 254, 254, 249, 236, 235, 232, 232, 233, 0]
- ,[0, 0, 233, 237, 249, 239, 233, 252, 231, 231, 231, 231, 231, 231, 254, 235, 235, 254, 231, 231, 251, 235, 237, 231, 231, 231, 231, 7, 237, 235, 232, 233, 233, 0]
- ,[0, 0, 0, 0, 233, 248, 239, 233, 231, 231, 231, 231, 254, 233, 233, 235, 254, 255, 231, 254, 237, 236, 254, 239, 235, 235, 233, 233, 232, 232, 233, 232, 0, 0]
- ,[0, 0, 0, 232, 233, 246, 255, 255, 236, 236, 236, 236, 236, 255, 231, 231, 231, 231, 231, 231, 252, 234, 248, 231, 231, 231, 231, 248, 232, 232, 232, 0, 0, 0]
- ,[0, 0, 0, 0, 235, 237, 7, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 255, 238, 235, 7, 231, 231, 231, 246, 232, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 235, 103, 188, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 252, 232, 238, 231, 231, 255, 244, 232, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 235, 236, 103, 146, 253, 255, 231, 231, 231, 231, 231, 253, 251, 250, 250, 250, 246, 232, 235, 152, 255, 146, 66, 233, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 233, 103, 146, 146, 146, 146, 254, 231, 231, 231, 109, 103, 146, 255, 188, 239, 240, 103, 255, 253, 103, 238, 234, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 232, 235, 109, 146, 146, 146, 146, 146, 252, 152, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 103, 235, 233, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 235, 235, 103, 146, 146, 146, 146, 146, 146, 188, 188, 188, 188, 188, 188, 152, 146, 146, 146, 66, 235, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 233, 235, 66, 146, 146, 146, 146, 152, 255, 146, 240, 239, 241, 109, 146, 146, 146, 103, 233, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 237, 109, 146, 146, 146, 146, 146, 254, 231, 231, 188, 146, 146, 146, 103, 233, 0, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 237, 60, 103, 146, 146, 146, 146, 146, 103, 66, 60, 235, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0]
- ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, 233, 236, 235, 237, 235, 237, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
-
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 237, 236, 236, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 235, 233, 237, 235, 233, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 235, 233, 232, 235, 235, 234, 233, 236, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 237, 235, 232, 232, 234, 233, 233, 232, 232, 233, 232, 232, 235, 232, 233, 234, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 232, 232, 232, 239, 238, 235, 233, 232, 232, 232, 232, 232, 232, 232, 233, 235, 232, 233, 233, 232, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 234, 234, 232, 233, 234, 233, 234, 235, 233, 235, 60, 238, 238, 234, 234, 233, 234, 233, 238, 251, 246, 233, 233, 232, 0, 0, 0, 0, 0, 0],
+ [0, 0, 233, 233, 233, 232, 232, 239, 249, 251, 252, 231, 231, 188, 250, 254, 59, 60, 255, 231, 231, 231, 252, 235, 239, 235, 232, 233, 0, 0, 0, 0, 0, 0],
+ [0, 0, 232, 233, 232, 232, 232, 248, 231, 231, 231, 231, 231, 231, 231, 254, 238, 254, 231, 231, 231, 231, 231, 252, 233, 235, 237, 233, 234, 0, 0, 0, 0, 0],
+ [0, 0, 233, 232, 232, 232, 248, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 251, 233, 233, 233, 236, 233, 0, 0, 0, 0],
+ [232, 233, 233, 232, 232, 246, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 249, 233, 234, 234, 0, 0, 0, 0],
+ [232, 232, 232, 232, 233, 249, 231, 255, 255, 255, 255, 254, 109, 60, 239, 237, 238, 237, 235, 235, 235, 235, 236, 235, 235, 235, 234, 232, 232, 232, 232, 232, 233, 0],
+ [0, 232, 232, 233, 233, 233, 233, 233, 233, 233, 233, 233, 235, 236, 238, 238, 235, 188, 254, 254, 145, 236, 252, 254, 254, 254, 254, 249, 236, 235, 232, 232, 233, 0],
+ [0, 0, 233, 237, 249, 239, 233, 252, 231, 231, 231, 231, 231, 231, 254, 235, 235, 254, 231, 231, 251, 235, 237, 231, 231, 231, 231, 7, 237, 235, 232, 233, 233, 0],
+ [0, 0, 0, 0, 233, 248, 239, 233, 231, 231, 231, 231, 254, 233, 233, 235, 254, 255, 231, 254, 237, 236, 254, 239, 235, 235, 233, 233, 232, 232, 233, 232, 0, 0],
+ [0, 0, 0, 232, 233, 246, 255, 255, 236, 236, 236, 236, 236, 255, 231, 231, 231, 231, 231, 231, 252, 234, 248, 231, 231, 231, 231, 248, 232, 232, 232, 0, 0, 0],
+ [0, 0, 0, 0, 235, 237, 7, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 255, 238, 235, 7, 231, 231, 231, 246, 232, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 235, 103, 188, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 252, 232, 238, 231, 231, 255, 244, 232, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 235, 236, 103, 146, 253, 255, 231, 231, 231, 231, 231, 253, 251, 250, 250, 250, 246, 232, 235, 152, 255, 146, 66, 233, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 233, 103, 146, 146, 146, 146, 254, 231, 231, 231, 109, 103, 146, 255, 188, 239, 240, 103, 255, 253, 103, 238, 234, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 232, 235, 109, 146, 146, 146, 146, 146, 252, 152, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 103, 235, 233, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 235, 235, 103, 146, 146, 146, 146, 146, 146, 188, 188, 188, 188, 188, 188, 152, 146, 146, 146, 66, 235, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 233, 235, 66, 146, 146, 146, 146, 152, 255, 146, 240, 239, 241, 109, 146, 146, 146, 103, 233, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 237, 109, 146, 146, 146, 146, 146, 254, 231, 231, 188, 146, 146, 146, 103, 233, 0, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 237, 60, 103, 146, 146, 146, 146, 146, 103, 66, 60, 235, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, 233, 236, 235, 237, 235, 237, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+]
function visnup (args, cb) {
handsomeFace.forEach(function (line) {
console.log(line.map(function (ch) {
- return "\033[" + (ch ? "48;5;" + ch : ch) + "m"
+ return '\u001b[' + (ch ? '48;5;' + ch : ch) + 'm'
}).join(' '))
})
diff --git a/deps/npm/lib/whoami.js b/deps/npm/lib/whoami.js
index bef0184a00..feb6fab95a 100644
--- a/deps/npm/lib/whoami.js
+++ b/deps/npm/lib/whoami.js
@@ -1,31 +1,30 @@
-var npm = require("./npm.js")
+var npm = require('./npm.js')
module.exports = whoami
-whoami.usage = "npm whoami\n(just prints username according to given registry)"
+whoami.usage = 'npm whoami [--registry <registry>]\n(just prints username according to given registry)'
function whoami (args, silent, cb) {
// FIXME: need tighter checking on this, but is a breaking change
- if (typeof cb !== "function") {
+ if (typeof cb !== 'function') {
cb = silent
silent = false
}
- var registry = npm.config.get("registry")
- if (!registry) return cb(new Error("no default registry set"))
+ var registry = npm.config.get('registry')
+ if (!registry) return cb(new Error('no default registry set'))
var auth = npm.config.getCredentialsByURI(registry)
if (auth) {
if (auth.username) {
if (!silent) console.log(auth.username)
return process.nextTick(cb.bind(this, null, auth.username))
- }
- else if (auth.token) {
- return npm.registry.whoami(registry, { auth : auth }, function (er, username) {
+ } else if (auth.token) {
+ return npm.registry.whoami(registry, { auth: auth }, function (er, username) {
if (er) return cb(er)
if (!username) {
var needNewSession = new Error(
- "Your auth token is no longer valid. Please log in again."
+ 'Your auth token is no longer valid. Please log in again.'
)
needNewSession.code = 'ENEEDAUTH'
return cb(needNewSession)
@@ -40,7 +39,7 @@ function whoami (args, silent, cb) {
// At this point, if they have a credentials object, it doesn't have a token
// or auth in it. Probably just the default registry.
var needAuth = new Error(
- "this command requires you to be logged in."
+ 'this command requires you to be logged in.'
)
needAuth.code = 'ENEEDAUTH'
process.nextTick(cb.bind(this, needAuth))
diff --git a/deps/npm/lib/xmas.js b/deps/npm/lib/xmas.js
index fa8d1db556..25535533e1 100644
--- a/deps/npm/lib/xmas.js
+++ b/deps/npm/lib/xmas.js
@@ -1,55 +1,59 @@
// happy xmas
-var log = require("npmlog")
+var log = require('npmlog')
module.exports = function (args, cb) {
-var s = process.platform === "win32" ? " *" : " \u2605"
- , f = "\uFF0F"
- , b = "\uFF3C"
- , x = process.platform === "win32" ? " " : ""
- , o = [ "\u0069" , "\u0020", "\u0020", "\u0020", "\u0020", "\u0020"
- , "\u0020", "\u0020", "\u0020", "\u0020", "\u0020", "\u0020"
- , "\u0020", "\u2E1B","\u2042","\u2E2E","&","@","\uFF61" ]
- , oc = [21,33,34,35,36,37]
- , l = "\u005e"
+ var s = process.platform === 'win32' ? ' *' : ' \u2605'
+ var f = '\uFF0F'
+ var b = '\uFF3C'
+ var x = process.platform === 'win32' ? ' ' : ''
+ var o = [
+ '\u0069', '\u0020', '\u0020', '\u0020', '\u0020', '\u0020',
+ '\u0020', '\u0020', '\u0020', '\u0020', '\u0020', '\u0020',
+ '\u0020', '\u2E1B', '\u2042', '\u2E2E', '&', '@', '\uFF61'
+ ]
+ var oc = [21, 33, 34, 35, 36, 37]
+ var l = '\u005e'
-function w (s) { process.stderr.write(s) }
+ function w (s) { process.stderr.write(s) }
-w("\n")
-;(function T (H) {
- for (var i = 0; i < H; i ++) w(" ")
- w(x+"\033[33m"+s+"\n")
- var M = H * 2 - 1
- for (var L = 1; L <= H; L ++) {
- var O = L * 2 - 2
- var S = (M - O) / 2
- for (i = 0; i < S; i ++) w(" ")
- w(x+"\033[32m"+f)
- for (i = 0; i < O; i ++) w(
- "\033["+oc[Math.floor(Math.random()*oc.length)]+"m"+
- o[Math.floor(Math.random() * o.length)]
- )
- w(x+"\033[32m"+b+"\n")
- }
- w(" ")
- for (i = 1; i < H; i ++) w("\033[32m"+l)
- w("| "+x+" |")
- for (i = 1; i < H; i ++) w("\033[32m"+l)
- if (H > 10) {
- w("\n ")
- for (i = 1; i < H; i ++) w(" ")
- w("| "+x+" |")
- for (i = 1; i < H; i ++) w(" ")
- }
-})(20)
-w("\n\n")
-log.heading = ''
-log.addLevel('npm', 100000, log.headingStyle)
-log.npm("loves you", "Happy Xmas, Noders!")
-cb()
+ w('\n')
+ ;(function T (H) {
+ for (var i = 0; i < H; i++) w(' ')
+ w(x + '\u001b[33m' + s + '\n')
+ var M = H * 2 - 1
+ for (var L = 1; L <= H; L++) {
+ var O = L * 2 - 2
+ var S = (M - O) / 2
+ for (i = 0; i < S; i++) w(' ')
+ w(x + '\u001b[32m' + f)
+ for (i = 0; i < O; i++) {
+ w(
+ '\u001b[' + oc[Math.floor(Math.random() * oc.length)] + 'm' +
+ o[Math.floor(Math.random() * o.length)]
+ )
+ }
+ w(x + '\u001b[32m' + b + '\n')
+ }
+ w(' ')
+ for (i = 1; i < H; i++) w('\u001b[32m' + l)
+ w('| ' + x + ' |')
+ for (i = 1; i < H; i++) w('\u001b[32m' + l)
+ if (H > 10) {
+ w('\n ')
+ for (i = 1; i < H; i++) w(' ')
+ w('| ' + x + ' |')
+ for (i = 1; i < H; i++) w(' ')
+ }
+ })(20)
+ w('\n\n')
+ log.heading = ''
+ log.addLevel('npm', 100000, log.headingStyle)
+ log.npm('loves you', 'Happy Xmas, Noders!')
+ cb()
}
-var dg=false
-Object.defineProperty(module.exports, "usage", {get:function () {
+var dg = false
+Object.defineProperty(module.exports, 'usage', {get: function () {
if (dg) module.exports([], function () {})
dg = true
- return " "
+ return ' '
}})
diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1
index 4f28530086..12e182d9a1 100644
--- a/deps/npm/man/man1/npm-bin.1
+++ b/deps/npm/man/man1/npm-bin.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm bin
+npm bin [\-\-global]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
index 513355ae97..9f4626a411 100644
--- a/deps/npm/man/man1/npm-bugs.1
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -5,8 +5,7 @@
.P
.RS 2
.nf
-npm bugs <pkgname>
-npm bugs (with no args in a package dir)
+npm bugs [<pkgname>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-build.1 b/deps/npm/man/man1/npm-build.1
index 8e20ab1770..7528f1a21c 100644
--- a/deps/npm/man/man1/npm-build.1
+++ b/deps/npm/man/man1/npm-build.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm build <package\-folder>
+npm build [<package\-folder>]
.fi
.RE
.RS 0
diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
index ce7235fbd7..0f3b1abf2e 100644
--- a/deps/npm/man/man1/npm-completion.1
+++ b/deps/npm/man/man1/npm-completion.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-\|\. <(npm completion)
+source <(npm completion)
.fi
.RE
.SH DESCRIPTION
@@ -15,7 +15,14 @@ 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\.
+everywhere:
+.P
+.RS 2
+.nf
+npm completion >> ~/\.bashrc
+npm completion >> ~/\.zshrc
+.fi
+.RE
.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\fP if you have a system
diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1
index 47a5bd197e..4ff3ac37ea 100644
--- a/deps/npm/man/man1/npm-config.1
+++ b/deps/npm/man/man1/npm-config.1
@@ -10,7 +10,6 @@ npm config get <key>
npm config delete <key>
npm config list
npm config edit
-npm c [set|get|delete|list]
npm get <key>
npm set <key> <value> [\-\-global]
.fi
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
index 9d73fcb177..0c965e957a 100644
--- a/deps/npm/man/man1/npm-dedupe.1
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -42,25 +42,20 @@ 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
+The deduplication algorithm walks the tree, moving each dependency as far
+up in the tree as possible, even if duplicates are not found\. This will
+result in both a flat and deduplicated 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\.
+Arguments are ignored\. Dedupe always acts on the entire tree\.
.P
-This feature is experimental, and may change in future versions\.
+Modules
.P
-The \fB\-\-tag\fP argument will apply to all of the affected dependencies\. If a
-tag with the given name exists, the tagged version is preferred over newer
-versions\.
+Note that this operation transforms the dependency tree, but will never
+result in new modules being installed\.
.SH SEE ALSO
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
index 1c41959dac..df8c342953 100644
--- a/deps/npm/man/man1/npm-deprecate.1
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm deprecate <name>[@<version>] <message>
+npm deprecate <pkg>[@<version>] <message>
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
index 328ad817fd..74b258d737 100644
--- a/deps/npm/man/man1/npm-docs.1
+++ b/deps/npm/man/man1/npm-docs.1
@@ -6,9 +6,9 @@
.RS 2
.nf
npm docs [<pkgname> [<pkgname> \.\.\.]]
-npm docs (with no args in a package dir)
+npm docs \.
npm home [<pkgname> [<pkgname> \.\.\.]]
-npm home (with no args in a package dir)
+npm home \.
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
index c3cba10dcc..8cb4ea635e 100644
--- a/deps/npm/man/man1/npm-edit.1
+++ b/deps/npm/man/man1/npm-edit.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm edit <name>[@<version>]
+npm edit <pkg>[@<version>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
index b588f8d2f2..4b14717481 100644
--- a/deps/npm/man/man1/npm-explore.1
+++ b/deps/npm/man/man1/npm-explore.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm explore <name> [ \-\- <cmd>]
+npm explore <pkg> [ \-\- <cmd>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
index 1fa13cc301..8d6f8e42e6 100644
--- a/deps/npm/man/man1/npm-help-search.1
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm help\-search some search terms
+npm help\-search <text>
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1
index 5083a5866f..2f6d09c665 100644
--- a/deps/npm/man/man1/npm-help.1
+++ b/deps/npm/man/man1/npm-help.1
@@ -5,8 +5,7 @@
.P
.RS 2
.nf
-npm help <topic>
-npm help some search terms
+npm help <term> [<terms\.\.>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
index 56da738cb8..5fabda5543 100644
--- a/deps/npm/man/man1/npm-init.1
+++ b/deps/npm/man/man1/npm-init.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm init [\-f|\-\-force|\-y|\-\-yes]
+npm init [\-\-force|\-f|\-\-yes|\-y]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
index c135dfb4a3..8e78558ba4 100644
--- a/deps/npm/man/man1/npm-install.1
+++ b/deps/npm/man/man1/npm-install.1
@@ -5,15 +5,17 @@
.P
.RS 2
.nf
-npm install (with no args in a package dir)
+npm install (with no args, in package dir)
+npm install [<@scope>/]<name>
+npm install [<@scope>/]<name>@<tag>
+npm install [<@scope>/]<name>@<version>
+npm install [<@scope>/]<name>@<version range>
npm install <tarball file>
npm install <tarball url>
npm install <folder>
-npm install [@<scope>/]<name> [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact]
-npm install [@<scope>/]<name>@<tag>
-npm install [@<scope>/]<name>@<version>
-npm install [@<scope>/]<name>@<version range>
-npm i (with any of the previous argument usage)
+
+alias: npm i
+common options: [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] [\-\-dry\-run]
.fi
.RE
.SH DESCRIPTION
@@ -37,7 +39,7 @@ e) a \fB<name>@<tag>\fP that points to (d)
.IP \(bu 2
f) a \fB<name>\fP that has a "latest" tag satisfying (e)
.IP \(bu 2
-g) a \fB<git remote url>\fP that resolves to (b)
+g) a \fB<git remote url>\fP that resolves to (a)
.RE
.P
@@ -83,7 +85,7 @@ after packing it up into a tarball (b)\.
.fi
.RE
.IP \(bu 2
-\fBnpm install [@<scope>/]<name> [\-\-save|\-\-save\-dev|\-\-save\-optional]\fP:
+\fBnpm install [<@scope>/]<name> [\-\-save|\-\-save\-dev|\-\-save\-optional]\fP:
Do a \fB<name>@<tag>\fP install, where \fB<tag>\fP is the "tag" config\. (See
npm help 7 \fBnpm\-config\fP\|\.)
In most cases, this will install the latest version
@@ -110,6 +112,8 @@ package\.json, there is an additional, optional flag:
\fB\-\-save\-exact\fP: Saved dependencies will be configured with an
exact version rather than using npm's default semver range
operator\.
+Further, if you have an \fBnpm\-shrinkwrap\.json\fP then it will be updated as
+well\.
\fB<scope>\fP is optional\. The package will be downloaded from the registry
associated with the specified scope\. If no registry is associated with
the given scope the default registry is assumed\. See npm help 7 \fBnpm\-scope\fP\|\.
@@ -142,7 +146,7 @@ fetch the package by name if it is not valid\.
.RE
.RS 0
.IP \(bu 2
-\fBnpm install [@<scope>/]<name>@<tag>\fP:
+\fBnpm install [<@scope>/]<name>@<tag>\fP:
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\.
@@ -155,7 +159,7 @@ fetch the package by name if it is not valid\.
.fi
.RE
.IP \(bu 2
-\fBnpm install [@<scope>/]<name>@<version>\fP:
+\fBnpm install [<@scope>/]<name>@<version>\fP:
Install the specified version of the package\. This will fail if the
version has not been published to the registry\.
Example:
@@ -167,7 +171,7 @@ fetch the package by name if it is not valid\.
.fi
.RE
.IP \(bu 2
-\fBnpm install [@<scope>/]<name>@<version range>\fP:
+\fBnpm install [<@scope>/]<name>@<version range>\fP:
Install a version of the package matching the specified version range\. This
will follow the same rules for resolving dependencies described in npm help 5 \fBpackage\.json\fP\|\.
Note that most version ranges must be put in quotes so that your shell will
@@ -182,12 +186,12 @@ fetch the package by name if it is not valid\.
.RE
.IP \(bu 2
\fBnpm install <git remote url>\fP:
- Install a package by cloning a git remote url\. The format of the git
- url is:
+ Installs the package from the hosted git provider, cloning it with
+ \fBgit\fP\|\. First it tries via the https (git with github) and if that fails, via ssh\.
.P
.RS 2
.nf
- <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:/]<path>[#<commit\-ish>]
+ <protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit\-ish>]
.fi
.RE
\fB<protocol>\fP is one of \fBgit\fP, \fBgit+ssh\fP, \fBgit+http\fP, or
@@ -289,6 +293,9 @@ The \fB\-\-tag\fP argument will apply to all of the specified install targets\.
tag with the given name exists, the tagged version is preferred over newer
versions\.
.P
+The \fB\-\-dry\-run\fP argument will report in the usual way what the install would
+have done without actually installing anything\.
+.P
The \fB\-\-force\fP argument will force npm to fetch remote resources even if a
local copy exists on disk\.
.P
@@ -316,6 +323,9 @@ shrinkwrap file and use the package\.json instead\.
The \fB\-\-nodedir=/path/to/node/source\fP argument will allow npm to find the
node source code so that npm can compile native modules\.
.P
+The \fB\-\-only={prod[uction]|dev[elopment]}\fP argument will cause either only
+\fBdevDependencies\fP or only non\-\fBdevDependencies\fP to be installed\.
+.P
See npm help 7 \fBnpm\-config\fP\|\. Many of the configuration params have some
effect on installation, since that's most of what npm does\.
.SH ALGORITHM
@@ -324,15 +334,16 @@ To install a package, npm uses the following algorithm:
.P
.RS 2
.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)
+load the existing node_modules tree from disk
+clone the tree
+fetch the package\.json and assorted metadata and add it to the clone
+walk the clone and add any missing dependencies
+ dependencies will be added as close to the top as is possible
+ without breaking any other modules
+compare the original tree with the cloned tree and make a list of
+actions to take to convert one to the other
+execute all of the actions, deepest first
+ kinds of actions are install, update, remove and move
.fi
.RE
.P
@@ -343,13 +354,29 @@ this algorithm produces:
.nf
A
+\-\- B
-`\-\- C
- `\-\- D
++\-\- C
++\-\- D
.fi
.RE
.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\.
+already caused C to be installed at a higher level\. D is still installed
+at the top level because nothing conflicts with it\.
+.P
+For \fBA{B,C}, B{C,D@1}, C{D@2}\fP, this algorithm produces:
+.P
+.RS 2
+.nf
+A
++\-\- B
++\-\- C
+ `\-\- D@2
++\-\- D@1
+.fi
+.RE
+.P
+Because B's D@1 will be installed in the top leve, C now has to install D@2
+privately for itself\.
.P
See npm help 5 folders for a more detailed description of the specific
folder structures that npm creates\.
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index 7fee404349..78c3b75a8e 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -5,9 +5,10 @@
.P
.RS 2
.nf
-npm link (in package folder)
-npm link [@<scope>/]<pkgname>
-npm ln (with any of the previous argument usage)
+npm link (in package dir)
+npm link [<@scope>/]<pkg>[@<version>]
+
+alias: npm ln
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1
index d7ea3cd978..d7a840c5dd 100644
--- a/deps/npm/man/man1/npm-logout.1
+++ b/deps/npm/man/man1/npm-logout.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm logout [\-\-registry=url] [\-\-scope=@orgname]
+npm logout [\-\-registry=<url>] [\-\-scope=<@scope>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index a65a3fa890..d246286fd5 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -5,10 +5,9 @@
.P
.RS 2
.nf
-npm list [[@<scope>/]<pkg> \.\.\.]
-npm ls [[@<scope>/]<pkg> \.\.\.]
-npm la [[@<scope>/]<pkg> \.\.\.]
-npm ll [[@<scope>/]<pkg> \.\.\.]
+npm ls [[<@scope>/]<pkg> \.\.\.]
+
+aliases: list, la, ll
.fi
.RE
.SH DESCRIPTION
@@ -23,7 +22,7 @@ For example, running \fBnpm ls promzard\fP in npm's source tree will show:
.P
.RS 2
.nf
-npm@2.14.7 /path/to/npm
+npm@3.3.6 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
@@ -35,6 +34,9 @@ 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
+The tree shown is the logical dependency tree, based on package
+dependencies, not the physical layout of your node_modules folder\.
+.P
When run as \fBll\fP or \fBla\fP, it shows extended information by default\.
.SH CONFIGURATION
.SS json
@@ -106,6 +108,16 @@ Default: false
.RE
.P
Display only the dependency tree for packages in \fBdevDependencies\fP\|\.
+.SS only
+.RS 0
+.IP \(bu 2
+Type: String
+
+.RE
+.P
+When "dev" or "development", is an alias to \fBdev\fP\|\.
+.P
+When "prod" or "production", is an alias to \fBproduction\fP\|\.`
.SH SEE ALSO
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1
index 7f96b4e48c..493e7a9f21 100644
--- a/deps/npm/man/man1/npm-outdated.1
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm outdated [<name> [<name> \.\.\.]]
+npm outdated [[<@scope>/]<pkg> \.\.\.]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
index 28d2cc125f..009121d4eb 100644
--- a/deps/npm/man/man1/npm-owner.1
+++ b/deps/npm/man/man1/npm-owner.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
-npm owner ls <package name>
-npm owner add <user> <package name>
-npm owner rm <user> <package name>
+npm owner add <user> [<@scope>/]<pkg>
+npm owner rm <user> [<@scope>/]<pkg>
+npm owner ls [<@scope>/]<pkg>
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
index 295d918bfe..0ece00cf1f 100644
--- a/deps/npm/man/man1/npm-pack.1
+++ b/deps/npm/man/man1/npm-pack.1
@@ -5,16 +5,16 @@
.P
.RS 2
.nf
-npm pack [<pkg> [<pkg> \.\.\.]]
+npm pack [[<@scope>/]<pkg>\.\.\.]
.fi
.RE
.SH DESCRIPTION
.P
For anything that's installable (that is, a package folder, tarball,
-tarball url, name@tag, name@version, or name), this command will fetch
-it to the cache, and then copy the tarball to the current working
-directory as \fB<name>\-<version>\.tgz\fP, and then write the filenames out to
-stdout\.
+tarball url, name@tag, name@version, name, or scoped name), this
+command will fetch it to the cache, and then copy the tarball to the
+current working directory as \fB<name>\-<version>\.tgz\fP, 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\.
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
index bb9908f515..051acaab50 100644
--- a/deps/npm/man/man1/npm-prune.1
+++ b/deps/npm/man/man1/npm-prune.1
@@ -5,8 +5,7 @@
.P
.RS 2
.nf
-npm prune [<name> [<name \.\.\.]]
-npm prune [<name> [<name \.\.\.]] [\-\-production]
+npm prune [[<@scope>/]<pkg>\.\.\.] [\-\-production]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
index 20d1f36f6c..4421c8f45d 100644
--- a/deps/npm/man/man1/npm-publish.1
+++ b/deps/npm/man/man1/npm-publish.1
@@ -5,8 +5,10 @@
.P
.RS 2
.nf
-npm publish <tarball> [\-\-tag <tag>] [\-\-access <public|restricted>]
-npm publish <folder> [\-\-tag <tag>] [\-\-access <public|restricted>]
+npm publish [<tarball>|<folder>] [\-\-tag <tag>] [\-\-access <public|restricted>]
+
+Publishes '\.' if no argument supplied
+Sets tag 'latest' if no \-\-tag specified
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index b10caeef0d..03d16889aa 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -5,15 +5,10 @@
.P
.RS 2
.nf
-npm rebuild [<name> [<name> \.\.\.]]
-npm rb [<name> [<name> \.\.\.]]
-.fi
-.RE
-.RS 0
-.IP \(bu 2
-\fB<name>\fP:
-The package to rebuild
+npm rebuild [[<@scope>/<name>]\.\.\.]
+alias: npm rb
+.fi
.RE
.SH DESCRIPTION
.P
diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1
index 14f228c955..fe4418e7e5 100644
--- a/deps/npm/man/man1/npm-repo.1
+++ b/deps/npm/man/man1/npm-repo.1
@@ -5,8 +5,7 @@
.P
.RS 2
.nf
-npm repo <pkgname>
-npm repo (with no args in a package dir)
+npm repo [<pkg>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-rm.1 b/deps/npm/man/man1/npm-rm.1
deleted file mode 100644
index 9c2506635a..0000000000
--- a/deps/npm/man/man1/npm-rm.1
+++ /dev/null
@@ -1,34 +0,0 @@
-.TH "NPM\-RM" "1" "October 2015" "" ""
-.SH "NAME"
-\fBnpm-rm\fR \- Remove a package
-.SH SYNOPSIS
-.P
-.RS 2
-.nf
-npm rm <name>
-npm r <name>
-npm uninstall <name>
-npm un <name>
-.fi
-.RE
-.SH DESCRIPTION
-.P
-This uninstalls a package, completely removing everything npm installed
-on its behalf\.
-.SH SEE ALSO
-.RS 0
-.IP \(bu 2
-npm help prune
-.IP \(bu 2
-npm help install
-.IP \(bu 2
-npm help 5 folders
-.IP \(bu 2
-npm help config
-.IP \(bu 2
-npm help 7 config
-.IP \(bu 2
-npm help 5 npmrc
-
-.RE
-
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
index 20e4a2f687..6c42d89965 100644
--- a/deps/npm/man/man1/npm-root.1
+++ b/deps/npm/man/man1/npm-root.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm root
+npm root [\-g]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1
index e4da37dc2a..08a675a311 100644
--- a/deps/npm/man/man1/npm-run-script.1
+++ b/deps/npm/man/man1/npm-run-script.1
@@ -5,8 +5,9 @@
.P
.RS 2
.nf
-npm run\-script [command] [\-\- <args>]
-npm run [command] [\-\- <args>]
+npm run\-script <command> [\-\- <args>\.\.\.]
+
+alias: npm run
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1
index ea2a9c8243..c3d1a6d0c9 100644
--- a/deps/npm/man/man1/npm-search.1
+++ b/deps/npm/man/man1/npm-search.1
@@ -6,8 +6,8 @@
.RS 2
.nf
npm search [\-\-long] [search terms \.\.\.]
-npm s [search terms \.\.\.]
-npm se [search terms \.\.\.]
+
+aliases: s, se
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1
index 1a8abd7829..a3d7940478 100644
--- a/deps/npm/man/man1/npm-shrinkwrap.1
+++ b/deps/npm/man/man1/npm-shrinkwrap.1
@@ -111,13 +111,17 @@ This generates \fBnpm\-shrinkwrap\.json\fP, which will look something like this:
.nf
{
"name": "A",
- "version": "0\.1\.0",
+ "version": "1\.1\.0",
"dependencies": {
"B": {
- "version": "0\.0\.1",
+ "version": "1\.0\.1",
+ "from": "B@^1\.0\.0",
+ "resolved": "https://registry\.npmjs\.org/B/\-/B\-1\.0\.1\.tgz",
"dependencies": {
"C": {
- "version": "0\.0\.1"
+ "version": "1\.0\.1",
+ "from": "org/C#v1\.0\.1",
+ "resolved": "git://github\.com/org/C\.git#5c380ae319fc4efe9e7f2d9c78b0faa588fd99b4"
}
}
}
@@ -126,15 +130,18 @@ This generates \fBnpm\-shrinkwrap\.json\fP, which will look something like this:
.fi
.RE
.P
-The shrinkwrap command has locked down the dependencies based on
-what's currently installed in node_modules\. When \fBnpm install\fP
-installs a package with an \fBnpm\-shrinkwrap\.json\fP in the package
-root, the shrinkwrap file (rather than \fBpackage\.json\fP 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\.0\.1, regardless the
-dependencies and versions listed in A's, B's, and C's \fBpackage\.json\fP
-files\.
+The shrinkwrap command has locked down the dependencies based on what's
+currently installed in \fBnode_modules\fP\|\. The installation behavior is changed to:
+.RS 0
+.IP 1. 3
+The module tree described by the shrinkwrap is reproduced\. This means
+reproducing the structure described in the file, using the specific files
+referenced in "resolved" if available, falling back to normal package
+resolution using "version" if one isn't\.
+.IP 2. 3
+The tree is walked and any missing dependencies are installed in the usual fasion\.
+
+.RE
.SS Using shrinkwrapped packages
.P
Using a shrinkwrapped package is no different than using any other
@@ -161,17 +168,16 @@ To add or update a dependency in a shrinkwrapped package:
Run \fBnpm install\fP in the package root to install the current
versions of all dependencies\.
.IP 2. 3
-Add or update dependencies\. \fBnpm install\fP each new or updated
-package individually and then update \fBpackage\.json\fP\|\. Note that they
-must be explicitly named in order to be installed: running \fBnpm
-install\fP with no arguments will merely reproduce the existing
+Add or update dependencies\. \fBnpm install \-\-save\fP each new or updated
+package individually to update the \fBpackage\.json\fP and the shrinkwrap\.
+Note that they must be explicitly named in order to be installed: running
+\fBnpm install\fP with no arguments will merely reproduce the existing
shrinkwrap\.
.IP 3. 3
Validate that the package works as expected with the new
dependencies\.
.IP 4. 3
-Run \fBnpm shrinkwrap\fP, commit the new \fBnpm\-shrinkwrap\.json\fP, and
-publish your package\.
+Commit the new \fBnpm\-shrinkwrap\.json\fP, and publish your package\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
index 7bcb1db69f..fabbfba56e 100644
--- a/deps/npm/man/man1/npm-star.1
+++ b/deps/npm/man/man1/npm-star.1
@@ -5,8 +5,8 @@
.P
.RS 2
.nf
-npm star <pkgname> [<pkg>, \.\.\.]
-npm unstar <pkgname> [<pkg>, \.\.\.]
+npm star [<pkg>\.\.\.]
+npm unstar [<pkg>\.\.\.]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
index 2d8c3b2c7d..f8c7b21410 100644
--- a/deps/npm/man/man1/npm-stars.1
+++ b/deps/npm/man/man1/npm-stars.1
@@ -5,8 +5,7 @@
.P
.RS 2
.nf
-npm stars
-npm stars [username]
+npm stars [<user>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-tag.1 b/deps/npm/man/man1/npm-tag.1
index affc443d53..4d63d7168d 100644
--- a/deps/npm/man/man1/npm-tag.1
+++ b/deps/npm/man/man1/npm-tag.1
@@ -5,7 +5,8 @@
.P
.RS 2
.nf
-npm tag <name>@<version> [<tag>]
+[DEPRECATED] npm tag <name>@<version> [<tag>]
+See `dist\-tag`
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
index fedb41b730..d254c8142d 100644
--- a/deps/npm/man/man1/npm-uninstall.1
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -5,8 +5,9 @@
.P
.RS 2
.nf
-npm uninstall [@<scope>/]<package> [\-\-save|\-\-save\-dev|\-\-save\-optional]
-npm rm (with any of the previous argument usage)
+npm uninstall [<@scope>/]<pkg>[@<version>]\.\.\. [\-\-save|\-\-save\-dev|\-\-save\-optional]
+
+aliases: remove, rm, r, un, unlink
.fi
.RE
.SH DESCRIPTION
@@ -37,6 +38,9 @@ the package version in your main package\.json:
.RE
.P
+Further, if you have an \fBnpm\-shrinkwrap\.json\fP then it will be updated as
+well\.
+.P
Scope is optional and follows the usual rules for npm help 7 \fBnpm\-scope\fP\|\.
.P
Examples:
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
index f3c46aac93..9d3236baa2 100644
--- a/deps/npm/man/man1/npm-unpublish.1
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm unpublish [@<scope>/]<name>[@<version>]
+npm unpublish [<@scope>/]<pkg>[@<version>]
.fi
.RE
.SH WARNING
diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1
index 4e247b5008..ec9d93a9e9 100644
--- a/deps/npm/man/man1/npm-update.1
+++ b/deps/npm/man/man1/npm-update.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm update [\-g] [<name> [<name> \.\.\.]]
+npm update [\-g] [<pkg>\.\.\.]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1
index 5c04c279f9..b7f9bca0cd 100644
--- a/deps/npm/man/man1/npm-version.1
+++ b/deps/npm/man/man1/npm-version.1
@@ -6,6 +6,10 @@
.RS 2
.nf
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease]
+
+\|'npm \-v' or 'npm \-\-version' to print npm version
+\|'npm view <pkg> version' to view a package's published version
+\|'npm ls' to inspect current package/dependency versions
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
index ba3fe90030..55f1f6ae15 100644
--- a/deps/npm/man/man1/npm-view.1
+++ b/deps/npm/man/man1/npm-view.1
@@ -5,8 +5,9 @@
.P
.RS 2
.nf
-npm view [@<scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.]
-npm v [@<scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.]
+npm view [<@scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.]
+
+aliases: info, show, v
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
index b52b509ebb..1bb605e285 100644
--- a/deps/npm/man/man1/npm-whoami.1
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm whoami
+npm whoami [\-\-registry <registry>]
.fi
.RE
.SH DESCRIPTION
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 3837768230..38dab77422 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -10,7 +10,7 @@ npm <command> [args]
.RE
.SH VERSION
.P
-2.14.7
+3.3.6
.SH DESCRIPTION
.P
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man3/npm-bin.3 b/deps/npm/man/man3/npm-bin.3
index 31c2c4326d..bfb93455d8 100644
--- a/deps/npm/man/man3/npm-bin.3
+++ b/deps/npm/man/man3/npm-bin.3
@@ -1,4 +1,4 @@
-.TH "NPM\-BIN" "3" "October 2015" "" ""
+.TH "NPM\-BIN" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-bin\fR \- Display npm bin folder
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-bugs.3 b/deps/npm/man/man3/npm-bugs.3
index 860af2e576..2740034a58 100644
--- a/deps/npm/man/man3/npm-bugs.3
+++ b/deps/npm/man/man3/npm-bugs.3
@@ -1,4 +1,4 @@
-.TH "NPM\-BUGS" "3" "October 2015" "" ""
+.TH "NPM\-BUGS" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-bugs\fR \- Bugs for a package in a web browser maybe
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-cache.3 b/deps/npm/man/man3/npm-cache.3
index 5ca2d8c706..50a6b7a38c 100644
--- a/deps/npm/man/man3/npm-cache.3
+++ b/deps/npm/man/man3/npm-cache.3
@@ -1,4 +1,4 @@
-.TH "NPM\-CACHE" "3" "October 2015" "" ""
+.TH "NPM\-CACHE" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-cache\fR \- manage the npm cache programmatically
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-commands.3 b/deps/npm/man/man3/npm-commands.3
index 9036288732..03d0dc40bd 100644
--- a/deps/npm/man/man3/npm-commands.3
+++ b/deps/npm/man/man3/npm-commands.3
@@ -1,4 +1,4 @@
-.TH "NPM\-COMMANDS" "3" "October 2015" "" ""
+.TH "NPM\-COMMANDS" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-commands\fR \- npm commands
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-config.3 b/deps/npm/man/man3/npm-config.3
index d27e2dcc45..d2e57c26b5 100644
--- a/deps/npm/man/man3/npm-config.3
+++ b/deps/npm/man/man3/npm-config.3
@@ -1,4 +1,4 @@
-.TH "NPM\-CONFIG" "3" "October 2015" "" ""
+.TH "NPM\-CONFIG" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-config\fR \- Manage the npm configuration files
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-deprecate.3 b/deps/npm/man/man3/npm-deprecate.3
index 39cf6336c2..f0e35ab9d3 100644
--- a/deps/npm/man/man3/npm-deprecate.3
+++ b/deps/npm/man/man3/npm-deprecate.3
@@ -1,4 +1,4 @@
-.TH "NPM\-DEPRECATE" "3" "October 2015" "" ""
+.TH "NPM\-DEPRECATE" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-deprecate\fR \- Deprecate a version of a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-docs.3 b/deps/npm/man/man3/npm-docs.3
index f0c01390e2..4305dae163 100644
--- a/deps/npm/man/man3/npm-docs.3
+++ b/deps/npm/man/man3/npm-docs.3
@@ -1,4 +1,4 @@
-.TH "NPM\-DOCS" "3" "October 2015" "" ""
+.TH "NPM\-DOCS" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-docs\fR \- Docs for a package in a web browser maybe
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-edit.3 b/deps/npm/man/man3/npm-edit.3
index c1c79f8229..27ccd879fa 100644
--- a/deps/npm/man/man3/npm-edit.3
+++ b/deps/npm/man/man3/npm-edit.3
@@ -1,4 +1,4 @@
-.TH "NPM\-EDIT" "3" "October 2015" "" ""
+.TH "NPM\-EDIT" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-edit\fR \- Edit an installed package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-explore.3 b/deps/npm/man/man3/npm-explore.3
index 702d5bfc80..9fb6e008aa 100644
--- a/deps/npm/man/man3/npm-explore.3
+++ b/deps/npm/man/man3/npm-explore.3
@@ -1,4 +1,4 @@
-.TH "NPM\-EXPLORE" "3" "October 2015" "" ""
+.TH "NPM\-EXPLORE" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-explore\fR \- Browse an installed package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-help-search.3 b/deps/npm/man/man3/npm-help-search.3
index 8e8053b588..243e5d2a28 100644
--- a/deps/npm/man/man3/npm-help-search.3
+++ b/deps/npm/man/man3/npm-help-search.3
@@ -1,4 +1,4 @@
-.TH "NPM\-HELP\-SEARCH" "3" "October 2015" "" ""
+.TH "NPM\-HELP\-SEARCH" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-help-search\fR \- Search the help pages
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-init.3 b/deps/npm/man/man3/npm-init.3
index b2eab12fe3..947398d7a8 100644
--- a/deps/npm/man/man3/npm-init.3
+++ b/deps/npm/man/man3/npm-init.3
@@ -1,4 +1,4 @@
-.TH "NPM" "" "October 2015" "" ""
+.TH "NPM" "" "August 2015" "" ""
.SH "NAME"
\fBnpm\fR
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-install.3 b/deps/npm/man/man3/npm-install.3
index 75397cdc95..d2951dd0d4 100644
--- a/deps/npm/man/man3/npm-install.3
+++ b/deps/npm/man/man3/npm-install.3
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL" "3" "October 2015" "" ""
+.TH "NPM\-INSTALL" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-install\fR \- install a package programmatically
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-link.3 b/deps/npm/man/man3/npm-link.3
index 2829bab6af..5877e03fbe 100644
--- a/deps/npm/man/man3/npm-link.3
+++ b/deps/npm/man/man3/npm-link.3
@@ -1,4 +1,4 @@
-.TH "NPM\-LINK" "3" "October 2015" "" ""
+.TH "NPM\-LINK" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-link\fR \- Symlink a package folder
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-load.3 b/deps/npm/man/man3/npm-load.3
index dd0017ec74..ce409b6a5f 100644
--- a/deps/npm/man/man3/npm-load.3
+++ b/deps/npm/man/man3/npm-load.3
@@ -1,4 +1,4 @@
-.TH "NPM\-LOAD" "3" "October 2015" "" ""
+.TH "NPM\-LOAD" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-load\fR \- Load config settings
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-ls.3 b/deps/npm/man/man3/npm-ls.3
index 3f99826617..4fc976f2ed 100644
--- a/deps/npm/man/man3/npm-ls.3
+++ b/deps/npm/man/man3/npm-ls.3
@@ -1,4 +1,4 @@
-.TH "NPM\-LS" "3" "October 2015" "" ""
+.TH "NPM\-LS" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-ls\fR \- List installed packages
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-outdated.3 b/deps/npm/man/man3/npm-outdated.3
index 09e51e92ef..f2fd1f73b7 100644
--- a/deps/npm/man/man3/npm-outdated.3
+++ b/deps/npm/man/man3/npm-outdated.3
@@ -1,4 +1,4 @@
-.TH "NPM\-OUTDATED" "3" "October 2015" "" ""
+.TH "NPM\-OUTDATED" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-outdated\fR \- Check for outdated packages
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-owner.3 b/deps/npm/man/man3/npm-owner.3
index d0b24cbd54..16e2c54019 100644
--- a/deps/npm/man/man3/npm-owner.3
+++ b/deps/npm/man/man3/npm-owner.3
@@ -1,4 +1,4 @@
-.TH "NPM\-OWNER" "3" "October 2015" "" ""
+.TH "NPM\-OWNER" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-owner\fR \- Manage package owners
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-pack.3 b/deps/npm/man/man3/npm-pack.3
index be86942dd4..037ec3c346 100644
--- a/deps/npm/man/man3/npm-pack.3
+++ b/deps/npm/man/man3/npm-pack.3
@@ -1,4 +1,4 @@
-.TH "NPM\-PACK" "3" "October 2015" "" ""
+.TH "NPM\-PACK" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-pack\fR \- Create a tarball from a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-ping.3 b/deps/npm/man/man3/npm-ping.3
index 9963edd15d..607fc8423e 100644
--- a/deps/npm/man/man3/npm-ping.3
+++ b/deps/npm/man/man3/npm-ping.3
@@ -1,4 +1,4 @@
-.TH "NPM\-PING" "3" "October 2015" "" ""
+.TH "NPM\-PING" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-ping\fR \- Ping npm registry
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-prefix.3 b/deps/npm/man/man3/npm-prefix.3
index 33c118fc2f..5ca38b5ec2 100644
--- a/deps/npm/man/man3/npm-prefix.3
+++ b/deps/npm/man/man3/npm-prefix.3
@@ -1,4 +1,4 @@
-.TH "NPM\-PREFIX" "3" "October 2015" "" ""
+.TH "NPM\-PREFIX" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-prefix\fR \- Display prefix
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-prune.3 b/deps/npm/man/man3/npm-prune.3
index 49f4d0ad65..4bf3f28039 100644
--- a/deps/npm/man/man3/npm-prune.3
+++ b/deps/npm/man/man3/npm-prune.3
@@ -1,4 +1,4 @@
-.TH "NPM\-PRUNE" "3" "October 2015" "" ""
+.TH "NPM\-PRUNE" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-prune\fR \- Remove extraneous packages
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-publish.3 b/deps/npm/man/man3/npm-publish.3
index 5be59e8382..4a303370b0 100644
--- a/deps/npm/man/man3/npm-publish.3
+++ b/deps/npm/man/man3/npm-publish.3
@@ -1,4 +1,4 @@
-.TH "NPM\-PUBLISH" "3" "October 2015" "" ""
+.TH "NPM\-PUBLISH" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-publish\fR \- Publish a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-rebuild.3 b/deps/npm/man/man3/npm-rebuild.3
index 714c5778b8..b59df54005 100644
--- a/deps/npm/man/man3/npm-rebuild.3
+++ b/deps/npm/man/man3/npm-rebuild.3
@@ -1,4 +1,4 @@
-.TH "NPM\-REBUILD" "3" "October 2015" "" ""
+.TH "NPM\-REBUILD" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-rebuild\fR \- Rebuild a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-repo.3 b/deps/npm/man/man3/npm-repo.3
index dae556f6a9..53983bca9b 100644
--- a/deps/npm/man/man3/npm-repo.3
+++ b/deps/npm/man/man3/npm-repo.3
@@ -1,4 +1,4 @@
-.TH "NPM\-REPO" "3" "October 2015" "" ""
+.TH "NPM\-REPO" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-repo\fR \- Open package repository page in the browser
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-restart.3 b/deps/npm/man/man3/npm-restart.3
index dad6281d12..478c2f5f30 100644
--- a/deps/npm/man/man3/npm-restart.3
+++ b/deps/npm/man/man3/npm-restart.3
@@ -1,4 +1,4 @@
-.TH "NPM\-RESTART" "3" "October 2015" "" ""
+.TH "NPM\-RESTART" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-restart\fR \- Restart a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-root.3 b/deps/npm/man/man3/npm-root.3
index 3fd75ab7b1..8ade1a6826 100644
--- a/deps/npm/man/man3/npm-root.3
+++ b/deps/npm/man/man3/npm-root.3
@@ -1,4 +1,4 @@
-.TH "NPM\-ROOT" "3" "October 2015" "" ""
+.TH "NPM\-ROOT" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-root\fR \- Display npm root
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-run-script.3 b/deps/npm/man/man3/npm-run-script.3
index bc4508c040..416f1ff792 100644
--- a/deps/npm/man/man3/npm-run-script.3
+++ b/deps/npm/man/man3/npm-run-script.3
@@ -1,4 +1,4 @@
-.TH "NPM\-RUN\-SCRIPT" "3" "October 2015" "" ""
+.TH "NPM\-RUN\-SCRIPT" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-run-script\fR \- Run arbitrary package scripts
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-search.3 b/deps/npm/man/man3/npm-search.3
index 85a9ede36c..823eff13b0 100644
--- a/deps/npm/man/man3/npm-search.3
+++ b/deps/npm/man/man3/npm-search.3
@@ -1,4 +1,4 @@
-.TH "NPM\-SEARCH" "3" "October 2015" "" ""
+.TH "NPM\-SEARCH" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-search\fR \- Search for packages
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-shrinkwrap.3 b/deps/npm/man/man3/npm-shrinkwrap.3
index 7211d969a6..fa89d927dd 100644
--- a/deps/npm/man/man3/npm-shrinkwrap.3
+++ b/deps/npm/man/man3/npm-shrinkwrap.3
@@ -1,4 +1,4 @@
-.TH "NPM\-SHRINKWRAP" "3" "October 2015" "" ""
+.TH "NPM\-SHRINKWRAP" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-shrinkwrap\fR \- programmatically generate package shrinkwrap file
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-start.3 b/deps/npm/man/man3/npm-start.3
index 7629bc9ee4..050c108e81 100644
--- a/deps/npm/man/man3/npm-start.3
+++ b/deps/npm/man/man3/npm-start.3
@@ -1,4 +1,4 @@
-.TH "NPM\-START" "3" "October 2015" "" ""
+.TH "NPM\-START" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-start\fR \- Start a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-stop.3 b/deps/npm/man/man3/npm-stop.3
index 95f6e61542..9df3b4c69b 100644
--- a/deps/npm/man/man3/npm-stop.3
+++ b/deps/npm/man/man3/npm-stop.3
@@ -1,4 +1,4 @@
-.TH "NPM\-STOP" "3" "October 2015" "" ""
+.TH "NPM\-STOP" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-stop\fR \- Stop a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-tag.3 b/deps/npm/man/man3/npm-tag.3
index 643c57c968..5c3f355830 100644
--- a/deps/npm/man/man3/npm-tag.3
+++ b/deps/npm/man/man3/npm-tag.3
@@ -1,4 +1,4 @@
-.TH "NPM\-TAG" "3" "October 2015" "" ""
+.TH "NPM\-TAG" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-tag\fR \- Tag a published version
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-test.3 b/deps/npm/man/man3/npm-test.3
index 5434f91e74..f0a67f1241 100644
--- a/deps/npm/man/man3/npm-test.3
+++ b/deps/npm/man/man3/npm-test.3
@@ -1,4 +1,4 @@
-.TH "NPM\-TEST" "3" "October 2015" "" ""
+.TH "NPM\-TEST" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-test\fR \- Test a package
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-uninstall.3 b/deps/npm/man/man3/npm-uninstall.3
index 168df5f0eb..fe9ebaaf17 100644
--- a/deps/npm/man/man3/npm-uninstall.3
+++ b/deps/npm/man/man3/npm-uninstall.3
@@ -1,4 +1,4 @@
-.TH "NPM\-UNINSTALL" "3" "October 2015" "" ""
+.TH "NPM\-UNINSTALL" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-uninstall\fR \- uninstall a package programmatically
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-unpublish.3 b/deps/npm/man/man3/npm-unpublish.3
index 1d10b121f3..721bf206b5 100644
--- a/deps/npm/man/man3/npm-unpublish.3
+++ b/deps/npm/man/man3/npm-unpublish.3
@@ -1,4 +1,4 @@
-.TH "NPM\-UNPUBLISH" "3" "October 2015" "" ""
+.TH "NPM\-UNPUBLISH" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-unpublish\fR \- Remove a package from the registry
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-update.3 b/deps/npm/man/man3/npm-update.3
index 2f67a13b9a..da780d598e 100644
--- a/deps/npm/man/man3/npm-update.3
+++ b/deps/npm/man/man3/npm-update.3
@@ -1,4 +1,4 @@
-.TH "NPM\-UPDATE" "3" "October 2015" "" ""
+.TH "NPM\-UPDATE" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-update\fR \- Update a package
.SH SYNOPSIS
@@ -8,7 +8,7 @@
npm\.commands\.update(packages, callback)
.fi
.RE
-.TH "DESCRIPTION" "" "October 2015" "" ""
+.TH "DESCRIPTION" "" "August 2015" "" ""
.SH "NAME"
\fBDESCRIPTION\fR
.P
diff --git a/deps/npm/man/man3/npm-version.3 b/deps/npm/man/man3/npm-version.3
index 32d8ce6c8a..7a13475c43 100644
--- a/deps/npm/man/man3/npm-version.3
+++ b/deps/npm/man/man3/npm-version.3
@@ -1,4 +1,4 @@
-.TH "NPM\-VERSION" "3" "October 2015" "" ""
+.TH "NPM\-VERSION" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-version\fR \- Bump a package version
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-view.3 b/deps/npm/man/man3/npm-view.3
index 45ece20c3a..8c3d191f54 100644
--- a/deps/npm/man/man3/npm-view.3
+++ b/deps/npm/man/man3/npm-view.3
@@ -1,4 +1,4 @@
-.TH "NPM\-VIEW" "3" "October 2015" "" ""
+.TH "NPM\-VIEW" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-view\fR \- View registry info
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm-whoami.3 b/deps/npm/man/man3/npm-whoami.3
index a580afe2e5..0c29cf7484 100644
--- a/deps/npm/man/man3/npm-whoami.3
+++ b/deps/npm/man/man3/npm-whoami.3
@@ -1,4 +1,4 @@
-.TH "NPM\-WHOAMI" "3" "October 2015" "" ""
+.TH "NPM\-WHOAMI" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm-whoami\fR \- Display npm username
.SH SYNOPSIS
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
index 1cbe624eeb..c45b9788a3 100644
--- a/deps/npm/man/man3/npm.3
+++ b/deps/npm/man/man3/npm.3
@@ -1,4 +1,4 @@
-.TH "NPM" "3" "October 2015" "" ""
+.TH "NPM" "3" "August 2015" "" ""
.SH "NAME"
\fBnpm\fR \- javascript package manager
.SH SYNOPSIS
@@ -20,7 +20,7 @@ npm\.load([configObject, ]function (er, npm) {
.RE
.SH VERSION
.P
-2.14.7
+3.3.0
.SH DESCRIPTION
.P
This is the API documentation for npm\.
diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5
index c41943c22d..0aed3a4db0 100644
--- a/deps/npm/man/man5/npm-json.5
+++ b/deps/npm/man/man5/npm-json.5
@@ -758,17 +758,10 @@ Note that, unless the user has set the \fBengine\-strict\fP config flag, this
field is advisory only\.
.SH engineStrict
.P
-\fBNOTE: This feature is deprecated and will be removed in npm 3\.0\.0\.\fR
+\fBThis feature was deprecated with npm 3\.0\.0\fR
.P
-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\fP object,
-then you can set \fB"engineStrict": true\fP in your package\.json file\.
-This will override the user's \fBengine\-strict\fP config setting\.
-.P
-Please do not do this unless you are really very very sure\. If your
-engines object 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\.
+Prior to npm 3\.0\.0, this feature was used to treat this package as if the
+user had set \fBengine\-strict\fP\|\.
.SH os
.P
You can specify which operating systems your
diff --git a/deps/npm/man/man5/package.json.5 b/deps/npm/man/man5/package.json.5
index c41943c22d..0aed3a4db0 100644
--- a/deps/npm/man/man5/package.json.5
+++ b/deps/npm/man/man5/package.json.5
@@ -758,17 +758,10 @@ Note that, unless the user has set the \fBengine\-strict\fP config flag, this
field is advisory only\.
.SH engineStrict
.P
-\fBNOTE: This feature is deprecated and will be removed in npm 3\.0\.0\.\fR
+\fBThis feature was deprecated with npm 3\.0\.0\fR
.P
-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\fP object,
-then you can set \fB"engineStrict": true\fP in your package\.json file\.
-This will override the user's \fBengine\-strict\fP config setting\.
-.P
-Please do not do this unless you are really very very sure\. If your
-engines object 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\.
+Prior to npm 3\.0\.0, this feature was used to treat this package as if the
+user had set \fBengine\-strict\fP\|\.
.SH os
.P
You can specify which operating systems your
diff --git a/deps/npm/man/man7/npm-config.7 b/deps/npm/man/man7/npm-config.7
index 6fa530413b..c810392761 100644
--- a/deps/npm/man/man7/npm-config.7
+++ b/deps/npm/man/man7/npm-config.7
@@ -28,7 +28,7 @@ per\-project config file (/path/to/my/project/\.npmrc)
.IP \(bu 2
per\-user config file (~/\.npmrc)
.IP \(bu 2
-global config file ($PREFIX/npmrc)
+global config file ($PREFIX/etc/npmrc)
.IP \(bu 2
npm builtin config file (/path/to/npm/npmrc)
@@ -173,6 +173,17 @@ Type: Boolean
.P
Force npm to always require authentication when accessing the registry,
even for \fBGET\fP requests\.
+.SS also
+.RS 0
+.IP \(bu 2
+Default: null
+.IP \(bu 2
+Type: String
+
+.RE
+.P
+When "dev" or "development" and running local \fBnpm shrinkwrap\fP,
+\fBnpm outdated\fP, or \fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\.
.SS bin\-links
.RS 0
.IP \(bu 2
@@ -370,6 +381,20 @@ Install \fBdev\-dependencies\fP along with packages\.
.P
Note that \fBdev\-dependencies\fP are also installed if the \fBnpat\fP flag is
set\.
+.SS dry\-run
+.RS 0
+.IP \(bu 2
+Default: false
+.IP \(bu 2
+Type: Boolean
+
+.RE
+.P
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done\. This can be passed into any of the
+commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
+\fBdedupe\fP, \fBuninstall\fP\|\. This is NOT currently honored by network related
+commands, eg \fBdist\-tags\fP, \fBowner\fP, \fBpublish\fP, etc\.
.SS editor
.RS 0
.IP \(bu 2
@@ -778,6 +803,27 @@ Type: path
.P
A node module to \fBrequire()\fP when npm loads\. Useful for programmatic
usage\.
+.SS only
+.RS 0
+.IP \(bu 2
+Default: null
+.IP \(bu 2
+Type: String
+
+.RE
+.P
+When "dev" or "development" and running local \fBnpm install\fP without any
+arguments, only devDependencies (and their dependencies) are installed\.
+.P
+When "dev" or "development" and running local \fBnpm ls\fP, \fBnpm outdated\fP, or
+\fBnpm update\fP, is an alias for \fB\-\-dev\fP\|\.
+.P
+When "prod" or "production" and running local \fBnpm install\fP without any
+arguments, only non\-devDependencies (and their dependencies) are
+installed\.
+.P
+When "prod" or "production" and running local \fBnpm ls\fP, \fBnpm outdated\fP, or
+\fBnpm update\fP, is an alias for \fB\-\-production\fP\|\.
.SS optional
.RS 0
.IP \(bu 2
@@ -830,6 +876,19 @@ local \fBnpm install\fP without any arguments\.
Set the NODE_ENV="production" for lifecycle scripts\.
.RE
+.SS progress
+.RS 0
+.IP \(bu 2
+Default: true
+.IP \(bu 2
+Type: Boolean
+
+.RE
+.P
+When set to \fBtrue\fP, npm will display a progress bar during time intensive
+operations, if \fBprocess\.stderr\fP is a TTY\.
+.P
+Set to \fBfalse\fP to suppress the progress bar\.
.SS proprietary\-attribs
.RS 0
.IP \(bu 2
@@ -1060,20 +1119,6 @@ using \fB\-s\fP 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 spin
-.RS 0
-.IP \(bu 2
-Default: true
-.IP \(bu 2
-Type: Boolean or \fB"always"\fP
-
-.RE
-.P
-When set to \fBtrue\fP, npm will display an ascii spinner while it is doing
-things, if \fBprocess\.stderr\fP is a TTY\.
-.P
-Set to \fBfalse\fP to suppress the spinner, or set to \fBalways\fP to output
-the spinner even for non\-TTY outputs\.
.SS strict\-ssl
.RS 0
.IP \(bu 2
@@ -1131,7 +1176,7 @@ on success, but left behind on failure for forensic purposes\.
.SS unicode
.RS 0
.IP \(bu 2
-Default: true
+Default: true on windows and mac/unix systems with a unicode locale
.IP \(bu 2
Type: Boolean
diff --git a/deps/npm/man/man7/npm-index.7 b/deps/npm/man/man7/npm-index.7
index 4ab8ccd28a..8134075c0d 100644
--- a/deps/npm/man/man7/npm-index.7
+++ b/deps/npm/man/man7/npm-index.7
@@ -106,9 +106,6 @@ Open package repository page in the browser
.SS npm help restart
.P
Restart a package
-.SS npm help rm
-.P
-Remove a package
.SS npm help root
.P
Display npm root
@@ -163,126 +160,6 @@ Display npm username
.SH API Documentation
.P
Using npm in your Node programs
-.SS npm apihelp npm
-.P
-javascript package manager
-.SS npm apihelp bin
-.P
-Display npm bin folder
-.SS npm apihelp bugs
-.P
-Bugs for a package in a web browser maybe
-.SS npm apihelp cache
-.P
-manage the npm cache programmatically
-.SS npm apihelp commands
-.P
-npm commands
-.SS npm apihelp config
-.P
-Manage the npm configuration files
-.SS npm apihelp deprecate
-.P
-Deprecate a version of a package
-.SS npm apihelp docs
-.P
-Docs for a package in a web browser maybe
-.SS npm apihelp edit
-.P
-Edit an installed package
-.SS npm apihelp explore
-.P
-Browse an installed package
-.SS npm apihelp help\-search
-.P
-Search the help pages
-.SS npm apihelp init
-.P
-Interactively create a package\.json file
-.SS npm apihelp install
-.P
-install a package programmatically
-.SS npm apihelp link
-.P
-Symlink a package folder
-.SS npm apihelp load
-.P
-Load config settings
-.SS npm apihelp ls
-.P
-List installed packages
-.SS npm apihelp outdated
-.P
-Check for outdated packages
-.SS npm apihelp owner
-.P
-Manage package owners
-.SS npm apihelp pack
-.P
-Create a tarball from a package
-.SS npm apihelp ping
-.P
-Ping npm registry
-.SS npm apihelp prefix
-.P
-Display prefix
-.SS npm apihelp prune
-.P
-Remove extraneous packages
-.SS npm apihelp publish
-.P
-Publish a package
-.SS npm apihelp rebuild
-.P
-Rebuild a package
-.SS npm apihelp repo
-.P
-Open package repository page in the browser
-.SS npm apihelp restart
-.P
-Restart a package
-.SS npm apihelp root
-.P
-Display npm root
-.SS npm apihelp run\-script
-.P
-Run arbitrary package scripts
-.SS npm apihelp search
-.P
-Search for packages
-.SS npm apihelp shrinkwrap
-.P
-programmatically generate package shrinkwrap file
-.SS npm apihelp start
-.P
-Start a package
-.SS npm apihelp stop
-.P
-Stop a package
-.SS npm apihelp tag
-.P
-Tag a published version
-.SS npm apihelp test
-.P
-Test a package
-.SS npm apihelp uninstall
-.P
-uninstall a package programmatically
-.SS npm apihelp unpublish
-.P
-Remove a package from the registry
-.SS npm apihelp update
-.P
-Update a package
-.SS npm apihelp version
-.P
-Bump a package version
-.SS npm apihelp view
-.P
-View registry info
-.SS npm apihelp whoami
-.P
-Display npm username
.SH Files
.P
File system structures npm uses
@@ -316,9 +193,6 @@ Frequently Asked Questions
.SS npm help 7 index
.P
Index of all npm documentation
-.SS npm help 7 orgs
-.P
-Working with Teams & Orgs
.SS npm help 7 registry
.P
The JavaScript Package Registry
diff --git a/deps/npm/node_modules/abbrev/package.json b/deps/npm/node_modules/abbrev/package.json
index 9b71f630b7..b86461cfae 100644
--- a/deps/npm/node_modules/abbrev/package.json
+++ b/deps/npm/node_modules/abbrev/package.json
@@ -1,47 +1,73 @@
{
- "name": "abbrev",
- "version": "1.0.7",
- "description": "Like ruby's abbrev module, but in js",
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me"
- },
- "main": "abbrev.js",
- "scripts": {
- "test": "tap test.js --cov"
+ "_args": [
+ [
+ "abbrev@~1.0.7",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "abbrev@>=1.0.7 <1.1.0",
+ "_id": "abbrev@1.0.7",
+ "_inCache": true,
+ "_location": "/abbrev",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "abbrev",
+ "raw": "abbrev@~1.0.7",
+ "rawSpec": "~1.0.7",
+ "scope": null,
+ "spec": ">=1.0.7 <1.1.0",
+ "type": "range"
},
- "license": "ISC",
- "devDependencies": {
- "tap": "^1.2.0"
+ "_requiredBy": [
+ "/",
+ "/nopt"
+ ],
+ "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz",
+ "_shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
+ "_shrinkwrap": null,
+ "_spec": "abbrev@~1.0.7",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter"
},
- "gitHead": "821d09ce7da33627f91bbd8ed631497ed6f760c2",
"bugs": {
"url": "https://github.com/isaacs/abbrev-js/issues"
},
- "homepage": "https://github.com/isaacs/abbrev-js#readme",
- "_id": "abbrev@1.0.7",
- "_shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
- "_from": "abbrev@>=1.0.7 <1.1.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "Like ruby's abbrev module, but in js",
+ "devDependencies": {
+ "tap": "^1.2.0"
},
+ "directories": {},
"dist": {
"shasum": "5b6035b2ee9d4fb5cf859f08a9be81b208491843",
"tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
},
+ "gitHead": "821d09ce7da33627f91bbd8ed631497ed6f760c2",
+ "homepage": "https://github.com/isaacs/abbrev-js#readme",
+ "license": "ISC",
+ "main": "abbrev.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
+ "name": "abbrev",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
+ },
+ "scripts": {
+ "test": "tap test.js --cov"
+ },
+ "version": "1.0.7"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/deps/npm/node_modules/ansi-regex/index.js
index 4906755bc9..4906755bc9 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/index.js
+++ b/deps/npm/node_modules/ansi-regex/index.js
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/license b/deps/npm/node_modules/ansi-regex/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/license
+++ b/deps/npm/node_modules/ansi-regex/license
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/deps/npm/node_modules/ansi-regex/package.json
index 7fc07677a0..5f3f32c654 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/package.json
+++ b/deps/npm/node_modules/ansi-regex/package.json
@@ -1,86 +1,114 @@
{
- "name": "ansi-regex",
- "version": "2.0.0",
- "description": "Regular expression for matching ANSI escape codes",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/ansi-regex.git"
+ "_args": [
+ [
+ "ansi-regex@^2.0.0",
+ "/Users/rebecca/code/npm/node_modules/chalk/node_modules/strip-ansi"
+ ]
+ ],
+ "_from": "ansi-regex@>=2.0.0 <3.0.0",
+ "_id": "ansi-regex@2.0.0",
+ "_inCache": true,
+ "_location": "/ansi-regex",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ansi-regex",
+ "raw": "ansi-regex@^2.0.0",
+ "rawSpec": "^2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/columnify/strip-ansi",
+ "/has-ansi",
+ "/strip-ansi"
+ ],
+ "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
+ "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
+ "_shrinkwrap": null,
+ "_spec": "ansi-regex@^2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/chalk/node_modules/strip-ansi",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
+ "bugs": {
+ "url": "https://github.com/sindresorhus/ansi-regex/issues"
+ },
+ "dependencies": {},
+ "description": "Regular expression for matching ANSI escape codes",
+ "devDependencies": {
+ "mocha": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
+ "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "mocha test/test.js",
- "view-supported": "node test/viewCodes.js"
- },
"files": [
"index.js"
],
+ "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
+ "homepage": "https://github.com/sindresorhus/ansi-regex",
"keywords": [
+ "256",
"ansi",
- "styles",
+ "cli",
"color",
- "colour",
"colors",
- "terminal",
+ "colour",
+ "command-line",
"console",
- "cli",
- "string",
- "tty",
"escape",
+ "find",
"formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "text",
+ "match",
+ "pattern",
+ "re",
"regex",
"regexp",
- "re",
- "match",
+ "rgb",
+ "shell",
+ "string",
+ "styles",
+ "terminal",
"test",
- "find",
- "pattern"
+ "text",
+ "tty",
+ "xterm"
],
- "devDependencies": {
- "mocha": "*"
- },
- "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
- "bugs": {
- "url": "https://github.com/sindresorhus/ansi-regex/issues"
- },
- "homepage": "https://github.com/sindresorhus/ansi-regex",
- "_id": "ansi-regex@2.0.0",
- "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "_from": "ansi-regex@>=2.0.0 <3.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ }
+ ],
+ "name": "ansi-regex",
+ "optionalDependencies": {},
+ "readme": "# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex)\n\n> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)\n\n\n## Install\n\n```\n$ npm install --save ansi-regex\n```\n\n\n## Usage\n\n```js\nvar ansiRegex = require('ansi-regex');\n\nansiRegex().test('\\u001b[4mcake\\u001b[0m');\n//=> true\n\nansiRegex().test('cake');\n//=> false\n\n'\\u001b[4mcake\\u001b[0m'.match(ansiRegex());\n//=> ['\\u001b[4m', '\\u001b[0m']\n```\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n",
+ "readmeFilename": "readme.md",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/ansi-regex.git"
},
- "dist": {
- "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
+ "scripts": {
+ "test": "mocha test/test.js",
+ "view-supported": "node test/viewCodes.js"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "2.0.0"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/ansi-regex/readme.md
index 1a4894ec11..1a4894ec11 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
+++ b/deps/npm/node_modules/ansi-regex/readme.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/index.js b/deps/npm/node_modules/ansi-styles/index.js
index 78945278f7..78945278f7 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/index.js
+++ b/deps/npm/node_modules/ansi-styles/index.js
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/license b/deps/npm/node_modules/ansi-styles/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/node_modules/ansi-regex/license
+++ b/deps/npm/node_modules/ansi-styles/license
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json b/deps/npm/node_modules/ansi-styles/package.json
index b6a9ceaea0..98210c30fd 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/package.json
+++ b/deps/npm/node_modules/ansi-styles/package.json
@@ -1,80 +1,104 @@
{
- "name": "ansi-styles",
- "version": "2.1.0",
- "description": "ANSI escape codes for styling strings in the terminal",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/chalk/ansi-styles.git"
+ "_args": [
+ [
+ "ansi-styles@^2.1.0",
+ "/Users/rebecca/code/npm/node_modules/chalk"
+ ]
+ ],
+ "_from": "ansi-styles@>=2.1.0 <3.0.0",
+ "_id": "ansi-styles@2.1.0",
+ "_inCache": true,
+ "_location": "/ansi-styles",
+ "_nodeVersion": "0.12.4",
+ "_npmUser": {
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
},
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ansi-styles",
+ "raw": "ansi-styles@^2.1.0",
+ "rawSpec": "^2.1.0",
+ "scope": null,
+ "spec": ">=2.1.0 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/chalk"
+ ],
+ "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz",
+ "_shasum": "990f747146927b559a932bf92959163d60c0d0e2",
+ "_shrinkwrap": null,
+ "_spec": "ansi-styles@^2.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/chalk",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
+ "bugs": {
+ "url": "https://github.com/chalk/ansi-styles/issues"
+ },
+ "dependencies": {},
+ "description": "ANSI escape codes for styling strings in the terminal",
+ "devDependencies": {
+ "mocha": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "990f747146927b559a932bf92959163d60c0d0e2",
+ "tarball": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "mocha"
- },
"files": [
"index.js"
],
+ "gitHead": "18421cbe4a2d93359ec2599a894f704be126d066",
+ "homepage": "https://github.com/chalk/ansi-styles",
"keywords": [
+ "256",
"ansi",
- "styles",
+ "cli",
"color",
- "colour",
"colors",
- "terminal",
+ "colour",
+ "command-line",
"console",
- "cli",
- "string",
- "tty",
"escape",
"formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
"log",
"logging",
- "command-line",
- "text"
+ "rgb",
+ "shell",
+ "string",
+ "styles",
+ "terminal",
+ "text",
+ "tty",
+ "xterm"
],
- "devDependencies": {
- "mocha": "*"
- },
- "gitHead": "18421cbe4a2d93359ec2599a894f704be126d066",
- "bugs": {
- "url": "https://github.com/chalk/ansi-styles/issues"
- },
- "homepage": "https://github.com/chalk/ansi-styles",
- "_id": "ansi-styles@2.1.0",
- "_shasum": "990f747146927b559a932bf92959163d60c0d0e2",
- "_from": "ansi-styles@>=2.1.0 <3.0.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "0.12.4",
- "_npmUser": {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ }
+ ],
+ "name": "ansi-styles",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/chalk/ansi-styles"
},
- "dist": {
- "shasum": "990f747146927b559a932bf92959163d60c0d0e2",
- "tarball": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
+ "scripts": {
+ "test": "mocha"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "2.1.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/readme.md b/deps/npm/node_modules/ansi-styles/readme.md
index 3f933f6162..3f933f6162 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/readme.md
+++ b/deps/npm/node_modules/ansi-styles/readme.md
diff --git a/deps/npm/node_modules/ansi/.jshintrc b/deps/npm/node_modules/ansi/.jshintrc
deleted file mode 100644
index 248c5426ea..0000000000
--- a/deps/npm/node_modules/ansi/.jshintrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "laxcomma": true,
- "asi": true
-}
diff --git a/deps/npm/node_modules/ansi/package.json b/deps/npm/node_modules/ansi/package.json
index 706ae63067..cdef43ffa9 100644
--- a/deps/npm/node_modules/ansi/package.json
+++ b/deps/npm/node_modules/ansi/package.json
@@ -1,39 +1,65 @@
{
- "name": "ansi",
- "description": "Advanced ANSI formatting tool for Node.js",
- "keywords": [
- "ansi",
- "formatting",
- "cursor",
- "color",
- "terminal",
- "rgb",
- "256",
- "stream"
+ "_args": [
+ [
+ "ansi@~0.3.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog"
+ ]
],
- "version": "0.3.0",
+ "_from": "ansi@>=0.3.0 <0.4.0",
+ "_id": "ansi@0.3.0",
+ "_inCache": true,
+ "_location": "/ansi",
+ "_npmUser": {
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
+ },
+ "_npmVersion": "1.4.9",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ansi",
+ "raw": "ansi@~0.3.0",
+ "rawSpec": "~0.3.0",
+ "scope": null,
+ "spec": ">=0.3.0 <0.4.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gauge",
+ "/npmlog"
+ ],
+ "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz",
+ "_shasum": "74b2f1f187c8553c7f95015bcb76009fb43d38e0",
+ "_shrinkwrap": null,
+ "_spec": "ansi@~0.3.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npmlog",
"author": {
- "name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
+ "name": "Nathan Rajlich",
"url": "http://tootallnate.net"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/ansi.js.git"
- },
- "main": "./lib/ansi.js",
"bugs": {
"url": "https://github.com/TooTallNate/ansi.js/issues"
},
- "homepage": "https://github.com/TooTallNate/ansi.js",
- "_id": "ansi@0.3.0",
- "_shasum": "74b2f1f187c8553c7f95015bcb76009fb43d38e0",
- "_from": "ansi@latest",
- "_npmVersion": "1.4.9",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
+ "dependencies": {},
+ "description": "Advanced ANSI formatting tool for Node.js",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "74b2f1f187c8553c7f95015bcb76009fb43d38e0",
+ "tarball": "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
},
+ "homepage": "https://github.com/TooTallNate/ansi.js",
+ "keywords": [
+ "256",
+ "ansi",
+ "color",
+ "cursor",
+ "formatting",
+ "rgb",
+ "stream",
+ "terminal"
+ ],
+ "main": "./lib/ansi.js",
"maintainers": [
{
"name": "TooTallNate",
@@ -44,11 +70,11 @@
"email": "nathan@tootallnate.net"
}
],
- "dist": {
- "shasum": "74b2f1f187c8553c7f95015bcb76009fb43d38e0",
- "tarball": "http://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
+ "name": "ansi",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/TooTallNate/ansi.js.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "0.3.0"
}
diff --git a/deps/npm/node_modules/ansicolors/package.json b/deps/npm/node_modules/ansicolors/package.json
index bca06da296..b759eb47cd 100644
--- a/deps/npm/node_modules/ansicolors/package.json
+++ b/deps/npm/node_modules/ansicolors/package.json
@@ -1,34 +1,77 @@
{
- "name": "ansicolors",
- "version": "0.3.2",
- "description": "Functions that surround a string with ansicolor codes so it prints in color.",
- "main": "ansicolors.js",
- "scripts": {
- "test": "node test/*.js"
+ "_args": [
+ [
+ "ansicolors@~0.3.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "ansicolors@>=0.3.2 <0.4.0",
+ "_id": "ansicolors@0.3.2",
+ "_inCache": true,
+ "_location": "/ansicolors",
+ "_npmUser": {
+ "email": "thlorenz@gmx.de",
+ "name": "thlorenz"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/thlorenz/ansicolors.git"
+ "_npmVersion": "1.3.11",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ansicolors",
+ "raw": "ansicolors@~0.3.2",
+ "rawSpec": "~0.3.2",
+ "scope": null,
+ "spec": ">=0.3.2 <0.4.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz",
+ "_shasum": "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979",
+ "_shrinkwrap": null,
+ "_spec": "ansicolors@~0.3.2",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "thlorenz@gmx.de",
+ "name": "Thorsten Lorenz",
+ "url": "thlorenz.com"
+ },
+ "bugs": {
+ "url": "https://github.com/thlorenz/ansicolors/issues"
+ },
+ "dependencies": {},
+ "description": "Functions that surround a string with ansicolor codes so it prints in color.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979",
+ "tarball": "http://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz"
},
+ "gitHead": "858847ca28e8b360d9b70eee0592700fa2ab087d",
"keywords": [
"ansi",
"colors",
"highlight",
"string"
],
- "author": {
- "name": "Thorsten Lorenz",
- "email": "thlorenz@gmx.de",
- "url": "thlorenz.com"
- },
"license": "MIT",
- "readmeFilename": "README.md",
- "gitHead": "858847ca28e8b360d9b70eee0592700fa2ab087d",
+ "main": "ansicolors.js",
+ "maintainers": [
+ {
+ "name": "thlorenz",
+ "email": "thlorenz@gmx.de"
+ }
+ ],
+ "name": "ansicolors",
+ "optionalDependencies": {},
"readme": "# ansicolors [![build status](https://secure.travis-ci.org/thlorenz/ansicolors.png)](http://next.travis-ci.org/thlorenz/ansicolors)\n\nFunctions that surround a string with ansicolor codes so it prints in color.\n\nIn case you need styles, like `bold`, have a look at [ansistyles](https://github.com/thlorenz/ansistyles).\n\n## Installation\n\n npm install ansicolors\n\n## Usage\n\n```js\nvar colors = require('ansicolors');\n\n// foreground colors\nvar redHerring = colors.red('herring');\nvar blueMoon = colors.blue('moon');\nvar brighBlueMoon = colors.brightBlue('moon');\n\nconsole.log(redHerring); // this will print 'herring' in red\nconsole.log(blueMoon); // this 'moon' in blue\nconsole.log(brightBlueMoon); // I think you got the idea\n\n// background colors\nconsole.log(colors.bgYellow('printed on yellow background'));\nconsole.log(colors.bgBrightBlue('printed on bright blue background'));\n\n// mixing background and foreground colors\n// below two lines have same result (order in which bg and fg are combined doesn't matter)\nconsole.log(colors.bgYellow(colors.blue('printed on yellow background in blue')));\nconsole.log(colors.blue(colors.bgYellow('printed on yellow background in blue')));\n```\n\n## Advanced API\n\n**ansicolors** allows you to access opening and closing escape sequences separately.\n\n```js\nvar colors = require('ansicolors');\n\nfunction inspect(obj, depth) {\n return require('util').inspect(obj, false, depth || 5, true);\n}\n\nconsole.log('open blue', inspect(colors.open.blue));\nconsole.log('close bgBlack', inspect(colors.close.bgBlack));\n\n// => open blue '\\u001b[34m'\n// close bgBlack '\\u001b[49m'\n```\n\n## Tests\n\nLook at the [tests](https://github.com/thlorenz/ansicolors/blob/master/test/ansicolors.js) to see more examples and/or run them via: \n\n npm explore ansicolors && npm test\n\n## Alternatives\n\n**ansicolors** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, \nI'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).\n",
- "bugs": {
- "url": "https://github.com/thlorenz/ansicolors/issues"
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thlorenz/ansicolors.git"
},
- "homepage": "https://github.com/thlorenz/ansicolors",
- "_id": "ansicolors@0.3.2",
- "_from": "ansicolors@latest"
+ "scripts": {
+ "test": "node test/*.js"
+ },
+ "version": "0.3.2"
}
diff --git a/deps/npm/node_modules/ansistyles/package.json b/deps/npm/node_modules/ansistyles/package.json
index dec9cd9e69..3f523f2e9e 100644
--- a/deps/npm/node_modules/ansistyles/package.json
+++ b/deps/npm/node_modules/ansistyles/package.json
@@ -1,38 +1,77 @@
{
- "name": "ansistyles",
- "version": "0.1.3",
- "description": "Functions that surround a string with ansistyle codes so it prints in style.",
- "main": "ansistyles.js",
- "scripts": {
- "test": "node test/ansistyles.js"
+ "_args": [
+ [
+ "ansistyles@~0.1.3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "ansistyles@>=0.1.3 <0.2.0",
+ "_id": "ansistyles@0.1.3",
+ "_inCache": true,
+ "_location": "/ansistyles",
+ "_npmUser": {
+ "email": "thlorenz@gmx.de",
+ "name": "thlorenz"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/thlorenz/ansistyles.git"
+ "_npmVersion": "1.3.11",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ansistyles",
+ "raw": "ansistyles@~0.1.3",
+ "rawSpec": "~0.1.3",
+ "scope": null,
+ "spec": ">=0.1.3 <0.2.0",
+ "type": "range"
},
- "keywords": [
- "ansi",
- "style",
- "terminal",
- "console"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz",
+ "_shasum": "5de60415bda071bb37127854c864f41b23254539",
+ "_shrinkwrap": null,
+ "_spec": "ansistyles@~0.1.3",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Thorsten Lorenz",
"email": "thlorenz@gmx.de",
+ "name": "Thorsten Lorenz",
"url": "thlorenz.com"
},
- "license": "MIT",
- "readmeFilename": "README.md",
- "gitHead": "27bf1bc65231bcc7fd109bf13b13601b51f8cd04",
- "readme": "# ansistyles [![build status](https://secure.travis-ci.org/thlorenz/ansistyles.png)](http://next.travis-ci.org/thlorenz/ansistyles)\n\nFunctions that surround a string with ansistyle codes so it prints in style.\n\nIn case you need colors, like `red`, have a look at [ansicolors](https://github.com/thlorenz/ansicolors).\n\n## Installation\n\n npm install ansistyles\n\n## Usage\n\n```js\nvar styles = require('ansistyles');\n\nconsole.log(styles.bright('hello world')); // prints hello world in 'bright' white\nconsole.log(styles.underline('hello world')); // prints hello world underlined\nconsole.log(styles.inverse('hello world')); // prints hello world black on white\n```\n\n## Combining with ansicolors\n\nGet the ansicolors module:\n\n npm install ansicolors\n\n```js\nvar styles = require('ansistyles')\n , colors = require('ansicolors');\n\n console.log(\n // prints hello world underlined in blue on a green background\n colors.bgGreen(colors.blue(styles.underline('hello world'))) \n );\n```\n\n## Tests\n\nLook at the [tests](https://github.com/thlorenz/ansistyles/blob/master/test/ansistyles.js) to see more examples and/or run them via: \n\n npm explore ansistyles && npm test\n\n## More Styles\n\nAs you can see from [here](https://github.com/thlorenz/ansistyles/blob/master/ansistyles.js#L4-L15), more styles are available,\nbut didn't have any effect on the terminals that I tested on Mac Lion and Ubuntu Linux.\n\nI included them for completeness, but didn't show them in the examples because they seem to have no effect.\n\n### reset\n\nA style reset function is also included, please note however that this is not nestable.\n\nTherefore the below only underlines `hell` only, but not `world`.\n\n```js\nconsole.log(styles.underline('hell' + styles.reset('o') + ' world'));\n```\n\nIt is essentially the same as:\n\n```js\nconsole.log(styles.underline('hell') + styles.reset('') + 'o world');\n```\n\n\n\n## Alternatives\n\n**ansistyles** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, \nI'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).\n",
"bugs": {
"url": "https://github.com/thlorenz/ansistyles/issues"
},
- "homepage": "https://github.com/thlorenz/ansistyles",
- "_id": "ansistyles@0.1.3",
+ "dependencies": {},
+ "description": "Functions that surround a string with ansistyle codes so it prints in style.",
+ "devDependencies": {},
+ "directories": {},
"dist": {
- "shasum": "b14f315fe763a2b3a88df9d3261a517e666c4615"
+ "shasum": "5de60415bda071bb37127854c864f41b23254539",
+ "tarball": "http://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
+ },
+ "gitHead": "27bf1bc65231bcc7fd109bf13b13601b51f8cd04",
+ "keywords": [
+ "ansi",
+ "console",
+ "style",
+ "terminal"
+ ],
+ "license": "MIT",
+ "main": "ansistyles.js",
+ "maintainers": [
+ {
+ "name": "thlorenz",
+ "email": "thlorenz@gmx.de"
+ }
+ ],
+ "name": "ansistyles",
+ "optionalDependencies": {},
+ "readme": "# ansistyles [![build status](https://secure.travis-ci.org/thlorenz/ansistyles.png)](http://next.travis-ci.org/thlorenz/ansistyles)\n\nFunctions that surround a string with ansistyle codes so it prints in style.\n\nIn case you need colors, like `red`, have a look at [ansicolors](https://github.com/thlorenz/ansicolors).\n\n## Installation\n\n npm install ansistyles\n\n## Usage\n\n```js\nvar styles = require('ansistyles');\n\nconsole.log(styles.bright('hello world')); // prints hello world in 'bright' white\nconsole.log(styles.underline('hello world')); // prints hello world underlined\nconsole.log(styles.inverse('hello world')); // prints hello world black on white\n```\n\n## Combining with ansicolors\n\nGet the ansicolors module:\n\n npm install ansicolors\n\n```js\nvar styles = require('ansistyles')\n , colors = require('ansicolors');\n\n console.log(\n // prints hello world underlined in blue on a green background\n colors.bgGreen(colors.blue(styles.underline('hello world'))) \n );\n```\n\n## Tests\n\nLook at the [tests](https://github.com/thlorenz/ansistyles/blob/master/test/ansistyles.js) to see more examples and/or run them via: \n\n npm explore ansistyles && npm test\n\n## More Styles\n\nAs you can see from [here](https://github.com/thlorenz/ansistyles/blob/master/ansistyles.js#L4-L15), more styles are available,\nbut didn't have any effect on the terminals that I tested on Mac Lion and Ubuntu Linux.\n\nI included them for completeness, but didn't show them in the examples because they seem to have no effect.\n\n### reset\n\nA style reset function is also included, please note however that this is not nestable.\n\nTherefore the below only underlines `hell` only, but not `world`.\n\n```js\nconsole.log(styles.underline('hell' + styles.reset('o') + ' world'));\n```\n\nIt is essentially the same as:\n\n```js\nconsole.log(styles.underline('hell') + styles.reset('') + 'o world');\n```\n\n\n\n## Alternatives\n\n**ansistyles** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, \nI'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/thlorenz/ansistyles.git"
+ },
+ "scripts": {
+ "test": "node test/ansistyles.js"
},
- "_from": "ansistyles@0.1.3",
- "_resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
+ "version": "0.1.3"
}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/.npmignore b/deps/npm/node_modules/aproba/.npmignore
index 249bc20eb5..24001896d6 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/.npmignore
+++ b/deps/npm/node_modules/aproba/.npmignore
@@ -1,2 +1,3 @@
+*~
node_modules
-*.sw*
+.#*
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/LICENSE b/deps/npm/node_modules/aproba/LICENSE
index 05eeeb88c2..2a4982dc40 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/LICENSE
+++ b/deps/npm/node_modules/aproba/LICENSE
@@ -1,6 +1,4 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter
+Copyright (c) 2015, Rebecca Turner <me@re-becca.org>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -11,5 +9,5 @@ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/aproba/README.md b/deps/npm/node_modules/aproba/README.md
new file mode 100644
index 0000000000..e5c1f5595b
--- /dev/null
+++ b/deps/npm/node_modules/aproba/README.md
@@ -0,0 +1,54 @@
+aproba
+======
+
+A rediculously light-weight function argument validator
+
+```
+var validate = require("aproba")
+
+function myfunc(a, b, c) {
+ // `a` must be a string, `b` a number, `c` a function
+ validate('SNF', arguments) // [a,b,c] is also valid
+}
+
+myfunc('test', 23, function () {}) // ok
+myfunc(123, 23, function () {}) // type error
+myfunc('test', 23) // missing arg error
+myfunc('test', 23, function () {}, true) // too many args error
+
+```
+
+Valid types are:
+
+type | description
+---- | -----------
+* | matches any type
+A | instanceof Array OR an arguments object
+S | typeof == string
+N | typeof == number
+F | typeof == function
+O | typeof == object and not type A and not type E
+B | typeof == boolean
+E | instanceof Error OR null
+
+Validation failures throw one of three exception types, distinguished by a
+`code` property of `EMISSINGARG`, `EINVALIDTYPE` or `ETOOMANYARGS`.
+
+If an error argument is found and is not null then the remaining arguments will not be validated.
+
+### Why this exists
+
+I wanted a very simple argument validator. It needed to do two things:
+
+1. Be more concise and easier to use than assertions
+
+2. Not encourage an infinite bikeshed of DSLs
+
+This is why types are specified by a single character and there's no such
+thing as an optional argument.
+
+This is not intended to validate user data. This is specifically about
+asserting the interface of your functions.
+
+If you need greater validation, I encourage you to write them by hand or
+look elsewhere.
diff --git a/deps/npm/node_modules/aproba/index.js b/deps/npm/node_modules/aproba/index.js
new file mode 100644
index 0000000000..7d8ff07f87
--- /dev/null
+++ b/deps/npm/node_modules/aproba/index.js
@@ -0,0 +1,53 @@
+"use strict"
+
+var types = {
+ "*": ["any", function () { return true }],
+ A: ["array", function (thingy) { return thingy instanceof Array || (typeof thingy === "object" && thingy.hasOwnProperty("callee")) }],
+ S: ["string", function (thingy) { return typeof thingy === "string" }],
+ N: ["number", function (thingy) { return typeof thingy === "number" }],
+ F: ["function", function (thingy) { return typeof thingy === "function" }],
+ O: ["object", function (thingy) { return typeof thingy === "object" && !types.A[1](thingy) && !types.E[1](thingy) }],
+ B: ["boolean", function (thingy) { return typeof thingy == "boolean" }],
+ E: ["error", function (thingy) { return thingy instanceof Error }]
+}
+
+var validate = module.exports = function (schema, args) {
+ if (!schema) throw missingRequiredArg(0, "schema")
+ if (!args) throw missingRequiredArg(1, "args")
+ if (!types.S[1](schema)) throw invalidType(0, "string", schema)
+ if (!types.A[1](args)) throw invalidType(1, "array", args)
+ for (var ii = 0; ii < schema.length; ++ii) {
+ var type = schema[ii]
+ if (!types[type]) throw unknownType(ii, type)
+ var typeLabel = types[type][0]
+ var typeCheck = types[type][1]
+ if (type === "E" && args[ii] == null) continue
+ if (args[ii] == null) throw missingRequiredArg(ii)
+ if (!typeCheck(args[ii])) throw invalidType(ii, typeLabel, args[ii])
+ if (type === "E") return
+ }
+ if (schema.length < args.length) throw tooManyArgs(schema.length, args.length)
+}
+
+function missingRequiredArg(num) {
+ return newException("EMISSINGARG", "Missing required argument #"+(num+1))
+}
+
+function unknownType(num, type) {
+ return newException("EUNKNOWNTYPE", "Unknown type "+type+" in argument #"+(num+1))
+}
+
+function invalidType(num, type, value) {
+ return newException("EINVALIDTYPE", "Argument #"+(num+1)+": Expected "+type+" but got "+typeof value)
+}
+
+function tooManyArgs(expected, got) {
+ return newException("ETOOMANYARGS", "Too many arguments, expected "+expected+" and got "+got)
+}
+
+function newException(code, msg) {
+ var e = new Error(msg)
+ e.code = code
+ Error.captureStackTrace(e, validate)
+ return e
+}
diff --git a/deps/npm/node_modules/aproba/package.json b/deps/npm/node_modules/aproba/package.json
new file mode 100644
index 0000000000..16f35b0a55
--- /dev/null
+++ b/deps/npm/node_modules/aproba/package.json
@@ -0,0 +1,77 @@
+{
+ "_args": [
+ [
+ "aproba@~1.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "aproba@>=1.0.1 <1.1.0",
+ "_id": "aproba@1.0.1",
+ "_inCache": true,
+ "_location": "/aproba",
+ "_nodeVersion": "1.6.2",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "2.7.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "aproba",
+ "raw": "aproba@~1.0.1",
+ "rawSpec": "~1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_shasum": "c4ac2cc5becfb8b099de7ef9f02790e7d32d99ef",
+ "_shrinkwrap": null,
+ "_spec": "aproba@~1.0.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "me@re-becca.org",
+ "name": "Rebecca Turner"
+ },
+ "bugs": {
+ "url": "https://github.com/iarna/aproba/issues"
+ },
+ "dependencies": {},
+ "description": "A rediculously light-weight argument validator",
+ "devDependencies": {
+ "tap": "^0.7.0"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "c4ac2cc5becfb8b099de7ef9f02790e7d32d99ef",
+ "tarball": "http://registry.npmjs.org/aproba/-/aproba-1.0.1.tgz"
+ },
+ "gitHead": "a2ea029793a14cddb9457afd0a83dc421889c7ad",
+ "homepage": "https://github.com/iarna/aproba",
+ "keywords": [
+ "argument",
+ "validate"
+ ],
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "aproba",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/iarna/aproba"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.1"
+}
diff --git a/deps/npm/node_modules/aproba/test/index.js b/deps/npm/node_modules/aproba/test/index.js
new file mode 100644
index 0000000000..0574709c8f
--- /dev/null
+++ b/deps/npm/node_modules/aproba/test/index.js
@@ -0,0 +1,85 @@
+"use strict"
+var test = require("tap").test
+var validate = require("../index.js")
+
+function thrown (t, code, msg, todo) {
+ validate("OSSF", arguments)
+ try {
+ todo()
+ t.fail(msg)
+ }
+ catch (e) {
+ t.is(e.code, code, msg + e.message)
+ }
+}
+
+function notThrown (t, msg, todo) {
+ validate("OSF", arguments)
+ try {
+ todo()
+ t.pass(msg)
+ }
+ catch (e) {
+ t.fail(msg+"\n"+e.stack)
+ }
+}
+
+test("general", function (t) {
+ t.plan(69)
+ var values = {
+ "A": [],
+ "S": "test",
+ "N": 123,
+ "F": function () {},
+ "O": {},
+ "B": false,
+ "E": new Error()
+ }
+ Object.keys(values).forEach(function (type) {
+ Object.keys(values).forEach(function (contraType) {
+ if (type === contraType) {
+ notThrown(t, type + " matches " + contraType, function () {
+ validate(type, [values[contraType]])
+ })
+ }
+ else {
+ thrown(t, "EINVALIDTYPE", type + " does not match " + contraType, function () {
+ validate(type, [values[contraType]])
+ })
+ }
+ })
+ if (type === "E") {
+ notThrown(t, "null is ok for E", function () {
+ validate(type, [null])
+ })
+ }
+ else {
+ thrown(t, "EMISSINGARG", "null not ok for "+type, function () {
+ validate(type, [null])
+ })
+ }
+ })
+ Object.keys(values).forEach(function (contraType) {
+ notThrown(t, "* matches " + contraType, function () {
+ validate("*", [values[contraType]])
+ })
+ })
+ thrown(t, "EMISSINGARG", "not enough args", function () {
+ validate("SNF", ["abc", 123])
+ })
+ thrown(t, "ETOOMANYARGS", "too many args", function () {
+ validate("SNF", ["abc", 123, function () {}, true])
+ })
+ notThrown(t, "E matches null", function () {
+ validate("E", [null])
+ })
+ notThrown(t, "E matches undefined", function () {
+ validate("E", [undefined])
+ })
+ notThrown(t, "E w/ error requires nothing else", function () {
+ validate("ESN", [new Error(), "foo"])
+ })
+ thrown(t, "EMISSINGARG", "E w/o error works as usual", function () {
+ validate("ESN", [null, "foo"])
+ })
+})
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/.travis.yml b/deps/npm/node_modules/archy/.travis.yml
index f1d0f13c8a..895dbd3623 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/.travis.yml
+++ b/deps/npm/node_modules/archy/.travis.yml
@@ -1,4 +1,4 @@
language: node_js
node_js:
- - 0.4
- 0.6
+ - 0.8
diff --git a/deps/npm/node_modules/archy/package.json b/deps/npm/node_modules/archy/package.json
index 4b3da66372..9c7188b9cc 100644
--- a/deps/npm/node_modules/archy/package.json
+++ b/deps/npm/node_modules/archy/package.json
@@ -1,24 +1,83 @@
{
- "name": "archy",
- "version": "1.0.0",
+ "_args": [
+ [
+ "archy@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "archy@>=1.0.0 <1.1.0",
+ "_id": "archy@1.0.0",
+ "_inCache": true,
+ "_location": "/archy",
+ "_npmUser": {
+ "email": "mail@substack.net",
+ "name": "substack"
+ },
+ "_npmVersion": "1.4.25",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "archy",
+ "raw": "archy@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "_shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40",
+ "_shrinkwrap": null,
+ "_spec": "archy@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "mail@substack.net",
+ "name": "James Halliday",
+ "url": "http://substack.net"
+ },
+ "bugs": {
+ "url": "https://github.com/substack/node-archy/issues"
+ },
+ "dependencies": {},
"description": "render nested hierarchies `npm ls` style with unicode pipes",
- "main": "index.js",
"devDependencies": {
"tap": "~0.3.3",
"tape": "~0.1.1"
},
+ "directories": {},
+ "dist": {
+ "shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40",
+ "tarball": "http://registry.npmjs.org/archy/-/archy-1.0.0.tgz"
+ },
+ "gitHead": "30223c16191e877bf027b15b12daf077b9b55b84",
+ "homepage": "https://github.com/substack/node-archy",
+ "keywords": [
+ "hierarchy",
+ "npm ls",
+ "pretty",
+ "print",
+ "unicode"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "substack",
+ "email": "mail@substack.net"
+ }
+ ],
+ "name": "archy",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "http://github.com/substack/node-archy.git"
+ },
"scripts": {
"test": "tap test"
},
"testling": {
- "files": "test/*.js",
"browsers": {
- "iexplore": [
- "6.0",
- "7.0",
- "8.0",
- "9.0"
- ],
"chrome": [
"20.0"
],
@@ -26,54 +85,20 @@
"10.0",
"15.0"
],
- "safari": [
- "5.1"
+ "iexplore": [
+ "6.0",
+ "7.0",
+ "8.0",
+ "9.0"
],
"opera": [
"12.0"
+ ],
+ "safari": [
+ "5.1"
]
- }
- },
- "repository": {
- "type": "git",
- "url": "http://github.com/substack/node-archy.git"
- },
- "keywords": [
- "hierarchy",
- "npm ls",
- "unicode",
- "pretty",
- "print"
- ],
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
- "license": "MIT",
- "gitHead": "30223c16191e877bf027b15b12daf077b9b55b84",
- "bugs": {
- "url": "https://github.com/substack/node-archy/issues"
- },
- "homepage": "https://github.com/substack/node-archy",
- "_id": "archy@1.0.0",
- "_shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40",
- "_from": "archy@>=1.0.0 <2.0.0",
- "_npmVersion": "1.4.25",
- "_npmUser": {
- "name": "substack",
- "email": "mail@substack.net"
- },
- "maintainers": [
- {
- "name": "substack",
- "email": "mail@substack.net"
- }
- ],
- "dist": {
- "shasum": "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40",
- "tarball": "http://registry.npmjs.org/archy/-/archy-1.0.0.tgz"
+ },
+ "files": "test/*.js"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz"
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/.npmignore b/deps/npm/node_modules/are-we-there-yet/.npmignore
index 926ddf616c..926ddf616c 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/.npmignore
+++ b/deps/npm/node_modules/are-we-there-yet/.npmignore
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/README.md b/deps/npm/node_modules/are-we-there-yet/README.md
index 52f9f9ae1e..3491c5956c 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/README.md
+++ b/deps/npm/node_modules/are-we-there-yet/README.md
@@ -25,7 +25,7 @@ single.completeWork(20)
console.log(top.completed()) // 0.2
fs.stat("file", function(er, stat) {
- if (er) throw er
+ if (er) throw er
var stream = top.newStream("file", stat.size)
console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete
// and 50% * 20% == 10%
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/index.js b/deps/npm/node_modules/are-we-there-yet/index.js
index 22f47ac885..22f47ac885 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/index.js
+++ b/deps/npm/node_modules/are-we-there-yet/index.js
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json b/deps/npm/node_modules/are-we-there-yet/package.json
index 7591006669..008eec8352 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json
+++ b/deps/npm/node_modules/are-we-there-yet/package.json
@@ -1,51 +1,74 @@
{
- "name": "are-we-there-yet",
- "version": "1.0.4",
- "description": "Keep track of the overall completion of many dispirate processes",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "are-we-there-yet@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/npmlog"
+ ]
+ ],
+ "_from": "are-we-there-yet@>=1.0.0 <1.1.0",
+ "_id": "are-we-there-yet@1.0.4",
+ "_inCache": true,
+ "_location": "/are-we-there-yet",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/iarna/are-we-there-yet.git"
+ "_npmVersion": "2.0.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "are-we-there-yet",
+ "raw": "are-we-there-yet@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/npmlog"
+ ],
+ "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz",
+ "_shasum": "527fe389f7bcba90806106b99244eaa07e886f85",
+ "_shrinkwrap": null,
+ "_spec": "are-we-there-yet@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npmlog",
"author": {
"name": "Rebecca Turner",
"url": "http://re-becca.org"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/iarna/are-we-there-yet/issues"
},
- "homepage": "https://github.com/iarna/are-we-there-yet",
- "devDependencies": {
- "tap": "^0.4.13"
- },
"dependencies": {
"delegates": "^0.1.0",
"readable-stream": "^1.1.13"
},
- "gitHead": "7ce414849b81ab83935a935275def01914821bde",
- "_id": "are-we-there-yet@1.0.4",
- "_shasum": "527fe389f7bcba90806106b99244eaa07e886f85",
- "_from": "are-we-there-yet@>=1.0.0 <1.1.0",
- "_npmVersion": "2.0.0",
- "_npmUser": {
- "name": "iarna",
- "email": "me@re-becca.org"
+ "description": "Keep track of the overall completion of many dispirate processes",
+ "devDependencies": {
+ "tap": "^0.4.13"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "527fe389f7bcba90806106b99244eaa07e886f85",
+ "tarball": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz"
},
+ "gitHead": "7ce414849b81ab83935a935275def01914821bde",
+ "homepage": "https://github.com/iarna/are-we-there-yet",
+ "license": "ISC",
+ "main": "index.js",
"maintainers": [
{
"name": "iarna",
"email": "me@re-becca.org"
}
],
- "dist": {
- "shasum": "527fe389f7bcba90806106b99244eaa07e886f85",
- "tarball": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz"
+ "name": "are-we-there-yet",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/iarna/are-we-there-yet.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.4"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js b/deps/npm/node_modules/are-we-there-yet/test/tracker.js
index 18c31c32cf..18c31c32cf 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/tracker.js
+++ b/deps/npm/node_modules/are-we-there-yet/test/tracker.js
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js b/deps/npm/node_modules/are-we-there-yet/test/trackergroup.js
index a64e121c03..f97e1034ff 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/trackergroup.js
+++ b/deps/npm/node_modules/are-we-there-yet/test/trackergroup.js
@@ -49,7 +49,7 @@ test("TrackerGroup", function (t) {
t.is(er, null, "finishAll: on change event fired")
t.is(onChangeName, name, "finishAll: on change emits the correct name")
t.is(track.completed(), 1, "Finishing everything ")
-
+
track = new TrackerGroup(name)
a = track.newItem("a", 10, 2)
b = track.newItem("b", 10, 1)
@@ -68,7 +68,7 @@ test("TrackerGroup", function (t) {
t.is(er, null, "weightedFinishAll: on change event fired")
t.is(onChangeName, name, "weightedFinishAll: on change emits the correct name")
t.is(track.completed(), 1, "weightedFinishaAll: Finishing everything ")
-
+
track = new TrackerGroup(name)
a = track.newGroup("a", 10)
b = track.newGroup("b", 10)
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js b/deps/npm/node_modules/are-we-there-yet/test/trackerstream.js
index 72b6043097..72b6043097 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/test/trackerstream.js
+++ b/deps/npm/node_modules/are-we-there-yet/test/trackerstream.js
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/.npmignore b/deps/npm/node_modules/array-index/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/.npmignore
+++ b/deps/npm/node_modules/array-index/.npmignore
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.travis.yml b/deps/npm/node_modules/array-index/.travis.yml
index 99cdc7439a..99cdc7439a 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.travis.yml
+++ b/deps/npm/node_modules/array-index/.travis.yml
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/History.md b/deps/npm/node_modules/array-index/History.md
index 20b03e9a83..20b03e9a83 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/History.md
+++ b/deps/npm/node_modules/array-index/History.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/Makefile b/deps/npm/node_modules/array-index/Makefile
index 0f14dac306..0f14dac306 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/Makefile
+++ b/deps/npm/node_modules/array-index/Makefile
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/README.md b/deps/npm/node_modules/array-index/README.md
index ecd3498dd1..ecd3498dd1 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/README.md
+++ b/deps/npm/node_modules/array-index/README.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/component.json b/deps/npm/node_modules/array-index/component.json
index 390d7a7fe8..390d7a7fe8 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/component.json
+++ b/deps/npm/node_modules/array-index/component.json
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/index.js b/deps/npm/node_modules/array-index/index.js
index 18069c6bcd..18069c6bcd 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/index.js
+++ b/deps/npm/node_modules/array-index/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json b/deps/npm/node_modules/array-index/package.json
index 6ba9df72c2..a30106a99b 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json
+++ b/deps/npm/node_modules/array-index/package.json
@@ -1,58 +1,82 @@
{
- "name": "array-index",
- "description": "Invoke getter/setter functions on array-like objects",
- "keywords": [
- "index",
- "array",
- "getter",
- "setter",
- "proxy"
+ "_args": [
+ [
+ "array-index@~0.1.0",
+ "/Users/rebecca/code/npm/node_modules/path-array"
+ ]
+ ],
+ "_from": "array-index@>=0.1.0 <0.2.0",
+ "_id": "array-index@0.1.1",
+ "_inCache": true,
+ "_location": "/array-index",
+ "_nodeVersion": "0.10.32",
+ "_npmUser": {
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
+ },
+ "_npmVersion": "2.1.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "array-index",
+ "raw": "array-index@~0.1.0",
+ "rawSpec": "~0.1.0",
+ "scope": null,
+ "spec": ">=0.1.0 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/path-array"
],
- "version": "0.1.1",
+ "_resolved": "https://registry.npmjs.org/array-index/-/array-index-0.1.1.tgz",
+ "_shasum": "4d5eaf06cc3d925847cd73d1535c217ba306d3e1",
+ "_shrinkwrap": null,
+ "_spec": "array-index@~0.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/path-array",
"author": {
- "name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
+ "name": "Nathan Rajlich",
"url": "http://tootallnate.net"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/array-index.git"
- },
- "main": "index.js",
- "scripts": {
- "test": "node test"
+ "bugs": {
+ "url": "https://github.com/TooTallNate/array-index/issues"
},
"dependencies": {
"debug": "*"
},
+ "description": "Invoke getter/setter functions on array-like objects",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "4d5eaf06cc3d925847cd73d1535c217ba306d3e1",
+ "tarball": "http://registry.npmjs.org/array-index/-/array-index-0.1.1.tgz"
+ },
"engines": {
"node": "*"
},
"gitHead": "65a5d884f25b4b7a1608e367d715d713dbd3b3d6",
- "bugs": {
- "url": "https://github.com/TooTallNate/array-index/issues"
- },
"homepage": "https://github.com/TooTallNate/array-index",
- "_id": "array-index@0.1.1",
- "_shasum": "4d5eaf06cc3d925847cd73d1535c217ba306d3e1",
- "_from": "array-index@>=0.1.0 <0.2.0",
- "_npmVersion": "2.1.3",
- "_nodeVersion": "0.10.32",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- },
+ "keywords": [
+ "array",
+ "getter",
+ "index",
+ "proxy",
+ "setter"
+ ],
+ "main": "index.js",
"maintainers": [
{
"name": "tootallnate",
"email": "nathan@tootallnate.net"
}
],
- "dist": {
- "shasum": "4d5eaf06cc3d925847cd73d1535c217ba306d3e1",
- "tarball": "http://registry.npmjs.org/array-index/-/array-index-0.1.1.tgz"
+ "name": "array-index",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/TooTallNate/array-index.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/array-index/-/array-index-0.1.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test"
+ },
+ "version": "0.1.1"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/test.js b/deps/npm/node_modules/array-index/test.js
index d9e9c18281..d9e9c18281 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/test.js
+++ b/deps/npm/node_modules/array-index/test.js
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/CHANGES.md b/deps/npm/node_modules/asap/CHANGES.md
index 8e6202305a..8e6202305a 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/CHANGES.md
+++ b/deps/npm/node_modules/asap/CHANGES.md
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/LICENSE.md b/deps/npm/node_modules/asap/LICENSE.md
index ba18c61390..0d82d695f7 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/LICENSE.md
+++ b/deps/npm/node_modules/asap/LICENSE.md
@@ -18,4 +18,3 @@ 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/dezalgo/node_modules/asap/README.md b/deps/npm/node_modules/asap/README.md
index 452fd8c203..d60a08a044 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/README.md
+++ b/deps/npm/node_modules/asap/README.md
@@ -234,4 +234,3 @@ browser-only implementation.
Copyright 2009-2014 by Contributors
MIT License (enclosed)
-
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/asap.js b/deps/npm/node_modules/asap/asap.js
index f04fcd58fc..3a27c8cee7 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/asap.js
+++ b/deps/npm/node_modules/asap/asap.js
@@ -62,4 +62,3 @@ RawTask.prototype.call = function () {
freeTasks.push(this);
}
};
-
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/browser-asap.js b/deps/npm/node_modules/asap/browser-asap.js
index 805c982460..805c982460 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/browser-asap.js
+++ b/deps/npm/node_modules/asap/browser-asap.js
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/browser-raw.js b/deps/npm/node_modules/asap/browser-raw.js
index 1cfd77293b..1cfd77293b 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/browser-raw.js
+++ b/deps/npm/node_modules/asap/browser-raw.js
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/package.json b/deps/npm/node_modules/asap/package.json
index e01b3f06de..6c4417126b 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/package.json
+++ b/deps/npm/node_modules/asap/package.json
@@ -1,44 +1,47 @@
{
- "name": "asap",
- "version": "2.0.3",
- "description": "High-priority task queue for Node.js and browsers",
- "keywords": [
- "event",
- "task",
- "queue"
+ "_args": [
+ [
+ "asap@^2.0.0",
+ "/Users/rebecca/code/npm/node_modules/dezalgo"
+ ]
],
- "license": {
- "type": "MIT",
- "url": "https://github.com/kriskowal/asap/raw/master/LICENSE.md"
+ "_from": "asap@>=2.0.0 <3.0.0",
+ "_id": "asap@2.0.3",
+ "_inCache": true,
+ "_location": "/asap",
+ "_nodeVersion": "1.8.1",
+ "_npmUser": {
+ "email": "kris.kowal@cixar.com",
+ "name": "kriskowal"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kriskowal/asap.git"
+ "_npmVersion": "2.8.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "asap",
+ "raw": "asap@^2.0.0",
+ "rawSpec": "^2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
},
- "main": "./asap.js",
+ "_requiredBy": [
+ "/dezalgo"
+ ],
+ "_resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz",
+ "_shasum": "1fc1d1564ee11620dfca6d67029850913f9f4679",
+ "_shrinkwrap": null,
+ "_spec": "asap@^2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/dezalgo",
"browser": {
"./asap.js": "./browser-asap.js",
"./raw.js": "./browser-raw.js",
"./test/domain.js": "./test/browser-domain.js"
},
- "files": [
- "raw.js",
- "asap.js",
- "browser-raw.js",
- "browser-asap.js"
- ],
- "scripts": {
- "test": "npm run lint && npm run test-node",
- "test-travis": "npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker",
- "test-node": "node test/asap-test.js",
- "test-publish": "node scripts/publish-bundle.js test/asap-test.js | pbcopy",
- "test-browser": "node scripts/publish-bundle.js test/asap-test.js | xargs opener",
- "test-saucelabs": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json",
- "test-saucelabs-all": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json",
- "test-saucelabs-worker": "node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json",
- "test-saucelabs-worker-all": "node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json",
- "lint": "jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)"
+ "bugs": {
+ "url": "https://github.com/kriskowal/asap/issues"
},
+ "dependencies": {},
+ "description": "High-priority task queue for Node.js and browsers",
"devDependencies": {
"events": "^1.0.1",
"jshint": "^2.5.1",
@@ -51,20 +54,29 @@
"wd": "^0.2.21",
"weak-map": "^1.0.5"
},
- "gitHead": "ccbf94d4e4a0c3afc2df13331044020a46a74ab6",
- "bugs": {
- "url": "https://github.com/kriskowal/asap/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "1fc1d1564ee11620dfca6d67029850913f9f4679",
+ "tarball": "http://registry.npmjs.org/asap/-/asap-2.0.3.tgz"
},
+ "files": [
+ "asap.js",
+ "browser-asap.js",
+ "browser-raw.js",
+ "raw.js"
+ ],
+ "gitHead": "ccbf94d4e4a0c3afc2df13331044020a46a74ab6",
"homepage": "https://github.com/kriskowal/asap#readme",
- "_id": "asap@2.0.3",
- "_shasum": "1fc1d1564ee11620dfca6d67029850913f9f4679",
- "_from": "asap@>=2.0.0 <3.0.0",
- "_npmVersion": "2.8.3",
- "_nodeVersion": "1.8.1",
- "_npmUser": {
- "name": "kriskowal",
- "email": "kris.kowal@cixar.com"
+ "keywords": [
+ "event",
+ "queue",
+ "task"
+ ],
+ "license": {
+ "type": "MIT",
+ "url": "https://github.com/kriskowal/asap/raw/master/LICENSE.md"
},
+ "main": "./asap.js",
"maintainers": [
{
"name": "kriskowal",
@@ -75,11 +87,23 @@
"email": "forbes@lindesay.co.uk"
}
],
- "dist": {
- "shasum": "1fc1d1564ee11620dfca6d67029850913f9f4679",
- "tarball": "http://registry.npmjs.org/asap/-/asap-2.0.3.tgz"
+ "name": "asap",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/kriskowal/asap.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "lint": "jshint raw.js asap.js browser-raw.js browser-asap.js $(find scripts -name '*.js' | grep -v gauntlet)",
+ "test": "npm run lint && npm run test-node",
+ "test-browser": "node scripts/publish-bundle.js test/asap-test.js | xargs opener",
+ "test-node": "node test/asap-test.js",
+ "test-publish": "node scripts/publish-bundle.js test/asap-test.js | pbcopy",
+ "test-saucelabs": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-spot-configurations.json",
+ "test-saucelabs-all": "node scripts/saucelabs.js test/asap-test.js scripts/saucelabs-all-configurations.json",
+ "test-saucelabs-worker": "node scripts/saucelabs-worker-test.js scripts/saucelabs-spot-configurations.json",
+ "test-saucelabs-worker-all": "node scripts/saucelabs-worker-test.js scripts/saucelabs-all-configurations.json",
+ "test-travis": "npm run lint && npm run test-node && npm run test-saucelabs && npm run test-saucelabs-worker"
+ },
+ "version": "2.0.3"
}
diff --git a/deps/npm/node_modules/dezalgo/node_modules/asap/raw.js b/deps/npm/node_modules/asap/raw.js
index ae3b892316..ae3b892316 100644
--- a/deps/npm/node_modules/dezalgo/node_modules/asap/raw.js
+++ b/deps/npm/node_modules/asap/raw.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/.npmignore b/deps/npm/node_modules/asn1/.npmignore
index eb03e3e1e4..eb03e3e1e4 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/.npmignore
+++ b/deps/npm/node_modules/asn1/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE b/deps/npm/node_modules/asn1/LICENSE
index 9b5dcdb7f5..9b5dcdb7f5 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/LICENSE
+++ b/deps/npm/node_modules/asn1/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/README.md b/deps/npm/node_modules/asn1/README.md
index 7cebf7a2e8..7cebf7a2e8 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/README.md
+++ b/deps/npm/node_modules/asn1/README.md
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js b/deps/npm/node_modules/asn1/lib/ber/errors.js
index ff21d4fab3..ff21d4fab3 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/errors.js
+++ b/deps/npm/node_modules/asn1/lib/ber/errors.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js b/deps/npm/node_modules/asn1/lib/ber/index.js
index 4fb90aea9a..4fb90aea9a 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/index.js
+++ b/deps/npm/node_modules/asn1/lib/ber/index.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js b/deps/npm/node_modules/asn1/lib/ber/reader.js
index bd3357a67d..bd3357a67d 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/reader.js
+++ b/deps/npm/node_modules/asn1/lib/ber/reader.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js b/deps/npm/node_modules/asn1/lib/ber/types.js
index 8aea000137..8aea000137 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/types.js
+++ b/deps/npm/node_modules/asn1/lib/ber/types.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js b/deps/npm/node_modules/asn1/lib/ber/writer.js
index 7b445cc602..7b445cc602 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/ber/writer.js
+++ b/deps/npm/node_modules/asn1/lib/ber/writer.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js b/deps/npm/node_modules/asn1/lib/index.js
index d1766e7a6d..d1766e7a6d 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/lib/index.js
+++ b/deps/npm/node_modules/asn1/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json b/deps/npm/node_modules/asn1/package.json
index be2bc636ad..3cfaafd3e5 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/package.json
+++ b/deps/npm/node_modules/asn1/package.json
@@ -1,7 +1,42 @@
{
+ "_args": [
+ [
+ "asn1@0.1.11",
+ "/Users/rebecca/code/npm/node_modules/http-signature"
+ ]
+ ],
+ "_defaultsLoaded": true,
+ "_engineSupported": true,
+ "_from": "asn1@0.1.11",
+ "_id": "asn1@0.1.11",
+ "_inCache": true,
+ "_location": "/asn1",
+ "_nodeVersion": "v0.6.6",
+ "_npmUser": {
+ "email": "mcavage@gmail.com",
+ "name": "mcavage"
+ },
+ "_npmVersion": "1.1.0-beta-4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "asn1",
+ "raw": "asn1@0.1.11",
+ "rawSpec": "0.1.11",
+ "scope": null,
+ "spec": "0.1.11",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/http-signature"
+ ],
+ "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
+ "_shasum": "559be18376d08a4ec4dbe80877d27818639b2df7",
+ "_shrinkwrap": null,
+ "_spec": "asn1@0.1.11",
+ "_where": "/Users/rebecca/code/npm/node_modules/http-signature",
"author": {
- "name": "Mark Cavage",
- "email": "mcavage@gmail.com"
+ "email": "mcavage@gmail.com",
+ "name": "Mark Cavage"
},
"contributors": [
{
@@ -13,51 +48,35 @@
"email": "yunong@joyent.com"
}
],
- "name": "asn1",
- "description": "Contains parsers and serializers for ASN.1 (currently BER only)",
- "version": "0.1.11",
- "repository": {
- "type": "git",
- "url": "git://github.com/mcavage/node-asn1.git"
- },
- "main": "lib/index.js",
- "engines": {
- "node": ">=0.4.9"
- },
"dependencies": {},
+ "description": "Contains parsers and serializers for ASN.1 (currently BER only)",
"devDependencies": {
"tap": "0.1.4"
},
- "scripts": {
- "pretest": "which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi",
- "test": "tap ./tst"
- },
- "_npmUser": {
- "name": "mcavage",
- "email": "mcavage@gmail.com"
- },
- "_id": "asn1@0.1.11",
- "_engineSupported": true,
- "_npmVersion": "1.1.0-beta-4",
- "_nodeVersion": "v0.6.6",
- "_defaultsLoaded": true,
+ "directories": {},
"dist": {
"shasum": "559be18376d08a4ec4dbe80877d27818639b2df7",
"tarball": "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
},
+ "engines": {
+ "node": ">=0.4.9"
+ },
+ "main": "lib/index.js",
"maintainers": [
{
"name": "mcavage",
"email": "mcavage@gmail.com"
}
],
- "directories": {},
- "_shasum": "559be18376d08a4ec4dbe80877d27818639b2df7",
- "_resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz",
- "_from": "asn1@0.1.11",
- "bugs": {
- "url": "https://github.com/mcavage/node-asn1/issues"
+ "name": "asn1",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/mcavage/node-asn1.git"
+ },
+ "scripts": {
+ "pretest": "which gjslint; if [[ \"$?\" = 0 ]] ; then gjslint --nojsdoc -r lib -r tst; else echo \"Missing gjslint. Skipping lint\"; fi",
+ "test": "./node_modules/.bin/tap ./tst"
},
- "readme": "ERROR: No README data found!",
- "homepage": "https://github.com/mcavage/node-asn1#readme"
+ "version": "0.1.11"
}
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js b/deps/npm/node_modules/asn1/tst/ber/reader.test.js
index 0b78b474f4..0b78b474f4 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/reader.test.js
+++ b/deps/npm/node_modules/asn1/tst/ber/reader.test.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js b/deps/npm/node_modules/asn1/tst/ber/writer.test.js
index add0b9fd3c..add0b9fd3c 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/asn1/tst/ber/writer.test.js
+++ b/deps/npm/node_modules/asn1/tst/ber/writer.test.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md b/deps/npm/node_modules/assert-plus/README.md
index c0c3a53087..c0c3a53087 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/README.md
+++ b/deps/npm/node_modules/assert-plus/README.md
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js b/deps/npm/node_modules/assert-plus/assert.js
index ff2ba02de8..ff2ba02de8 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/assert.js
+++ b/deps/npm/node_modules/assert-plus/assert.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json b/deps/npm/node_modules/assert-plus/package.json
index 6fcca673f1..37eeed1d2b 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/assert-plus/package.json
+++ b/deps/npm/node_modules/assert-plus/package.json
@@ -1,45 +1,66 @@
{
- "author": {
- "name": "Mark Cavage",
- "email": "mcavage@gmail.com"
+ "_args": [
+ [
+ "assert-plus@^0.1.5",
+ "/Users/rebecca/code/npm/node_modules/http-signature"
+ ]
+ ],
+ "_from": "assert-plus@>=0.1.5 <0.2.0",
+ "_id": "assert-plus@0.1.5",
+ "_inCache": true,
+ "_location": "/assert-plus",
+ "_npmUser": {
+ "email": "mcavage@gmail.com",
+ "name": "mcavage"
},
- "name": "assert-plus",
- "description": "Extra assertions on top of node's assert module",
- "version": "0.1.5",
- "main": "./assert.js",
- "devDependencies": {},
- "optionalDependencies": {},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mcavage/node-assert-plus.git"
+ "_npmVersion": "1.3.11",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "assert-plus",
+ "raw": "assert-plus@^0.1.5",
+ "rawSpec": "^0.1.5",
+ "scope": null,
+ "spec": ">=0.1.5 <0.2.0",
+ "type": "range"
},
- "engines": {
- "node": ">=0.8"
+ "_requiredBy": [
+ "/http-signature"
+ ],
+ "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
+ "_shasum": "ee74009413002d84cec7219c6ac811812e723160",
+ "_shrinkwrap": null,
+ "_spec": "assert-plus@^0.1.5",
+ "_where": "/Users/rebecca/code/npm/node_modules/http-signature",
+ "author": {
+ "email": "mcavage@gmail.com",
+ "name": "Mark Cavage"
},
"bugs": {
"url": "https://github.com/mcavage/node-assert-plus/issues"
},
"dependencies": {},
- "_id": "assert-plus@0.1.5",
+ "description": "Extra assertions on top of node's assert module",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "ee74009413002d84cec7219c6ac811812e723160",
"tarball": "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"
},
- "_from": "assert-plus@>=0.1.5 <0.2.0",
- "_npmVersion": "1.3.11",
- "_npmUser": {
- "name": "mcavage",
- "email": "mcavage@gmail.com"
+ "engines": {
+ "node": ">=0.8"
},
+ "main": "./assert.js",
"maintainers": [
{
"name": "mcavage",
"email": "mcavage@gmail.com"
}
],
- "directories": {},
- "_shasum": "ee74009413002d84cec7219c6ac811812e723160",
- "_resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz",
- "readme": "ERROR: No README data found!",
- "homepage": "https://github.com/mcavage/node-assert-plus#readme"
+ "name": "assert-plus",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/mcavage/node-assert-plus.git"
+ },
+ "version": "0.1.5"
}
diff --git a/deps/npm/node_modules/async-some/package.json b/deps/npm/node_modules/async-some/package.json
index b7d5521e58..e2b7ad635a 100644
--- a/deps/npm/node_modules/async-some/package.json
+++ b/deps/npm/node_modules/async-some/package.json
@@ -1,41 +1,81 @@
{
- "name": "async-some",
- "version": "1.0.2",
- "description": "short-circuited, asynchronous version of Array.protototype.some",
- "main": "some.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "async-some@~1.0.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "async-some@>=1.0.2 <1.1.0",
+ "_id": "async-some@1.0.2",
+ "_inCache": true,
+ "_location": "/async-some",
+ "_nodeVersion": "2.0.2",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/othiym23/async-some.git"
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "async-some",
+ "raw": "async-some@~1.0.2",
+ "rawSpec": "~1.0.2",
+ "scope": null,
+ "spec": ">=1.0.2 <1.1.0",
+ "type": "range"
},
- "keywords": [
- "async",
- "some",
- "array",
- "collections",
- "fp"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/async-some/-/async-some-1.0.2.tgz",
+ "_shasum": "4d8a81620d5958791b5b98f802d3207776e95509",
+ "_shrinkwrap": null,
+ "_spec": "async-some@~1.0.2",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Forrest L Norvell",
- "email": "ogd@aoaioxxysz.net"
+ "email": "ogd@aoaioxxysz.net",
+ "name": "Forrest L Norvell"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/othiym23/async-some/issues"
},
- "homepage": "https://github.com/othiym23/async-some",
"dependencies": {
"dezalgo": "^1.0.2"
},
+ "description": "short-circuited, asynchronous version of Array.protototype.some",
"devDependencies": {
"tap": "^1.1.0"
},
- "readme": "# some\n\nShort-circuited async Array.prototype.some implementation.\n\nSerially evaluates a list of values from a JS array or arraylike\nagainst an asynchronous predicate, terminating on the first truthy\nvalue. If the predicate encounters an error, pass it to the completion\ncallback. Otherwise, pass the truthy value passed by the predicate, or\n`false` if no truthy value was passed.\n\nIs\n[Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony)-proof,\nbrowser-safe, and pretty efficient.\n\n## Usage\n\n```javascript\nvar some = require(\"async-some\");\nvar resolve = require(\"path\").resolve;\nvar stat = require(\"fs\").stat;\nvar readFileSync = require(\"fs\").readFileSync;\n\nsome([\"apple\", \"seaweed\", \"ham\", \"quince\"], porkDetector, function (error, match) {\n if (error) return console.error(error);\n\n if (match) return console.dir(JSON.parse(readFileSync(match)));\n\n console.error(\"time to buy more Sporkle™!\");\n});\n\nvar PREFIX = resolve(__dirname, \"../pork_store\");\nfunction porkDetector(value, cb) {\n var path = resolve(PREFIX, value + \".json\");\n stat(path, function (er, stat) {\n if (er) {\n if (er.code === \"ENOENT\") return cb(null, false);\n\n return cb(er);\n }\n\n cb(er, path);\n });\n}\n```\n\n### some(list, test, callback)\n\n* `list` {Object} An arraylike (either an Array or the arguments arraylike) to\n be checked.\n* `test` {Function} The predicate against which the elements of `list` will be\n tested. Takes two parameters:\n * `element` {any} The element of the list to be tested.\n * `callback` {Function} The continuation to be called once the test is\n complete. Takes (again) two values:\n * `error` {Error} Any errors that the predicate encountered.\n * `value` {any} A truthy value. A non-falsy result terminates checking the\n entire list.\n* `callback` {Function} The callback to invoke when either a value has been\n found or the entire input list has been processed with no result. Is invoked\n with the traditional two parameters:\n * `error` {Error} Errors that were encountered during the evaluation of some().\n * `match` {any} Value successfully matched by `test`, if any.\n",
- "readmeFilename": "README.md",
+ "directories": {},
+ "dist": {
+ "shasum": "4d8a81620d5958791b5b98f802d3207776e95509",
+ "tarball": "http://registry.npmjs.org/async-some/-/async-some-1.0.2.tgz"
+ },
"gitHead": "3a5086ad54739c48b2bbf073f23bcc95658199e3",
- "_id": "async-some@1.0.2",
- "_shasum": "4d8a81620d5958791b5b98f802d3207776e95509",
- "_from": "async-some@>=1.0.2 <1.1.0"
+ "homepage": "https://github.com/othiym23/async-some",
+ "keywords": [
+ "array",
+ "async",
+ "collections",
+ "fp",
+ "some"
+ ],
+ "license": "ISC",
+ "main": "some.js",
+ "maintainers": [
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ }
+ ],
+ "name": "async-some",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/othiym23/async-some.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/CHANGELOG.md b/deps/npm/node_modules/async/CHANGELOG.md
index b0ffd4f3b6..b0ffd4f3b6 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/CHANGELOG.md
+++ b/deps/npm/node_modules/async/CHANGELOG.md
diff --git a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/LICENSE b/deps/npm/node_modules/async/LICENSE
index 8f29698588..8f29698588 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/LICENSE
+++ b/deps/npm/node_modules/async/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js b/deps/npm/node_modules/async/lib/async.js
index 1f1e0effaa..1f1e0effaa 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/lib/async.js
+++ b/deps/npm/node_modules/async/lib/async.js
diff --git a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/package.json b/deps/npm/node_modules/async/package.json
index d646d80345..cd315c1447 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/node_modules/async/package.json
+++ b/deps/npm/node_modules/async/package.json
@@ -1,28 +1,46 @@
{
- "name": "async",
- "description": "Higher-order functions and common patterns for asynchronous code",
- "main": "lib/async.js",
- "files": [
- "lib"
+ "_args": [
+ [
+ "async@1.4.2",
+ "/Users/rebecca/code/npm"
+ ]
],
- "author": {
- "name": "Caolan McMahon"
+ "_from": "async@1.4.2",
+ "_id": "async@1.4.2",
+ "_inCache": true,
+ "_location": "/async",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "megawac@gmail.com",
+ "name": "megawac"
},
- "version": "1.4.2",
- "keywords": [
- "async",
- "callback",
- "utility",
- "module"
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "async",
+ "raw": "async@1.4.2",
+ "rawSpec": "1.4.2",
+ "scope": null,
+ "spec": "1.4.2",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/form-data",
+ "/istanbul"
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/caolan/async.git"
+ "_resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz",
+ "_shasum": "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab",
+ "_shrinkwrap": null,
+ "_spec": "async@1.4.2",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "name": "Caolan McMahon"
},
"bugs": {
"url": "https://github.com/caolan/async/issues"
},
- "license": "MIT",
+ "dependencies": {},
+ "description": "Higher-order functions and common patterns for asynchronous code",
"devDependencies": {
"benchmark": "github:bestiejs/benchmark.js",
"bluebird": "^2.9.32",
@@ -47,55 +65,36 @@
"xyz": "^0.5.0",
"yargs": "~3.9.1"
},
+ "directories": {},
+ "dist": {
+ "shasum": "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab",
+ "tarball": "http://registry.npmjs.org/async/-/async-1.4.2.tgz"
+ },
+ "files": [
+ "lib"
+ ],
+ "gitHead": "92f78aebad222d60c13e4299c0e723f2fe2d6611",
+ "homepage": "https://github.com/caolan/async#readme",
+ "installable": true,
"jam": {
- "main": "lib/async.js",
+ "categories": [
+ "Utilities"
+ ],
"include": [
- "lib/async.js",
+ "LICENSE",
"README.md",
- "LICENSE"
+ "lib/async.js"
],
- "categories": [
- "Utilities"
- ]
- },
- "scripts": {
- "mocha-node-test": "mocha mocha_test/",
- "mocha-browser-test": "karma start",
- "mocha-test": "npm run mocha-node-test && npm run mocha-browser-test",
- "nodeunit-test": "nodeunit test/test-async.js",
- "test": "npm run-script lint && npm run nodeunit-test && npm run mocha-test",
- "lint": "jshint lib/*.js test/*.js perf/*.js && jscs lib/*.js test/*.js perf/*.js",
- "coverage": "nyc npm test && nyc report",
- "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls"
- },
- "spm": {
"main": "lib/async.js"
},
- "volo": {
- "main": "lib/async.js",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ]
- },
- "gitHead": "92f78aebad222d60c13e4299c0e723f2fe2d6611",
- "homepage": "https://github.com/caolan/async#readme",
- "_id": "async@1.4.2",
- "_shasum": "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab",
- "_from": "async@>=1.4.0 <2.0.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "megawac",
- "email": "megawac@gmail.com"
- },
- "dist": {
- "shasum": "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab",
- "tarball": "http://registry.npmjs.org/async/-/async-1.4.2.tgz"
- },
+ "keywords": [
+ "async",
+ "callback",
+ "module",
+ "utility"
+ ],
+ "license": "MIT",
+ "main": "lib/async.js",
"maintainers": [
{
"name": "caolan",
@@ -114,7 +113,34 @@
"email": "megawac@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "async",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/caolan/async.git"
+ },
+ "scripts": {
+ "coverage": "nyc npm test && nyc report",
+ "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls",
+ "lint": "jshint lib/*.js test/*.js perf/*.js && jscs lib/*.js test/*.js perf/*.js",
+ "mocha-browser-test": "karma start",
+ "mocha-node-test": "mocha mocha_test/",
+ "mocha-test": "npm run mocha-node-test && npm run mocha-browser-test",
+ "nodeunit-test": "nodeunit test/test-async.js",
+ "test": "npm run-script lint && npm run nodeunit-test && npm run mocha-test"
+ },
+ "spm": {
+ "main": "lib/async.js"
+ },
+ "version": "1.4.2",
+ "volo": {
+ "ignore": [
+ "**/.*",
+ "bower_components",
+ "node_modules",
+ "test",
+ "tests"
+ ],
+ "main": "lib/async.js"
+ }
}
diff --git a/deps/npm/node_modules/request/node_modules/aws-sign2/LICENSE b/deps/npm/node_modules/aws-sign2/LICENSE
index a4a9aee0c2..a4a9aee0c2 100644
--- a/deps/npm/node_modules/request/node_modules/aws-sign2/LICENSE
+++ b/deps/npm/node_modules/aws-sign2/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/aws-sign2/README.md b/deps/npm/node_modules/aws-sign2/README.md
index 763564e0aa..763564e0aa 100644
--- a/deps/npm/node_modules/request/node_modules/aws-sign2/README.md
+++ b/deps/npm/node_modules/aws-sign2/README.md
diff --git a/deps/npm/node_modules/request/node_modules/aws-sign2/index.js b/deps/npm/node_modules/aws-sign2/index.js
index 576e49ddff..d954c3bd07 100644
--- a/deps/npm/node_modules/request/node_modules/aws-sign2/index.js
+++ b/deps/npm/node_modules/aws-sign2/index.js
@@ -17,7 +17,7 @@ var crypto = require('crypto')
* Valid keys.
*/
-var keys =
+var keys =
[ 'acl'
, 'location'
, 'logging'
@@ -56,7 +56,7 @@ module.exports.authorization = authorization
* @param {Object} options
* @return {String}
* @api private
- */
+ */
function hmacSha1 (options) {
return crypto.createHmac('sha1', options.secret).update(options.message).digest('base64')
@@ -65,8 +65,8 @@ function hmacSha1 (options) {
module.exports.hmacSha1 = hmacSha1
/**
- * Create a base64 sha1 HMAC for `options`.
- *
+ * Create a base64 sha1 HMAC for `options`.
+ *
* @param {Object} options
* @return {String}
* @api private
@@ -79,10 +79,10 @@ function sign (options) {
module.exports.sign = sign
/**
- * Create a base64 sha1 HMAC for `options`.
+ * Create a base64 sha1 HMAC for `options`.
*
* Specifically to be used with S3 presigned URLs
- *
+ *
* @param {Object} options
* @return {String}
* @api private
@@ -98,7 +98,7 @@ module.exports.signQuery= signQuery
* Return a string for sign() with the given `options`.
*
* Spec:
- *
+ *
* <verb>\n
* <md5>\n
* <content-type>\n
@@ -114,7 +114,7 @@ module.exports.signQuery= signQuery
function stringToSign (options) {
var headers = options.amazonHeaders || ''
if (headers) headers += '\n'
- var r =
+ var r =
[ options.verb
, options.md5
, options.contentType
@@ -130,7 +130,7 @@ module.exports.queryStringToSign = stringToSign
* for S3 presigned URLs
*
* Spec:
- *
+ *
* <date>\n
* <resource>
*
diff --git a/deps/npm/node_modules/request/node_modules/aws-sign2/package.json b/deps/npm/node_modules/aws-sign2/package.json
index b454fe4697..8bb70110aa 100644
--- a/deps/npm/node_modules/request/node_modules/aws-sign2/package.json
+++ b/deps/npm/node_modules/aws-sign2/package.json
@@ -1,46 +1,68 @@
{
- "author": {
- "name": "Mikeal Rogers",
+ "_args": [
+ [
+ "aws-sign2@~0.5.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "aws-sign2@>=0.5.0 <0.6.0",
+ "_id": "aws-sign2@0.5.0",
+ "_inCache": true,
+ "_location": "/aws-sign2",
+ "_npmUser": {
"email": "mikeal.rogers@gmail.com",
- "url": "http://www.futurealoof.com"
+ "name": "mikeal"
},
- "name": "aws-sign2",
- "description": "AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.",
- "version": "0.5.0",
- "repository": {
- "url": "git+https://github.com/mikeal/aws-sign.git"
+ "_npmVersion": "1.3.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "aws-sign2",
+ "raw": "aws-sign2@~0.5.0",
+ "rawSpec": "~0.5.0",
+ "scope": null,
+ "spec": ">=0.5.0 <0.6.0",
+ "type": "range"
},
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {},
- "optionalDependencies": {},
- "engines": {
- "node": "*"
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
+ "_shasum": "c57103f7a17fc037f02d7c2e64b602ea223f7d63",
+ "_shrinkwrap": null,
+ "_spec": "aws-sign2@~0.5.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "author": {
+ "email": "mikeal.rogers@gmail.com",
+ "name": "Mikeal Rogers",
+ "url": "http://www.futurealoof.com"
},
- "readme": "aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n",
- "readmeFilename": "README.md",
"bugs": {
"url": "https://github.com/mikeal/aws-sign/issues"
},
- "_id": "aws-sign2@0.5.0",
+ "dependencies": {},
+ "description": "AWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "c57103f7a17fc037f02d7c2e64b602ea223f7d63",
"tarball": "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
},
- "_from": "aws-sign2@>=0.5.0 <0.6.0",
- "_npmVersion": "1.3.2",
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
+ "engines": {
+ "node": "*"
},
+ "main": "index.js",
"maintainers": [
{
"name": "mikeal",
"email": "mikeal.rogers@gmail.com"
}
],
- "directories": {},
- "_shasum": "c57103f7a17fc037f02d7c2e64b602ea223f7d63",
- "_resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz",
- "homepage": "https://github.com/mikeal/aws-sign#readme"
+ "name": "aws-sign2",
+ "optionalDependencies": {},
+ "readme": "aws-sign\n========\n\nAWS signing. Originally pulled from LearnBoost/knox, maintained as vendor in request, now a standalone module.\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "url": "https://github.com/mikeal/aws-sign"
+ },
+ "version": "0.5.0"
}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore b/deps/npm/node_modules/balanced-match/.npmignore
index fd4f2b066b..fd4f2b066b 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
+++ b/deps/npm/node_modules/balanced-match/.npmignore
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml b/deps/npm/node_modules/balanced-match/.travis.yml
index cc4dba29d9..cc4dba29d9 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml
+++ b/deps/npm/node_modules/balanced-match/.travis.yml
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile b/deps/npm/node_modules/balanced-match/Makefile
index fa5da71a6d..dd2730cfde 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
+++ b/deps/npm/node_modules/balanced-match/Makefile
@@ -3,4 +3,3 @@ test:
@node_modules/.bin/tape test/*.js
.PHONY: test
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md b/deps/npm/node_modules/balanced-match/README.md
index 2aff0ebff4..2aff0ebff4 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
+++ b/deps/npm/node_modules/balanced-match/README.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js b/deps/npm/node_modules/balanced-match/example.js
index c02ad348e6..9ce76f480a 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
+++ b/deps/npm/node_modules/balanced-match/example.js
@@ -2,4 +2,3 @@ var balanced = require('./');
console.log(balanced('{', '}', 'pre{in{nested}}post'));
console.log(balanced('{', '}', 'pre{first}between{second}post'));
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js b/deps/npm/node_modules/balanced-match/index.js
index d165ae8174..d165ae8174 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
+++ b/deps/npm/node_modules/balanced-match/index.js
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json b/deps/npm/node_modules/balanced-match/package.json
index ede6efefa0..3f11aaccbf 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
+++ b/deps/npm/node_modules/balanced-match/package.json
@@ -1,73 +1,96 @@
{
- "name": "balanced-match",
- "description": "Match balanced character pairs, like \"{\" and \"}\"",
- "version": "0.2.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/balanced-match.git"
- },
- "homepage": "https://github.com/juliangruber/balanced-match",
- "main": "index.js",
- "scripts": {
- "test": "make test"
+ "_args": [
+ [
+ "balanced-match@^0.2.0",
+ "/Users/rebecca/code/npm/node_modules/brace-expansion"
+ ]
+ ],
+ "_from": "balanced-match@>=0.2.0 <0.3.0",
+ "_id": "balanced-match@0.2.0",
+ "_inCache": true,
+ "_location": "/balanced-match",
+ "_nodeVersion": "0.10.32",
+ "_npmUser": {
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
},
- "dependencies": {},
- "devDependencies": {
- "tape": "~1.1.1"
+ "_npmVersion": "2.1.8",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "balanced-match",
+ "raw": "balanced-match@^0.2.0",
+ "rawSpec": "^0.2.0",
+ "scope": null,
+ "spec": ">=0.2.0 <0.3.0",
+ "type": "range"
},
- "keywords": [
- "match",
- "regexp",
- "test",
- "balanced",
- "parse"
+ "_requiredBy": [
+ "/brace-expansion"
],
+ "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz",
+ "_shasum": "38f6730c03aab6d5edbb52bd934885e756d71674",
+ "_shrinkwrap": null,
+ "_spec": "balanced-match@^0.2.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/brace-expansion",
"author": {
- "name": "Julian Gruber",
"email": "mail@juliangruber.com",
+ "name": "Julian Gruber",
"url": "http://juliangruber.com"
},
- "license": "MIT",
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/8..latest",
- "firefox/20..latest",
- "firefox/nightly",
- "chrome/25..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- },
- "gitHead": "ba40ed78e7114a4a67c51da768a100184dead39c",
"bugs": {
"url": "https://github.com/juliangruber/balanced-match/issues"
},
- "_id": "balanced-match@0.2.0",
- "_shasum": "38f6730c03aab6d5edbb52bd934885e756d71674",
- "_from": "balanced-match@>=0.2.0 <0.3.0",
- "_npmVersion": "2.1.8",
- "_nodeVersion": "0.10.32",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
+ "dependencies": {},
+ "description": "Match balanced character pairs, like \"{\" and \"}\"",
+ "devDependencies": {
+ "tape": "~1.1.1"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "38f6730c03aab6d5edbb52bd934885e756d71674",
+ "tarball": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
},
+ "gitHead": "ba40ed78e7114a4a67c51da768a100184dead39c",
+ "homepage": "https://github.com/juliangruber/balanced-match",
+ "keywords": [
+ "balanced",
+ "match",
+ "parse",
+ "regexp",
+ "test"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "juliangruber",
"email": "julian@juliangruber.com"
}
],
- "dist": {
- "shasum": "38f6730c03aab6d5edbb52bd934885e756d71674",
- "tarball": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
+ "name": "balanced-match",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/balanced-match.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "make test"
+ },
+ "testling": {
+ "browsers": [
+ "android-browser/4.2..latest",
+ "chrome/25..latest",
+ "chrome/canary",
+ "firefox/20..latest",
+ "firefox/nightly",
+ "ie/8..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest"
+ ],
+ "files": "test/*.js"
+ },
+ "version": "0.2.0"
}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js b/deps/npm/node_modules/balanced-match/test/balanced.js
index 36bfd39954..36bfd39954 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js
+++ b/deps/npm/node_modules/balanced-match/test/balanced.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/.npmignore b/deps/npm/node_modules/bl/.npmignore
index 40b878db5b..40b878db5b 100644
--- a/deps/npm/node_modules/request/node_modules/bl/.npmignore
+++ b/deps/npm/node_modules/bl/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/bl/.travis.yml b/deps/npm/node_modules/bl/.travis.yml
index 81c0814189..81c0814189 100644
--- a/deps/npm/node_modules/request/node_modules/bl/.travis.yml
+++ b/deps/npm/node_modules/bl/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/bl/LICENSE.md b/deps/npm/node_modules/bl/LICENSE.md
index ccb24797c8..ccb24797c8 100644
--- a/deps/npm/node_modules/request/node_modules/bl/LICENSE.md
+++ b/deps/npm/node_modules/bl/LICENSE.md
diff --git a/deps/npm/node_modules/request/node_modules/bl/README.md b/deps/npm/node_modules/bl/README.md
index 4d87866aa1..4d87866aa1 100644
--- a/deps/npm/node_modules/request/node_modules/bl/README.md
+++ b/deps/npm/node_modules/bl/README.md
diff --git a/deps/npm/node_modules/request/node_modules/bl/bl.js b/deps/npm/node_modules/bl/bl.js
index 7a2f99788e..7a2f99788e 100644
--- a/deps/npm/node_modules/request/node_modules/bl/bl.js
+++ b/deps/npm/node_modules/bl/bl.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.npmignore b/deps/npm/node_modules/bl/node_modules/readable-stream/.npmignore
index 38344f87a6..38344f87a6 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.npmignore
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/.npmignore
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml b/deps/npm/node_modules/bl/node_modules/readable-stream/.travis.yml
index a2870dfb16..a2870dfb16 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/.travis.yml
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.zuul.yml b/deps/npm/node_modules/bl/node_modules/readable-stream/.zuul.yml
index 96d9cfbd38..96d9cfbd38 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.zuul.yml
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/.zuul.yml
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/LICENSE b/deps/npm/node_modules/bl/node_modules/readable-stream/LICENSE
index e3d4e695a4..e3d4e695a4 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/LICENSE
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/LICENSE
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md b/deps/npm/node_modules/bl/node_modules/readable-stream/README.md
index 77fafa3da1..77fafa3da1 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/README.md
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/README.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown b/deps/npm/node_modules/bl/node_modules/readable-stream/doc/stream.markdown
index a2270c8805..a2270c8805 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/doc/stream.markdown
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/deps/npm/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
index c141a99c26..c141a99c26 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/duplex.js b/deps/npm/node_modules/bl/node_modules/readable-stream/duplex.js
index ca807af876..ca807af876 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/duplex.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/duplex.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js
index 69558af037..69558af037 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js
index bddfdd0153..bddfdd0153 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js
index eef3d825d7..eef3d825d7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js
index 3675d18d91..3675d18d91 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js
index b232952016..b232952016 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json b/deps/npm/node_modules/bl/node_modules/readable-stream/package.json
index 70ad998cae..dc64209734 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/package.json
@@ -1,8 +1,43 @@
{
- "name": "readable-stream",
- "version": "2.0.2",
- "description": "Streams3, a user-land copy of the stream library from iojs v2.x",
- "main": "readable.js",
+ "_args": [
+ [
+ "readable-stream@~2.0.0",
+ "/Users/rebecca/code/npm/node_modules/bl"
+ ]
+ ],
+ "_from": "readable-stream@>=2.0.0 <2.1.0",
+ "_id": "readable-stream@2.0.2",
+ "_inCache": true,
+ "_location": "/bl/readable-stream",
+ "_nodeVersion": "2.3.0",
+ "_npmUser": {
+ "email": "calvin.metcalf@gmail.com",
+ "name": "cwmma"
+ },
+ "_npmVersion": "2.11.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "readable-stream",
+ "raw": "readable-stream@~2.0.0",
+ "rawSpec": "~2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/bl"
+ ],
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
+ "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
+ "_shrinkwrap": null,
+ "_spec": "readable-stream@~2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/bl",
+ "browser": {
+ "util": false
+ },
+ "bugs": {
+ "url": "https://github.com/nodejs/readable-stream/issues"
+ },
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -11,46 +46,26 @@
"string_decoder": "~0.10.x",
"util-deprecate": "~1.0.1"
},
+ "description": "Streams3, a user-land copy of the stream library from iojs v2.x",
"devDependencies": {
"tap": "~0.2.6",
"tape": "~4.0.0",
"zuul": "~3.0.0"
},
- "scripts": {
- "test": "tap test/parallel/*.js",
- "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream.git"
+ "directories": {},
+ "dist": {
+ "shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
+ "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"
},
+ "gitHead": "1a70134a71196eeabb5e27bc7580faaa68d30513",
+ "homepage": "https://github.com/nodejs/readable-stream#readme",
"keywords": [
+ "pipe",
"readable",
- "stream",
- "pipe"
+ "stream"
],
- "browser": {
- "util": false
- },
"license": "MIT",
- "gitHead": "1a70134a71196eeabb5e27bc7580faaa68d30513",
- "bugs": {
- "url": "https://github.com/nodejs/readable-stream/issues"
- },
- "homepage": "https://github.com/nodejs/readable-stream#readme",
- "_id": "readable-stream@2.0.2",
- "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "_from": "readable-stream@>=2.0.0 <2.1.0",
- "_npmVersion": "2.11.1",
- "_nodeVersion": "2.3.0",
- "_npmUser": {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- },
- "dist": {
- "shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"
- },
+ "main": "readable.js",
"maintainers": [
{
"name": "isaacs",
@@ -69,7 +84,15 @@
"email": "calvin.metcalf@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "readable-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/nodejs/readable-stream.git"
+ },
+ "scripts": {
+ "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js",
+ "test": "tap test/parallel/*.js"
+ },
+ "version": "2.0.2"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/passthrough.js b/deps/npm/node_modules/bl/node_modules/readable-stream/passthrough.js
index 27e8d8a551..27e8d8a551 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/passthrough.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/passthrough.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/readable.js b/deps/npm/node_modules/bl/node_modules/readable-stream/readable.js
index 6222a57986..6222a57986 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/readable.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/readable.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/transform.js b/deps/npm/node_modules/bl/node_modules/readable-stream/transform.js
index 5d482f0780..5d482f0780 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/transform.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/transform.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/writable.js b/deps/npm/node_modules/bl/node_modules/readable-stream/writable.js
index e1e9efdf3c..e1e9efdf3c 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/writable.js
+++ b/deps/npm/node_modules/bl/node_modules/readable-stream/writable.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/package.json b/deps/npm/node_modules/bl/package.json
index 1513847030..f3ca993c5d 100644
--- a/deps/npm/node_modules/request/node_modules/bl/package.json
+++ b/deps/npm/node_modules/bl/package.json
@@ -1,62 +1,92 @@
{
- "name": "bl",
- "version": "1.0.0",
- "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
- "main": "bl.js",
- "scripts": {
- "test": "node test/test.js | faucet",
- "test-local": "brtapsauce-local test/basic-test.js"
+ "_args": [
+ [
+ "bl@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "bl@>=1.0.0 <1.1.0",
+ "_id": "bl@1.0.0",
+ "_inCache": true,
+ "_location": "/bl",
+ "_nodeVersion": "2.0.1-nightly20150618d2e4e03444",
+ "_npmUser": {
+ "email": "rod@vagg.org",
+ "name": "rvagg"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/rvagg/bl.git"
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {
+ "core-util-is": "1.0.1",
+ "inherits": "2.0.1",
+ "isarray": "0.0.1",
+ "process-nextick-args": "1.0.2",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.1"
},
- "homepage": "https://github.com/rvagg/bl",
+ "_requested": {
+ "name": "bl",
+ "raw": "bl@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/bl/-/bl-1.0.0.tgz",
+ "_shasum": "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5",
+ "_shrinkwrap": null,
+ "_spec": "bl@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"authors": [
- "Rod Vagg <rod@vagg.org> (https://github.com/rvagg)",
+ "Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)",
"Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)",
- "Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)"
- ],
- "keywords": [
- "buffer",
- "buffers",
- "stream",
- "awesomesauce"
+ "Rod Vagg <rod@vagg.org> (https://github.com/rvagg)"
],
- "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/rvagg/bl/issues"
+ },
"dependencies": {
"readable-stream": "~2.0.0"
},
+ "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
"devDependencies": {
- "tape": "~2.12.3",
- "hash_file": "~0.1.1",
+ "brtapsauce": "~0.3.0",
"faucet": "~0.0.1",
- "brtapsauce": "~0.3.0"
- },
- "gitHead": "1794938be6697a6d1e02cd942a4eea59b353347a",
- "bugs": {
- "url": "https://github.com/rvagg/bl/issues"
+ "hash_file": "~0.1.1",
+ "tape": "~2.12.3"
},
- "_id": "bl@1.0.0",
- "_shasum": "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5",
- "_from": "bl@>=1.0.0 <1.1.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.0.1-nightly20150618d2e4e03444",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
+ "directories": {},
+ "dist": {
+ "shasum": "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5",
+ "tarball": "http://registry.npmjs.org/bl/-/bl-1.0.0.tgz"
},
+ "gitHead": "1794938be6697a6d1e02cd942a4eea59b353347a",
+ "homepage": "https://github.com/rvagg/bl",
+ "keywords": [
+ "awesomesauce",
+ "buffer",
+ "buffers",
+ "stream"
+ ],
+ "license": "MIT",
+ "main": "bl.js",
"maintainers": [
{
"name": "rvagg",
"email": "rod@vagg.org"
}
],
- "dist": {
- "shasum": "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5",
- "tarball": "http://registry.npmjs.org/bl/-/bl-1.0.0.tgz"
+ "name": "bl",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/rvagg/bl.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/bl/-/bl-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test/test.js | faucet",
+ "test-local": "brtapsauce-local test/basic-test.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/bl/test/basic-test.js b/deps/npm/node_modules/bl/test/basic-test.js
index 75116a30f4..75116a30f4 100644
--- a/deps/npm/node_modules/request/node_modules/bl/test/basic-test.js
+++ b/deps/npm/node_modules/bl/test/basic-test.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/test/sauce.js b/deps/npm/node_modules/bl/test/sauce.js
index a6d28625fb..a6d28625fb 100644
--- a/deps/npm/node_modules/request/node_modules/bl/test/sauce.js
+++ b/deps/npm/node_modules/bl/test/sauce.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/test/test.js b/deps/npm/node_modules/bl/test/test.js
index aa9b48771a..aa9b48771a 100644
--- a/deps/npm/node_modules/request/node_modules/bl/test/test.js
+++ b/deps/npm/node_modules/bl/test/test.js
diff --git a/deps/npm/node_modules/block-stream/package.json b/deps/npm/node_modules/block-stream/package.json
index 80227bb69e..806b6bf176 100644
--- a/deps/npm/node_modules/block-stream/package.json
+++ b/deps/npm/node_modules/block-stream/package.json
@@ -1,54 +1,79 @@
{
+ "_args": [
+ [
+ "block-stream@*",
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/tar"
+ ]
+ ],
+ "_from": "block-stream@*",
+ "_id": "block-stream@0.0.8",
+ "_inCache": true,
+ "_location": "/block-stream",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "block-stream",
+ "raw": "block-stream@*",
+ "rawSpec": "*",
+ "scope": null,
+ "spec": "*",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/tar",
+ "/tar"
+ ],
+ "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz",
+ "_shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b",
+ "_shrinkwrap": null,
+ "_spec": "block-stream@*",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/tar",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "block-stream",
- "description": "a stream of blocks",
- "version": "0.0.8",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/block-stream.git"
- },
- "engines": {
- "node": "0.4 || >=0.5.8"
+ "bugs": {
+ "url": "https://github.com/isaacs/block-stream/issues"
},
- "main": "block-stream.js",
"dependencies": {
"inherits": "~2.0.0"
},
+ "description": "a stream of blocks",
"devDependencies": {
"tap": "0.x"
},
- "scripts": {
- "test": "tap test/"
- },
- "license": "ISC",
- "gitHead": "b35520314f4763af0788d65a846bb43d9c0a8f02",
- "bugs": {
- "url": "https://github.com/isaacs/block-stream/issues"
- },
- "homepage": "https://github.com/isaacs/block-stream#readme",
- "_id": "block-stream@0.0.8",
- "_shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b",
- "_from": "block-stream@0.0.8",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b",
"tarball": "http://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz"
},
+ "engines": {
+ "node": "0.4 || >=0.5.8"
+ },
+ "gitHead": "b35520314f4763af0788d65a846bb43d9c0a8f02",
+ "homepage": "https://github.com/isaacs/block-stream#readme",
+ "license": "ISC",
+ "main": "block-stream.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz"
+ "name": "block-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/block-stream.git"
+ },
+ "scripts": {
+ "test": "tap test/"
+ },
+ "version": "0.0.8"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/LICENSE b/deps/npm/node_modules/bluebird/LICENSE
index 4182a1e1cc..4182a1e1cc 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/LICENSE
+++ b/deps/npm/node_modules/bluebird/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/README.md b/deps/npm/node_modules/bluebird/README.md
index 949f625799..949f625799 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/README.md
+++ b/deps/npm/node_modules/bluebird/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/changelog.md b/deps/npm/node_modules/bluebird/changelog.md
index f300fe9f0c..f300fe9f0c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/changelog.md
+++ b/deps/npm/node_modules/bluebird/changelog.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.js b/deps/npm/node_modules/bluebird/js/browser/bluebird.js
index c8db9da3ef..2f9380ef5a 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.js
+++ b/deps/npm/node_modules/bluebird/js/browser/bluebird.js
@@ -1,18 +1,18 @@
/* @preserve
* The MIT License (MIT)
- *
+ *
* Copyright (c) 2013-2015 Petka Antonov
- *
+ *
* 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
@@ -20,7 +20,7 @@
* 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.
- *
+ *
*/
/**
* bluebird build version 2.10.1
@@ -2914,30 +2914,30 @@ _dereq_('./any.js')(Promise);
_dereq_('./each.js')(Promise, INTERNAL);
_dereq_('./timers.js')(Promise, INTERNAL);
_dereq_('./filter.js')(Promise, INTERNAL);
-
- util.toFastProperties(Promise);
- util.toFastProperties(Promise.prototype);
- function fillTypes(value) {
- var p = new Promise(INTERNAL);
- p._fulfillmentHandler0 = value;
- p._rejectionHandler0 = value;
- p._progressHandler0 = value;
- p._promise0 = value;
- p._receiver0 = value;
- p._settledValue = value;
- }
- // Complete slack tracking, opt out of field-type tracking and
- // stabilize map
- fillTypes({a: 1});
- fillTypes({b: 2});
- fillTypes({c: 3});
- fillTypes(1);
- fillTypes(function(){});
- fillTypes(undefined);
- fillTypes(false);
- fillTypes(new Promise(INTERNAL));
- CapturedTrace.setBounds(async.firstLineError, util.lastLineError);
- return Promise;
+
+ util.toFastProperties(Promise);
+ util.toFastProperties(Promise.prototype);
+ function fillTypes(value) {
+ var p = new Promise(INTERNAL);
+ p._fulfillmentHandler0 = value;
+ p._rejectionHandler0 = value;
+ p._progressHandler0 = value;
+ p._promise0 = value;
+ p._receiver0 = value;
+ p._settledValue = value;
+ }
+ // Complete slack tracking, opt out of field-type tracking and
+ // stabilize map
+ fillTypes({a: 1});
+ fillTypes({b: 2});
+ fillTypes({c: 3});
+ fillTypes(1);
+ fillTypes(function(){});
+ fillTypes(undefined);
+ fillTypes(false);
+ fillTypes(new Promise(INTERNAL));
+ CapturedTrace.setBounds(async.firstLineError, util.lastLineError);
+ return Promise;
};
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.min.js b/deps/npm/node_modules/bluebird/js/browser/bluebird.min.js
index f49fe5394f..34dce50963 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/browser/bluebird.min.js
+++ b/deps/npm/node_modules/bluebird/js/browser/bluebird.min.js
@@ -1,18 +1,18 @@
/* @preserve
* The MIT License (MIT)
- *
+ *
* Copyright (c) 2013-2015 Petka Antonov
- *
+ *
* 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
@@ -20,7 +20,7 @@
* 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.
- *
+ *
*/
/**
* bluebird build version 2.10.1
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/any.js b/deps/npm/node_modules/bluebird/js/main/any.js
index 05a6228ef9..05a6228ef9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/any.js
+++ b/deps/npm/node_modules/bluebird/js/main/any.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/assert.js b/deps/npm/node_modules/bluebird/js/main/assert.js
index a98955c475..a98955c475 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/assert.js
+++ b/deps/npm/node_modules/bluebird/js/main/assert.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/async.js b/deps/npm/node_modules/bluebird/js/main/async.js
index 0104459611..0104459611 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/async.js
+++ b/deps/npm/node_modules/bluebird/js/main/async.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bind.js b/deps/npm/node_modules/bluebird/js/main/bind.js
index 9d8257ae5c..9d8257ae5c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bind.js
+++ b/deps/npm/node_modules/bluebird/js/main/bind.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bluebird.js b/deps/npm/node_modules/bluebird/js/main/bluebird.js
index ed6226e7ea..ed6226e7ea 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/bluebird.js
+++ b/deps/npm/node_modules/bluebird/js/main/bluebird.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/call_get.js b/deps/npm/node_modules/bluebird/js/main/call_get.js
index 62c166d5c0..62c166d5c0 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/call_get.js
+++ b/deps/npm/node_modules/bluebird/js/main/call_get.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/cancel.js b/deps/npm/node_modules/bluebird/js/main/cancel.js
index 9eb40b6fb1..9eb40b6fb1 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/cancel.js
+++ b/deps/npm/node_modules/bluebird/js/main/cancel.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/captured_trace.js b/deps/npm/node_modules/bluebird/js/main/captured_trace.js
index 802acd35b0..802acd35b0 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/captured_trace.js
+++ b/deps/npm/node_modules/bluebird/js/main/captured_trace.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/catch_filter.js b/deps/npm/node_modules/bluebird/js/main/catch_filter.js
index df12733399..df12733399 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/catch_filter.js
+++ b/deps/npm/node_modules/bluebird/js/main/catch_filter.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/context.js b/deps/npm/node_modules/bluebird/js/main/context.js
index ccd7702b7e..ccd7702b7e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/context.js
+++ b/deps/npm/node_modules/bluebird/js/main/context.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/debuggability.js b/deps/npm/node_modules/bluebird/js/main/debuggability.js
index 106baf6597..106baf6597 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/debuggability.js
+++ b/deps/npm/node_modules/bluebird/js/main/debuggability.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/direct_resolve.js b/deps/npm/node_modules/bluebird/js/main/direct_resolve.js
index 054685a1c3..054685a1c3 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/direct_resolve.js
+++ b/deps/npm/node_modules/bluebird/js/main/direct_resolve.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/each.js b/deps/npm/node_modules/bluebird/js/main/each.js
index a37e22c058..a37e22c058 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/each.js
+++ b/deps/npm/node_modules/bluebird/js/main/each.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/errors.js b/deps/npm/node_modules/bluebird/js/main/errors.js
index c334bb1c83..c334bb1c83 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/errors.js
+++ b/deps/npm/node_modules/bluebird/js/main/errors.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/es5.js b/deps/npm/node_modules/bluebird/js/main/es5.js
index ea41d5a566..ea41d5a566 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/es5.js
+++ b/deps/npm/node_modules/bluebird/js/main/es5.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/filter.js b/deps/npm/node_modules/bluebird/js/main/filter.js
index ed57bf0159..ed57bf0159 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/filter.js
+++ b/deps/npm/node_modules/bluebird/js/main/filter.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/finally.js b/deps/npm/node_modules/bluebird/js/main/finally.js
index c9342bcf23..c9342bcf23 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/finally.js
+++ b/deps/npm/node_modules/bluebird/js/main/finally.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/generators.js b/deps/npm/node_modules/bluebird/js/main/generators.js
index 4c0568d21f..4c0568d21f 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/generators.js
+++ b/deps/npm/node_modules/bluebird/js/main/generators.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/join.js b/deps/npm/node_modules/bluebird/js/main/join.js
index cf33eb1d07..cf33eb1d07 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/join.js
+++ b/deps/npm/node_modules/bluebird/js/main/join.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/map.js b/deps/npm/node_modules/bluebird/js/main/map.js
index 2f40efd249..2f40efd249 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/map.js
+++ b/deps/npm/node_modules/bluebird/js/main/map.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/method.js b/deps/npm/node_modules/bluebird/js/main/method.js
index 3d3eeb17c8..3d3eeb17c8 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/method.js
+++ b/deps/npm/node_modules/bluebird/js/main/method.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/nodeify.js b/deps/npm/node_modules/bluebird/js/main/nodeify.js
index 257565db5e..257565db5e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/nodeify.js
+++ b/deps/npm/node_modules/bluebird/js/main/nodeify.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/progress.js b/deps/npm/node_modules/bluebird/js/main/progress.js
index 2e3e95e564..2e3e95e564 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/progress.js
+++ b/deps/npm/node_modules/bluebird/js/main/progress.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise.js b/deps/npm/node_modules/bluebird/js/main/promise.js
index 96bd5456f4..8e2ccfbd36 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise.js
+++ b/deps/npm/node_modules/bluebird/js/main/promise.js
@@ -726,29 +726,29 @@ require('./any.js')(Promise);
require('./each.js')(Promise, INTERNAL);
require('./timers.js')(Promise, INTERNAL);
require('./filter.js')(Promise, INTERNAL);
-
- util.toFastProperties(Promise);
- util.toFastProperties(Promise.prototype);
- function fillTypes(value) {
- var p = new Promise(INTERNAL);
- p._fulfillmentHandler0 = value;
- p._rejectionHandler0 = value;
- p._progressHandler0 = value;
- p._promise0 = value;
- p._receiver0 = value;
- p._settledValue = value;
- }
- // Complete slack tracking, opt out of field-type tracking and
- // stabilize map
- fillTypes({a: 1});
- fillTypes({b: 2});
- fillTypes({c: 3});
- fillTypes(1);
- fillTypes(function(){});
- fillTypes(undefined);
- fillTypes(false);
- fillTypes(new Promise(INTERNAL));
- CapturedTrace.setBounds(async.firstLineError, util.lastLineError);
- return Promise;
+
+ util.toFastProperties(Promise);
+ util.toFastProperties(Promise.prototype);
+ function fillTypes(value) {
+ var p = new Promise(INTERNAL);
+ p._fulfillmentHandler0 = value;
+ p._rejectionHandler0 = value;
+ p._progressHandler0 = value;
+ p._promise0 = value;
+ p._receiver0 = value;
+ p._settledValue = value;
+ }
+ // Complete slack tracking, opt out of field-type tracking and
+ // stabilize map
+ fillTypes({a: 1});
+ fillTypes({b: 2});
+ fillTypes({c: 3});
+ fillTypes(1);
+ fillTypes(function(){});
+ fillTypes(undefined);
+ fillTypes(false);
+ fillTypes(new Promise(INTERNAL));
+ CapturedTrace.setBounds(async.firstLineError, util.lastLineError);
+ return Promise;
};
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_array.js b/deps/npm/node_modules/bluebird/js/main/promise_array.js
index b2e8f1cc58..b2e8f1cc58 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_array.js
+++ b/deps/npm/node_modules/bluebird/js/main/promise_array.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_resolver.js b/deps/npm/node_modules/bluebird/js/main/promise_resolver.js
index b180a32803..b180a32803 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promise_resolver.js
+++ b/deps/npm/node_modules/bluebird/js/main/promise_resolver.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promisify.js b/deps/npm/node_modules/bluebird/js/main/promisify.js
index 86763d60ba..1558e8cbd9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/promisify.js
+++ b/deps/npm/node_modules/bluebird/js/main/promisify.js
@@ -304,4 +304,3 @@ Promise.promisifyAll = function (target, options) {
return promisifyAll(target, suffix, filter, promisifier);
};
};
-
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/props.js b/deps/npm/node_modules/bluebird/js/main/props.js
index d6f9e64b07..d6f9e64b07 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/props.js
+++ b/deps/npm/node_modules/bluebird/js/main/props.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/queue.js b/deps/npm/node_modules/bluebird/js/main/queue.js
index 84d57d5f62..84d57d5f62 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/queue.js
+++ b/deps/npm/node_modules/bluebird/js/main/queue.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/race.js b/deps/npm/node_modules/bluebird/js/main/race.js
index 30e7bb094e..30e7bb094e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/race.js
+++ b/deps/npm/node_modules/bluebird/js/main/race.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/reduce.js b/deps/npm/node_modules/bluebird/js/main/reduce.js
index 1f92dafacd..1f92dafacd 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/reduce.js
+++ b/deps/npm/node_modules/bluebird/js/main/reduce.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/schedule.js b/deps/npm/node_modules/bluebird/js/main/schedule.js
index bb04a8a2d4..bb04a8a2d4 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/schedule.js
+++ b/deps/npm/node_modules/bluebird/js/main/schedule.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/settle.js b/deps/npm/node_modules/bluebird/js/main/settle.js
index f9299c2589..f9299c2589 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/settle.js
+++ b/deps/npm/node_modules/bluebird/js/main/settle.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/some.js b/deps/npm/node_modules/bluebird/js/main/some.js
index f3968cf1fa..f3968cf1fa 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/some.js
+++ b/deps/npm/node_modules/bluebird/js/main/some.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/synchronous_inspection.js b/deps/npm/node_modules/bluebird/js/main/synchronous_inspection.js
index 7aac1496d5..7aac1496d5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/synchronous_inspection.js
+++ b/deps/npm/node_modules/bluebird/js/main/synchronous_inspection.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/thenables.js b/deps/npm/node_modules/bluebird/js/main/thenables.js
index eadfffb59d..eadfffb59d 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/thenables.js
+++ b/deps/npm/node_modules/bluebird/js/main/thenables.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/timers.js b/deps/npm/node_modules/bluebird/js/main/timers.js
index ecf1b57658..ecf1b57658 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/timers.js
+++ b/deps/npm/node_modules/bluebird/js/main/timers.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/using.js b/deps/npm/node_modules/bluebird/js/main/using.js
index 957182d093..957182d093 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/using.js
+++ b/deps/npm/node_modules/bluebird/js/main/using.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/util.js b/deps/npm/node_modules/bluebird/js/main/util.js
index ea3934471e..ea3934471e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/js/main/util.js
+++ b/deps/npm/node_modules/bluebird/js/main/util.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/package.json b/deps/npm/node_modules/bluebird/package.json
index 92e49170e8..891665390c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/bluebird/package.json
+++ b/deps/npm/node_modules/bluebird/package.json
@@ -1,46 +1,48 @@
{
- "name": "bluebird",
- "description": "Full featured Promises/A+ implementation with exceptionally good performance",
- "version": "2.10.1",
- "keywords": [
- "promise",
- "performance",
- "promises",
- "promises-a",
- "promises-aplus",
- "async",
- "await",
- "deferred",
- "deferreds",
- "future",
- "flow control",
- "dsl",
- "fluent interface",
- "parallel",
- "thread",
- "concurrency"
+ "_args": [
+ [
+ "bluebird@^2.9.30",
+ "/Users/rebecca/code/npm/node_modules/har-validator"
+ ]
],
- "scripts": {
- "lint": "node scripts/jshint.js",
- "test": "node tools/test.js",
- "istanbul": "istanbul",
- "prepublish": "node tools/build.js --no-debug --main --zalgo --browser --minify",
- "generate-browser-core": "node tools/build.js --features=core --no-debug --main --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js"
- },
- "homepage": "https://github.com/petkaantonov/bluebird",
- "repository": {
- "type": "git",
- "url": "git://github.com/petkaantonov/bluebird.git"
+ "_from": "bluebird@>=2.9.30 <3.0.0",
+ "_id": "bluebird@2.10.1",
+ "_inCache": true,
+ "_location": "/bluebird",
+ "_nodeVersion": "2.3.0",
+ "_npmUser": {
+ "email": "petka_antonov@hotmail.com",
+ "name": "esailija"
},
- "bugs": {
- "url": "http://github.com/petkaantonov/bluebird/issues"
+ "_npmVersion": "2.11.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "bluebird",
+ "raw": "bluebird@^2.9.30",
+ "rawSpec": "^2.9.30",
+ "scope": null,
+ "spec": ">=2.9.30 <3.0.0",
+ "type": "range"
},
- "license": "MIT",
+ "_requiredBy": [
+ "/har-validator"
+ ],
+ "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.1.tgz",
+ "_shasum": "3aeb31bdd92e52df50cba95303e281f94448ce06",
+ "_shrinkwrap": null,
+ "_spec": "bluebird@^2.9.30",
+ "_where": "/Users/rebecca/code/npm/node_modules/har-validator",
"author": {
- "name": "Petka Antonov",
"email": "petka_antonov@hotmail.com",
+ "name": "Petka Antonov",
"url": "http://github.com/petkaantonov/"
},
+ "browser": "./js/browser/bluebird.js",
+ "bugs": {
+ "url": "http://github.com/petkaantonov/bluebird/issues"
+ },
+ "dependencies": {},
+ "description": "Full featured Promises/A+ implementation with exceptionally good performance",
"devDependencies": {
"acorn": "~0.6.0",
"baconjs": "^0.7.43",
@@ -56,6 +58,7 @@
"istanbul": "^0.3.5",
"jshint": "^2.6.0",
"jshint-stylish": "~0.2.0",
+ "kefir": "^2.4.1",
"mkdirp": "~0.5.0",
"mocha": "~2.1",
"open": "~0.0.5",
@@ -64,11 +67,13 @@
"rx": "^2.3.25",
"serve-static": "^1.7.1",
"sinon": "~1.7.3",
- "uglify-js": "~2.4.16",
- "kefir": "^2.4.1"
+ "uglify-js": "~2.4.16"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "3aeb31bdd92e52df50cba95303e281f94448ce06",
+ "tarball": "http://registry.npmjs.org/bluebird/-/bluebird-2.10.1.tgz"
},
- "main": "./js/main/bluebird.js",
- "browser": "./js/browser/bluebird.js",
"files": [
"js/browser",
"js/main",
@@ -76,26 +81,46 @@
"zalgo.js"
],
"gitHead": "41b23cce935e77b851e076928745ad4c3cebba42",
- "_id": "bluebird@2.10.1",
- "_shasum": "3aeb31bdd92e52df50cba95303e281f94448ce06",
- "_from": "bluebird@>=2.9.30 <3.0.0",
- "_npmVersion": "2.11.1",
- "_nodeVersion": "2.3.0",
- "_npmUser": {
- "name": "esailija",
- "email": "petka_antonov@hotmail.com"
- },
+ "homepage": "https://github.com/petkaantonov/bluebird",
+ "installable": true,
+ "keywords": [
+ "async",
+ "await",
+ "concurrency",
+ "deferred",
+ "deferreds",
+ "dsl",
+ "flow control",
+ "fluent interface",
+ "future",
+ "parallel",
+ "performance",
+ "promise",
+ "promises",
+ "promises-a",
+ "promises-aplus",
+ "thread"
+ ],
+ "license": "MIT",
+ "main": "./js/main/bluebird.js",
"maintainers": [
{
"name": "esailija",
"email": "petka_antonov@hotmail.com"
}
],
- "dist": {
- "shasum": "3aeb31bdd92e52df50cba95303e281f94448ce06",
- "tarball": "http://registry.npmjs.org/bluebird/-/bluebird-2.10.1.tgz"
+ "name": "bluebird",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/petkaantonov/bluebird.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "generate-browser-core": "node tools/build.js --features=core --no-debug --main --zalgo --browser --minify && mv js/browser/bluebird.js js/browser/bluebird.core.js && mv js/browser/bluebird.min.js js/browser/bluebird.core.min.js",
+ "istanbul": "istanbul",
+ "lint": "node scripts/jshint.js",
+ "prepublish": "node tools/build.js --no-debug --main --zalgo --browser --minify",
+ "test": "node tools/test.js"
+ },
+ "version": "2.10.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore b/deps/npm/node_modules/boom/.npmignore
index b0939eabe3..b0939eabe3 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.npmignore
+++ b/deps/npm/node_modules/boom/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml b/deps/npm/node_modules/boom/.travis.yml
index 7a64dd2210..7a64dd2210 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/.travis.yml
+++ b/deps/npm/node_modules/boom/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/CONTRIBUTING.md b/deps/npm/node_modules/boom/CONTRIBUTING.md
index 892836159b..892836159b 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/CONTRIBUTING.md
+++ b/deps/npm/node_modules/boom/CONTRIBUTING.md
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE b/deps/npm/node_modules/boom/LICENSE
index 394688939d..394688939d 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE
+++ b/deps/npm/node_modules/boom/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/README.md b/deps/npm/node_modules/boom/README.md
index cb1e9089ff..cb1e9089ff 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/README.md
+++ b/deps/npm/node_modules/boom/README.md
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png b/deps/npm/node_modules/boom/images/boom.png
index 373bc13455..373bc13455 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/images/boom.png
+++ b/deps/npm/node_modules/boom/images/boom.png
Binary files differ
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js b/deps/npm/node_modules/boom/lib/index.js
index 239a441e8d..239a441e8d 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/lib/index.js
+++ b/deps/npm/node_modules/boom/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/package.json b/deps/npm/node_modules/boom/package.json
index c9d3f09b64..47e2663220 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/package.json
+++ b/deps/npm/node_modules/boom/package.json
@@ -1,45 +1,66 @@
{
- "name": "boom",
- "description": "HTTP-friendly error objects",
- "version": "2.9.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/hapijs/boom.git"
+ "_args": [
+ [
+ "boom@^2.8.x",
+ "/Users/rebecca/code/npm/node_modules/hawk"
+ ]
+ ],
+ "_from": "boom@>=2.8.0 <3.0.0",
+ "_id": "boom@2.9.0",
+ "_inCache": true,
+ "_location": "/boom",
+ "_nodeVersion": "0.10.40",
+ "_npmUser": {
+ "email": "arbretz@gmail.com",
+ "name": "arb"
},
- "main": "lib/index.js",
- "keywords": [
- "error",
- "http"
+ "_npmVersion": "2.11.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "boom",
+ "raw": "boom@^2.8.x",
+ "rawSpec": "^2.8.x",
+ "scope": null,
+ "spec": ">=2.8.0 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/cryptiles",
+ "/hawk"
],
- "engines": {
- "node": ">=0.10.40"
+ "_resolved": "https://registry.npmjs.org/boom/-/boom-2.9.0.tgz",
+ "_shasum": "a54b7fd2fee477d351bf9e371680cbea67f12715",
+ "_shrinkwrap": null,
+ "_spec": "boom@^2.8.x",
+ "_where": "/Users/rebecca/code/npm/node_modules/hawk",
+ "bugs": {
+ "url": "https://github.com/hapijs/boom/issues"
},
"dependencies": {
"hoek": "2.x.x"
},
+ "description": "HTTP-friendly error objects",
"devDependencies": {
"code": "1.x.x",
"lab": "5.x.x"
},
- "scripts": {
- "test": "lab -a code -t 100 -L",
- "test-cov-html": "lab -a code -r html -o coverage.html -L"
+ "directories": {},
+ "dist": {
+ "shasum": "a54b7fd2fee477d351bf9e371680cbea67f12715",
+ "tarball": "http://registry.npmjs.org/boom/-/boom-2.9.0.tgz"
},
- "license": "BSD-3-Clause",
- "gitHead": "2ffee0e9d9868140911d30c7acfd7925e534623e",
- "bugs": {
- "url": "https://github.com/hapijs/boom/issues"
+ "engines": {
+ "node": ">=0.10.40"
},
+ "gitHead": "2ffee0e9d9868140911d30c7acfd7925e534623e",
"homepage": "https://github.com/hapijs/boom#readme",
- "_id": "boom@2.9.0",
- "_shasum": "a54b7fd2fee477d351bf9e371680cbea67f12715",
- "_from": "boom@>=2.8.0 <3.0.0",
- "_npmVersion": "2.11.1",
- "_nodeVersion": "0.10.40",
- "_npmUser": {
- "name": "arb",
- "email": "arbretz@gmail.com"
- },
+ "installable": true,
+ "keywords": [
+ "error",
+ "http"
+ ],
+ "license": "BSD-3-Clause",
+ "main": "lib/index.js",
"maintainers": [
{
"name": "hueniverse",
@@ -54,11 +75,15 @@
"email": "arbretz@gmail.com"
}
],
- "dist": {
- "shasum": "a54b7fd2fee477d351bf9e371680cbea67f12715",
- "tarball": "http://registry.npmjs.org/boom/-/boom-2.9.0.tgz"
+ "name": "boom",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/hapijs/boom.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/boom/-/boom-2.9.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "lab -a code -t 100 -L",
+ "test-cov-html": "lab -a code -r html -o coverage.html -L"
+ },
+ "version": "2.9.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js b/deps/npm/node_modules/boom/test/index.js
index 6c261ac072..6c261ac072 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/test/index.js
+++ b/deps/npm/node_modules/boom/test/index.js
diff --git a/deps/npm/node_modules/brace-expansion/.npmignore b/deps/npm/node_modules/brace-expansion/.npmignore
new file mode 100644
index 0000000000..353546af23
--- /dev/null
+++ b/deps/npm/node_modules/brace-expansion/.npmignore
@@ -0,0 +1,3 @@
+test
+.gitignore
+.travis.yml
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md b/deps/npm/node_modules/brace-expansion/README.md
index 62bc7bae3f..b0d793ed5d 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md
+++ b/deps/npm/node_modules/brace-expansion/README.md
@@ -1,9 +1,10 @@
# brace-expansion
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
+[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
as known from sh/bash, in JavaScript.
[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
+[![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js b/deps/npm/node_modules/brace-expansion/example.js
index 60ecfc74d4..36cde4de5c 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/example.js
+++ b/deps/npm/node_modules/brace-expansion/example.js
@@ -5,4 +5,3 @@ console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js b/deps/npm/node_modules/brace-expansion/index.js
index a23104e955..f8d40f79ac 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/index.js
+++ b/deps/npm/node_modules/brace-expansion/index.js
@@ -188,4 +188,3 @@ function expand(str, isTop) {
return expansions;
}
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/package.json b/deps/npm/node_modules/brace-expansion/package.json
index 5f1866c8b5..5e70336f86 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/package.json
+++ b/deps/npm/node_modules/brace-expansion/package.json
@@ -1,60 +1,67 @@
{
- "name": "brace-expansion",
- "description": "Brace expansion as known from sh/bash",
- "version": "1.1.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/brace-expansion.git"
+ "_args": [
+ [
+ "brace-expansion@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/glob/node_modules/minimatch"
+ ],
+ [
+ "brace-expansion@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/minimatch"
+ ]
+ ],
+ "_from": "brace-expansion@>=1.0.0 <2.0.0",
+ "_id": "brace-expansion@1.1.1",
+ "_inCache": true,
+ "_location": "/brace-expansion",
+ "_nodeVersion": "0.10.36",
+ "_npmUser": {
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
},
- "homepage": "https://github.com/juliangruber/brace-expansion",
- "main": "index.js",
- "scripts": {
- "test": "tape test/*.js",
- "gentest": "bash test/generate.sh"
+ "_npmVersion": "2.6.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "brace-expansion",
+ "raw": "brace-expansion@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/minimatch",
+ "/node-gyp/glob/minimatch"
+ ],
+ "_shrinkwrap": null,
+ "_spec": "brace-expansion@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/minimatch",
+ "author": {
+ "email": "mail@juliangruber.com",
+ "name": "Julian Gruber",
+ "url": "http://juliangruber.com"
+ },
+ "bugs": {
+ "url": "https://github.com/juliangruber/brace-expansion/issues"
},
"dependencies": {
"balanced-match": "^0.2.0",
"concat-map": "0.0.1"
},
+ "description": "Brace expansion as known from sh/bash",
"devDependencies": {
"tape": "^3.0.3"
},
- "keywords": [],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
+ "directories": {},
+ "dist": {
+ "shasum": "da5fb78aef4c44c9e4acf525064fb3208ebab045",
+ "tarball": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.1.tgz"
},
+ "gitHead": "f50da498166d76ea570cf3b30179f01f0f119612",
+ "homepage": "https://github.com/juliangruber/brace-expansion",
+ "installable": true,
+ "keywords": [],
"license": "MIT",
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/8..latest",
- "firefox/20..latest",
- "firefox/nightly",
- "chrome/25..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- },
- "gitHead": "b5fa3b1c74e5e2dba2d0efa19b28335641bc1164",
- "bugs": {
- "url": "https://github.com/juliangruber/brace-expansion/issues"
- },
- "_id": "brace-expansion@1.1.0",
- "_shasum": "c9b7d03c03f37bc704be100e522b40db8f6cfcd9",
- "_from": "brace-expansion@>=1.0.0 <2.0.0",
- "_npmVersion": "2.1.10",
- "_nodeVersion": "0.10.32",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
+ "main": "index.js",
"maintainers": [
{
"name": "juliangruber",
@@ -65,11 +72,31 @@
"email": "isaacs@npmjs.com"
}
],
- "dist": {
- "shasum": "c9b7d03c03f37bc704be100e522b40db8f6cfcd9",
- "tarball": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz"
+ "name": "brace-expansion",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/brace-expansion.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "gentest": "bash test/generate.sh",
+ "test": "tape test/*.js"
+ },
+ "testling": {
+ "browsers": [
+ "android-browser/4.2..latest",
+ "chrome/25..latest",
+ "chrome/canary",
+ "firefox/20..latest",
+ "firefox/nightly",
+ "ie/8..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest"
+ ],
+ "files": "test/*.js"
+ },
+ "version": "1.1.1"
}
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/builtin-modules.json b/deps/npm/node_modules/builtin-modules/builtin-modules.json
index 72670f6bf5..72670f6bf5 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/builtin-modules.json
+++ b/deps/npm/node_modules/builtin-modules/builtin-modules.json
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/index.js b/deps/npm/node_modules/builtin-modules/index.js
index df3474a10f..df3474a10f 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/index.js
+++ b/deps/npm/node_modules/builtin-modules/index.js
diff --git a/deps/npm/node_modules/glob/node_modules/path-is-absolute/license b/deps/npm/node_modules/builtin-modules/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/glob/node_modules/path-is-absolute/license
+++ b/deps/npm/node_modules/builtin-modules/license
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/package.json b/deps/npm/node_modules/builtin-modules/package.json
index a6851b0e05..d509e87c26 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/package.json
+++ b/deps/npm/node_modules/builtin-modules/package.json
@@ -1,69 +1,95 @@
{
- "name": "builtin-modules",
- "version": "1.1.0",
- "description": "List of the Node.js builtin modules",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/builtin-modules.git"
+ "_args": [
+ [
+ "builtin-modules@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/is-builtin-module"
+ ]
+ ],
+ "_from": "builtin-modules@>=1.0.0 <2.0.0",
+ "_id": "builtin-modules@1.1.0",
+ "_inCache": true,
+ "_location": "/builtin-modules",
+ "_nodeVersion": "3.0.0",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.13.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "builtin-modules",
+ "raw": "builtin-modules@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/is-builtin-module"
+ ],
+ "_resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz",
+ "_shasum": "1053955fd994a5746e525e4ac717b81caf07491c",
+ "_shrinkwrap": null,
+ "_spec": "builtin-modules@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/is-builtin-module",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
+ "bugs": {
+ "url": "https://github.com/sindresorhus/builtin-modules/issues"
+ },
+ "dependencies": {},
+ "description": "List of the Node.js builtin modules",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "1053955fd994a5746e525e4ac717b81caf07491c",
+ "tarball": "http://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "xo && ava",
- "make": "node make.js"
- },
"files": [
+ "builtin-modules.json",
"index.js",
- "static.js",
- "builtin-modules.json"
+ "static.js"
],
+ "gitHead": "d317be16fab701f2ac73bc9aa771f60ec052ed66",
+ "homepage": "https://github.com/sindresorhus/builtin-modules#readme",
+ "installable": true,
"keywords": [
- "builtin",
+ "array",
"built-in",
+ "builtin",
"builtins",
- "node",
- "modules",
- "core",
"bundled",
+ "core",
"list",
- "array",
- "names"
+ "modules",
+ "names",
+ "node"
],
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- },
- "gitHead": "d317be16fab701f2ac73bc9aa771f60ec052ed66",
- "bugs": {
- "url": "https://github.com/sindresorhus/builtin-modules/issues"
- },
- "homepage": "https://github.com/sindresorhus/builtin-modules#readme",
- "_id": "builtin-modules@1.1.0",
- "_shasum": "1053955fd994a5746e525e4ac717b81caf07491c",
- "_from": "builtin-modules@>=1.0.0 <2.0.0",
- "_npmVersion": "2.13.3",
- "_nodeVersion": "3.0.0",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "1053955fd994a5746e525e4ac717b81caf07491c",
- "tarball": "http://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz"
- },
+ "license": "MIT",
"maintainers": [
{
"name": "sindresorhus",
"email": "sindresorhus@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.0.tgz"
+ "name": "builtin-modules",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/builtin-modules.git"
+ },
+ "scripts": {
+ "make": "node make.js",
+ "test": "xo && ava"
+ },
+ "version": "1.1.0"
}
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/readme.md b/deps/npm/node_modules/builtin-modules/readme.md
index f1894b1896..f1894b1896 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/readme.md
+++ b/deps/npm/node_modules/builtin-modules/readme.md
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/static.js b/deps/npm/node_modules/builtin-modules/static.js
index 9508f8f4ec..9508f8f4ec 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/static.js
+++ b/deps/npm/node_modules/builtin-modules/static.js
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml b/deps/npm/node_modules/builtins/.travis.yml
index cc4dba29d9..cc4dba29d9 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml
+++ b/deps/npm/node_modules/builtins/.travis.yml
diff --git a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md b/deps/npm/node_modules/builtins/History.md
index e9837a5068..e9837a5068 100644
--- a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md
+++ b/deps/npm/node_modules/builtins/History.md
diff --git a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md b/deps/npm/node_modules/builtins/Readme.md
index 96f4b1f6c4..96f4b1f6c4 100644
--- a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md
+++ b/deps/npm/node_modules/builtins/Readme.md
diff --git a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json b/deps/npm/node_modules/builtins/builtins.json
index c52221d771..c52221d771 100644
--- a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json
+++ b/deps/npm/node_modules/builtins/builtins.json
diff --git a/deps/npm/node_modules/builtins/package.json b/deps/npm/node_modules/builtins/package.json
new file mode 100644
index 0000000000..d3a0e571f2
--- /dev/null
+++ b/deps/npm/node_modules/builtins/package.json
@@ -0,0 +1,71 @@
+{
+ "_args": [
+ [
+ "builtins@0.0.7",
+ "/Users/rebecca/code/npm/node_modules/validate-npm-package-name"
+ ]
+ ],
+ "_from": "builtins@0.0.7",
+ "_id": "builtins@0.0.7",
+ "_inCache": true,
+ "_location": "/builtins",
+ "_npmUser": {
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
+ },
+ "_npmVersion": "1.3.22",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "builtins",
+ "raw": "builtins@0.0.7",
+ "rawSpec": "0.0.7",
+ "scope": null,
+ "spec": "0.0.7",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/validate-npm-package-name"
+ ],
+ "_resolved": "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz",
+ "_shasum": "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a",
+ "_shrinkwrap": null,
+ "_spec": "builtins@0.0.7",
+ "_where": "/Users/rebecca/code/npm/node_modules/validate-npm-package-name",
+ "bugs": {
+ "url": "https://github.com/juliangruber/builtins/issues"
+ },
+ "dependencies": {},
+ "description": "List of node.js builtin modules",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a",
+ "tarball": "http://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz"
+ },
+ "homepage": "https://github.com/juliangruber/builtins",
+ "license": "MIT",
+ "main": "builtins.json",
+ "maintainers": [
+ {
+ "name": "juliangruber",
+ "email": "julian@juliangruber.com"
+ },
+ {
+ "name": "segment",
+ "email": "tj@segment.io"
+ }
+ ],
+ "name": "builtins",
+ "optionalDependencies": {},
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/builtins"
+ },
+ "scripts": {
+ "test": "node -e \"require('./builtins.json')\""
+ },
+ "version": "0.0.7"
+}
diff --git a/deps/npm/node_modules/request/node_modules/caseless/LICENSE b/deps/npm/node_modules/caseless/LICENSE
index 61789f4a4f..61789f4a4f 100644
--- a/deps/npm/node_modules/request/node_modules/caseless/LICENSE
+++ b/deps/npm/node_modules/caseless/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/caseless/README.md b/deps/npm/node_modules/caseless/README.md
index e5077a2165..e5077a2165 100644
--- a/deps/npm/node_modules/request/node_modules/caseless/README.md
+++ b/deps/npm/node_modules/caseless/README.md
diff --git a/deps/npm/node_modules/request/node_modules/caseless/index.js b/deps/npm/node_modules/caseless/index.js
index d86a70eca1..d86a70eca1 100644
--- a/deps/npm/node_modules/request/node_modules/caseless/index.js
+++ b/deps/npm/node_modules/caseless/index.js
diff --git a/deps/npm/node_modules/request/node_modules/caseless/package.json b/deps/npm/node_modules/caseless/package.json
index 2cd79ea01a..eb2fdfd783 100644
--- a/deps/npm/node_modules/request/node_modules/caseless/package.json
+++ b/deps/npm/node_modules/caseless/package.json
@@ -1,43 +1,63 @@
{
- "name": "caseless",
- "version": "0.11.0",
- "description": "Caseless object set/get/has, very useful when working with HTTP headers.",
- "main": "index.js",
- "scripts": {
- "test": "node test.js"
+ "_args": [
+ [
+ "caseless@~0.11.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "caseless@>=0.11.0 <0.12.0",
+ "_id": "caseless@0.11.0",
+ "_inCache": true,
+ "_location": "/caseless",
+ "_nodeVersion": "1.8.1",
+ "_npmUser": {
+ "email": "mikeal.rogers@gmail.com",
+ "name": "mikeal"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mikeal/caseless.git"
+ "_npmVersion": "2.8.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "caseless",
+ "raw": "caseless@~0.11.0",
+ "rawSpec": "~0.11.0",
+ "scope": null,
+ "spec": ">=0.11.0 <0.12.0",
+ "type": "range"
},
- "keywords": [
- "headers",
- "http",
- "caseless"
+ "_requiredBy": [
+ "/request"
],
- "test": "node test.js",
+ "_resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
+ "_shasum": "715b96ea9841593cc33067923f5ec60ebda4f7d7",
+ "_shrinkwrap": null,
+ "_spec": "caseless@~0.11.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Mikeal Rogers",
- "email": "mikeal.rogers@gmail.com"
+ "email": "mikeal.rogers@gmail.com",
+ "name": "Mikeal Rogers"
},
- "license": "Apache-2.0",
"bugs": {
"url": "https://github.com/mikeal/caseless/issues"
},
+ "dependencies": {},
+ "description": "Caseless object set/get/has, very useful when working with HTTP headers.",
"devDependencies": {
"tape": "^2.10.2"
},
+ "directories": {},
+ "dist": {
+ "shasum": "715b96ea9841593cc33067923f5ec60ebda4f7d7",
+ "tarball": "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"
+ },
"gitHead": "c578232a02cc2b46b6da8851caf57fdbfac89ff5",
"homepage": "https://github.com/mikeal/caseless#readme",
- "_id": "caseless@0.11.0",
- "_shasum": "715b96ea9841593cc33067923f5ec60ebda4f7d7",
- "_from": "caseless@>=0.11.0 <0.12.0",
- "_npmVersion": "2.8.3",
- "_nodeVersion": "1.8.1",
- "_npmUser": {
- "name": "mikeal",
- "email": "mikeal.rogers@gmail.com"
- },
+ "keywords": [
+ "caseless",
+ "headers",
+ "http"
+ ],
+ "license": "Apache-2.0",
+ "main": "index.js",
"maintainers": [
{
"name": "mikeal",
@@ -52,11 +72,15 @@
"email": "simeonvelichkov@gmail.com"
}
],
- "dist": {
- "shasum": "715b96ea9841593cc33067923f5ec60ebda4f7d7",
- "tarball": "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"
+ "name": "caseless",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/mikeal/caseless.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test.js"
+ },
+ "test": "node test.js",
+ "version": "0.11.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/caseless/test.js b/deps/npm/node_modules/caseless/test.js
index 084bbaf5e9..084bbaf5e9 100644
--- a/deps/npm/node_modules/request/node_modules/caseless/test.js
+++ b/deps/npm/node_modules/caseless/test.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/index.js b/deps/npm/node_modules/chalk/index.js
index 2d85a91747..2d85a91747 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/index.js
+++ b/deps/npm/node_modules/chalk/index.js
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/license b/deps/npm/node_modules/chalk/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/license
+++ b/deps/npm/node_modules/chalk/license
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json b/deps/npm/node_modules/chalk/package.json
index a6120d20c8..f1773ed151 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/package.json
+++ b/deps/npm/node_modules/chalk/package.json
@@ -1,61 +1,43 @@
{
- "name": "chalk",
- "version": "1.1.1",
- "description": "Terminal string styling done right. Much color.",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/chalk/chalk.git"
- },
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- },
- {
- "name": "unicorn",
- "email": "sindresorhus+unicorn@gmail.com"
- }
+ "_args": [
+ [
+ "chalk@1.1.1",
+ "/Users/rebecca/code/npm"
+ ]
],
- "engines": {
- "node": ">=0.10.0"
+ "_from": "chalk@1.1.1",
+ "_id": "chalk@1.1.1",
+ "_inCache": true,
+ "_location": "/chalk",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
- "scripts": {
- "test": "xo && mocha",
- "bench": "matcha benchmark.js",
- "coverage": "nyc npm test && nyc report",
- "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls"
+ "_npmVersion": "2.13.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "chalk",
+ "raw": "chalk@1.1.1",
+ "rawSpec": "1.1.1",
+ "scope": null,
+ "spec": "1.1.1",
+ "type": "version"
},
- "files": [
- "index.js"
- ],
- "keywords": [
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "str",
- "ansi",
- "style",
- "styles",
- "tty",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
+ "_requiredBy": [
+ "/eslint",
+ "/har-validator",
+ "/inquirer",
+ "/unicode-length"
],
+ "_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz",
+ "_shasum": "509afb67066e7499f7eb3535c77445772ae2d019",
+ "_shrinkwrap": null,
+ "_spec": "chalk@1.1.1",
+ "_where": "/Users/rebecca/code/npm",
+ "bugs": {
+ "url": "https://github.com/chalk/chalk/issues"
+ },
"dependencies": {
"ansi-styles": "^2.1.0",
"escape-string-regexp": "^1.0.2",
@@ -63,6 +45,7 @@
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
},
+ "description": "Terminal string styling done right. Much color.",
"devDependencies": {
"coveralls": "^2.11.2",
"matcha": "^0.6.0",
@@ -73,31 +56,75 @@
"semver": "^4.3.3",
"xo": "*"
},
- "xo": {
- "envs": [
- "node",
- "mocha"
- ]
+ "directories": {},
+ "dist": {
+ "shasum": "509afb67066e7499f7eb3535c77445772ae2d019",
+ "tarball": "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz"
},
- "gitHead": "8b554e254e89c85c1fd04dcc444beeb15824e1a5",
- "bugs": {
- "url": "https://github.com/chalk/chalk/issues"
+ "engines": {
+ "node": ">=0.10.0"
},
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "8b554e254e89c85c1fd04dcc444beeb15824e1a5",
"homepage": "https://github.com/chalk/chalk#readme",
- "_id": "chalk@1.1.1",
- "_shasum": "509afb67066e7499f7eb3535c77445772ae2d019",
- "_from": "chalk@>=1.0.0 <2.0.0",
- "_npmVersion": "2.13.5",
- "_nodeVersion": "0.12.7",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "installable": true,
+ "keywords": [
+ "256",
+ "ansi",
+ "cli",
+ "color",
+ "colors",
+ "colour",
+ "command-line",
+ "console",
+ "formatting",
+ "log",
+ "logging",
+ "rgb",
+ "shell",
+ "str",
+ "string",
+ "style",
+ "styles",
+ "terminal",
+ "text",
+ "tty",
+ "xterm"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ },
+ {
+ "name": "unicorn",
+ "email": "sindresorhus+unicorn@gmail.com"
+ }
+ ],
+ "name": "chalk",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/chalk/chalk.git"
},
- "dist": {
- "shasum": "509afb67066e7499f7eb3535c77445772ae2d019",
- "tarball": "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz"
+ "scripts": {
+ "bench": "matcha benchmark.js",
+ "coverage": "nyc npm test && nyc report",
+ "coveralls": "nyc npm test && nyc report --reporter=text-lcov | coveralls",
+ "test": "xo && mocha"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "1.1.1",
+ "xo": {
+ "envs": [
+ "mocha",
+ "node"
+ ]
+ }
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/readme.md b/deps/npm/node_modules/chalk/readme.md
index 5cf111e353..5cf111e353 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/readme.md
+++ b/deps/npm/node_modules/chalk/readme.md
diff --git a/deps/npm/node_modules/char-spinner/README.md b/deps/npm/node_modules/char-spinner/README.md
deleted file mode 100644
index b1290f5925..0000000000
--- a/deps/npm/node_modules/char-spinner/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# char-spinner
-
-Put a little spinner on process.stderr, as unobtrusively as possible.
-
-## USAGE
-
-```javascript
-var spinner = require("char-spinner")
-
-// All options are optional
-// even the options argument itself is optional
-spinner(options)
-```
-
-## OPTIONS
-
-Usually the defaults are what you want. Mostly they're just
-configurable for testing purposes.
-
-* `stream` Output stream. Default=`process.stderr`
-* `tty` Only show spinner if output stream has a truish `.isTTY`. Default=`true`
-* `string` String of chars to spin. Default=`'/-\\|'`
-* `interval` Number of ms between frames, bigger = slower. Default=`50`
-* `cleanup` Print `'\r \r'` to stream on process exit. Default=`true`
-* `unref` Unreference the spinner interval so that the process can
- exit normally. Default=`true`
-* `delay` Number of frames to "skip over" before printing the spinner.
- Useful if you want to avoid showing the spinner for very fast
- actions. Default=`2`
-
-Returns the generated interval, if one was created.
diff --git a/deps/npm/node_modules/char-spinner/package.json b/deps/npm/node_modules/char-spinner/package.json
deleted file mode 100644
index 91092d84bb..0000000000
--- a/deps/npm/node_modules/char-spinner/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "name": "char-spinner",
- "version": "1.0.1",
- "description": "Put a little spinner on process.stderr, as unobtrusively as possible.",
- "main": "spin.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "^0.4.10"
- },
- "scripts": {
- "test": "tap test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/char-spinner"
- },
- "keywords": [
- "char",
- "spinner"
- ],
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/isaacs/char-spinner/issues"
- },
- "homepage": "https://github.com/isaacs/char-spinner",
- "gitHead": "091b2ff5960aa083f68a5619fa93999d072aa152",
- "_id": "char-spinner@1.0.1",
- "_shasum": "e6ea67bd247e107112983b7ab0479ed362800081",
- "_from": "char-spinner@latest",
- "_npmVersion": "1.4.13",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "dist": {
- "shasum": "e6ea67bd247e107112983b7ab0479ed362800081",
- "tarball": "http://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
- },
- "_resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
-}
diff --git a/deps/npm/node_modules/char-spinner/spin.js b/deps/npm/node_modules/char-spinner/spin.js
deleted file mode 100644
index cae8540c6f..0000000000
--- a/deps/npm/node_modules/char-spinner/spin.js
+++ /dev/null
@@ -1,51 +0,0 @@
-module.exports = spinner
-
-function spinner(opt) {
- opt = opt || {}
- var str = opt.stream || process.stderr
- var tty = typeof opt.tty === 'boolean' ? opt.tty : true
- var string = opt.string || '/-\\|'
- var ms = typeof opt.interval === 'number' ? opt.interval : 50
- if (ms < 0) ms = 0
- if (tty && !str.isTTY) return false
- var CR = str.isTTY ? '\u001b[0G' : '\u000d';
- var CLEAR = str.isTTY ? '\u001b[2K' : '\u000d \u000d';
-
- var s = 0
- var sprite = string.split('')
- var wrote = false
-
- var delay = typeof opt.delay === 'number' ? opt.delay : 2
-
- var interval = setInterval(function() {
- if (--delay >= 0) return
- s = ++s % sprite.length
- var c = sprite[s]
- str.write(c + CR)
- wrote = true
- }, ms)
-
- var unref = typeof opt.unref === 'boolean' ? opt.unref : true
- if (unref && typeof interval.unref === 'function') {
- interval.unref()
- }
-
- var cleanup = typeof opt.cleanup === 'boolean' ? opt.cleanup : true
- if (cleanup) {
- process.on('exit', function() {
- if (wrote) {
- str.write(CLEAR);
- }
- })
- }
-
- module.exports.clear = function () {
- str.write(CLEAR);
- };
-
- return interval
-}
-
-module.exports.clear = function () {};
-
-
diff --git a/deps/npm/node_modules/char-spinner/test/basic.js b/deps/npm/node_modules/char-spinner/test/basic.js
deleted file mode 100644
index ed91b984f7..0000000000
--- a/deps/npm/node_modules/char-spinner/test/basic.js
+++ /dev/null
@@ -1,35 +0,0 @@
-var test = require('tap').test
-var spinner = require('../spin.js')
-
-test('does nothing when not a tty', function(t) {
- var int = spinner({
- stream: { write: function(c) {
- throw new Error('wrote something: ' + JSON.stringify(c))
- }, isTTY: false },
- })
- t.notOk(int)
- t.end()
-})
-
-test('write spinny stuff', function(t) {
- var output = ''
- var written = 0
- var expect = "b\u001b[0Gc\u001b[0Gd\u001b[0Ge\u001b[0Gf\u001b[0Gg\u001b[0Gh\u001b[0Gi\u001b[0Gj\u001b[0Gk\u001b[0Gl\u001b[0Gm\u001b[0Gn\u001b[0Go\u001b[0Gp\u001b[0Ga\u001b[0Gb\u001b[0Gc\u001b[0Gd\u001b[0Ge\u001b[0Gf\u001b[0Gg\u001b[0Gh\u001b[0Gi\u001b[0Gj\u001b[0Gk\u001b[0Gl\u001b[0Gm\u001b[0Gn\u001b[0Go\u001b[0Gp\u001b[0Ga\u001b[0Gb\u001b[0Gc\u001b[0Gd\u001b[0Ge\u001b[0Gf\u001b[0Gg\u001b[0Gh\u001b[0Gi\u001b[0Gj\u001b[0Gk\u001b[0Gl\u001b[0Gm\u001b[0Gn\u001b[0Go\u001b[0Gp\u001b[0Ga\u001b[0Gb\u001b[0Gc\u001b[0G"
-
- var int = spinner({
- interval: 0,
- string: 'abcdefghijklmnop',
- stream: {
- write: function(c) {
- output += c
- if (++written == 50) {
- t.equal(output, expect)
- clearInterval(int)
- t.end()
- }
- },
- isTTY: true
- },
- cleanup: false
- })
-})
diff --git a/deps/npm/node_modules/chmodr/README.md b/deps/npm/node_modules/chmodr/README.md
deleted file mode 100644
index e3e9313c1c..0000000000
--- a/deps/npm/node_modules/chmodr/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Like `chmod -R`.
-
-Takes the same arguments as `fs.chmod()`
diff --git a/deps/npm/node_modules/chmodr/chmodr.js b/deps/npm/node_modules/chmodr/chmodr.js
deleted file mode 100644
index 1e167da21b..0000000000
--- a/deps/npm/node_modules/chmodr/chmodr.js
+++ /dev/null
@@ -1,65 +0,0 @@
-module.exports = chmodr
-chmodr.sync = chmodrSync
-
-var fs = require("fs")
-, path = require("path")
-
-function chmodr (p, mode, cb) {
- fs.readdir(p, function (er, children) {
- // any error other than ENOTDIR means it's not readable, or
- // doesn't exist. give up.
- if (er && er.code !== "ENOTDIR")
- return cb(er)
- var isDir = !er
- var m = isDir ? dirMode(mode) : mode
- if (er || !children.length)
- return fs.chmod(p, m, cb)
-
- var len = children.length
- var errState = null
- children.forEach(function (child) {
- var pathChild = path.resolve(p, child);
- fs.lstat(pathChild, function(er, stats) {
- if (er)
- return cb(er)
- if (!stats.isSymbolicLink())
- chmodr(pathChild, mode, then)
- else
- then()
- })
- })
- function then (er) {
- if (errState) return
- if (er) return cb(errState = er)
- if (-- len === 0) return fs.chmod(p, dirMode(mode), cb)
- }
- })
-}
-
-function chmodrSync (p, mode) {
- var children
- try {
- children = fs.readdirSync(p)
- } catch (er) {
- if (er && er.code === "ENOTDIR") return fs.chmodSync(p, mode)
- throw er
- }
- if (!children.length) return fs.chmodSync(p, dirMode(mode))
-
- children.forEach(function (child) {
- var pathChild = path.resolve(p, child)
- var stats = fs.lstatSync(pathChild)
- if (!stats.isSymbolicLink())
- chmodrSync(pathChild, mode)
- })
- return fs.chmodSync(p, dirMode(mode))
-}
-
-// If a party has r, add x
-// so that dirs are listable
-function dirMode(mode) {
- if (mode & 0400) mode |= 0100
- if (mode & 040) mode |= 010
- if (mode & 04) mode |= 01
- return mode
-}
diff --git a/deps/npm/node_modules/chmodr/package.json b/deps/npm/node_modules/chmodr/package.json
deleted file mode 100644
index 54febed62c..0000000000
--- a/deps/npm/node_modules/chmodr/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "name": "chmodr",
- "description": "like `chmod -R`",
- "version": "1.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/chmodr.git"
- },
- "main": "chmodr.js",
- "devDependencies": {
- "mkdirp": "0.3",
- "rimraf": "",
- "tap": "^1.3.2"
- },
- "scripts": {
- "test": "tap test/*.js"
- },
- "license": "ISC",
- "files": [
- "chmodr.js"
- ],
- "gitHead": "a1ffe57f50c7d1a32e342ed1a03772d37bb4d00e",
- "bugs": {
- "url": "https://github.com/isaacs/chmodr/issues"
- },
- "homepage": "https://github.com/isaacs/chmodr#readme",
- "_id": "chmodr@1.0.1",
- "_shasum": "858e07efd75b6633ae6121ffaa33b2900bcfe18d",
- "_from": "chmodr@>=1.0.1 <1.1.0",
- "_npmVersion": "3.2.1",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "858e07efd75b6633ae6121ffaa33b2900bcfe18d",
- "tarball": "http://registry.npmjs.org/chmodr/-/chmodr-1.0.1.tgz"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.0.1.tgz"
-}
diff --git a/deps/npm/node_modules/chownr/package.json b/deps/npm/node_modules/chownr/package.json
index fdd1dd2308..527fe0fa3e 100644
--- a/deps/npm/node_modules/chownr/package.json
+++ b/deps/npm/node_modules/chownr/package.json
@@ -1,54 +1,79 @@
{
+ "_args": [
+ [
+ "chownr@1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "chownr@>=1.0.0 <2.0.0",
+ "_id": "chownr@1.0.1",
+ "_inCache": true,
+ "_location": "/chownr",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.2.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "chownr",
+ "raw": "chownr@1",
+ "rawSpec": "1",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
+ "_shasum": "e2a75042a9551908bebd25b8523d5f9769d79181",
+ "_shrinkwrap": null,
+ "_spec": "chownr@1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "chownr",
- "description": "like `chown -R`",
- "version": "1.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/chownr.git"
+ "bugs": {
+ "url": "https://github.com/isaacs/chownr/issues"
},
- "main": "chownr.js",
- "files": [
- "chownr.js"
- ],
+ "dependencies": {},
+ "description": "like `chown -R`",
"devDependencies": {
"mkdirp": "0.3",
"rimraf": "",
"tap": "^1.2.0"
},
- "scripts": {
- "test": "tap test/*.js"
- },
- "license": "ISC",
- "gitHead": "c6c43844e80d7c7045e737a72b9fbb1ba0579a26",
- "bugs": {
- "url": "https://github.com/isaacs/chownr/issues"
- },
- "homepage": "https://github.com/isaacs/chownr#readme",
- "_id": "chownr@1.0.1",
- "_shasum": "e2a75042a9551908bebd25b8523d5f9769d79181",
- "_from": "chownr@1.0.1",
- "_npmVersion": "3.2.2",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "e2a75042a9551908bebd25b8523d5f9769d79181",
"tarball": "http://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz"
},
+ "files": [
+ "chownr.js"
+ ],
+ "gitHead": "c6c43844e80d7c7045e737a72b9fbb1ba0579a26",
+ "homepage": "https://github.com/isaacs/chownr#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "chownr.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "chownr",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/chownr.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/.npmignore b/deps/npm/node_modules/clone/.npmignore
index c2658d7d1b..c2658d7d1b 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/.npmignore
+++ b/deps/npm/node_modules/clone/.npmignore
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/.travis.yml b/deps/npm/node_modules/clone/.travis.yml
index 58f23716ae..58f23716ae 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/.travis.yml
+++ b/deps/npm/node_modules/clone/.travis.yml
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/LICENSE b/deps/npm/node_modules/clone/LICENSE
index fc808cce89..fc808cce89 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/LICENSE
+++ b/deps/npm/node_modules/clone/LICENSE
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/README.md b/deps/npm/node_modules/clone/README.md
index d7231cfca7..d7231cfca7 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/README.md
+++ b/deps/npm/node_modules/clone/README.md
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js b/deps/npm/node_modules/clone/clone.js
index f8fa3159a7..321ffa30f5 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/clone.js
+++ b/deps/npm/node_modules/clone/clone.js
@@ -114,7 +114,7 @@ function clone(parent, circular, depth, prototype) {
if (proto) {
attrs = Object.getOwnPropertyDescriptor(proto, i);
}
-
+
if (attrs && attrs.set == null) {
continue;
}
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/package.json b/deps/npm/node_modules/clone/package.json
index bc8e878a54..c5de8f7786 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/package.json
+++ b/deps/npm/node_modules/clone/package.json
@@ -1,39 +1,55 @@
{
- "name": "clone",
- "description": "deep cloning of objects and arrays",
- "tags": [
- "clone",
- "object",
- "array",
- "function",
- "date"
+ "_args": [
+ [
+ "clone@~0.1.5",
+ "/Users/rebecca/code/npm/node_modules/defaults"
+ ]
],
- "version": "0.1.19",
- "repository": {
- "type": "git",
- "url": "git://github.com/pvorb/node-clone.git"
+ "_from": "clone@>=0.1.5 <0.2.0",
+ "_id": "clone@0.1.19",
+ "_inCache": true,
+ "_location": "/clone",
+ "_npmUser": {
+ "email": "paul@vorba.ch",
+ "name": "pvorb"
},
- "bugs": {
- "url": "https://github.com/pvorb/node-clone/issues"
+ "_npmVersion": "1.4.14",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "clone",
+ "raw": "clone@~0.1.5",
+ "rawSpec": "~0.1.5",
+ "scope": null,
+ "spec": ">=0.1.5 <0.2.0",
+ "type": "range"
},
- "main": "clone.js",
+ "_requiredBy": [
+ "/defaults"
+ ],
+ "_resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz",
+ "_shasum": "613fb68639b26a494ac53253e15b1a6bd88ada85",
+ "_shrinkwrap": null,
+ "_spec": "clone@~0.1.5",
+ "_where": "/Users/rebecca/code/npm/node_modules/defaults",
"author": {
- "name": "Paul Vorbach",
"email": "paul@vorba.ch",
+ "name": "Paul Vorbach",
"url": "http://paul.vorba.ch/"
},
+ "bugs": {
+ "url": "https://github.com/pvorb/node-clone/issues"
+ },
"contributors": [
{
+ "name": "Hugh Kennedy",
+ "url": "http://twitter.com/hughskennedy"
+ },
+ {
"name": "Blake Miner",
"email": "miner.blake@gmail.com",
"url": "http://www.blakeminer.com/"
},
{
- "name": "Tian You",
- "email": "axqd001@gmail.com",
- "url": "http://blog.axqd.net/"
- },
- {
"name": "George Stagas",
"email": "gstagas@gmail.com",
"url": "http://stagas.com/"
@@ -57,8 +73,9 @@
"url": "https://github.com/w1nk"
},
{
- "name": "Hugh Kennedy",
- "url": "http://twitter.com/hughskennedy"
+ "name": "Tian You",
+ "email": "axqd001@gmail.com",
+ "url": "http://blog.axqd.net/"
},
{
"name": "Dustin Diaz",
@@ -88,39 +105,45 @@
"url": "https://github.com/oroce"
}
],
- "license": "MIT",
- "engines": {
- "node": "*"
- },
"dependencies": {},
+ "description": "deep cloning of objects and arrays",
"devDependencies": {
- "underscore": "*",
- "nodeunit": "*"
+ "nodeunit": "*",
+ "underscore": "*"
},
- "optionalDependencies": {},
- "scripts": {
- "test": "nodeunit test.js"
+ "directories": {},
+ "dist": {
+ "shasum": "613fb68639b26a494ac53253e15b1a6bd88ada85",
+ "tarball": "http://registry.npmjs.org/clone/-/clone-0.1.19.tgz"
+ },
+ "engines": {
+ "node": "*"
},
"gitHead": "bb11a43363a0f69e8ac014cb5376ce215ea1f8fd",
"homepage": "https://github.com/pvorb/node-clone",
- "_id": "clone@0.1.19",
- "_shasum": "613fb68639b26a494ac53253e15b1a6bd88ada85",
- "_from": "clone@>=0.1.5 <0.2.0",
- "_npmVersion": "1.4.14",
- "_npmUser": {
- "name": "pvorb",
- "email": "paul@vorba.ch"
- },
+ "license": "MIT",
+ "main": "clone.js",
"maintainers": [
{
"name": "pvorb",
"email": "paul@vorb.de"
}
],
- "dist": {
- "shasum": "613fb68639b26a494ac53253e15b1a6bd88ada85",
- "tarball": "http://registry.npmjs.org/clone/-/clone-0.1.19.tgz"
+ "name": "clone",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/pvorb/node-clone.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz"
+ "scripts": {
+ "test": "nodeunit test.js"
+ },
+ "tags": [
+ "array",
+ "clone",
+ "date",
+ "function",
+ "object"
+ ],
+ "version": "0.1.19"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/test.js b/deps/npm/node_modules/clone/test.js
index cb3d16631a..cb3d16631a 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/node_modules/clone/test.js
+++ b/deps/npm/node_modules/clone/test.js
diff --git a/deps/npm/node_modules/cmd-shim/package.json b/deps/npm/node_modules/cmd-shim/package.json
index e1f4f543ea..47058a16f1 100644
--- a/deps/npm/node_modules/cmd-shim/package.json
+++ b/deps/npm/node_modules/cmd-shim/package.json
@@ -1,46 +1,70 @@
{
- "name": "cmd-shim",
- "version": "2.0.1",
- "description": "Used in npm for command line application support",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "cmd-shim@~2.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "cmd-shim@>=2.0.1 <2.1.0",
+ "_id": "cmd-shim@2.0.1",
+ "_inCache": true,
+ "_location": "/cmd-shim",
+ "_npmUser": {
+ "email": "forbes@lindesay.co.uk",
+ "name": "forbeslindesay"
},
- "repository": {
- "type": "git",
- "url": "https://github.com/ForbesLindesay/cmd-shim.git"
+ "_npmVersion": "1.5.0-alpha-4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "cmd-shim",
+ "raw": "cmd-shim@~2.0.1",
+ "rawSpec": "~2.0.1",
+ "scope": null,
+ "spec": ">=2.0.1 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz",
+ "_shasum": "4512a373d2391679aec51ad1d4733559e9b85d4a",
+ "_shrinkwrap": null,
+ "_spec": "cmd-shim@~2.0.1",
+ "_where": "/Users/rebecca/code/npm",
+ "bugs": {
+ "url": "https://github.com/ForbesLindesay/cmd-shim/issues"
},
- "license": "BSD",
"dependencies": {
"graceful-fs": ">3.0.1 <4.0.0-0",
"mkdirp": "~0.5.0"
},
+ "description": "Used in npm for command line application support",
"devDependencies": {
- "tap": "~0.4.11",
- "rimraf": "~2.2.8"
+ "rimraf": "~2.2.8",
+ "tap": "~0.4.11"
},
- "gitHead": "6f53d506be590fe9ac20c9801512cd1a3aad5974",
- "bugs": {
- "url": "https://github.com/ForbesLindesay/cmd-shim/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "4512a373d2391679aec51ad1d4733559e9b85d4a",
+ "tarball": "http://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz"
},
+ "gitHead": "6f53d506be590fe9ac20c9801512cd1a3aad5974",
"homepage": "https://github.com/ForbesLindesay/cmd-shim",
- "_id": "cmd-shim@2.0.1",
- "_shasum": "4512a373d2391679aec51ad1d4733559e9b85d4a",
- "_from": "cmd-shim@>=2.0.1-0 <3.0.0-0",
- "_npmVersion": "1.5.0-alpha-4",
- "_npmUser": {
- "name": "forbeslindesay",
- "email": "forbes@lindesay.co.uk"
- },
+ "license": "BSD",
"maintainers": [
{
"name": "forbeslindesay",
"email": "forbes@lindesay.co.uk"
}
],
- "dist": {
- "shasum": "4512a373d2391679aec51ad1d4733559e9b85d4a",
- "tarball": "http://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz"
+ "name": "cmd-shim",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/ForbesLindesay/cmd-shim.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "2.0.1"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json b/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json
deleted file mode 100644
index 2871d03790..0000000000
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "name": "strip-ansi",
- "version": "3.0.0",
- "description": "Strip ANSI escape codes",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/strip-ansi.git"
- },
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "node test.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "strip",
- "trim",
- "remove",
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "devDependencies": {
- "ava": "0.0.4"
- },
- "gitHead": "3f05b9810e1438f946e2eb84ee854cc00b972e9e",
- "bugs": {
- "url": "https://github.com/sindresorhus/strip-ansi/issues"
- },
- "homepage": "https://github.com/sindresorhus/strip-ansi",
- "_id": "strip-ansi@3.0.0",
- "_shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
- "_from": "strip-ansi@>=3.0.0 <4.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
- "tarball": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/columnify/package.json b/deps/npm/node_modules/columnify/package.json
index 1dc803973c..1c9b23ddfb 100644
--- a/deps/npm/node_modules/columnify/package.json
+++ b/deps/npm/node_modules/columnify/package.json
@@ -1,67 +1,92 @@
{
- "name": "columnify",
- "version": "1.5.2",
- "description": "Render data in text columns. Supports in-column text-wrap.",
- "main": "columnify.js",
- "scripts": {
- "pretest": "npm prune",
- "test": "make prepublish && tape test/*.js | tap-spec",
- "bench": "npm test && node bench",
- "prepublish": "make prepublish"
+ "_args": [
+ [
+ "columnify@~1.5.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "columnify@>=1.5.1 <1.6.0",
+ "_id": "columnify@1.5.2",
+ "_inCache": true,
+ "_location": "/columnify",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "secoif@gmail.com",
+ "name": "timoxley"
+ },
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "columnify",
+ "raw": "columnify@~1.5.1",
+ "rawSpec": "~1.5.1",
+ "scope": null,
+ "spec": ">=1.5.1 <1.6.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.2.tgz",
+ "_shasum": "6937930d47c22a9bfa20732a7fd619d47eaba65a",
+ "_shrinkwrap": null,
+ "_spec": "columnify@~1.5.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
"name": "Tim Oxley"
},
- "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/timoxley/columnify/issues"
+ },
+ "dependencies": {
+ "strip-ansi": "^3.0.0",
+ "wcwidth": "^1.0.0"
+ },
+ "description": "Render data in text columns. Supports in-column text-wrap.",
"devDependencies": {
"babel": "^5.8.21",
"chalk": "^1.1.0",
"tap-spec": "^4.0.2",
"tape": "^4.0.3"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/timoxley/columnify.git"
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "6937930d47c22a9bfa20732a7fd619d47eaba65a",
+ "tarball": "http://registry.npmjs.org/columnify/-/columnify-1.5.2.tgz"
},
+ "gitHead": "e7417b78091844ff2f3ba62551a4817c7ae217bd",
+ "homepage": "https://github.com/timoxley/columnify",
+ "installable": true,
"keywords": [
- "column",
- "text",
"ansi",
+ "column",
"console",
+ "table",
"terminal",
- "wrap",
- "table"
+ "text",
+ "wrap"
],
- "bugs": {
- "url": "https://github.com/timoxley/columnify/issues"
- },
- "homepage": "https://github.com/timoxley/columnify",
- "dependencies": {
- "strip-ansi": "^3.0.0",
- "wcwidth": "^1.0.0"
- },
- "directories": {
- "test": "test"
- },
- "gitHead": "e7417b78091844ff2f3ba62551a4817c7ae217bd",
- "_id": "columnify@1.5.2",
- "_shasum": "6937930d47c22a9bfa20732a7fd619d47eaba65a",
- "_from": "columnify@1.5.2",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "timoxley",
- "email": "secoif@gmail.com"
- },
+ "license": "MIT",
+ "main": "columnify.js",
"maintainers": [
{
"name": "timoxley",
"email": "secoif@gmail.com"
}
],
- "dist": {
- "shasum": "6937930d47c22a9bfa20732a7fd619d47eaba65a",
- "tarball": "http://registry.npmjs.org/columnify/-/columnify-1.5.2.tgz"
+ "name": "columnify",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/timoxley/columnify.git"
+ },
+ "scripts": {
+ "bench": "npm test && node bench",
+ "prepublish": "make prepublish",
+ "pretest": "npm prune",
+ "test": "make prepublish && tape test/*.js | tap-spec"
},
- "_resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.2.tgz"
+ "version": "1.5.2"
}
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/License b/deps/npm/node_modules/combined-stream/License
index 4804b7ab41..4804b7ab41 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/License
+++ b/deps/npm/node_modules/combined-stream/License
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/Readme.md b/deps/npm/node_modules/combined-stream/Readme.md
index 3a9e025fb4..3a9e025fb4 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/Readme.md
+++ b/deps/npm/node_modules/combined-stream/Readme.md
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/lib/combined_stream.js b/deps/npm/node_modules/combined-stream/lib/combined_stream.js
index 6b5c21b6b4..6b5c21b6b4 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/lib/combined_stream.js
+++ b/deps/npm/node_modules/combined-stream/lib/combined_stream.js
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/package.json b/deps/npm/node_modules/combined-stream/package.json
index 10339866f9..1c3e72c157 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/package.json
+++ b/deps/npm/node_modules/combined-stream/package.json
@@ -1,48 +1,65 @@
{
+ "_args": [
+ [
+ "combined-stream@~1.0.1",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "combined-stream@>=1.0.1 <1.1.0",
+ "_id": "combined-stream@1.0.5",
+ "_inCache": true,
+ "_location": "/combined-stream",
+ "_nodeVersion": "0.12.4",
+ "_npmUser": {
+ "email": "iam@alexindigo.com",
+ "name": "alexindigo"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "combined-stream",
+ "raw": "combined-stream@~1.0.1",
+ "rawSpec": "~1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/form-data",
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "_shasum": "938370a57b4a51dea2c77c15d5c5fdf895164009",
+ "_shrinkwrap": null,
+ "_spec": "combined-stream@~1.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Felix Geisendörfer",
"email": "felix@debuggable.com",
+ "name": "Felix Geisendörfer",
"url": "http://debuggable.com/"
},
- "name": "combined-stream",
- "description": "A stream that emits multiple other streams one after another.",
- "version": "1.0.5",
- "homepage": "https://github.com/felixge/node-combined-stream",
- "repository": {
- "type": "git",
- "url": "git://github.com/felixge/node-combined-stream.git"
- },
- "main": "./lib/combined_stream",
- "scripts": {
- "test": "node test/run.js"
- },
- "engines": {
- "node": ">= 0.8"
+ "bugs": {
+ "url": "https://github.com/felixge/node-combined-stream/issues"
},
"dependencies": {
"delayed-stream": "~1.0.0"
},
+ "description": "A stream that emits multiple other streams one after another.",
"devDependencies": {
"far": "~0.0.7"
},
- "license": "MIT",
- "gitHead": "cfc7b815d090a109bcedb5bb0f6713148d55a6b7",
- "bugs": {
- "url": "https://github.com/felixge/node-combined-stream/issues"
- },
- "_id": "combined-stream@1.0.5",
- "_shasum": "938370a57b4a51dea2c77c15d5c5fdf895164009",
- "_from": "combined-stream@>=1.0.1 <1.1.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "0.12.4",
- "_npmUser": {
- "name": "alexindigo",
- "email": "iam@alexindigo.com"
- },
+ "directories": {},
"dist": {
"shasum": "938370a57b4a51dea2c77c15d5c5fdf895164009",
"tarball": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"
},
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "gitHead": "cfc7b815d090a109bcedb5bb0f6713148d55a6b7",
+ "homepage": "https://github.com/felixge/node-combined-stream",
+ "license": "MIT",
+ "main": "./lib/combined_stream",
"maintainers": [
{
"name": "felixge",
@@ -61,7 +78,14 @@
"email": "apeherder@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "combined-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/felixge/node-combined-stream.git"
+ },
+ "scripts": {
+ "test": "node test/run.js"
+ },
+ "version": "1.0.5"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/History.md b/deps/npm/node_modules/commander/History.md
index 7b8b2c494f..7b8b2c494f 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/History.md
+++ b/deps/npm/node_modules/commander/History.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE b/deps/npm/node_modules/commander/LICENSE
index 10f997ab10..10f997ab10 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE
+++ b/deps/npm/node_modules/commander/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/Readme.md b/deps/npm/node_modules/commander/Readme.md
index af58e22c93..5509996c7d 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/Readme.md
+++ b/deps/npm/node_modules/commander/Readme.md
@@ -6,7 +6,7 @@
[![NPM Downloads](https://img.shields.io/npm/dm/commander.svg?style=flat)](https://www.npmjs.org/package/commander)
[![Join the chat at https://gitter.im/tj/commander.js](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/tj/commander.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
- The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/tj/commander).
+ The complete solution for [node.js](http://nodejs.org) command-line interfaces, inspired by Ruby's [commander](https://github.com/tj/commander).
[API documentation](http://tj.github.com/commander.js/)
@@ -95,7 +95,7 @@ program
.option('-s --size <size>', 'Pizza size', /^(large|medium|small)$/i, 'medium')
.option('-d --drink [drink]', 'Drink', /^(coke|pepsi|izze)$/i)
.parse(process.argv);
-
+
console.log(' size: %j', program.size);
console.log(' drink: %j', program.drink);
```
@@ -171,7 +171,7 @@ program
.parse(process.argv);
```
-When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools.
+When `.command()` is invoked with a description argument, no `.action(callback)` should be called to handle sub-commands, otherwise there will be an error. This tells commander that you're going to use separate executables for sub-commands, much like `git(1)` and other popular tools.
The commander will try to search the executables in the directory of the entry script (like `./examples/pm`) with the name `program-command`, like `pm-install`, `pm-search`.
If the program is designed to be installed globally, make sure the executables have proper modes, like `755`.
@@ -186,7 +186,7 @@ You can enable `--harmony` option in two ways:
The help information is auto-generated based on the information commander already knows about your program, so the following `--help` info is for free:
-```
+```
$ ./examples/pizza --help
Usage: pizza [options]
@@ -339,4 +339,3 @@ More Demos can be found in the [examples](https://github.com/tj/commander.js/tre
## License
MIT
-
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/index.js b/deps/npm/node_modules/commander/index.js
index 68387f5169..68387f5169 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/index.js
+++ b/deps/npm/node_modules/commander/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/package.json b/deps/npm/node_modules/commander/package.json
index 6b4595126a..ba89d2e64e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/package.json
+++ b/deps/npm/node_modules/commander/package.json
@@ -1,52 +1,72 @@
{
- "name": "commander",
- "version": "2.8.1",
- "description": "the complete solution for node.js command-line programs",
- "keywords": [
- "command",
- "option",
- "parser"
+ "_args": [
+ [
+ "commander@^2.8.1",
+ "/Users/rebecca/code/npm/node_modules/har-validator"
+ ]
+ ],
+ "_from": "commander@>=2.8.1 <3.0.0",
+ "_id": "commander@2.8.1",
+ "_inCache": true,
+ "_location": "/commander",
+ "_nodeVersion": "0.12.0",
+ "_npmUser": {
+ "email": "zhiyelee@gmail.com",
+ "name": "zhiyelee"
+ },
+ "_npmVersion": "2.5.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "commander",
+ "raw": "commander@^2.8.1",
+ "rawSpec": "^2.8.1",
+ "scope": null,
+ "spec": ">=2.8.1 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/har-validator"
],
+ "_resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
+ "_shasum": "06be367febfda0c330aa1e2a072d3dc9762425d4",
+ "_shrinkwrap": null,
+ "_spec": "commander@^2.8.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/har-validator",
"author": {
- "name": "TJ Holowaychuk",
- "email": "tj@vision-media.ca"
+ "email": "tj@vision-media.ca",
+ "name": "TJ Holowaychuk"
},
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/tj/commander.js.git"
+ "bugs": {
+ "url": "https://github.com/tj/commander.js/issues"
+ },
+ "dependencies": {
+ "graceful-readlink": ">= 1.0.0"
},
+ "description": "the complete solution for node.js command-line programs",
"devDependencies": {
"should": ">= 0.0.1",
"sinon": ">= 1.14.1"
},
- "scripts": {
- "test": "make test"
+ "directories": {},
+ "dist": {
+ "shasum": "06be367febfda0c330aa1e2a072d3dc9762425d4",
+ "tarball": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz"
},
- "main": "index",
"engines": {
"node": ">= 0.6.x"
},
"files": [
"index.js"
],
- "dependencies": {
- "graceful-readlink": ">= 1.0.0"
- },
"gitHead": "c6c84726050b19c0373de27cd359f3baddff579f",
- "bugs": {
- "url": "https://github.com/tj/commander.js/issues"
- },
"homepage": "https://github.com/tj/commander.js",
- "_id": "commander@2.8.1",
- "_shasum": "06be367febfda0c330aa1e2a072d3dc9762425d4",
- "_from": "commander@>=2.8.1 <3.0.0",
- "_npmVersion": "2.5.1",
- "_nodeVersion": "0.12.0",
- "_npmUser": {
- "name": "zhiyelee",
- "email": "zhiyelee@gmail.com"
- },
+ "keywords": [
+ "command",
+ "option",
+ "parser"
+ ],
+ "license": "MIT",
+ "main": "index",
"maintainers": [
{
"name": "tjholowaychuk",
@@ -65,11 +85,14 @@
"email": "thethomaseffect@gmail.com"
}
],
- "dist": {
- "shasum": "06be367febfda0c330aa1e2a072d3dc9762425d4",
- "tarball": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz"
+ "name": "commander",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/tj/commander.js.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "make test"
+ },
+ "version": "2.8.1"
}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml b/deps/npm/node_modules/concat-map/.travis.yml
index f1d0f13c8a..f1d0f13c8a 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml
+++ b/deps/npm/node_modules/concat-map/.travis.yml
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE b/deps/npm/node_modules/concat-map/LICENSE
index ee27ba4b44..ee27ba4b44 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE
+++ b/deps/npm/node_modules/concat-map/LICENSE
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown b/deps/npm/node_modules/concat-map/README.markdown
index 408f70a1be..408f70a1be 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown
+++ b/deps/npm/node_modules/concat-map/README.markdown
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js b/deps/npm/node_modules/concat-map/example/map.js
index 33656217b6..33656217b6 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js
+++ b/deps/npm/node_modules/concat-map/example/map.js
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js b/deps/npm/node_modules/concat-map/index.js
index b29a7812e5..b29a7812e5 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js
+++ b/deps/npm/node_modules/concat-map/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json b/deps/npm/node_modules/concat-map/package.json
index b516138098..6b398a3502 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
+++ b/deps/npm/node_modules/concat-map/package.json
@@ -1,83 +1,107 @@
{
- "name": "concat-map",
+ "_args": [
+ [
+ "concat-map@0.0.1",
+ "/Users/rebecca/code/npm/node_modules/brace-expansion"
+ ]
+ ],
+ "_from": "concat-map@0.0.1",
+ "_id": "concat-map@0.0.1",
+ "_inCache": true,
+ "_location": "/concat-map",
+ "_npmUser": {
+ "email": "mail@substack.net",
+ "name": "substack"
+ },
+ "_npmVersion": "1.3.21",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "concat-map",
+ "raw": "concat-map@0.0.1",
+ "rawSpec": "0.0.1",
+ "scope": null,
+ "spec": "0.0.1",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/brace-expansion"
+ ],
+ "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
+ "_shrinkwrap": null,
+ "_spec": "concat-map@0.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/brace-expansion",
+ "author": {
+ "email": "mail@substack.net",
+ "name": "James Halliday",
+ "url": "http://substack.net"
+ },
+ "bugs": {
+ "url": "https://github.com/substack/node-concat-map/issues"
+ },
+ "dependencies": {},
"description": "concatenative mapdashery",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/substack/node-concat-map.git"
+ "devDependencies": {
+ "tape": "~2.4.0"
},
- "main": "index.js",
+ "directories": {
+ "example": "example",
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
+ "tarball": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ },
+ "homepage": "https://github.com/substack/node-concat-map",
"keywords": [
"concat",
"concatMap",
- "map",
"functional",
- "higher-order"
+ "higher-order",
+ "map"
],
- "directories": {
- "example": "example",
- "test": "test"
+ "license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "substack",
+ "email": "mail@substack.net"
+ }
+ ],
+ "name": "concat-map",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/node-concat-map.git"
},
"scripts": {
"test": "tape test/*.js"
},
- "devDependencies": {
- "tape": "~2.4.0"
- },
- "license": "MIT",
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
"testling": {
- "files": "test/*.js",
"browsers": {
+ "chrome": [
+ 10,
+ 22
+ ],
+ "ff": [
+ 10,
+ 15,
+ 3.5
+ ],
"ie": [
6,
7,
8,
9
],
- "ff": [
- 3.5,
- 10,
- 15
- ],
- "chrome": [
- 10,
- 22
+ "opera": [
+ 12
],
"safari": [
5.1
- ],
- "opera": [
- 12
]
- }
- },
- "bugs": {
- "url": "https://github.com/substack/node-concat-map/issues"
- },
- "homepage": "https://github.com/substack/node-concat-map",
- "_id": "concat-map@0.0.1",
- "dist": {
- "shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "tarball": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ },
+ "files": "test/*.js"
},
- "_from": "concat-map@0.0.1",
- "_npmVersion": "1.3.21",
- "_npmUser": {
- "name": "substack",
- "email": "mail@substack.net"
- },
- "maintainers": [
- {
- "name": "substack",
- "email": "mail@substack.net"
- }
- ],
- "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "0.0.1"
}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js b/deps/npm/node_modules/concat-map/test/map.js
index fdbd7022f6..fdbd7022f6 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js
+++ b/deps/npm/node_modules/concat-map/test/map.js
diff --git a/deps/npm/node_modules/concat-stream/LICENSE b/deps/npm/node_modules/concat-stream/LICENSE
new file mode 100644
index 0000000000..1e836b4760
--- /dev/null
+++ b/deps/npm/node_modules/concat-stream/LICENSE
@@ -0,0 +1,24 @@
+The MIT License
+
+Copyright (c) 2013 Max Ogden
+
+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. \ No newline at end of file
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/index.js b/deps/npm/node_modules/concat-stream/index.js
index b55ae7e03d..b55ae7e03d 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/index.js
+++ b/deps/npm/node_modules/concat-stream/index.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.npmignore b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/.npmignore
index 38344f87a6..38344f87a6 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.npmignore
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.travis.yml b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/.travis.yml
index a2870dfb16..a2870dfb16 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.travis.yml
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.zuul.yml b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/.zuul.yml
index 96d9cfbd38..96d9cfbd38 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/.zuul.yml
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/.zuul.yml
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/LICENSE b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/LICENSE
index e3d4e695a4..e3d4e695a4 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/LICENSE
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/README.md b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/README.md
index 77fafa3da1..77fafa3da1 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/README.md
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/README.md
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/stream.markdown b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown
index a2270c8805..a2270c8805 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/stream.markdown
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
index c141a99c26..c141a99c26 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/duplex.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/duplex.js
index ca807af876..ca807af876 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/duplex.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/duplex.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js
index 69558af037..69558af037 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_duplex.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_duplex.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js
index bddfdd0153..bddfdd0153 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_passthrough.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_passthrough.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js
index eef3d825d7..eef3d825d7 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_readable.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js
index 3675d18d91..3675d18d91 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_transform.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_transform.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
index b232952016..b232952016 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/lib/_stream_writable.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/package.json
index 70ad998cae..a3289c74d1 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/package.json
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/package.json
@@ -1,8 +1,43 @@
{
- "name": "readable-stream",
- "version": "2.0.2",
- "description": "Streams3, a user-land copy of the stream library from iojs v2.x",
- "main": "readable.js",
+ "_args": [
+ [
+ "readable-stream@~2.0.0",
+ "/Users/rebecca/code/npm/node_modules/concat-stream"
+ ]
+ ],
+ "_from": "readable-stream@>=2.0.0 <2.1.0",
+ "_id": "readable-stream@2.0.2",
+ "_inCache": true,
+ "_location": "/concat-stream/readable-stream",
+ "_nodeVersion": "2.3.0",
+ "_npmUser": {
+ "email": "calvin.metcalf@gmail.com",
+ "name": "cwmma"
+ },
+ "_npmVersion": "2.11.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "readable-stream",
+ "raw": "readable-stream@~2.0.0",
+ "rawSpec": "~2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/concat-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
+ "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
+ "_shrinkwrap": null,
+ "_spec": "readable-stream@~2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/concat-stream",
+ "browser": {
+ "util": false
+ },
+ "bugs": {
+ "url": "https://github.com/nodejs/readable-stream/issues"
+ },
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -11,46 +46,26 @@
"string_decoder": "~0.10.x",
"util-deprecate": "~1.0.1"
},
+ "description": "Streams3, a user-land copy of the stream library from iojs v2.x",
"devDependencies": {
"tap": "~0.2.6",
"tape": "~4.0.0",
"zuul": "~3.0.0"
},
- "scripts": {
- "test": "tap test/parallel/*.js",
- "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream.git"
+ "directories": {},
+ "dist": {
+ "shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
+ "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"
},
+ "gitHead": "1a70134a71196eeabb5e27bc7580faaa68d30513",
+ "homepage": "https://github.com/nodejs/readable-stream#readme",
"keywords": [
+ "pipe",
"readable",
- "stream",
- "pipe"
+ "stream"
],
- "browser": {
- "util": false
- },
"license": "MIT",
- "gitHead": "1a70134a71196eeabb5e27bc7580faaa68d30513",
- "bugs": {
- "url": "https://github.com/nodejs/readable-stream/issues"
- },
- "homepage": "https://github.com/nodejs/readable-stream#readme",
- "_id": "readable-stream@2.0.2",
- "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "_from": "readable-stream@>=2.0.0 <2.1.0",
- "_npmVersion": "2.11.1",
- "_nodeVersion": "2.3.0",
- "_npmUser": {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- },
- "dist": {
- "shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"
- },
+ "main": "readable.js",
"maintainers": [
{
"name": "isaacs",
@@ -69,7 +84,15 @@
"email": "calvin.metcalf@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "readable-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/nodejs/readable-stream.git"
+ },
+ "scripts": {
+ "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js",
+ "test": "tap test/parallel/*.js"
+ },
+ "version": "2.0.2"
}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/passthrough.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/passthrough.js
index 27e8d8a551..27e8d8a551 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/passthrough.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/passthrough.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/readable.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/readable.js
index 6222a57986..6222a57986 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/readable.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/readable.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/transform.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/transform.js
index 5d482f0780..5d482f0780 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/transform.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/transform.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/writable.js b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/writable.js
index e1e9efdf3c..e1e9efdf3c 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/writable.js
+++ b/deps/npm/node_modules/concat-stream/node_modules/readable-stream/writable.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/package.json b/deps/npm/node_modules/concat-stream/package.json
index caa06817b0..276492319d 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/package.json
+++ b/deps/npm/node_modules/concat-stream/package.json
@@ -1,81 +1,111 @@
{
- "name": "concat-stream",
- "version": "1.5.0",
- "description": "writable stream that concatenates strings or binary data and calls a callback with the result",
- "tags": [
- "stream",
- "simple",
- "util",
- "utility"
+ "_args": [
+ [
+ "concat-stream@^1.4.6",
+ "/Users/rebecca/code/npm/node_modules/npm-registry-client"
+ ]
],
- "author": {
- "name": "Max Ogden",
- "email": "max@maxogden.com"
+ "_from": "concat-stream@>=1.4.6 <2.0.0",
+ "_id": "concat-stream@1.5.0",
+ "_inCache": true,
+ "_location": "/concat-stream",
+ "_nodeVersion": "1.8.2",
+ "_npmUser": {
+ "email": "max@maxogden.com",
+ "name": "maxogden"
},
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/maxogden/concat-stream.git"
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {
+ "core-util-is": "1.0.1",
+ "inherits": "2.0.1",
+ "isarray": "0.0.1",
+ "process-nextick-args": "1.0.1",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.1"
},
- "bugs": {
- "url": "http://github.com/maxogden/concat-stream/issues"
+ "_requested": {
+ "name": "concat-stream",
+ "raw": "concat-stream@^1.4.6",
+ "rawSpec": "^1.4.6",
+ "scope": null,
+ "spec": ">=1.4.6 <2.0.0",
+ "type": "range"
},
- "engines": [
- "node >= 0.8"
- ],
- "main": "index.js",
- "files": [
- "index.js"
+ "_requiredBy": [
+ "/npm-registry-client"
],
- "scripts": {
- "test": "tape test/*.js test/server/*.js"
+ "_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
+ "_shasum": "53f7d43c51c5e43f81c8fdd03321c631be68d611",
+ "_shrinkwrap": null,
+ "_spec": "concat-stream@^1.4.6",
+ "_where": "/Users/rebecca/code/npm/node_modules/npm-registry-client",
+ "author": {
+ "email": "max@maxogden.com",
+ "name": "Max Ogden"
+ },
+ "bugs": {
+ "url": "http://github.com/maxogden/concat-stream/issues"
},
- "license": "MIT",
"dependencies": {
"inherits": "~2.0.1",
- "typedarray": "~0.0.5",
- "readable-stream": "~2.0.0"
+ "readable-stream": "~2.0.0",
+ "typedarray": "~0.0.5"
},
+ "description": "writable stream that concatenates strings or binary data and calls a callback with the result",
"devDependencies": {
"tape": "~2.3.2"
},
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/8..latest",
- "firefox/17..latest",
- "firefox/nightly",
- "chrome/22..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
+ "directories": {},
+ "dist": {
+ "shasum": "53f7d43c51c5e43f81c8fdd03321c631be68d611",
+ "tarball": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz"
},
+ "engines": [
+ "node >= 0.8"
+ ],
+ "files": [
+ "index.js"
+ ],
"gitHead": "7cb37c8ddc0fd2ea03c104d07d44d84b83a31185",
"homepage": "https://github.com/maxogden/concat-stream#readme",
- "_id": "concat-stream@1.5.0",
- "_shasum": "53f7d43c51c5e43f81c8fdd03321c631be68d611",
- "_from": "concat-stream@>=1.4.6 <2.0.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "1.8.2",
- "_npmUser": {
- "name": "maxogden",
- "email": "max@maxogden.com"
- },
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "maxogden",
"email": "max@maxogden.com"
}
],
- "dist": {
- "shasum": "53f7d43c51c5e43f81c8fdd03321c631be68d611",
- "tarball": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz"
+ "name": "concat-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/maxogden/concat-stream.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tape test/*.js test/server/*.js"
+ },
+ "tags": [
+ "simple",
+ "stream",
+ "util",
+ "utility"
+ ],
+ "testling": {
+ "browsers": [
+ "android-browser/4.2..latest",
+ "chrome/22..latest",
+ "chrome/canary",
+ "firefox/17..latest",
+ "firefox/nightly",
+ "ie/8..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest"
+ ],
+ "files": "test/*.js"
+ },
+ "version": "1.5.0"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md b/deps/npm/node_modules/concat-stream/readme.md
index 69234d52a5..587ff7a4dc 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
+++ b/deps/npm/node_modules/concat-stream/readme.md
@@ -73,7 +73,7 @@ var concat = require('concat-stream')
Return a `writable` stream that will fire `cb(data)` with all of the data that
was written to the stream. Data can be written to `writable` as strings,
-Buffers, arrays of byte integers, and Uint8Arrays.
+Buffers, arrays of byte integers, and Uint8Arrays.
By default `concat-stream` will give you back the same data type as the type of the first buffer written to the stream. Use `opts.encoding` to set what format `data` should be returned as, e.g. if you if you don't want to rely on the built-in type checking or for some other reason.
diff --git a/deps/npm/node_modules/config-chain/package.json b/deps/npm/node_modules/config-chain/package.json
index b25913cab0..b9ab7365b7 100644
--- a/deps/npm/node_modules/config-chain/package.json
+++ b/deps/npm/node_modules/config-chain/package.json
@@ -1,46 +1,66 @@
{
- "name": "config-chain",
- "version": "1.1.9",
- "licenses": [
- {
- "type": "MIT",
- "url": "https://raw.githubusercontent.com/dominictarr/config-chain/master/LICENCE"
- }
+ "_args": [
+ [
+ "config-chain@~1.1.9",
+ "/Users/rebecca/code/npm"
+ ]
],
- "description": "HANDLE CONFIGURATION ONCE AND FOR ALL",
- "homepage": "http://github.com/dominictarr/config-chain",
- "repository": {
- "type": "git",
- "url": "https://github.com/dominictarr/config-chain.git"
- },
- "dependencies": {
- "proto-list": "~1.2.1",
- "ini": "1"
+ "_from": "config-chain@>=1.1.9 <1.2.0",
+ "_id": "config-chain@1.1.9",
+ "_inCache": true,
+ "_location": "/config-chain",
+ "_nodeVersion": "0.12.4",
+ "_npmUser": {
+ "email": "dominic.tarr@gmail.com",
+ "name": "dominictarr"
},
- "devDependencies": {
- "tap": "0.3.0"
+ "_npmVersion": "2.11.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "config-chain",
+ "raw": "config-chain@~1.1.9",
+ "rawSpec": "~1.1.9",
+ "scope": null,
+ "spec": ">=1.1.9 <1.2.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.9.tgz",
+ "_shasum": "39ac7d4dca84faad926124c54cff25a53aa8bf6e",
+ "_shrinkwrap": null,
+ "_spec": "config-chain@~1.1.9",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Dominic Tarr",
"email": "dominic.tarr@gmail.com",
+ "name": "Dominic Tarr",
"url": "http://dominictarr.com"
},
- "scripts": {
- "test": "tap test/"
- },
- "gitHead": "832609897082a0a887c59dadb105f4db6de1ab4c",
"bugs": {
"url": "https://github.com/dominictarr/config-chain/issues"
},
- "_id": "config-chain@1.1.9",
- "_shasum": "39ac7d4dca84faad926124c54cff25a53aa8bf6e",
- "_from": "config-chain@>=1.1.9 <1.2.0",
- "_npmVersion": "2.11.0",
- "_nodeVersion": "0.12.4",
- "_npmUser": {
- "name": "dominictarr",
- "email": "dominic.tarr@gmail.com"
+ "dependencies": {
+ "ini": "1",
+ "proto-list": "~1.2.1"
+ },
+ "description": "HANDLE CONFIGURATION ONCE AND FOR ALL",
+ "devDependencies": {
+ "tap": "0.3.0"
},
+ "directories": {},
+ "dist": {
+ "shasum": "39ac7d4dca84faad926124c54cff25a53aa8bf6e",
+ "tarball": "http://registry.npmjs.org/config-chain/-/config-chain-1.1.9.tgz"
+ },
+ "gitHead": "832609897082a0a887c59dadb105f4db6de1ab4c",
+ "homepage": "http://github.com/dominictarr/config-chain",
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "https://raw.githubusercontent.com/dominictarr/config-chain/master/LICENCE"
+ }
+ ],
"maintainers": [
{
"name": "dominictarr",
@@ -51,10 +71,14 @@
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "39ac7d4dca84faad926124c54cff25a53aa8bf6e",
- "tarball": "http://registry.npmjs.org/config-chain/-/config-chain-1.1.9.tgz"
+ "name": "config-chain",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/dominictarr/config-chain.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.9.tgz"
+ "scripts": {
+ "test": "tap test/"
+ },
+ "version": "1.1.9"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/README.md b/deps/npm/node_modules/core-util-is/README.md
index 5a76b4149c..5a76b4149c 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/README.md
+++ b/deps/npm/node_modules/core-util-is/README.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/float.patch b/deps/npm/node_modules/core-util-is/float.patch
index a06d5c05f7..a06d5c05f7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/float.patch
+++ b/deps/npm/node_modules/core-util-is/float.patch
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js b/deps/npm/node_modules/core-util-is/lib/util.js
index 9074e8ebcb..9074e8ebcb 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
+++ b/deps/npm/node_modules/core-util-is/lib/util.js
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/package.json b/deps/npm/node_modules/core-util-is/package.json
index 466dfdfe01..3e3708371a 100644
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/package.json
+++ b/deps/npm/node_modules/core-util-is/package.json
@@ -1,53 +1,81 @@
{
- "name": "core-util-is",
- "version": "1.0.1",
- "description": "The `util.is*` functions introduced in Node v0.12.",
- "main": "lib/util.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/core-util-is.git"
+ "_args": [
+ [
+ "core-util-is@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "core-util-is@>=1.0.0 <1.1.0",
+ "_id": "core-util-is@1.0.1",
+ "_inCache": true,
+ "_location": "/core-util-is",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
},
- "keywords": [
- "util",
- "isBuffer",
- "isArray",
- "isNumber",
- "isString",
- "isRegExp",
- "isThis",
- "isThat",
- "polyfill"
+ "_npmVersion": "1.3.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "core-util-is",
+ "raw": "core-util-is@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/bl/readable-stream",
+ "/concat-stream/readable-stream",
+ "/readable-stream"
],
+ "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz",
+ "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
+ "_shrinkwrap": null,
+ "_spec": "core-util-is@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/readable-stream",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/isaacs/core-util-is/issues"
},
- "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
- "readmeFilename": "README.md",
- "homepage": "https://github.com/isaacs/core-util-is",
- "_id": "core-util-is@1.0.1",
+ "dependencies": {},
+ "description": "The `util.is*` functions introduced in Node v0.12.",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
"tarball": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
},
- "_from": "core-util-is@>=1.0.0 <1.1.0",
- "_npmVersion": "1.3.23",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "homepage": "https://github.com/isaacs/core-util-is",
+ "keywords": [
+ "isArray",
+ "isBuffer",
+ "isNumber",
+ "isRegExp",
+ "isString",
+ "isThat",
+ "isThis",
+ "polyfill",
+ "util"
+ ],
+ "license": "MIT",
+ "main": "lib/util.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+ "name": "core-util-is",
+ "optionalDependencies": {},
+ "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/core-util-is"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js b/deps/npm/node_modules/core-util-is/util.js
index 007fa10575..007fa10575 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js
+++ b/deps/npm/node_modules/core-util-is/util.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/.npmignore b/deps/npm/node_modules/cryptiles/.npmignore
index 77ba16cb05..b0939eabe3 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/.npmignore
+++ b/deps/npm/node_modules/cryptiles/.npmignore
@@ -15,4 +15,3 @@ config.json
*/*/._*
coverage.*
lib-cov
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml b/deps/npm/node_modules/cryptiles/.travis.yml
index 7a64dd2210..7a64dd2210 100644..100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.travis.yml
+++ b/deps/npm/node_modules/cryptiles/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE b/deps/npm/node_modules/cryptiles/LICENSE
index cda44736af..cda44736af 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE
+++ b/deps/npm/node_modules/cryptiles/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md b/deps/npm/node_modules/cryptiles/README.md
index 4008305017..4008305017 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/README.md
+++ b/deps/npm/node_modules/cryptiles/README.md
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js b/deps/npm/node_modules/cryptiles/lib/index.js
index f385870ee6..c8a046d743 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/lib/index.js
+++ b/deps/npm/node_modules/cryptiles/lib/index.js
@@ -64,5 +64,3 @@ exports.fixedTimeComparison = function (a, b) {
return (mismatch === 0);
};
-
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json b/deps/npm/node_modules/cryptiles/package.json
index c65fd09404..75d997644a 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/package.json
+++ b/deps/npm/node_modules/cryptiles/package.json
@@ -1,50 +1,67 @@
{
- "name": "cryptiles",
- "description": "General purpose crypto utilities",
- "version": "2.0.5",
- "repository": {
- "type": "git",
- "url": "git://github.com/hapijs/cryptiles.git"
+ "_args": [
+ [
+ "cryptiles@2.x.x",
+ "/Users/rebecca/code/npm/node_modules/hawk"
+ ]
+ ],
+ "_from": "cryptiles@>=2.0.0 <3.0.0",
+ "_id": "cryptiles@2.0.5",
+ "_inCache": true,
+ "_location": "/cryptiles",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "email": "eran@hammer.io",
+ "name": "hueniverse"
},
- "main": "lib/index.js",
- "keywords": [
- "cryptography",
- "security",
- "utilites"
+ "_npmVersion": "2.14.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "cryptiles",
+ "raw": "cryptiles@2.x.x",
+ "rawSpec": "2.x.x",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/follow/hawk",
+ "/hawk"
],
- "engines": {
- "node": ">=0.10.40"
+ "_resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "_shasum": "3bdfecdc608147c1c67202fa291e7dca59eaa3b8",
+ "_shrinkwrap": null,
+ "_spec": "cryptiles@2.x.x",
+ "_where": "/Users/rebecca/code/npm/node_modules/hawk",
+ "bugs": {
+ "url": "https://github.com/hapijs/cryptiles/issues"
},
"dependencies": {
"boom": "2.x.x"
},
+ "description": "General purpose crypto utilities",
"devDependencies": {
"code": "1.x.x",
"lab": "5.x.x"
},
- "scripts": {
- "test": "lab -a code -t 100 -L",
- "test-cov-html": "lab -a code -r html -o coverage.html"
- },
- "license": "BSD-3-Clause",
- "gitHead": "9bc5a852f01cd51e615814e1cb255fe2df810649",
- "bugs": {
- "url": "https://github.com/hapijs/cryptiles/issues"
- },
- "homepage": "https://github.com/hapijs/cryptiles#readme",
- "_id": "cryptiles@2.0.5",
- "_shasum": "3bdfecdc608147c1c67202fa291e7dca59eaa3b8",
- "_from": "cryptiles@>=2.0.0 <3.0.0",
- "_npmVersion": "2.14.2",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "name": "hueniverse",
- "email": "eran@hammer.io"
- },
+ "directories": {},
"dist": {
"shasum": "3bdfecdc608147c1c67202fa291e7dca59eaa3b8",
"tarball": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"
},
+ "engines": {
+ "node": ">=0.10.40"
+ },
+ "gitHead": "9bc5a852f01cd51e615814e1cb255fe2df810649",
+ "homepage": "https://github.com/hapijs/cryptiles#readme",
+ "installable": true,
+ "keywords": [
+ "cryptography",
+ "security",
+ "utilites"
+ ],
+ "license": "BSD-3-Clause",
+ "main": "lib/index.js",
"maintainers": [
{
"name": "hueniverse",
@@ -55,7 +72,15 @@
"email": "ceejceej@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "cryptiles",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/hapijs/cryptiles.git"
+ },
+ "scripts": {
+ "test": "lab -a code -t 100 -L",
+ "test-cov-html": "lab -a code -r html -o coverage.html"
+ },
+ "version": "2.0.5"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js b/deps/npm/node_modules/cryptiles/test/index.js
index 170393f9b5..170393f9b5 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/cryptiles/test/index.js
+++ b/deps/npm/node_modules/cryptiles/test/index.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/.npmignore b/deps/npm/node_modules/ctype/.npmignore
index dc6d3b24dd..dc6d3b24dd 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/.npmignore
+++ b/deps/npm/node_modules/ctype/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG b/deps/npm/node_modules/ctype/CHANGELOG
index 426da9ef00..426da9ef00 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/CHANGELOG
+++ b/deps/npm/node_modules/ctype/CHANGELOG
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE b/deps/npm/node_modules/ctype/LICENSE
index 22ced3e63a..22ced3e63a 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/LICENSE
+++ b/deps/npm/node_modules/ctype/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README b/deps/npm/node_modules/ctype/README
index 4efd7ee5c6..4efd7ee5c6 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README
+++ b/deps/npm/node_modules/ctype/README
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README.old b/deps/npm/node_modules/ctype/README.old
index 9326b725f5..c6270bd1c9 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/README.old
+++ b/deps/npm/node_modules/ctype/README.old
@@ -295,4 +295,3 @@ void wsint64(Number[], endian, buffer offset);
Write floating point numbers from a buffer:
void wfloat(Number, buffer, endian, offset); /* IEEE-754 Single precision */
void wdouble(Number, buffer, endian, offset); /* IEEE-754 Double precision */
-
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js b/deps/npm/node_modules/ctype/ctf.js
index 66d5f73528..66d5f73528 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctf.js
+++ b/deps/npm/node_modules/ctype/ctf.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js b/deps/npm/node_modules/ctype/ctio.js
index 62c5d7b235..62c5d7b235 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctio.js
+++ b/deps/npm/node_modules/ctype/ctio.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js b/deps/npm/node_modules/ctype/ctype.js
index 7d2f4a5a63..7d2f4a5a63 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/ctype.js
+++ b/deps/npm/node_modules/ctype/ctype.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype b/deps/npm/node_modules/ctype/man/man3ctype/ctio.3ctype
index 3f94986a1b..483ad95560 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/man/man3ctype/ctio.3ctype
+++ b/deps/npm/node_modules/ctype/man/man3ctype/ctio.3ctype
@@ -11,7 +11,7 @@
.\"
.\" 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
@@ -204,7 +204,7 @@ IEEE-754 floating point value instead.
.SS "\fBwfloat()\fR, \fBwdouble()\fR"
.sp
.LP
-The functions "\fBrfloat()\fR and \fBrdouble()\fR" work like the other write
+The functions "\fBrfloat()\fR and \fBrdouble()\fR" work like the other write
functions, except that the domain for a float is that of a single precision 4
byte value. The domain for a double is any \fBNumber\fR in ECMAScript, which is
defined to be represented by a double.
diff --git a/deps/npm/node_modules/ctype/package.json b/deps/npm/node_modules/ctype/package.json
new file mode 100644
index 0000000000..a4d41f6d5c
--- /dev/null
+++ b/deps/npm/node_modules/ctype/package.json
@@ -0,0 +1,64 @@
+{
+ "_args": [
+ [
+ "ctype@0.5.3",
+ "/Users/rebecca/code/npm/node_modules/http-signature"
+ ]
+ ],
+ "_from": "ctype@0.5.3",
+ "_id": "ctype@0.5.3",
+ "_inCache": true,
+ "_location": "/ctype",
+ "_npmUser": {
+ "email": "rm@fingolfin.org",
+ "name": "rm"
+ },
+ "_npmVersion": "1.1.59",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ctype",
+ "raw": "ctype@0.5.3",
+ "rawSpec": "0.5.3",
+ "scope": null,
+ "spec": "0.5.3",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/http-signature"
+ ],
+ "_resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
+ "_shasum": "82c18c2461f74114ef16c135224ad0b9144ca12f",
+ "_shrinkwrap": null,
+ "_spec": "ctype@0.5.3",
+ "_where": "/Users/rebecca/code/npm/node_modules/http-signature",
+ "author": {
+ "email": "rm@fingolfin.org",
+ "name": "Robert Mustacchi"
+ },
+ "dependencies": {},
+ "description": "read and write binary structures and data types",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "82c18c2461f74114ef16c135224ad0b9144ca12f",
+ "tarball": "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "homepage": "https://github.com/rmustacc/node-ctype",
+ "main": "ctype.js",
+ "maintainers": [
+ {
+ "name": "rm",
+ "email": "rm@fingolfin.org"
+ }
+ ],
+ "name": "ctype",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/rmustacc/node-ctype.git"
+ },
+ "version": "0.5.3"
+}
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf b/deps/npm/node_modules/ctype/tools/jsl.conf
index 845f367a26..845f367a26 100755
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsl.conf
+++ b/deps/npm/node_modules/ctype/tools/jsl.conf
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle b/deps/npm/node_modules/ctype/tools/jsstyle
index 96c72b6d74..96c72b6d74 100755
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/tools/jsstyle
+++ b/deps/npm/node_modules/ctype/tools/jsstyle
diff --git a/deps/npm/node_modules/read-installed/node_modules/debuglog/LICENSE b/deps/npm/node_modules/debuglog/LICENSE
index a3187cc100..a3187cc100 100644
--- a/deps/npm/node_modules/read-installed/node_modules/debuglog/LICENSE
+++ b/deps/npm/node_modules/debuglog/LICENSE
diff --git a/deps/npm/node_modules/read-installed/node_modules/debuglog/README.md b/deps/npm/node_modules/debuglog/README.md
index dc6fccecc3..dc6fccecc3 100644
--- a/deps/npm/node_modules/read-installed/node_modules/debuglog/README.md
+++ b/deps/npm/node_modules/debuglog/README.md
diff --git a/deps/npm/node_modules/read-installed/node_modules/debuglog/debuglog.js b/deps/npm/node_modules/debuglog/debuglog.js
index 748fd72a1a..748fd72a1a 100644
--- a/deps/npm/node_modules/read-installed/node_modules/debuglog/debuglog.js
+++ b/deps/npm/node_modules/debuglog/debuglog.js
diff --git a/deps/npm/node_modules/read-installed/node_modules/debuglog/package.json b/deps/npm/node_modules/debuglog/package.json
index 39fac07670..e7fe99f56e 100644
--- a/deps/npm/node_modules/read-installed/node_modules/debuglog/package.json
+++ b/deps/npm/node_modules/debuglog/package.json
@@ -1,19 +1,41 @@
{
- "name": "debuglog",
- "version": "1.0.1",
- "description": "backport of util.debuglog from node v0.11",
- "license": "MIT",
- "main": "debuglog.js",
- "repository": {
- "type": "git",
- "url": "https://github.com/sam-github/node-debuglog.git"
+ "_args": [
+ [
+ "debuglog@^1.0.1",
+ "/Users/rebecca/code/npm/node_modules/read-installed"
+ ]
+ ],
+ "_from": "debuglog@>=1.0.1 <2.0.0",
+ "_id": "debuglog@1.0.1",
+ "_inCache": true,
+ "_location": "/debuglog",
+ "_npmUser": {
+ "email": "sam@strongloop.com",
+ "name": "octet"
},
- "author": {
- "name": "Sam Roberts",
- "email": "sam@strongloop.com"
+ "_npmVersion": "1.4.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "debuglog",
+ "raw": "debuglog@^1.0.1",
+ "rawSpec": "^1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <2.0.0",
+ "type": "range"
},
- "engines": {
- "node": "*"
+ "_requiredBy": [
+ "/read-installed",
+ "/read-package-tree",
+ "/readdir-scoped-modules"
+ ],
+ "_resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
+ "_shasum": "aa24ffb9ac3df9a2351837cfb2d279360cd78492",
+ "_shrinkwrap": null,
+ "_spec": "debuglog@^1.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/read-installed",
+ "author": {
+ "email": "sam@strongloop.com",
+ "name": "Sam Roberts"
},
"browser": {
"util": false
@@ -21,25 +43,31 @@
"bugs": {
"url": "https://github.com/sam-github/node-debuglog/issues"
},
- "homepage": "https://github.com/sam-github/node-debuglog",
- "_id": "debuglog@1.0.1",
+ "dependencies": {},
+ "description": "backport of util.debuglog from node v0.11",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "aa24ffb9ac3df9a2351837cfb2d279360cd78492",
"tarball": "http://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
},
- "_from": "debuglog@>=1.0.1 <2.0.0",
- "_npmVersion": "1.4.3",
- "_npmUser": {
- "name": "octet",
- "email": "sam@strongloop.com"
+ "engines": {
+ "node": "*"
},
+ "homepage": "https://github.com/sam-github/node-debuglog",
+ "license": "MIT",
+ "main": "debuglog.js",
"maintainers": [
{
"name": "octet",
"email": "sam@strongloop.com"
}
],
- "directories": {},
- "_shasum": "aa24ffb9ac3df9a2351837cfb2d279360cd78492",
- "_resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
+ "name": "debuglog",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sam-github/node-debuglog.git"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/.npmignore b/deps/npm/node_modules/defaults/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/.npmignore
+++ b/deps/npm/node_modules/defaults/.npmignore
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/LICENSE b/deps/npm/node_modules/defaults/LICENSE
index d88b072078..d88b072078 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/LICENSE
+++ b/deps/npm/node_modules/defaults/LICENSE
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/README.md b/deps/npm/node_modules/defaults/README.md
index 1a4a2ea9c9..1a4a2ea9c9 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/README.md
+++ b/deps/npm/node_modules/defaults/README.md
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/index.js b/deps/npm/node_modules/defaults/index.js
index cb7d75c9c6..cb7d75c9c6 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/index.js
+++ b/deps/npm/node_modules/defaults/index.js
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/package.json b/deps/npm/node_modules/defaults/package.json
index fdd074d0f4..7c025a1687 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/package.json
+++ b/deps/npm/node_modules/defaults/package.json
@@ -1,53 +1,77 @@
{
- "name": "defaults",
- "version": "1.0.2",
- "description": "merge single level defaults over a config object",
- "main": "index.js",
- "scripts": {
- "test": "node test.js"
+ "_args": [
+ [
+ "defaults@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/wcwidth"
+ ]
+ ],
+ "_from": "defaults@>=1.0.0 <2.0.0",
+ "_id": "defaults@1.0.2",
+ "_inCache": true,
+ "_location": "/defaults",
+ "_npmUser": {
+ "email": "tmpvar@gmail.com",
+ "name": "tmpvar"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/tmpvar/defaults.git"
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "defaults",
+ "raw": "defaults@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
- "keywords": [
- "config",
- "defaults"
+ "_requiredBy": [
+ "/wcwidth"
],
+ "_resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.2.tgz",
+ "_shasum": "6902e25aa047649a501e19ef9e98f3e8365c109a",
+ "_shrinkwrap": null,
+ "_spec": "defaults@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/wcwidth",
"author": {
- "name": "Elijah Insua",
- "email": "tmpvar@gmail.com"
+ "email": "tmpvar@gmail.com",
+ "name": "Elijah Insua"
+ },
+ "bugs": {
+ "url": "https://github.com/tmpvar/defaults/issues"
},
- "license": "MIT",
"dependencies": {
"clone": "~0.1.5"
},
+ "description": "merge single level defaults over a config object",
"devDependencies": {
"tap": "~0.4.0"
},
- "gitHead": "22c57d1f87a2f03c1f9d21bd39c67db8553a0064",
- "bugs": {
- "url": "https://github.com/tmpvar/defaults/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "6902e25aa047649a501e19ef9e98f3e8365c109a",
+ "tarball": "http://registry.npmjs.org/defaults/-/defaults-1.0.2.tgz"
},
+ "gitHead": "22c57d1f87a2f03c1f9d21bd39c67db8553a0064",
"homepage": "https://github.com/tmpvar/defaults",
- "_id": "defaults@1.0.2",
- "_shasum": "6902e25aa047649a501e19ef9e98f3e8365c109a",
- "_from": "defaults@>=1.0.0 <2.0.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "tmpvar",
- "email": "tmpvar@gmail.com"
- },
+ "keywords": [
+ "config",
+ "defaults"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "tmpvar",
"email": "tmpvar@gmail.com"
}
],
- "dist": {
- "shasum": "6902e25aa047649a501e19ef9e98f3e8365c109a",
- "tarball": "http://registry.npmjs.org/defaults/-/defaults-1.0.2.tgz"
+ "name": "defaults",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/tmpvar/defaults.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.2.tgz"
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/test.js b/deps/npm/node_modules/defaults/test.js
index 60e0ffba8b..eab79ff71f 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/node_modules/defaults/test.js
+++ b/deps/npm/node_modules/defaults/test.js
@@ -31,4 +31,3 @@ test("ensure defaults clone nested objects", function(t) {
t.ok(result.b !== d.b, 'objects should be clones');
t.end();
});
-
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/.npmignore b/deps/npm/node_modules/delayed-stream/.npmignore
index 9daeafb986..9daeafb986 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/.npmignore
+++ b/deps/npm/node_modules/delayed-stream/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License b/deps/npm/node_modules/delayed-stream/License
index 4804b7ab41..4804b7ab41 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License
+++ b/deps/npm/node_modules/delayed-stream/License
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile b/deps/npm/node_modules/delayed-stream/Makefile
index b4ff85a33b..2d7580746d 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Makefile
+++ b/deps/npm/node_modules/delayed-stream/Makefile
@@ -4,4 +4,3 @@ test:
@./test/run.js
.PHONY: test
-
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Readme.md b/deps/npm/node_modules/delayed-stream/Readme.md
index aca36f9f0b..aca36f9f0b 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/Readme.md
+++ b/deps/npm/node_modules/delayed-stream/Readme.md
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js b/deps/npm/node_modules/delayed-stream/lib/delayed_stream.js
index b38fc85ff4..b38fc85ff4 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js
+++ b/deps/npm/node_modules/delayed-stream/lib/delayed_stream.js
diff --git a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json b/deps/npm/node_modules/delayed-stream/package.json
index 8ac66b814c..7f4cb7f97f 100644
--- a/deps/npm/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/package.json
+++ b/deps/npm/node_modules/delayed-stream/package.json
@@ -1,53 +1,69 @@
{
+ "_args": [
+ [
+ "delayed-stream@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/combined-stream"
+ ]
+ ],
+ "_from": "delayed-stream@>=1.0.0 <1.1.0",
+ "_id": "delayed-stream@1.0.0",
+ "_inCache": true,
+ "_location": "/delayed-stream",
+ "_nodeVersion": "1.6.4",
+ "_npmUser": {
+ "email": "apeherder@gmail.com",
+ "name": "apechimp"
+ },
+ "_npmVersion": "2.8.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "delayed-stream",
+ "raw": "delayed-stream@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/combined-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "_shasum": "df3ae199acadfb7d440aaae0b29e2272b24ec619",
+ "_shrinkwrap": null,
+ "_spec": "delayed-stream@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/combined-stream",
"author": {
- "name": "Felix Geisendörfer",
"email": "felix@debuggable.com",
+ "name": "Felix Geisendörfer",
"url": "http://debuggable.com/"
},
+ "bugs": {
+ "url": "https://github.com/felixge/node-delayed-stream/issues"
+ },
"contributors": [
{
"name": "Mike Atkins",
"email": "apeherder@gmail.com"
}
],
- "name": "delayed-stream",
- "description": "Buffers events from a stream until you are ready to handle them.",
- "license": "MIT",
- "version": "1.0.0",
- "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"
- },
- "scripts": {
- "test": "make test"
- },
"dependencies": {},
+ "description": "Buffers events from a stream until you are ready to handle them.",
"devDependencies": {
"fake": "0.2.0",
"far": "0.0.1"
},
- "gitHead": "07a9dc99fb8f1a488160026b9ad77493f766fb84",
- "bugs": {
- "url": "https://github.com/felixge/node-delayed-stream/issues"
- },
- "_id": "delayed-stream@1.0.0",
- "_shasum": "df3ae199acadfb7d440aaae0b29e2272b24ec619",
- "_from": "delayed-stream@>=1.0.0 <1.1.0",
- "_npmVersion": "2.8.3",
- "_nodeVersion": "1.6.4",
- "_npmUser": {
- "name": "apechimp",
- "email": "apeherder@gmail.com"
- },
+ "directories": {},
"dist": {
"shasum": "df3ae199acadfb7d440aaae0b29e2272b24ec619",
"tarball": "http://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
},
+ "engines": {
+ "node": ">=0.4.0"
+ },
+ "gitHead": "07a9dc99fb8f1a488160026b9ad77493f766fb84",
+ "homepage": "https://github.com/felixge/node-delayed-stream",
+ "license": "MIT",
+ "main": "./lib/delayed_stream",
"maintainers": [
{
"name": "felixge",
@@ -58,7 +74,14 @@
"email": "apeherder@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "delayed-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/felixge/node-delayed-stream.git"
+ },
+ "scripts": {
+ "test": "make test"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/.npmignore b/deps/npm/node_modules/delegates/.npmignore
index c2658d7d1b..c2658d7d1b 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/.npmignore
+++ b/deps/npm/node_modules/delegates/.npmignore
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/History.md b/deps/npm/node_modules/delegates/History.md
index aee31a4c35..aee31a4c35 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/History.md
+++ b/deps/npm/node_modules/delegates/History.md
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/Makefile b/deps/npm/node_modules/delegates/Makefile
index a9dcfd50db..a9dcfd50db 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/Makefile
+++ b/deps/npm/node_modules/delegates/Makefile
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/Readme.md b/deps/npm/node_modules/delegates/Readme.md
index ab8cf4ace1..ab8cf4ace1 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/Readme.md
+++ b/deps/npm/node_modules/delegates/Readme.md
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/index.js b/deps/npm/node_modules/delegates/index.js
index 17c222d529..17c222d529 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/index.js
+++ b/deps/npm/node_modules/delegates/index.js
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json b/deps/npm/node_modules/delegates/package.json
index ea3c1da0d4..3d6aaa8fa4 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json
+++ b/deps/npm/node_modules/delegates/package.json
@@ -1,33 +1,56 @@
{
- "name": "delegates",
- "version": "0.1.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/visionmedia/node-delegates.git"
+ "_args": [
+ [
+ "delegates@^0.1.0",
+ "/Users/rebecca/code/npm/node_modules/are-we-there-yet"
+ ]
+ ],
+ "_from": "delegates@>=0.1.0 <0.2.0",
+ "_id": "delegates@0.1.0",
+ "_inCache": true,
+ "_location": "/delegates",
+ "_npmUser": {
+ "email": "dominic@dbarnes.info",
+ "name": "dominicbarnes"
},
- "description": "delegate methods and accessors to another property",
- "keywords": [
- "delegate",
- "delegation"
+ "_npmVersion": "1.4.9",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "delegates",
+ "raw": "delegates@^0.1.0",
+ "rawSpec": "^0.1.0",
+ "scope": null,
+ "spec": ">=0.1.0 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/are-we-there-yet"
],
+ "_resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz",
+ "_shasum": "b4b57be11a1653517a04b27f0949bdc327dfe390",
+ "_shrinkwrap": null,
+ "_spec": "delegates@^0.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/are-we-there-yet",
+ "bugs": {
+ "url": "https://github.com/visionmedia/node-delegates/issues"
+ },
"dependencies": {},
+ "description": "delegate methods and accessors to another property",
"devDependencies": {
"mocha": "*",
"should": "*"
},
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/visionmedia/node-delegates/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "b4b57be11a1653517a04b27f0949bdc327dfe390",
+ "tarball": "http://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz"
},
"homepage": "https://github.com/visionmedia/node-delegates",
- "_id": "delegates@0.1.0",
- "_shasum": "b4b57be11a1653517a04b27f0949bdc327dfe390",
- "_from": "delegates@>=0.1.0 <0.2.0",
- "_npmVersion": "1.4.9",
- "_npmUser": {
- "name": "dominicbarnes",
- "email": "dominic@dbarnes.info"
- },
+ "keywords": [
+ "delegate",
+ "delegation"
+ ],
+ "license": "MIT",
"maintainers": [
{
"name": "tjholowaychuk",
@@ -38,11 +61,11 @@
"email": "dominic@dbarnes.info"
}
],
- "dist": {
- "shasum": "b4b57be11a1653517a04b27f0949bdc327dfe390",
- "tarball": "http://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz"
+ "name": "delegates",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/visionmedia/node-delegates"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "0.1.0"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/test/index.js b/deps/npm/node_modules/delegates/test/index.js
index 7b6e3d4df1..7b6e3d4df1 100644
--- a/deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/test/index.js
+++ b/deps/npm/node_modules/delegates/test/index.js
diff --git a/deps/npm/node_modules/dezalgo/package.json b/deps/npm/node_modules/dezalgo/package.json
index ea2b1a6d30..b59399450d 100644
--- a/deps/npm/node_modules/dezalgo/package.json
+++ b/deps/npm/node_modules/dezalgo/package.json
@@ -1,52 +1,99 @@
{
- "name": "dezalgo",
- "version": "1.0.3",
- "description": "Contain async insanity so that the dark pony lord doesn't eat souls",
- "main": "dezalgo.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "dezalgo@~1.0.3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "dezalgo@>=1.0.3 <1.1.0",
+ "_id": "dezalgo@1.0.3",
+ "_inCache": true,
+ "_location": "/dezalgo",
+ "_nodeVersion": "2.0.2",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
+ },
+ "_npmVersion": "2.11.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "dezalgo",
+ "raw": "dezalgo@~1.0.3",
+ "rawSpec": "~1.0.3",
+ "scope": null,
+ "spec": ">=1.0.3 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/async-some",
+ "/read-package-tree",
+ "/readdir-scoped-modules",
+ "/realize-package-specifier"
+ ],
+ "_resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
+ "_shasum": "7f742de066fc748bc8db820569dddce49bf0d456",
+ "_shrinkwrap": null,
+ "_spec": "dezalgo@~1.0.3",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/dezalgo/issues"
},
"dependencies": {
"asap": "^2.0.0",
"wrappy": "1"
},
+ "description": "Contain async insanity so that the dark pony lord doesn't eat souls",
"devDependencies": {
"tap": "^1.2.0"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/dezalgo.git"
+ "dist": {
+ "shasum": "7f742de066fc748bc8db820569dddce49bf0d456",
+ "tarball": "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz"
},
+ "gitHead": "d4d3f3f6f47b1a326194d5281349c83dde258458",
+ "homepage": "https://github.com/npm/dezalgo",
"keywords": [
+ "H̝̪̜͓̀̌̂̒E̢̙̠̣ ̴̳͇̥̟̠͍̐C̹̓̑̐̆͝Ó̶̭͓̚M̬̼Ĕ̖̤͔͔̟̹̽̿̊ͥ̍ͫS̻̰̦̻̖̘̱̒ͪ͌̅͟",
+ "H̴̱̦̗̬̣͓̺e̮ ͉̠̰̞͎̖͟ẁh̛̺̯ͅo̖̫͡ ̢Ẁa̡̗i̸t͖̣͉̀ş͔̯̩ ̤̦̮͇̞̦̲B͎̭͇̦̼e̢hin͏͙̟̪d̴̰͓̻̣̮͕ͅ T͖̮̕h͖e̘̺̰̙͘ ̥Ẁ̦͔̻͚a̞͖̪͉l̪̠̻̰̣̠l̲͎͞",
+ "T̯̪ͅo̯͖̹ ̻̮̖̲͢i̥̖n̢͈͇̝͍v͏͉ok̭̬̝ͅe̞͍̩̫͍̩͝ ̩̮̖̟͇͉́t͔͔͎̗h͏̗̟e̘͉̰̦̠̞͓ ͕h͉̟͎̪̠̱͠ḭ̮̩v̺͉͇̩e̵͖-̺̪m͍i̜n̪̲̲̲̮d̷ ̢r̠̼̯̹̦̦͘ͅe͓̳͓̙p̺̗̫͙͘ͅr͔̰͜e̴͓̞s͉̩̩͟ͅe͏̣n͚͇̗̭̺͍tì͙̣n͏̖̥̗͎̰̪g̞͓̭̱̯̫̕ ̣̱͜ͅc̦̰̰̠̮͎͙̀hao̺̜̻͍͙ͅs͉͓̘.͎̼̺̼͕̹͘",
+ "Z̘͍̼͎̣͔͝Ą̲̜̱̱̹̤͇L̶̝̰̭͔G͍̖͍O̫͜ͅ!̼̤ͅ",
"async",
- "zalgo",
- "the dark pony",
- "he comes",
"asynchrony of all holy and good",
- "T̯̪ͅo̯͖̹ ̻̮̖̲͢i̥̖n̢͈͇̝͍v͏͉ok̭̬̝ͅe̞͍̩̫͍̩͝ ̩̮̖̟͇͉́t͔͔͎̗h͏̗̟e̘͉̰̦̠̞͓ ͕h͉̟͎̪̠̱͠ḭ̮̩v̺͉͇̩e̵͖-̺̪m͍i̜n̪̲̲̲̮d̷ ̢r̠̼̯̹̦̦͘ͅe͓̳͓̙p̺̗̫͙͘ͅr͔̰͜e̴͓̞s͉̩̩͟ͅe͏̣n͚͇̗̭̺͍tì͙̣n͏̖̥̗͎̰̪g̞͓̭̱̯̫̕ ̣̱͜ͅc̦̰̰̠̮͎͙̀hao̺̜̻͍͙ͅs͉͓̘.͎̼̺̼͕̹͘",
+ "he comes",
+ "the dark pony",
+ "zalgo",
"̠̞̱̰I͖͇̝̻n̦̰͍̰̟v̤̺̫̳̭̼̗͘ò̹̟̩̩͚k̢̥̠͍͉̦̬i̖͓͔̮̱̻͘n̶̳͙̫͎g̖̯̣̲̪͉ ̞͎̗͕͚ͅt̲͕̘̺̯̗̦h̘̦̲̜̻e̳͎͉̬͙ ̴̞̪̲̥f̜̯͓͓̭̭͢e̱̘͔̮e̜̤l̺̱͖̯͓͙͈͢i̵̦̬͉͔̫͚͕n͉g̨͖̙̙̹̹̟̤ ͉̪o̞̠͍̪̰͙ͅf̬̲̺ ͔͕̲͕͕̲̕c̙͉h̝͔̩̙̕ͅa̲͖̻̗̹o̥̼̫s̝̖̜̝͚̫̟.̺͚ ̸̱̲W̶̥̣͖̦i͏̤̬̱̳̣ͅt͉h̗̪̪ ̷̱͚̹̪ǫ͕̗̣̳̦͎u̼̦͔̥̮̕ţ͖͎̻͔͉ ̴͎̩òr̹̰̖͉͈͝d̷̲̦̖͓e̲͓̠r",
- "̧͚̜͓̰̭̭Ṯ̫̹̜̮̟̮͝h͚̘̩̘̖̰́e ̥̘͓͉͔͙̼N̟̜̣̘͔̪e̞̞̤͢z̰̖̘͇p̠͟e̺̱̣͍͙̝ṛ̘̬͔̙͇̠d͝ḭ̯̱̥̗̩a̛ͅn͏̦ ̷̥hi̥v̖̳̹͉̮̱͝e̹̪̘̖̰̟-̴͙͓͚̜̻mi̗̺̻͙̺ͅn̪̯͈d ͏̘͓̫̳ͅơ̹͔̳̖̣͓f͈̹̘ ͕ͅc̗̤̠̜̮̥̥h̡͍̩̭̫͚̱a̤͉̤͔͜os͕̤̼͍̲̀ͅ.̡̱ ̦Za̯̱̗̭͍̣͚l̗͉̰̤g͏̣̭̬̗̲͖ͅo̶̭̩̳̟͈.̪̦̰̳",
- "H̴̱̦̗̬̣͓̺e̮ ͉̠̰̞͎̖͟ẁh̛̺̯ͅo̖̫͡ ̢Ẁa̡̗i̸t͖̣͉̀ş͔̯̩ ̤̦̮͇̞̦̲B͎̭͇̦̼e̢hin͏͙̟̪d̴̰͓̻̣̮͕ͅ T͖̮̕h͖e̘̺̰̙͘ ̥Ẁ̦͔̻͚a̞͖̪͉l̪̠̻̰̣̠l̲͎͞",
- "Z̘͍̼͎̣͔͝Ą̲̜̱̱̹̤͇L̶̝̰̭͔G͍̖͍O̫͜ͅ!̼̤ͅ",
- "H̝̪̜͓̀̌̂̒E̢̙̠̣ ̴̳͇̥̟̠͍̐C̹̓̑̐̆͝Ó̶̭͓̚M̬̼Ĕ̖̤͔͔̟̹̽̿̊ͥ̍ͫS̻̰̦̻̖̘̱̒ͪ͌̅͟"
+ "̧͚̜͓̰̭̭Ṯ̫̹̜̮̟̮͝h͚̘̩̘̖̰́e ̥̘͓͉͔͙̼N̟̜̣̘͔̪e̞̞̤͢z̰̖̘͇p̠͟e̺̱̣͍͙̝ṛ̘̬͔̙͇̠d͝ḭ̯̱̥̗̩a̛ͅn͏̦ ̷̥hi̥v̖̳̹͉̮̱͝e̹̪̘̖̰̟-̴͙͓͚̜̻mi̗̺̻͙̺ͅn̪̯͈d ͏̘͓̫̳ͅơ̹͔̳̖̣͓f͈̹̘ ͕ͅc̗̤̠̜̮̥̥h̡͍̩̭̫͚̱a̤͉̤͔͜os͕̤̼͍̲̀ͅ.̡̱ ̦Za̯̱̗̭͍̣͚l̗͉̰̤g͏̣̭̬̗̲͖ͅo̶̭̩̳̟͈.̪̦̰̳"
],
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
"license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/dezalgo/issues"
+ "main": "dezalgo.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ }
+ ],
+ "name": "dezalgo",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/dezalgo.git"
},
- "homepage": "https://github.com/npm/dezalgo",
- "readme": "# dezalgo\n\nContain async insanity so that the dark pony lord doesn't eat souls\n\nSee [this blog\npost](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony).\n\n## USAGE\n\nPass a callback to `dezalgo` and it will ensure that it is *always*\ncalled in a future tick, and never in this tick.\n\n```javascript\nvar dz = require('dezalgo')\n\nvar cache = {}\nfunction maybeSync(arg, cb) {\n cb = dz(cb)\n\n // this will actually defer to nextTick\n if (cache[arg]) cb(null, cache[arg])\n\n fs.readFile(arg, function (er, data) {\n // since this is *already* defered, it will call immediately\n if (er) cb(er)\n cb(null, cache[arg] = data)\n })\n}\n```\n",
- "readmeFilename": "README.md",
- "gitHead": "d4d3f3f6f47b1a326194d5281349c83dde258458",
- "_id": "dezalgo@1.0.3",
- "_shasum": "7f742de066fc748bc8db820569dddce49bf0d456",
- "_from": "dezalgo@>=1.0.3 <1.1.0"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.3"
}
diff --git a/deps/npm/node_modules/editor/package.json b/deps/npm/node_modules/editor/package.json
index 0e5abd3bfb..8627e32661 100644
--- a/deps/npm/node_modules/editor/package.json
+++ b/deps/npm/node_modules/editor/package.json
@@ -1,60 +1,84 @@
{
- "name": "editor",
- "version": "1.0.0",
- "description": "launch $EDITOR in your program",
- "main": "index.js",
- "directories": {
- "example": "example",
- "test": "test"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "~0.4.4"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "editor@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "editor@>=1.0.0 <1.1.0",
+ "_id": "editor@1.0.0",
+ "_inCache": true,
+ "_location": "/editor",
+ "_nodeVersion": "1.6.3",
+ "_npmUser": {
+ "email": "substack@gmail.com",
+ "name": "substack"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/substack/node-editor.git"
+ "_npmVersion": "2.7.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "editor",
+ "raw": "editor@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
},
- "homepage": "https://github.com/substack/node-editor",
- "keywords": [
- "text",
- "edit",
- "shell"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz",
+ "_shasum": "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742",
+ "_shrinkwrap": null,
+ "_spec": "editor@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "James Halliday",
"email": "mail@substack.net",
+ "name": "James Halliday",
"url": "http://substack.net"
},
- "license": "MIT",
- "engine": {
- "node": ">=0.6"
- },
- "gitHead": "15200af2c417c65a4df153f39f32143dcd476375",
"bugs": {
"url": "https://github.com/substack/node-editor/issues"
},
- "_id": "editor@1.0.0",
- "_shasum": "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742",
- "_from": "editor@>=1.0.0 <1.1.0",
- "_npmVersion": "2.7.5",
- "_nodeVersion": "1.6.3",
- "_npmUser": {
- "name": "substack",
- "email": "substack@gmail.com"
+ "dependencies": {},
+ "description": "launch $EDITOR in your program",
+ "devDependencies": {
+ "tap": "~0.4.4"
+ },
+ "directories": {
+ "example": "example",
+ "test": "test"
},
"dist": {
"shasum": "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742",
"tarball": "http://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
},
+ "engine": {
+ "node": ">=0.6"
+ },
+ "gitHead": "15200af2c417c65a4df153f39f32143dcd476375",
+ "homepage": "https://github.com/substack/node-editor",
+ "keywords": [
+ "edit",
+ "shell",
+ "text"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "substack",
"email": "mail@substack.net"
}
],
- "_resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
+ "name": "editor",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/node-editor.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/index.js b/deps/npm/node_modules/escape-string-regexp/index.js
index ac6572cabe..ac6572cabe 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/index.js
+++ b/deps/npm/node_modules/escape-string-regexp/index.js
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/license b/deps/npm/node_modules/escape-string-regexp/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/node_modules/builtin-modules/license
+++ b/deps/npm/node_modules/escape-string-regexp/license
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json b/deps/npm/node_modules/escape-string-regexp/package.json
index 813c9089d2..18bc920130 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/package.json
+++ b/deps/npm/node_modules/escape-string-regexp/package.json
@@ -1,70 +1,94 @@
{
- "name": "escape-string-regexp",
- "version": "1.0.3",
- "description": "Escape RegExp special characters",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/escape-string-regexp.git"
+ "_args": [
+ [
+ "escape-string-regexp@^1.0.2",
+ "/Users/rebecca/code/npm/node_modules/chalk"
+ ]
+ ],
+ "_from": "escape-string-regexp@>=1.0.2 <2.0.0",
+ "_id": "escape-string-regexp@1.0.3",
+ "_inCache": true,
+ "_location": "/escape-string-regexp",
+ "_nodeVersion": "0.10.35",
+ "_npmUser": {
+ "email": "jappelman@xebia.com",
+ "name": "jbnicolai"
+ },
+ "_npmVersion": "2.1.16",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "escape-string-regexp",
+ "raw": "escape-string-regexp@^1.0.2",
+ "rawSpec": "^1.0.2",
+ "scope": null,
+ "spec": ">=1.0.2 <2.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/chalk"
+ ],
+ "_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz",
+ "_shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5",
+ "_shrinkwrap": null,
+ "_spec": "escape-string-regexp@^1.0.2",
+ "_where": "/Users/rebecca/code/npm/node_modules/chalk",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "http://sindresorhus.com"
},
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
+ "bugs": {
+ "url": "https://github.com/sindresorhus/escape-string-regexp/issues"
+ },
+ "dependencies": {},
+ "description": "Escape RegExp special characters",
+ "devDependencies": {
+ "mocha": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5",
+ "tarball": "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
+ },
"engines": {
"node": ">=0.8.0"
},
- "scripts": {
- "test": "mocha"
- },
"files": [
"index.js"
],
+ "gitHead": "1e446e6b4449b5f1f8868cd31bf8fd25ee37fb4b",
+ "homepage": "https://github.com/sindresorhus/escape-string-regexp",
"keywords": [
+ "characters",
+ "escape",
+ "expression",
+ "re",
"regex",
"regexp",
- "re",
"regular",
- "expression",
- "escape",
- "string",
- "str",
"special",
- "characters"
+ "str",
+ "string"
],
- "devDependencies": {
- "mocha": "*"
- },
- "gitHead": "1e446e6b4449b5f1f8868cd31bf8fd25ee37fb4b",
- "bugs": {
- "url": "https://github.com/sindresorhus/escape-string-regexp/issues"
- },
- "homepage": "https://github.com/sindresorhus/escape-string-regexp",
- "_id": "escape-string-regexp@1.0.3",
- "_shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5",
- "_from": "escape-string-regexp@>=1.0.2 <2.0.0",
- "_npmVersion": "2.1.16",
- "_nodeVersion": "0.10.35",
- "_npmUser": {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ }
+ ],
+ "name": "escape-string-regexp",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sindresorhus/escape-string-regexp"
},
- "dist": {
- "shasum": "9e2d8b25bc2555c3336723750e03f099c2735bb5",
- "tarball": "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
+ "scripts": {
+ "test": "mocha"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "1.0.3"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/readme.md b/deps/npm/node_modules/escape-string-regexp/readme.md
index 808a963a86..808a963a86 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/readme.md
+++ b/deps/npm/node_modules/escape-string-regexp/readme.md
diff --git a/deps/npm/node_modules/request/node_modules/extend/.jscs.json b/deps/npm/node_modules/extend/.jscs.json
index 59faa8bd9f..59faa8bd9f 100644
--- a/deps/npm/node_modules/request/node_modules/extend/.jscs.json
+++ b/deps/npm/node_modules/extend/.jscs.json
diff --git a/deps/npm/node_modules/request/node_modules/extend/.npmignore b/deps/npm/node_modules/extend/.npmignore
index 30d74d2584..30d74d2584 100644
--- a/deps/npm/node_modules/request/node_modules/extend/.npmignore
+++ b/deps/npm/node_modules/extend/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/extend/.travis.yml b/deps/npm/node_modules/extend/.travis.yml
index ebef64499b..ebef64499b 100644
--- a/deps/npm/node_modules/request/node_modules/extend/.travis.yml
+++ b/deps/npm/node_modules/extend/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/extend/CHANGELOG.md b/deps/npm/node_modules/extend/CHANGELOG.md
index 2874d2ecda..2874d2ecda 100644
--- a/deps/npm/node_modules/request/node_modules/extend/CHANGELOG.md
+++ b/deps/npm/node_modules/extend/CHANGELOG.md
diff --git a/deps/npm/node_modules/request/node_modules/extend/LICENSE b/deps/npm/node_modules/extend/LICENSE
index 92d41503d3..92d41503d3 100644
--- a/deps/npm/node_modules/request/node_modules/extend/LICENSE
+++ b/deps/npm/node_modules/extend/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/extend/README.md b/deps/npm/node_modules/extend/README.md
index 3a47b21880..3a47b21880 100644
--- a/deps/npm/node_modules/request/node_modules/extend/README.md
+++ b/deps/npm/node_modules/extend/README.md
diff --git a/deps/npm/node_modules/request/node_modules/extend/component.json b/deps/npm/node_modules/extend/component.json
index 0f76b59305..0f76b59305 100644
--- a/deps/npm/node_modules/request/node_modules/extend/component.json
+++ b/deps/npm/node_modules/extend/component.json
diff --git a/deps/npm/node_modules/request/node_modules/extend/index.js b/deps/npm/node_modules/extend/index.js
index 2f957482ee..2f957482ee 100644
--- a/deps/npm/node_modules/request/node_modules/extend/index.js
+++ b/deps/npm/node_modules/extend/index.js
diff --git a/deps/npm/node_modules/request/node_modules/extend/package.json b/deps/npm/node_modules/extend/package.json
index c8c7cac996..64d1715fd7 100644
--- a/deps/npm/node_modules/request/node_modules/extend/package.json
+++ b/deps/npm/node_modules/extend/package.json
@@ -1,20 +1,44 @@
{
- "name": "extend",
+ "_args": [
+ [
+ "extend@~3.0.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "extend@>=3.0.0 <3.1.0",
+ "_id": "extend@3.0.0",
+ "_inCache": true,
+ "_location": "/extend",
+ "_nodeVersion": "2.3.1",
+ "_npmUser": {
+ "email": "ljharb@gmail.com",
+ "name": "ljharb"
+ },
+ "_npmVersion": "2.11.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "extend",
+ "raw": "extend@~3.0.0",
+ "rawSpec": "~3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <3.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
+ "_shasum": "5a474353b9f3353ddd8176dfd37b91c83a46f1d4",
+ "_shrinkwrap": null,
+ "_spec": "extend@~3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Stefan Thomas",
"email": "justmoon@members.fsf.org",
+ "name": "Stefan Thomas",
"url": "http://www.justmoon.net"
},
- "version": "3.0.0",
- "description": "Port of jQuery.extend for node.js and the browser",
- "main": "index",
- "scripts": {
- "test": "npm run lint && node test/index.js && npm run coverage-quiet",
- "coverage": "covert test/index.js",
- "coverage-quiet": "covert test/index.js --quiet",
- "lint": "npm run jscs && npm run eslint",
- "jscs": "jscs *.js */*.js",
- "eslint": "eslint *.js */*.js"
+ "bugs": {
+ "url": "https://github.com/justmoon/node-extend/issues"
},
"contributors": [
{
@@ -22,41 +46,28 @@
"url": "https://github.com/ljharb"
}
],
- "keywords": [
- "extend",
- "clone",
- "merge"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/justmoon/node-extend.git"
- },
"dependencies": {},
+ "description": "Port of jQuery.extend for node.js and the browser",
"devDependencies": {
- "tape": "^4.0.0",
"covert": "^1.1.0",
+ "eslint": "^0.24.0",
"jscs": "^1.13.1",
- "eslint": "^0.24.0"
- },
- "license": "MIT",
- "gitHead": "148e7270cab2e9413af2cd0cab147070d755ed6d",
- "bugs": {
- "url": "https://github.com/justmoon/node-extend/issues"
- },
- "homepage": "https://github.com/justmoon/node-extend#readme",
- "_id": "extend@3.0.0",
- "_shasum": "5a474353b9f3353ddd8176dfd37b91c83a46f1d4",
- "_from": "extend@>=3.0.0 <3.1.0",
- "_npmVersion": "2.11.3",
- "_nodeVersion": "2.3.1",
- "_npmUser": {
- "name": "ljharb",
- "email": "ljharb@gmail.com"
+ "tape": "^4.0.0"
},
+ "directories": {},
"dist": {
"shasum": "5a474353b9f3353ddd8176dfd37b91c83a46f1d4",
"tarball": "http://registry.npmjs.org/extend/-/extend-3.0.0.tgz"
},
+ "gitHead": "148e7270cab2e9413af2cd0cab147070d755ed6d",
+ "homepage": "https://github.com/justmoon/node-extend#readme",
+ "keywords": [
+ "clone",
+ "extend",
+ "merge"
+ ],
+ "license": "MIT",
+ "main": "index",
"maintainers": [
{
"name": "justmoon",
@@ -67,7 +78,19 @@
"email": "ljharb@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "extend",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/justmoon/node-extend.git"
+ },
+ "scripts": {
+ "coverage": "covert test/index.js",
+ "coverage-quiet": "covert test/index.js --quiet",
+ "eslint": "eslint *.js */*.js",
+ "jscs": "jscs *.js */*.js",
+ "lint": "npm run jscs && npm run eslint",
+ "test": "npm run lint && node test/index.js && npm run coverage-quiet"
+ },
+ "version": "3.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/forever-agent/LICENSE b/deps/npm/node_modules/forever-agent/LICENSE
index a4a9aee0c2..a4a9aee0c2 100644
--- a/deps/npm/node_modules/request/node_modules/forever-agent/LICENSE
+++ b/deps/npm/node_modules/forever-agent/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/forever-agent/README.md b/deps/npm/node_modules/forever-agent/README.md
index 9d5b66343c..9d5b66343c 100644
--- a/deps/npm/node_modules/request/node_modules/forever-agent/README.md
+++ b/deps/npm/node_modules/forever-agent/README.md
diff --git a/deps/npm/node_modules/request/node_modules/forever-agent/index.js b/deps/npm/node_modules/forever-agent/index.js
index 416c7abd70..d7276fd973 100644
--- a/deps/npm/node_modules/request/node_modules/forever-agent/index.js
+++ b/deps/npm/node_modules/forever-agent/index.js
@@ -6,8 +6,8 @@ var util = require('util')
, net = require('net')
, tls = require('tls')
, AgentSSL = require('https').Agent
-
-function getConnectionName(host, port) {
+
+function getConnectionName(host, port) {
var name = ''
if (typeof host === 'string') {
name = host + ':' + port
@@ -16,7 +16,7 @@ function getConnectionName(host, port) {
name = host.host + ':' + host.port + ':' + (host.localAddress ? (host.localAddress + ':') : ':')
}
return name
-}
+}
function ForeverAgent(options) {
var self = this
@@ -34,7 +34,7 @@ function ForeverAgent(options) {
} 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
var onIdleError = function() {
socket.destroy()
@@ -60,7 +60,7 @@ ForeverAgent.prototype.createConnection = net.createConnection
ForeverAgent.prototype.addRequestNoreuse = Agent.prototype.addRequest
ForeverAgent.prototype.addRequest = function(req, host, port) {
var name = getConnectionName(host, port)
-
+
if (typeof host !== 'string') {
var options = host
port = options.port
@@ -89,7 +89,7 @@ ForeverAgent.prototype.removeSocket = function(s, name, host, port) {
delete this.sockets[name]
delete this.requests[name]
}
-
+
if (this.freeSockets[name]) {
var index = this.freeSockets[name].indexOf(s)
if (index !== -1) {
diff --git a/deps/npm/node_modules/request/node_modules/forever-agent/package.json b/deps/npm/node_modules/forever-agent/package.json
index ef074a5106..d22d4c0322 100644
--- a/deps/npm/node_modules/request/node_modules/forever-agent/package.json
+++ b/deps/npm/node_modules/forever-agent/package.json
@@ -1,37 +1,59 @@
{
+ "_args": [
+ [
+ "forever-agent@~0.6.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "forever-agent@>=0.6.0 <0.7.0",
+ "_id": "forever-agent@0.6.1",
+ "_inCache": true,
+ "_location": "/forever-agent",
+ "_npmUser": {
+ "email": "simeonvelichkov@gmail.com",
+ "name": "simov"
+ },
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "forever-agent",
+ "raw": "forever-agent@~0.6.0",
+ "rawSpec": "~0.6.0",
+ "scope": null,
+ "spec": ">=0.6.0 <0.7.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "_shasum": "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91",
+ "_shrinkwrap": null,
+ "_spec": "forever-agent@~0.6.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Mikeal Rogers",
"email": "mikeal.rogers@gmail.com",
+ "name": "Mikeal Rogers",
"url": "http://www.futurealoof.com"
},
- "name": "forever-agent",
- "description": "HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.",
- "version": "0.6.1",
- "license": "Apache-2.0",
- "repository": {
- "url": "git+https://github.com/mikeal/forever-agent.git"
+ "bugs": {
+ "url": "https://github.com/mikeal/forever-agent/issues"
},
- "main": "index.js",
"dependencies": {},
+ "description": "HTTP Agent that keeps socket connections alive between keep-alive requests. Formerly part of mikeal/request, now a standalone module.",
"devDependencies": {},
- "optionalDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91",
+ "tarball": "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
+ },
"engines": {
"node": "*"
},
"gitHead": "1b3b6163f2b3c2c4122bbfa288c1325c0df9871d",
- "bugs": {
- "url": "https://github.com/mikeal/forever-agent/issues"
- },
"homepage": "https://github.com/mikeal/forever-agent",
- "_id": "forever-agent@0.6.1",
- "scripts": {},
- "_shasum": "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91",
- "_from": "forever-agent@>=0.6.0 <0.7.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "simov",
- "email": "simeonvelichkov@gmail.com"
- },
+ "license": "Apache-2.0",
+ "main": "index.js",
"maintainers": [
{
"name": "mikeal",
@@ -46,11 +68,11 @@
"email": "simeonvelichkov@gmail.com"
}
],
- "dist": {
- "shasum": "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91",
- "tarball": "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
+ "name": "forever-agent",
+ "optionalDependencies": {},
+ "repository": {
+ "url": "https://github.com/mikeal/forever-agent"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {},
+ "version": "0.6.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/form-data/License b/deps/npm/node_modules/form-data/License
index c7ff12a2f8..c7ff12a2f8 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/License
+++ b/deps/npm/node_modules/form-data/License
diff --git a/deps/npm/node_modules/request/node_modules/form-data/Readme.md b/deps/npm/node_modules/form-data/Readme.md
index 492773231f..492773231f 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/Readme.md
+++ b/deps/npm/node_modules/form-data/Readme.md
diff --git a/deps/npm/node_modules/request/node_modules/form-data/lib/browser.js b/deps/npm/node_modules/form-data/lib/browser.js
index 1e7717d564..1e7717d564 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/lib/browser.js
+++ b/deps/npm/node_modules/form-data/lib/browser.js
diff --git a/deps/npm/node_modules/request/node_modules/form-data/lib/form_data.js b/deps/npm/node_modules/form-data/lib/form_data.js
index 0cbb2e8331..0cbb2e8331 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/lib/form_data.js
+++ b/deps/npm/node_modules/form-data/lib/form_data.js
diff --git a/deps/npm/node_modules/request/node_modules/form-data/package.json b/deps/npm/node_modules/form-data/package.json
index 8fba29b800..01f1798646 100644
--- a/deps/npm/node_modules/request/node_modules/form-data/package.json
+++ b/deps/npm/node_modules/form-data/package.json
@@ -1,33 +1,52 @@
{
+ "_args": [
+ [
+ "form-data@1.0.0-rc3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "form-data@1.0.0-rc3",
+ "_id": "form-data@1.0.0-rc3",
+ "_inCache": true,
+ "_location": "/form-data",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "pierceydylan@gmail.com",
+ "name": "dylanpiercey"
+ },
+ "_npmVersion": "2.11.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "form-data",
+ "raw": "form-data@1.0.0-rc3",
+ "rawSpec": "1.0.0-rc3",
+ "scope": null,
+ "spec": "1.0.0-rc3",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz",
+ "_shasum": "d35bc62e7fbc2937ae78f948aaa0d38d90607577",
+ "_shrinkwrap": null,
+ "_spec": "form-data@1.0.0-rc3",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Felix Geisendörfer",
"email": "felix@debuggable.com",
+ "name": "Felix Geisendörfer",
"url": "http://debuggable.com/"
},
- "name": "form-data",
- "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.",
- "version": "1.0.0-rc3",
- "repository": {
- "type": "git",
- "url": "git://github.com/form-data/form-data.git"
- },
- "main": "./lib/form_data",
"browser": "./lib/browser",
- "scripts": {
- "test": "./test/run.js"
- },
- "pre-commit": [
- "test"
- ],
- "engines": {
- "node": ">= 0.10"
+ "bugs": {
+ "url": "https://github.com/form-data/form-data/issues"
},
"dependencies": {
"async": "^1.4.0",
"combined-stream": "^1.0.5",
"mime-types": "^2.1.3"
},
- "license": "MIT",
+ "description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.",
"devDependencies": {
"fake": "^0.2.2",
"far": "^0.0.7",
@@ -35,24 +54,19 @@
"pre-commit": "^1.0.10",
"request": "^2.60.0"
},
- "gitHead": "c174f1b7f3a78a00ec5af0360469280445e37804",
- "bugs": {
- "url": "https://github.com/form-data/form-data/issues"
- },
- "homepage": "https://github.com/form-data/form-data#readme",
- "_id": "form-data@1.0.0-rc3",
- "_shasum": "d35bc62e7fbc2937ae78f948aaa0d38d90607577",
- "_from": "form-data@>=1.0.0-rc1 <1.1.0",
- "_npmVersion": "2.11.0",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "dylanpiercey",
- "email": "pierceydylan@gmail.com"
- },
+ "directories": {},
"dist": {
"shasum": "d35bc62e7fbc2937ae78f948aaa0d38d90607577",
"tarball": "http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz"
},
+ "engines": {
+ "node": ">= 0.10"
+ },
+ "gitHead": "c174f1b7f3a78a00ec5af0360469280445e37804",
+ "homepage": "https://github.com/form-data/form-data#readme",
+ "installable": true,
+ "license": "MIT",
+ "main": "./lib/form_data",
"maintainers": [
{
"name": "felixge",
@@ -79,7 +93,17 @@
"email": "pierceydylan@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "form-data",
+ "optionalDependencies": {},
+ "pre-commit": [
+ "test"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/form-data/form-data.git"
+ },
+ "scripts": {
+ "test": "./test/run.js"
+ },
+ "version": "1.0.0-rc3"
}
diff --git a/deps/npm/node_modules/fs-vacuum/package.json b/deps/npm/node_modules/fs-vacuum/package.json
index c7d9895a92..da4465c95a 100644
--- a/deps/npm/node_modules/fs-vacuum/package.json
+++ b/deps/npm/node_modules/fs-vacuum/package.json
@@ -1,43 +1,88 @@
{
- "name": "fs-vacuum",
- "version": "1.2.7",
- "description": "recursively remove empty directories -- to a point",
- "main": "vacuum.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "fs-vacuum@~1.2.6",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "fs-vacuum@>=1.2.6 <1.3.0",
+ "_id": "fs-vacuum@1.2.7",
+ "_inCache": true,
+ "_location": "/fs-vacuum",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/fs-vacuum.git"
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "fs-vacuum",
+ "raw": "fs-vacuum@~1.2.6",
+ "rawSpec": "~1.2.6",
+ "scope": null,
+ "spec": ">=1.2.6 <1.3.0",
+ "type": "range"
},
- "keywords": [
- "rm",
- "rimraf",
- "clean"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.7.tgz",
+ "_shasum": "75e501f9d2889ba2fe9fe12f936ba5dad50ca35a",
+ "_shrinkwrap": null,
+ "_spec": "fs-vacuum@~1.2.6",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Forrest L Norvell",
- "email": "ogd@aoaioxxysz.net"
+ "email": "ogd@aoaioxxysz.net",
+ "name": "Forrest L Norvell"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/npm/fs-vacuum/issues"
},
- "homepage": "https://github.com/npm/fs-vacuum",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "path-is-inside": "^1.0.1",
+ "rimraf": "^2.2.8"
+ },
+ "description": "recursively remove empty directories -- to a point",
"devDependencies": {
"mkdirp": "^0.5.0",
"tap": "^0.4.11",
"tmp": "0.0.24"
},
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "path-is-inside": "^1.0.1",
- "rimraf": "^2.2.8"
+ "directories": {},
+ "dist": {
+ "shasum": "75e501f9d2889ba2fe9fe12f936ba5dad50ca35a",
+ "tarball": "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.7.tgz"
},
- "readme": "# fs-vacuum\n\nRemove the empty branches of a directory tree, optionally up to (but not\nincluding) a specified base directory. Optionally nukes the leaf directory.\n\n## Usage\n\n```javascript\nvar logger = require(\"npmlog\");\nvar vacuum = require(\"fs-vacuum\");\n\nvar options = {\n base : \"/path/to/my/tree/root\",\n purge : true,\n log : logger.silly.bind(logger, \"myCleanup\")\n};\n\n/* Assuming there are no other files or directories in \"out\", \"to\", or \"my\",\n * the final path will just be \"/path/to/my/tree/root\".\n */\nvacuum(\"/path/to/my/tree/root/out/to/my/files\", function (error) {\n if (error) console.error(\"Unable to cleanly vacuum:\", error.message);\n});\n```\n# vacuum(directory, options, callback)\n\n* `directory` {String} Leaf node to remove. **Must be a directory, symlink, or file.**\n* `options` {Object}\n * `base` {String} No directories at or above this level of the filesystem will be removed.\n * `purge` {Boolean} If set, nuke the whole leaf directory, including its contents.\n * `log` {Function} A logging function that takes `npmlog`-compatible argument lists.\n* `callback` {Function} Function to call once vacuuming is complete.\n * `error` {Error} What went wrong along the way, if anything.\n",
- "readmeFilename": "README.md",
"gitHead": "498a44d987ee11bc355fe1ec479d55a689fc37ef",
- "_id": "fs-vacuum@1.2.7",
- "_shasum": "75e501f9d2889ba2fe9fe12f936ba5dad50ca35a",
- "_from": "fs-vacuum@1.2.7"
+ "homepage": "https://github.com/npm/fs-vacuum",
+ "installable": true,
+ "keywords": [
+ "clean",
+ "rimraf",
+ "rm"
+ ],
+ "license": "ISC",
+ "main": "vacuum.js",
+ "maintainers": [
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "fs-vacuum",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/fs-vacuum.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.2.7"
}
diff --git a/deps/npm/node_modules/fs-write-stream-atomic/package.json b/deps/npm/node_modules/fs-write-stream-atomic/package.json
index a94785682a..46a8546ba8 100644
--- a/deps/npm/node_modules/fs-write-stream-atomic/package.json
+++ b/deps/npm/node_modules/fs-write-stream-atomic/package.json
@@ -1,38 +1,86 @@
{
- "name": "fs-write-stream-atomic",
- "version": "1.0.4",
- "description": "Like `fs.createWriteStream(...)`, but atomic.",
- "main": "index.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "fs-write-stream-atomic@~1.0.3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "fs-write-stream-atomic@>=1.0.3 <1.1.0",
+ "_id": "fs-write-stream-atomic@1.0.4",
+ "_inCache": true,
+ "_location": "/fs-write-stream-atomic",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "fs-write-stream-atomic",
+ "raw": "fs-write-stream-atomic@~1.0.3",
+ "rawSpec": "~1.0.3",
+ "scope": null,
+ "spec": ">=1.0.3 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.4.tgz",
+ "_shasum": "c1ea55889f036ceebdead7d1055edbad998fe5e9",
+ "_shrinkwrap": null,
+ "_spec": "fs-write-stream-atomic@~1.0.3",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/fs-write-stream-atomic/issues"
},
"dependencies": {
"graceful-fs": "^4.1.2"
},
+ "description": "Like `fs.createWriteStream(...)`, but atomic.",
"devDependencies": {
"tap": "^1.2.0"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
+ "dist": {
+ "shasum": "c1ea55889f036ceebdead7d1055edbad998fe5e9",
+ "tarball": "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.4.tgz"
+ },
+ "gitHead": "6ca2651b913149543c5390c6c4f7d370bdca42b5",
+ "homepage": "https://github.com/npm/fs-write-stream-atomic",
+ "installable": true,
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "fs-write-stream-atomic",
+ "optionalDependencies": {},
"repository": {
"type": "git",
"url": "git+https://github.com/npm/fs-write-stream-atomic.git"
},
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/fs-write-stream-atomic/issues"
+ "scripts": {
+ "test": "tap test/*.js"
},
- "homepage": "https://github.com/npm/fs-write-stream-atomic",
- "readme": "# fs-write-stream-atomic\n\nLike `fs.createWriteStream(...)`, but atomic.\n\nWrites to a tmp file and does an atomic `fs.rename` to move it into\nplace when it's done.\n\nFirst rule of debugging: **It's always a race condition.**\n\n## USAGE\n\n```javascript\nvar fsWriteStreamAtomic = require('fs-write-stream-atomic')\n// options are optional.\nvar write = fsWriteStreamAtomic('output.txt', options)\nvar read = fs.createReadStream('input.txt')\nread.pipe(write)\n\n// When the write stream emits a 'finish' or 'close' event,\n// you can be sure that it is moved into place, and contains\n// all the bytes that were written to it, even if something else\n// was writing to `output.txt` at the same time.\n```\n\n### `fsWriteStreamAtomic(filename, [options])`\n\n* `filename` {String} The file we want to write to\n* `options` {Object}\n * `chown` {Object} User and group to set ownership after write\n * `uid` {Number}\n * `gid` {Number}\n * `encoding` {String} default = 'utf8'\n * `mode` {Number} default = `0666`\n * `flags` {String} default = `'w'`\n\n",
- "readmeFilename": "README.md",
- "gitHead": "6ca2651b913149543c5390c6c4f7d370bdca42b5",
- "_id": "fs-write-stream-atomic@1.0.4",
- "_shasum": "c1ea55889f036ceebdead7d1055edbad998fe5e9",
- "_from": "fs-write-stream-atomic@1.0.4"
+ "version": "1.0.4"
}
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/.npmignore b/deps/npm/node_modules/fstream-ignore/.npmignore
index a843dc44a1..a843dc44a1 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/.npmignore
+++ b/deps/npm/node_modules/fstream-ignore/.npmignore
diff --git a/deps/npm/node_modules/chmodr/LICENSE b/deps/npm/node_modules/fstream-ignore/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/chmodr/LICENSE
+++ b/deps/npm/node_modules/fstream-ignore/LICENSE
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/README.md b/deps/npm/node_modules/fstream-ignore/README.md
index 31170feae4..31170feae4 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/README.md
+++ b/deps/npm/node_modules/fstream-ignore/README.md
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/example/basic.js b/deps/npm/node_modules/fstream-ignore/example/basic.js
index ff4534289c..ff4534289c 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/example/basic.js
+++ b/deps/npm/node_modules/fstream-ignore/example/basic.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/ignore.js b/deps/npm/node_modules/fstream-ignore/ignore.js
index 212fc7bdea..212fc7bdea 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/ignore.js
+++ b/deps/npm/node_modules/fstream-ignore/ignore.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/package.json b/deps/npm/node_modules/fstream-ignore/package.json
index 1a505bd4a2..05416ea99b 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/package.json
+++ b/deps/npm/node_modules/fstream-ignore/package.json
@@ -1,56 +1,79 @@
{
+ "_args": [
+ [
+ "fstream-ignore@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/fstream-npm"
+ ]
+ ],
+ "_from": "fstream-ignore@>=1.0.0 <2.0.0",
+ "_id": "fstream-ignore@1.0.2",
+ "_inCache": true,
+ "_location": "/fstream-ignore",
+ "_nodeVersion": "0.10.16",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.1.11",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "fstream-ignore",
+ "raw": "fstream-ignore@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/fstream-npm"
+ ],
+ "_resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz",
+ "_shasum": "18c891db01b782a74a7bff936a0f24997741c7ab",
+ "_shrinkwrap": null,
+ "_spec": "fstream-ignore@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/fstream-npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "fstream-ignore",
- "description": "A thing for ignoring files based on globs",
- "version": "1.0.2",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/fstream-ignore.git"
- },
- "main": "ignore.js",
- "scripts": {
- "test": "tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/fstream-ignore/issues"
},
"dependencies": {
"fstream": "^1.0.0",
"inherits": "2",
"minimatch": "^2.0.1"
},
+ "description": "A thing for ignoring files based on globs",
"devDependencies": {
- "tap": "",
+ "mkdirp": "",
"rimraf": "",
- "mkdirp": ""
+ "tap": ""
},
- "license": "ISC",
- "gitHead": "20363d39660671c0de746bd07a0d07de7090d085",
- "bugs": {
- "url": "https://github.com/isaacs/fstream-ignore/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "18c891db01b782a74a7bff936a0f24997741c7ab",
+ "tarball": "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz"
},
+ "gitHead": "20363d39660671c0de746bd07a0d07de7090d085",
"homepage": "https://github.com/isaacs/fstream-ignore",
- "_id": "fstream-ignore@1.0.2",
- "_shasum": "18c891db01b782a74a7bff936a0f24997741c7ab",
- "_from": "fstream-ignore@>=1.0.0 <2.0.0",
- "_npmVersion": "2.1.11",
- "_nodeVersion": "0.10.16",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "license": "ISC",
+ "main": "ignore.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "18c891db01b782a74a7bff936a0f24997741c7ab",
- "tarball": "http://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz"
+ "name": "fstream-ignore",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/fstream-ignore.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/.ignore b/deps/npm/node_modules/fstream-ignore/test/.ignore
index 773679d45e..773679d45e 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/.ignore
+++ b/deps/npm/node_modules/fstream-ignore/test/.ignore
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/.npmignore b/deps/npm/node_modules/fstream-ignore/test/.npmignore
index 1b26d0de59..1b26d0de59 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/.npmignore
+++ b/deps/npm/node_modules/fstream-ignore/test/.npmignore
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/00-setup.js b/deps/npm/node_modules/fstream-ignore/test/00-setup.js
index 7d7e4a1b78..351bcd10f1 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/00-setup.js
+++ b/deps/npm/node_modules/fstream-ignore/test/00-setup.js
@@ -68,4 +68,3 @@ tap.test("create fixtures", function (t) {
})
t.end()
})
-
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/basic.js b/deps/npm/node_modules/fstream-ignore/test/basic.js
index 3718076eed..3718076eed 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/basic.js
+++ b/deps/npm/node_modules/fstream-ignore/test/basic.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/common.js b/deps/npm/node_modules/fstream-ignore/test/common.js
index 0e6cd989c9..0e6cd989c9 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/common.js
+++ b/deps/npm/node_modules/fstream-ignore/test/common.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/ignore-most.js b/deps/npm/node_modules/fstream-ignore/test/ignore-most.js
index 43eec4b546..43eec4b546 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/ignore-most.js
+++ b/deps/npm/node_modules/fstream-ignore/test/ignore-most.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/nested-ignores.js b/deps/npm/node_modules/fstream-ignore/test/nested-ignores.js
index a9ede59ca7..a9ede59ca7 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/nested-ignores.js
+++ b/deps/npm/node_modules/fstream-ignore/test/nested-ignores.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/read-file-order.js b/deps/npm/node_modules/fstream-ignore/test/read-file-order.js
index 0d851164f2..0d851164f2 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/read-file-order.js
+++ b/deps/npm/node_modules/fstream-ignore/test/read-file-order.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/unignore-child.js b/deps/npm/node_modules/fstream-ignore/test/unignore-child.js
index 5812354df7..5812354df7 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/unignore-child.js
+++ b/deps/npm/node_modules/fstream-ignore/test/unignore-child.js
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/zz-cleanup.js b/deps/npm/node_modules/fstream-ignore/test/zz-cleanup.js
index 82f064a421..82f064a421 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/test/zz-cleanup.js
+++ b/deps/npm/node_modules/fstream-ignore/test/zz-cleanup.js
diff --git a/deps/npm/node_modules/fstream-npm/package.json b/deps/npm/node_modules/fstream-npm/package.json
index f3ab7b8faf..f4deee360d 100644
--- a/deps/npm/node_modules/fstream-npm/package.json
+++ b/deps/npm/node_modules/fstream-npm/package.json
@@ -1,24 +1,50 @@
{
+ "_args": [
+ [
+ "fstream-npm@~1.0.5",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "fstream-npm@>=1.0.5 <1.1.0",
+ "_id": "fstream-npm@1.0.5",
+ "_inCache": true,
+ "_location": "/fstream-npm",
+ "_nodeVersion": "2.5.0",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
+ },
+ "_npmVersion": "2.14.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "fstream-npm",
+ "raw": "fstream-npm@~1.0.5",
+ "rawSpec": "~1.0.5",
+ "scope": null,
+ "spec": ">=1.0.5 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.5.tgz",
+ "_shasum": "4c1d1cbc6da95c745f8d2c52077a1d2e7b337206",
+ "_shrinkwrap": null,
+ "_spec": "fstream-npm@~1.0.5",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "fstream-npm",
- "description": "fstream class for creating npm packages",
- "version": "1.0.5",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/fstream-npm.git"
- },
- "scripts": {
- "test": "standard && tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/fstream-npm/issues"
},
- "main": "./fstream-npm.js",
"dependencies": {
"fstream-ignore": "^1.0.0",
"inherits": "2"
},
+ "description": "fstream class for creating npm packages",
"devDependencies": {
"graceful-fs": "^4.1.2",
"mkdirp": "^0.5.1",
@@ -26,15 +52,38 @@
"standard": "^4.3.1",
"tap": "^1.3.2"
},
- "license": "ISC",
- "readme": "# fstream-npm\n\nThis is an fstream DirReader class that will read a directory and filter\nthings according to the semantics of what goes in an npm package.\n\nFor example:\n\n```javascript\n// This will print out all the files that would be included\n// by 'npm publish' or 'npm install' of this directory.\n\nvar FN = require(\"fstream-npm\")\nFN({ path: \"./\" })\n .on(\"child\", function (e) {\n console.error(e.path.substr(e.root.path.length + 1))\n })\n```\n\n",
- "readmeFilename": "README.md",
- "gitHead": "f6ec06b9c45d7330213a5b446fff424b5a74e197",
- "bugs": {
- "url": "https://github.com/isaacs/fstream-npm/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "4c1d1cbc6da95c745f8d2c52077a1d2e7b337206",
+ "tarball": "http://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.5.tgz"
},
+ "gitHead": "f6ec06b9c45d7330213a5b446fff424b5a74e197",
"homepage": "https://github.com/isaacs/fstream-npm#readme",
- "_id": "fstream-npm@1.0.5",
- "_shasum": "4c1d1cbc6da95c745f8d2c52077a1d2e7b337206",
- "_from": "fstream-npm@>=1.0.5 <1.1.0"
+ "installable": true,
+ "license": "ISC",
+ "main": "./fstream-npm.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "fstream-npm",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/fstream-npm.git"
+ },
+ "scripts": {
+ "test": "standard && tap test/*.js"
+ },
+ "version": "1.0.5"
}
diff --git a/deps/npm/node_modules/fstream/package.json b/deps/npm/node_modules/fstream/package.json
index 8c00819544..6eeeffe499 100644
--- a/deps/npm/node_modules/fstream/package.json
+++ b/deps/npm/node_modules/fstream/package.json
@@ -1,19 +1,48 @@
{
+ "_args": [
+ [
+ "fstream@~1.0.7",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "fstream@>=1.0.7 <1.1.0",
+ "_id": "fstream@1.0.8",
+ "_inCache": true,
+ "_location": "/fstream",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "fstream",
+ "raw": "fstream@~1.0.7",
+ "rawSpec": "~1.0.7",
+ "scope": null,
+ "spec": ">=1.0.7 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/fstream-ignore",
+ "/node-gyp",
+ "/node-gyp/tar",
+ "/tar"
+ ],
+ "_resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz",
+ "_shasum": "7e8d7a73abb3647ef36e4b8a15ca801dba03d038",
+ "_shrinkwrap": null,
+ "_spec": "fstream@~1.0.7",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "fstream",
- "description": "Advanced file system stream things",
- "version": "1.0.8",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/fstream.git"
- },
- "main": "fstream.js",
- "engines": {
- "node": ">=0.6"
+ "bugs": {
+ "url": "https://github.com/isaacs/fstream/issues"
},
"dependencies": {
"graceful-fs": "^4.1.2",
@@ -21,22 +50,50 @@
"mkdirp": ">=0.5 0",
"rimraf": "2"
},
+ "description": "Advanced file system stream things",
"devDependencies": {
"standard": "^4.0.0",
"tap": "^1.2.0"
},
- "scripts": {
- "test": "standard && tap examples/*.js"
+ "directories": {},
+ "dist": {
+ "shasum": "7e8d7a73abb3647ef36e4b8a15ca801dba03d038",
+ "tarball": "http://registry.npmjs.org/fstream/-/fstream-1.0.8.tgz"
},
- "license": "ISC",
- "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",
- "gitHead": "d9f81146c50e687f1df04c1a0e7e4c173eb3dae2",
- "bugs": {
- "url": "https://github.com/isaacs/fstream/issues"
+ "engines": {
+ "node": ">=0.6"
},
+ "gitHead": "d9f81146c50e687f1df04c1a0e7e4c173eb3dae2",
"homepage": "https://github.com/isaacs/fstream#readme",
- "_id": "fstream@1.0.8",
- "_shasum": "7e8d7a73abb3647ef36e4b8a15ca801dba03d038",
- "_from": "fstream@1.0.8"
+ "installable": true,
+ "license": "ISC",
+ "main": "fstream.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "fstream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/fstream.git"
+ },
+ "scripts": {
+ "test": "standard && tap examples/*.js"
+ },
+ "version": "1.0.8"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/.npmignore b/deps/npm/node_modules/gauge/.npmignore
index df22a16c63..df22a16c63 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/.npmignore
+++ b/deps/npm/node_modules/gauge/.npmignore
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/LICENSE b/deps/npm/node_modules/gauge/LICENSE
index e756052969..e756052969 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/LICENSE
+++ b/deps/npm/node_modules/gauge/LICENSE
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/README.md b/deps/npm/node_modules/gauge/README.md
index fb9eb0a7d1..ca0a8cd773 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/README.md
+++ b/deps/npm/node_modules/gauge/README.md
@@ -30,6 +30,11 @@ gauge.hide()
Constructs a new gauge. Gauges are drawn on a single line, and are not drawn
if the current terminal isn't a tty.
+If you resize your terminal in a way that can be detected then the gauge
+will be drawn at the new size. As a general rule, growing your terminal will
+be clean, but shrinking your terminal will result in cruft as we don't have
+enough information to know where what we wrote previously is now located.
+
The **options** object can have the following properties, all of which are
optional:
@@ -117,7 +122,7 @@ will be turned into the gauge line. The default template is:
```javascript
[
- {type: "name", separated: true, maxLength: 25, minWidth: 25, align: "left"},
+ {type: "name", separated: true, maxLength: 25, minLength: 25, align: "left"},
{type: "spinner", separated: true},
{type: "startgroup"},
{type: "completionbar"},
@@ -131,7 +136,7 @@ be be included verbatum in the output.
If the template element is an object, it can have the following keys:
* *type* can be:
- * `name` – The most recent name passed to `show`; if this is in response to a
+ * `name` – The most recent name passed to `show`; if this is in response to a
`pulse` then the name passed to `pulse` will be appended along with the
subsection property from the theme.
* `spinner` – If you've ever called `pulse` this will be one of the characters
@@ -148,7 +153,7 @@ If the template element is an object, it can have the following keys:
will be padded according to the *align* value.
* *align* – (Default: left) Possible values "left", "right" and "center". Works
as you'd expect from word processors.
-* *length* – Provides a single value for both *minLength* and *maxLength*. If both
+* *length* – Provides a single value for both *minLength* and *maxLength*. If both
*length* and *minLength or *maxLength* are specifed then the latter take precedence.
### Tracking Completion
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/example.png b/deps/npm/node_modules/gauge/example.png
index 2667cac459..2667cac459 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/example.png
+++ b/deps/npm/node_modules/gauge/example.png
Binary files differ
diff --git a/deps/npm/node_modules/gauge/package.json b/deps/npm/node_modules/gauge/package.json
new file mode 100644
index 0000000000..a7777aa17e
--- /dev/null
+++ b/deps/npm/node_modules/gauge/package.json
@@ -0,0 +1,82 @@
+{
+ "_args": [
+ [
+ "gauge",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "gauge@*",
+ "_id": "gauge@1.2.2",
+ "_inCache": true,
+ "_location": "/gauge",
+ "_nodeVersion": "0.10.38",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "3.1.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "gauge",
+ "raw": "gauge",
+ "rawSpec": "",
+ "scope": null,
+ "spec": "*",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npmlog"
+ ],
+ "_shasum": "05b6730a19a8fcad3c340a142f0945222a3f815b",
+ "_shrinkwrap": null,
+ "_spec": "gauge",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "me@re-becca.org",
+ "name": "Rebecca Turner"
+ },
+ "bugs": {
+ "url": "https://github.com/iarna/gauge/issues"
+ },
+ "dependencies": {
+ "ansi": "^0.3.0",
+ "has-unicode": "^1.0.0",
+ "lodash.pad": "^3.0.0",
+ "lodash.padleft": "^3.0.0",
+ "lodash.padright": "^3.0.0"
+ },
+ "description": "A terminal based horizontal guage",
+ "devDependencies": {
+ "tap": "^0.4.13"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "05b6730a19a8fcad3c340a142f0945222a3f815b",
+ "tarball": "http://registry.npmjs.org/gauge/-/gauge-1.2.2.tgz"
+ },
+ "gitHead": "9f7eeeeed3b74a70f30b721d570435f6ffbc0168",
+ "homepage": "https://github.com/iarna/gauge",
+ "keywords": [
+ "gauge",
+ "progress",
+ "progressbar"
+ ],
+ "license": "ISC",
+ "main": "progress-bar.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "gauge",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/iarna/gauge.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.2.2"
+}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js b/deps/npm/node_modules/gauge/progress-bar.js
index 39dbf2ac43..16bdadc510 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/progress-bar.js
+++ b/deps/npm/node_modules/gauge/progress-bar.js
@@ -11,8 +11,10 @@ function isTTY() {
return process.stderr.isTTY
}
function getWritableTTYColumns() {
- // One less than the actual as writing to the final column wraps the line
- return process.stderr.columns - 1
+ // Writing to the final column wraps the line
+ // We have to use stdout here, because Node's magic SIGWINCH handler only
+ // updates process.stdout, not process.stderr
+ return process.stdout.columns - 1
}
var ProgressBar = module.exports = function (options, cursor) {
@@ -39,6 +41,13 @@ var ProgressBar = module.exports = function (options, cursor) {
this.lastCompleted = 0
this.spun = 0
this.last = new Date(0)
+
+ var self = this
+ this._handleSizeChange = function () {
+ if (!self.showing) return
+ self.hide()
+ self.show()
+ }
}
ProgressBar.prototype = {}
@@ -68,6 +77,14 @@ ProgressBar.prototype.setTemplate = function(template) {
this.template = template
}
+ProgressBar.prototype._enableResizeEvents = function() {
+ process.stdout.on('resize', this._handleSizeChange)
+}
+
+ProgressBar.prototype._disableResizeEvents = function() {
+ process.stdout.removeListener('resize', this._handleSizeChange)
+}
+
ProgressBar.prototype.disable = function() {
this.hide()
this.disabled = true
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/test/progress-bar.js b/deps/npm/node_modules/gauge/test/progress-bar.js
index 8e2a5ad643..39939269f5 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/test/progress-bar.js
+++ b/deps/npm/node_modules/gauge/test/progress-bar.js
@@ -70,7 +70,7 @@ test("hide", function (t) {
test("renderTemplate", function (t) {
t.plan(16)
- process.stderr.columns = 11
+ process.stdout.columns = 11
var result = bar.renderTemplate(ProgressBar.ascii,[{type: "name"}],{name: "NAME"})
t.is(result, "NAME", "name substitution")
var result = bar.renderTemplate(ProgressBar.ascii,[{type: "completionbar"}],{completed: 0})
@@ -108,7 +108,7 @@ test("renderTemplate", function (t) {
test("show & pulse", function (t) {
t.plan(23)
- process.stderr.columns = 16
+ process.stdout.columns = 16
cursor = []
process.stderr.isTTY = false
bar.template[0].length = 6
@@ -146,3 +146,31 @@ test("show & pulse", function (t) {
[ 'write', 'S -> P | |----|\n' ],
[ 'show' ] ])
})
+
+test("window resizing", function (t) {
+ t.plan(16)
+ process.stderr.isTTY = true
+ process.stdout.columns = 32
+ bar.show("NAME", 0.1)
+ cursor = []
+ bar.last = new Date(0)
+ bar.pulse()
+ isOutput(t, "32 columns",
+ [ [ 'up', 1 ],
+ [ 'hide' ],
+ [ 'horizontalAbsolute', 0 ],
+ [ 'write', 'NAME / |##------------------|\n' ],
+ [ 'show' ] ])
+
+ process.stdout.columns = 16
+ bar.show("NAME", 0.5)
+ cursor = []
+ bar.last = new Date(0)
+ bar.pulse()
+ isOutput(t, "16 columns",
+ [ [ 'up', 1 ],
+ [ 'hide' ],
+ [ 'horizontalAbsolute', 0 ],
+ [ 'write', 'NAME - |##--|\n' ],
+ [ 'show' ] ]);
+});
diff --git a/deps/npm/node_modules/github-url-from-git/.npmignore b/deps/npm/node_modules/generate-function/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/github-url-from-git/.npmignore
+++ b/deps/npm/node_modules/generate-function/.npmignore
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/.travis.yml b/deps/npm/node_modules/generate-function/.travis.yml
index 6e5919de39..6e5919de39 100644
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/.travis.yml
+++ b/deps/npm/node_modules/generate-function/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/README.md b/deps/npm/node_modules/generate-function/README.md
index 693bff87cf..693bff87cf 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/README.md
+++ b/deps/npm/node_modules/generate-function/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/example.js b/deps/npm/node_modules/generate-function/example.js
index 8d1fee1626..8d1fee1626 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/example.js
+++ b/deps/npm/node_modules/generate-function/example.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/index.js b/deps/npm/node_modules/generate-function/index.js
index 37e064bb47..37e064bb47 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/index.js
+++ b/deps/npm/node_modules/generate-function/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json b/deps/npm/node_modules/generate-function/package.json
index db1ac2aa36..5980efe999 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/package.json
+++ b/deps/npm/node_modules/generate-function/package.json
@@ -1,53 +1,77 @@
{
- "name": "generate-function",
- "version": "2.0.0",
- "description": "Module that helps you write generated functions in Node",
- "main": "index.js",
- "scripts": {
- "test": "tape test.js"
+ "_args": [
+ [
+ "generate-function@^2.0.0",
+ "/Users/rebecca/code/npm/node_modules/is-my-json-valid"
+ ]
+ ],
+ "_from": "generate-function@>=2.0.0 <3.0.0",
+ "_id": "generate-function@2.0.0",
+ "_inCache": true,
+ "_location": "/generate-function",
+ "_npmUser": {
+ "email": "mathiasbuus@gmail.com",
+ "name": "mafintosh"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mafintosh/generate-function.git"
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "generate-function",
+ "raw": "generate-function@^2.0.0",
+ "rawSpec": "^2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
},
- "keywords": [
- "generate",
- "code",
- "generation",
- "function",
- "performance"
+ "_requiredBy": [
+ "/is-my-json-valid"
],
+ "_resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
+ "_shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
+ "_shrinkwrap": null,
+ "_spec": "generate-function@^2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/is-my-json-valid",
"author": {
"name": "Mathias Buus"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/mafintosh/generate-function/issues"
},
- "homepage": "https://github.com/mafintosh/generate-function",
+ "dependencies": {},
+ "description": "Module that helps you write generated functions in Node",
"devDependencies": {
"tape": "^2.13.4"
},
- "gitHead": "3d5fc8de5859be95f58e3af9bfb5f663edd95149",
- "_id": "generate-function@2.0.0",
- "_shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
- "_from": "generate-function@>=2.0.0 <3.0.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "mafintosh",
- "email": "mathiasbuus@gmail.com"
+ "directories": {},
+ "dist": {
+ "shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
+ "tarball": "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
},
+ "gitHead": "3d5fc8de5859be95f58e3af9bfb5f663edd95149",
+ "homepage": "https://github.com/mafintosh/generate-function",
+ "keywords": [
+ "code",
+ "function",
+ "generate",
+ "generation",
+ "performance"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "mafintosh",
"email": "mathiasbuus@gmail.com"
}
],
- "dist": {
- "shasum": "6858fe7c0969b7d4e9093337647ac79f60dfbe74",
- "tarball": "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
+ "name": "generate-function",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/mafintosh/generate-function"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tape test.js"
+ },
+ "version": "2.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/test.js b/deps/npm/node_modules/generate-function/test.js
index 2768893eb1..2768893eb1 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/test.js
+++ b/deps/npm/node_modules/generate-function/test.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.npmignore b/deps/npm/node_modules/generate-object-property/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.npmignore
+++ b/deps/npm/node_modules/generate-object-property/.npmignore
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml b/deps/npm/node_modules/generate-object-property/.travis.yml
index 6e5919de39..6e5919de39 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml
+++ b/deps/npm/node_modules/generate-object-property/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE b/deps/npm/node_modules/generate-object-property/LICENSE
index 757562ec59..757562ec59 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE
+++ b/deps/npm/node_modules/generate-object-property/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/README.md b/deps/npm/node_modules/generate-object-property/README.md
index 0ee04613de..0ee04613de 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/README.md
+++ b/deps/npm/node_modules/generate-object-property/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/index.js b/deps/npm/node_modules/generate-object-property/index.js
index 5dc9f776d9..5dc9f776d9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/index.js
+++ b/deps/npm/node_modules/generate-object-property/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json b/deps/npm/node_modules/generate-object-property/package.json
index 8bc73da759..ac179d2e36 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/package.json
+++ b/deps/npm/node_modules/generate-object-property/package.json
@@ -1,51 +1,74 @@
{
- "name": "generate-object-property",
- "version": "1.2.0",
- "description": "Generate safe JS code that can used to reference a object property",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mafintosh/generate-object-property.git"
+ "_args": [
+ [
+ "generate-object-property@^1.1.0",
+ "/Users/rebecca/code/npm/node_modules/is-my-json-valid"
+ ]
+ ],
+ "_from": "generate-object-property@>=1.1.0 <2.0.0",
+ "_id": "generate-object-property@1.2.0",
+ "_inCache": true,
+ "_location": "/generate-object-property",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "mathiasbuus@gmail.com",
+ "name": "mafintosh"
},
- "devDependencies": {
- "tape": "^2.13.0"
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "generate-object-property",
+ "raw": "generate-object-property@^1.1.0",
+ "rawSpec": "^1.1.0",
+ "scope": null,
+ "spec": ">=1.1.0 <2.0.0",
+ "type": "range"
},
- "scripts": {
- "test": "tape test.js"
+ "_requiredBy": [
+ "/is-my-json-valid"
+ ],
+ "_resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
+ "_shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
+ "_shrinkwrap": null,
+ "_spec": "generate-object-property@^1.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/is-my-json-valid",
+ "author": {
+ "name": "Mathias Buus",
+ "url": "@mafintosh"
+ },
+ "bugs": {
+ "url": "https://github.com/mafintosh/generate-object-property/issues"
},
"dependencies": {
"is-property": "^1.0.0"
},
- "bugs": {
- "url": "https://github.com/mafintosh/generate-object-property/issues"
+ "description": "Generate safe JS code that can used to reference a object property",
+ "devDependencies": {
+ "tape": "^2.13.0"
},
- "homepage": "https://github.com/mafintosh/generate-object-property",
- "main": "index.js",
- "author": {
- "name": "Mathias Buus",
- "url": "@mafintosh"
+ "directories": {},
+ "dist": {
+ "shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
+ "tarball": "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
},
- "license": "MIT",
"gitHead": "0dd7d411018de54b2eae63b424c15b3e50bd678c",
- "_id": "generate-object-property@1.2.0",
- "_shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
- "_from": "generate-object-property@>=1.1.0 <2.0.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "mafintosh",
- "email": "mathiasbuus@gmail.com"
- },
+ "homepage": "https://github.com/mafintosh/generate-object-property",
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "mafintosh",
"email": "mathiasbuus@gmail.com"
}
],
- "dist": {
- "shasum": "9c0e1c40308ce804f4783618b937fa88f99d50d0",
- "tarball": "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"
+ "name": "generate-object-property",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/mafintosh/generate-object-property"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tape test.js"
+ },
+ "version": "1.2.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/test.js b/deps/npm/node_modules/generate-object-property/test.js
index 6c299c67fd..6c299c67fd 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/test.js
+++ b/deps/npm/node_modules/generate-object-property/test.js
diff --git a/deps/npm/node_modules/github-url-from-git/Makefile b/deps/npm/node_modules/github-url-from-git/Makefile
deleted file mode 100644
index 37f330e81b..0000000000
--- a/deps/npm/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/github-url-from-git/Readme.md b/deps/npm/node_modules/github-url-from-git/Readme.md
deleted file mode 100644
index 9dccaa8db6..0000000000
--- a/deps/npm/node_modules/github-url-from-git/Readme.md
+++ /dev/null
@@ -1,92 +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@github.com:bcoe/thumbd.git', function() {
- var url = 'git@github.com:bcoe/thumbd.git';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse git@github.com:bcoe/thumbd.git#2.7.0', function() {
- var url = 'git@github.com:bcoe/thumbd.git#2.7.0';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse git+https://github.com/bcoe/thumbd.git', function() {
- var url = 'git+https://github.com/bcoe/thumbd.git';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse git+ssh://github.com/bcoe/thumbd.git', function() {
- var url = 'git+ssh://github.com/bcoe/thumbd.git';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse https://EastCloud@github.com/EastCloud/node-websockets.git', function() {
- var url = 'https://EastCloud@github.com/EastCloud/node-websockets.git';
- parse(url).should.eql('https://github.com/EastCloud/node-websockets');
- })
-
- // gist urls.
-
- 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')
- })
-
- // Handle arbitrary GitHub Enterprise domains.
-
- it('should parse parse extra GHE urls provided', function() {
- var url = 'git://github.example.com/treygriffith/cellar.git';
- parse(
- url, {extraBaseUrls: ['github.example.com']}
- ).should.equal('https://github.example.com/treygriffith/cellar');
- });
-
- it('should parse GHE urls with multiple subdomains', function() {
- var url = 'git://github.internal.example.com/treygriffith/cellar.git';
- parse(
- url, {extraBaseUrls: ['github.internal.example.com']}
- ).should.equal('https://github.internal.example.com/treygriffith/cellar');
- });
-})
-
-describe('re', function() {
- it('should expose GitHub url parsing regex', function() {
- parse.re.source.should.equal(
- /^(?:https?:\/\/|git:\/\/)?(?:[^@]+@)?(gist.github.com|github.com)[:\/]([^\/]+\/[^\/]+?|[0-9]+)$/.source
- )
- });
-})
-```
diff --git a/deps/npm/node_modules/github-url-from-git/index.js b/deps/npm/node_modules/github-url-from-git/index.js
deleted file mode 100644
index 44872e8c10..0000000000
--- a/deps/npm/node_modules/github-url-from-git/index.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// convert git:// form url to github URL, e.g.,
-// git://github.com/bcoe/foo.git
-// https://github.com/bcoe/foo.
-function githubUrlFromGit(url, opts){
- try {
- var m = re(opts).exec(url.replace(/\.git(#.*)?$/, ''));
- var host = m[1];
- var path = m[2];
- return 'https://' + host + '/' + path;
- } catch (err) {
- // ignore
- }
-};
-
-// generate the git:// parsing regex
-// with options, e.g., the ability
-// to specify multiple GHE domains.
-function re(opts) {
- opts = opts || {};
- // whitelist of URLs that should be treated as GitHub repos.
- var baseUrls = ['gist.github.com', 'github.com'].concat(opts.extraBaseUrls || []);
- // build regex from whitelist.
- return new RegExp(
- /^(?:https?:\/\/|git:\/\/|git\+ssh:\/\/|git\+https:\/\/)?(?:[^@]+@)?/.source +
- '(' + baseUrls.join('|') + ')' +
- /[:\/]([^\/]+\/[^\/]+?|[0-9]+)$/.source
- );
-}
-
-githubUrlFromGit.re = re();
-
-module.exports = githubUrlFromGit;
diff --git a/deps/npm/node_modules/github-url-from-git/package.json b/deps/npm/node_modules/github-url-from-git/package.json
deleted file mode 100644
index 229af333ca..0000000000
--- a/deps/npm/node_modules/github-url-from-git/package.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "name": "github-url-from-git",
- "version": "1.4.0",
- "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": {
- "type": "git",
- "url": "https://github.com/visionmedia/node-github-url-from-git.git"
- },
- "keywords": [
- "github",
- "git",
- "url",
- "parser"
- ],
- "author": {
- "name": "TJ Holowaychuk"
- },
- "license": "MIT",
- "devDependencies": {
- "better-assert": "~1.0.0",
- "mocha": "~1.9.0",
- "should": "~1.2.2"
- },
- "gitHead": "154df00b0b590c29be5d2a5822e7b2e160b75345",
- "bugs": {
- "url": "https://github.com/visionmedia/node-github-url-from-git/issues"
- },
- "homepage": "https://github.com/visionmedia/node-github-url-from-git",
- "_id": "github-url-from-git@1.4.0",
- "_shasum": "285e6b520819001bde128674704379e4ff03e0de",
- "_from": "github-url-from-git@>=1.4.0-0 <2.0.0-0",
- "_npmVersion": "2.0.0-alpha.7",
- "_npmUser": {
- "name": "bcoe",
- "email": "bencoe@gmail.com"
- },
- "maintainers": [
- {
- "name": "tjholowaychuk",
- "email": "tj@vision-media.ca"
- },
- {
- "name": "bcoe",
- "email": "bencoe@gmail.com"
- }
- ],
- "dist": {
- "shasum": "285e6b520819001bde128674704379e4ff03e0de",
- "tarball": "http://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz"
-}
diff --git a/deps/npm/node_modules/github-url-from-git/test.js b/deps/npm/node_modules/github-url-from-git/test.js
deleted file mode 100644
index 93aa38bb1f..0000000000
--- a/deps/npm/node_modules/github-url-from-git/test.js
+++ /dev/null
@@ -1,90 +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@github.com:bcoe/thumbd.git', function() {
- var url = 'git@github.com:bcoe/thumbd.git';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse git@github.com:bcoe/thumbd.git#2.7.0', function() {
- var url = 'git@github.com:bcoe/thumbd.git#2.7.0';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse git+https://github.com/bcoe/thumbd.git', function() {
- var url = 'git+https://github.com/bcoe/thumbd.git';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse git+ssh://github.com/bcoe/thumbd.git', function() {
- var url = 'git+ssh://github.com/bcoe/thumbd.git';
- parse(url).should.eql('https://github.com/bcoe/thumbd');
- })
-
- it('should parse https://EastCloud@github.com/EastCloud/node-websockets.git', function() {
- var url = 'https://EastCloud@github.com/EastCloud/node-websockets.git';
- parse(url).should.eql('https://github.com/EastCloud/node-websockets');
- })
-
- // gist urls.
-
- 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')
- })
-
- // Handle arbitrary GitHub Enterprise domains.
-
- it('should parse parse extra GHE urls provided', function() {
- var url = 'git://github.example.com/treygriffith/cellar.git';
- parse(
- url, {extraBaseUrls: ['github.example.com']}
- ).should.equal('https://github.example.com/treygriffith/cellar');
- });
-
- it('should parse GHE urls with multiple subdomains', function() {
- var url = 'git://github.internal.example.com/treygriffith/cellar.git';
- parse(
- url, {extraBaseUrls: ['github.internal.example.com']}
- ).should.equal('https://github.internal.example.com/treygriffith/cellar');
- });
-})
-
-describe('re', function() {
- it('should expose GitHub url parsing regex', function() {
- parse.re.source.should.equal(
- /^(?:https?:\/\/|git:\/\/|git\+ssh:\/\/|git\+https:\/\/)?(?:[^@]+@)?(gist.github.com|github.com)[:\/]([^\/]+\/[^\/]+?|[0-9]+)$/.source
- )
- });
-})
diff --git a/deps/npm/node_modules/github-url-from-username-repo/.npmignore b/deps/npm/node_modules/github-url-from-username-repo/.npmignore
deleted file mode 100644
index 39747c08b4..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/.npmignore
+++ /dev/null
@@ -1,13 +0,0 @@
-*.swp
-.*.swp
-
-.DS_Store
-*~
-.project
-.settings
-npm-debug.log
-coverage.html
-.idea
-lib-cov
-
-node_modules \ No newline at end of file
diff --git a/deps/npm/node_modules/github-url-from-username-repo/.travis.yml b/deps/npm/node_modules/github-url-from-username-repo/.travis.yml
deleted file mode 100644
index a12e3f0fde..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
- - "0.8"
- - "0.10" \ No newline at end of file
diff --git a/deps/npm/node_modules/github-url-from-username-repo/LICENSE b/deps/npm/node_modules/github-url-from-username-repo/LICENSE
deleted file mode 100644
index 44c152ba75..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright (c) Robert Kowalski ("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. \ No newline at end of file
diff --git a/deps/npm/node_modules/github-url-from-username-repo/README.md b/deps/npm/node_modules/github-url-from-username-repo/README.md
deleted file mode 100644
index 9adbee0ea3..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-[![Build Status](https://travis-ci.org/robertkowalski/github-url-from-username-repo.png?branch=master)](https://travis-ci.org/robertkowalski/github-url-from-username-repo)
-[![Dependency Status](https://gemnasium.com/robertkowalski/github-url-from-username-repo.png)](https://gemnasium.com/robertkowalski/github-url-from-username-repo)
-
-
-# github-url-from-username-repo
-
-## API
-
-### getUrl(url, [forBrowser])
-
-Get's the url normalized for npm.
-If `forBrowser` is true, return a GitHub url that is usable in a webbrowser.
-
-## Usage
-
-```javascript
-
-var getUrl = require("github-url-from-username-repo")
-getUrl("visionmedia/express") // https://github.com/visionmedia/express
-
-```
diff --git a/deps/npm/node_modules/github-url-from-username-repo/index.js b/deps/npm/node_modules/github-url-from-username-repo/index.js
deleted file mode 100644
index f9d77f952f..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/index.js
+++ /dev/null
@@ -1,21 +0,0 @@
-module.exports = getUrl
-
-function getUrl (r, forBrowser) {
- if (!r) return null
- // Regex taken from https://github.com/npm/npm-package-arg/commit/01dce583c64afae07b66a2a8a6033aeba871c3cd
- // Note: This does not fully test the git ref format.
- // See https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html
- //
- // The only way to do this properly would be to shell out to
- // git-check-ref-format, and as this is a fast sync function,
- // we don't want to do that. Just let git fail if it turns
- // out that the commit-ish is invalid.
- // GH usernames cannot start with . or -
- if (/^[^@%\/\s\.-][^:@%\/\s]*\/[^@\s\/%]+(?:#.*)?$/.test(r)) {
- if (forBrowser)
- r = r.replace("#", "/tree/")
- return "https://github.com/" + r
- }
-
- return null
-}
diff --git a/deps/npm/node_modules/github-url-from-username-repo/package.json b/deps/npm/node_modules/github-url-from-username-repo/package.json
deleted file mode 100644
index f8aa80d5b6..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "github-url-from-username-repo",
- "version": "1.0.2",
- "description": "Create urls from username/repo",
- "main": "index.js",
- "scripts": {
- "test": "mocha -R spec"
- },
- "devDependencies": {
- "mocha": "~1.13.0"
- },
- "repository": {
- "type": "git",
- "url": "git@github.com:robertkowalski/github-url-from-username-repo.git"
- },
- "author": {
- "name": "Robert Kowalski",
- "email": "rok@kowalski.gd"
- },
- "license": "BSD-2-Clause",
- "bugs": {
- "url": "https://github.com/robertkowalski/github-url-from-username-repo/issues"
- },
- "keywords": [
- "git",
- "github",
- "repo"
- ],
- "readme": "[![Build Status](https://travis-ci.org/robertkowalski/github-url-from-username-repo.png?branch=master)](https://travis-ci.org/robertkowalski/github-url-from-username-repo)\n[![Dependency Status](https://gemnasium.com/robertkowalski/github-url-from-username-repo.png)](https://gemnasium.com/robertkowalski/github-url-from-username-repo)\n\n\n# github-url-from-username-repo\n\n## API\n\n### getUrl(url, [forBrowser])\n\nGet's the url normalized for npm.\nIf `forBrowser` is true, return a GitHub url that is usable in a webbrowser.\n\n## Usage\n\n```javascript\n\nvar getUrl = require(\"github-url-from-username-repo\")\ngetUrl(\"visionmedia/express\") // https://github.com/visionmedia/express\n\n```\n",
- "readmeFilename": "README.md",
- "gitHead": "d404a13f7f04edaed0e2f068a43b81230b8c7aee",
- "homepage": "https://github.com/robertkowalski/github-url-from-username-repo",
- "_id": "github-url-from-username-repo@1.0.2",
- "_shasum": "7dd79330d2abe69c10c2cef79714c97215791dfa",
- "_from": "github-url-from-username-repo@>=1.0.2-0 <2.0.0-0"
-}
diff --git a/deps/npm/node_modules/github-url-from-username-repo/test/index.js b/deps/npm/node_modules/github-url-from-username-repo/test/index.js
deleted file mode 100644
index 10fe3a34cc..0000000000
--- a/deps/npm/node_modules/github-url-from-username-repo/test/index.js
+++ /dev/null
@@ -1,70 +0,0 @@
-var assert = require("assert")
-var getUrl = require("../")
-
-describe("github url from username/repo", function () {
- it("returns a github url for the username/repo", function () {
- var url = getUrl("visionmedia/express")
- assert.equal("https://github.com/visionmedia/express", url)
- })
-
- it("returns null if it does not match", function () {
- var url = getUrl("package")
- assert.deepEqual(null, url)
- })
-
- it("returns null if no repo/user was given", function () {
- var url = getUrl()
- assert.deepEqual(null, url)
- })
-
- it("returns null for something that's already a URI", function () {
- var url = getUrl("file:../relative")
- assert.deepEqual(null, url)
- })
-
- it("works with .", function () {
- var url = getUrl("component/.download.er.js.")
- assert.equal("https://github.com/component/.download.er.js.", url)
- })
-
- it("works with . in the beginning", function () {
- var url = getUrl("component/.downloader.js")
- assert.equal("https://github.com/component/.downloader.js", url)
- })
-
- it("works with -", function () {
- var url = getUrl("component/-dow-nloader.j-s")
- assert.equal("https://github.com/component/-dow-nloader.j-s", url)
- })
-
- it("can handle branches with #", function () {
- var url = getUrl(
- "component/entejs#1c3e1fe71640b4b477f04d947bd53c473799b277")
-
- assert.equal("https://github.com/component/entejs#1c3e1fe71640b" +
- "4b477f04d947bd53c473799b277", url)
- })
-
- it("can handle branches with slashes", function () {
- var url = getUrl(
- "component/entejs#some/branch/name")
-
- assert.equal("https://github.com/component/entejs#some/branch/name", url)
- })
-
- describe("browser mode", function () {
- it("is able to return urls for branches", function () {
- var url = getUrl(
- "component/entejs#1c3e1fe71640b4b477f04d947bd53c473799b277", true)
-
- assert.equal("https://github.com/component/entejs/tree/1c3e1fe71640b" +
- "4b477f04d947bd53c473799b277", url)
- })
- it("is able to return urls without a branch for the browser", function () {
- var url = getUrl(
- "component/entejs", true)
-
- assert.equal("https://github.com/component/entejs", url)
- })
- })
-})
diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json
index 2949b83be0..d93b6fcc16 100644
--- a/deps/npm/node_modules/glob/package.json
+++ b/deps/npm/node_modules/glob/package.json
@@ -1,24 +1,47 @@
{
+ "_args": [
+ [
+ "glob@~5.0.15",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "glob@>=5.0.15 <5.1.0",
+ "_id": "glob@5.0.15",
+ "_inCache": true,
+ "_location": "/glob",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.3.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "glob",
+ "raw": "glob@~5.0.15",
+ "rawSpec": "~5.0.15",
+ "scope": null,
+ "spec": ">=5.0.15 <5.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/init-package-json",
+ "/read-package-json",
+ "/rimraf"
+ ],
+ "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",
+ "_shrinkwrap": null,
+ "_spec": "glob@~5.0.15",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "glob",
- "description": "a little globber",
- "version": "5.0.15",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-glob.git"
- },
- "main": "glob.js",
- "files": [
- "glob.js",
- "sync.js",
- "common.js"
- ],
- "engines": {
- "node": "*"
+ "bugs": {
+ "url": "https://github.com/isaacs/node-glob/issues"
},
"dependencies": {
"inflight": "^1.0.4",
@@ -27,47 +50,51 @@
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
+ "description": "a little globber",
"devDependencies": {
"mkdirp": "0",
"rimraf": "^2.2.8",
"tap": "^1.1.4",
"tick": "0.0.6"
},
- "scripts": {
- "prepublish": "npm run benchclean",
- "profclean": "rm -f v8.log profile.txt",
- "test": "tap test/*.js --cov",
- "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js",
- "bench": "bash benchmark.sh",
- "prof": "bash prof.sh && cat profile.txt",
- "benchclean": "node benchclean.js"
- },
- "license": "ISC",
- "gitHead": "3a7e71d453dd80e75b196fd262dd23ed54beeceb",
- "bugs": {
- "url": "https://github.com/isaacs/node-glob/issues"
- },
- "homepage": "https://github.com/isaacs/node-glob#readme",
- "_id": "glob@5.0.15",
- "_shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",
- "_from": "glob@5.0.15",
- "_npmVersion": "3.3.2",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1",
"tarball": "http://registry.npmjs.org/glob/-/glob-5.0.15.tgz"
},
+ "engines": {
+ "node": "*"
+ },
+ "files": [
+ "common.js",
+ "glob.js",
+ "sync.js"
+ ],
+ "gitHead": "3a7e71d453dd80e75b196fd262dd23ed54beeceb",
+ "homepage": "https://github.com/isaacs/node-glob#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "glob.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "glob",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-glob.git"
+ },
+ "scripts": {
+ "bench": "bash benchmark.sh",
+ "benchclean": "node benchclean.js",
+ "prepublish": "npm run benchclean",
+ "prof": "bash prof.sh && cat profile.txt",
+ "profclean": "rm -f v8.log profile.txt",
+ "test": "tap test/*.js --cov",
+ "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js"
+ },
+ "version": "5.0.15"
}
diff --git a/deps/npm/node_modules/graceful-fs/package.json b/deps/npm/node_modules/graceful-fs/package.json
index f9e1598a65..b01932d06a 100644
--- a/deps/npm/node_modules/graceful-fs/package.json
+++ b/deps/npm/node_modules/graceful-fs/package.json
@@ -36,14 +36,10 @@
},
"dependencies": {},
"description": "A drop-in replacement for fs, making various improvements.",
- "version": "3.0.8",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-graceful-fs.git"
- },
- "main": "graceful-fs.js",
- "engines": {
- "node": ">=0.4.0"
+ "devDependencies": {
+ "mkdirp": "^0.5.0",
+ "rimraf": "^2.2.8",
+ "tap": "^1.2.0"
},
"directories": {
"test": "test"
@@ -64,45 +60,23 @@
"gitHead": "c286080071b6be9aa9ba108b0bb9b44ff122926d",
"homepage": "https://github.com/isaacs/node-graceful-fs#readme",
"keywords": [
+ "EACCESS",
+ "EAGAIN",
+ "EINVAL",
+ "EMFILE",
+ "EPERM",
+ "error",
+ "errors",
"fs",
+ "handling",
"module",
+ "queue",
"reading",
- "retry",
"retries",
- "queue",
- "error",
- "errors",
- "handling",
- "EMFILE",
- "EAGAIN",
- "EINVAL",
- "EPERM",
- "EACCESS"
+ "retry"
],
"license": "ISC",
- "devDependencies": {
- "mkdirp": "^0.5.0",
- "rimraf": "^2.2.8",
- "tap": "^1.2.0"
- },
- "gitHead": "45c57aa5e323c35a985a525de6f0c9a6ef59e1f8",
- "bugs": {
- "url": "https://github.com/isaacs/node-graceful-fs/issues"
- },
- "homepage": "https://github.com/isaacs/node-graceful-fs#readme",
- "_id": "graceful-fs@3.0.8",
- "_shasum": "ce813e725fa82f7e6147d51c9a5ca68270551c22",
- "_from": "graceful-fs@>=3.0.8 <3.1.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "ce813e725fa82f7e6147d51c9a5ca68270551c22",
- "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
- },
+ "main": "graceful-fs.js",
"maintainers": [
{
"name": "isaacs",
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.npmignore b/deps/npm/node_modules/graceful-readlink/.npmignore
index 3ac7d16c6d..3ac7d16c6d 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.npmignore
+++ b/deps/npm/node_modules/graceful-readlink/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.travis.yml b/deps/npm/node_modules/graceful-readlink/.travis.yml
index baf9be7f6c..baf9be7f6c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/.travis.yml
+++ b/deps/npm/node_modules/graceful-readlink/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE b/deps/npm/node_modules/graceful-readlink/LICENSE
index d1f842f0bb..50d1e5c666 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE
+++ b/deps/npm/node_modules/graceful-readlink/LICENSE
@@ -19,4 +19,3 @@ 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/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/README.md b/deps/npm/node_modules/graceful-readlink/README.md
index fc63b505a5..fc63b505a5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/README.md
+++ b/deps/npm/node_modules/graceful-readlink/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/index.js b/deps/npm/node_modules/graceful-readlink/index.js
index 7e9fc70f0a..c4a79d1afa 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/index.js
+++ b/deps/npm/node_modules/graceful-readlink/index.js
@@ -8,5 +8,3 @@ exports.readlinkSync = function (p) {
return p;
}
};
-
-
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json b/deps/npm/node_modules/graceful-readlink/package.json
index 5b8486a16f..60665a7562 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/package.json
+++ b/deps/npm/node_modules/graceful-readlink/package.json
@@ -1,48 +1,73 @@
{
- "name": "graceful-readlink",
- "version": "1.0.1",
- "description": "graceful fs.readlink",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/zhiyelee/graceful-readlink.git"
+ "_args": [
+ [
+ "graceful-readlink@>= 1.0.0",
+ "/Users/rebecca/code/npm/node_modules/commander"
+ ]
+ ],
+ "_from": "graceful-readlink@>=1.0.0",
+ "_id": "graceful-readlink@1.0.1",
+ "_inCache": true,
+ "_location": "/graceful-readlink",
+ "_nodeVersion": "0.11.14",
+ "_npmUser": {
+ "email": "zhiyelee@gmail.com",
+ "name": "zhiyelee"
+ },
+ "_npmVersion": "2.1.17",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "graceful-readlink",
+ "raw": "graceful-readlink@>= 1.0.0",
+ "rawSpec": ">= 1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/commander"
+ ],
+ "_resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+ "_shasum": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725",
+ "_shrinkwrap": null,
+ "_spec": "graceful-readlink@>= 1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/commander",
+ "author": {
+ "name": "zhiyelee"
},
- "homepage": "https://github.com/zhiyelee/graceful-readlink",
"bugs": {
"url": "https://github.com/zhiyelee/graceful-readlink/issues"
},
+ "dependencies": {},
+ "description": "graceful fs.readlink",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725",
+ "tarball": "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ },
+ "gitHead": "f6655275bebef706fb63fd01b5f062a7052419a5",
+ "homepage": "https://github.com/zhiyelee/graceful-readlink",
"keywords": [
"fs.readlink",
"readlink"
],
- "author": {
- "name": "zhiyelee"
- },
"license": "MIT",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "gitHead": "f6655275bebef706fb63fd01b5f062a7052419a5",
- "_id": "graceful-readlink@1.0.1",
- "_shasum": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725",
- "_from": "graceful-readlink@>=1.0.0",
- "_npmVersion": "2.1.17",
- "_nodeVersion": "0.11.14",
- "_npmUser": {
- "name": "zhiyelee",
- "email": "zhiyelee@gmail.com"
- },
+ "main": "index.js",
"maintainers": [
{
"name": "zhiyelee",
"email": "zhiyelee@gmail.com"
}
],
- "dist": {
- "shasum": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725",
- "tarball": "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+ "name": "graceful-readlink",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/zhiyelee/graceful-readlink.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/LICENSE b/deps/npm/node_modules/har-validator/LICENSE
index ca55c91af4..ca55c91af4 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/LICENSE
+++ b/deps/npm/node_modules/har-validator/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/README.md b/deps/npm/node_modules/har-validator/README.md
index f40ab755da..f40ab755da 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/README.md
+++ b/deps/npm/node_modules/har-validator/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/bin/har-validator b/deps/npm/node_modules/har-validator/bin/har-validator
index ab1db256f7..ab1db256f7 100755
--- a/deps/npm/node_modules/request/node_modules/har-validator/bin/har-validator
+++ b/deps/npm/node_modules/har-validator/bin/har-validator
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/error.js b/deps/npm/node_modules/har-validator/lib/error.js
index fc08a87218..fc08a87218 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/error.js
+++ b/deps/npm/node_modules/har-validator/lib/error.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/index.js b/deps/npm/node_modules/har-validator/lib/index.js
index 81d55607c9..81d55607c9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/index.js
+++ b/deps/npm/node_modules/har-validator/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cache.json b/deps/npm/node_modules/har-validator/lib/schemas/cache.json
index a3ab682d53..a3ab682d53 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cache.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/cache.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cacheEntry.json b/deps/npm/node_modules/har-validator/lib/schemas/cacheEntry.json
index a397439fd9..a397439fd9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cacheEntry.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/cacheEntry.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/content.json b/deps/npm/node_modules/har-validator/lib/schemas/content.json
index 3710d7939b..3710d7939b 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/content.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/content.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cookie.json b/deps/npm/node_modules/har-validator/lib/schemas/cookie.json
index 5768181838..5768181838 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/cookie.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/cookie.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/creator.json b/deps/npm/node_modules/har-validator/lib/schemas/creator.json
index 5058600646..5058600646 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/creator.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/creator.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/entry.json b/deps/npm/node_modules/har-validator/lib/schemas/entry.json
index 8a9c022bda..8a9c022bda 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/entry.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/entry.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/har.json b/deps/npm/node_modules/har-validator/lib/schemas/har.json
index b542782db4..b542782db4 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/har.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/har.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/index.js b/deps/npm/node_modules/har-validator/lib/schemas/index.js
index 7b6db7dabb..7b6db7dabb 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/index.js
+++ b/deps/npm/node_modules/har-validator/lib/schemas/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/log.json b/deps/npm/node_modules/har-validator/lib/schemas/log.json
index 0c91d38bf5..0c91d38bf5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/log.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/log.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/page.json b/deps/npm/node_modules/har-validator/lib/schemas/page.json
index ef64abe5c5..ef64abe5c5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/page.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/page.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/pageTimings.json b/deps/npm/node_modules/har-validator/lib/schemas/pageTimings.json
index adc83cccd0..adc83cccd0 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/pageTimings.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/pageTimings.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/postData.json b/deps/npm/node_modules/har-validator/lib/schemas/postData.json
index 91958b64a5..91958b64a5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/postData.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/postData.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/record.json b/deps/npm/node_modules/har-validator/lib/schemas/record.json
index 04acd51948..04acd51948 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/record.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/record.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/request.json b/deps/npm/node_modules/har-validator/lib/schemas/request.json
index 639af06dc2..639af06dc2 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/request.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/request.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/response.json b/deps/npm/node_modules/har-validator/lib/schemas/response.json
index de99c55bb9..de99c55bb9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/response.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/response.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/timings.json b/deps/npm/node_modules/har-validator/lib/schemas/timings.json
index 066ef71a14..066ef71a14 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/lib/schemas/timings.json
+++ b/deps/npm/node_modules/har-validator/lib/schemas/timings.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/package.json b/deps/npm/node_modules/har-validator/package.json
index 7a32287fa4..0604cfc10c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/package.json
+++ b/deps/npm/node_modules/har-validator/package.json
@@ -1,51 +1,55 @@
{
- "version": "1.8.0",
- "name": "har-validator",
- "description": "Extremely fast HTTP Archive (HAR) validator using JSON Schema",
+ "_args": [
+ [
+ "har-validator@^1.6.1",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "har-validator@>=1.6.1 <2.0.0",
+ "_id": "har-validator@1.8.0",
+ "_inCache": true,
+ "_location": "/har-validator",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "ahmad@ahmadnassri.com",
+ "name": "ahmadnassri"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "har-validator",
+ "raw": "har-validator@^1.6.1",
+ "rawSpec": "^1.6.1",
+ "scope": null,
+ "spec": ">=1.6.1 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz",
+ "_shasum": "d83842b0eb4c435960aeb108a067a3aa94c0eeb2",
+ "_shrinkwrap": null,
+ "_spec": "har-validator@^1.6.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Ahmad Nassri",
"email": "ahmad@ahmadnassri.com",
+ "name": "Ahmad Nassri",
"url": "https://www.ahmadnassri.com/"
},
- "homepage": "https://github.com/ahmadnassri/har-validator",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/ahmadnassri/har-validator.git"
- },
- "license": "ISC",
- "main": "lib/index",
"bin": {
"har-validator": "bin/har-validator"
},
- "keywords": [
- "har",
- "http",
- "archive",
- "validate",
- "validator"
- ],
- "engines": {
- "node": ">=0.10"
- },
- "files": [
- "bin",
- "lib"
- ],
"bugs": {
"url": "https://github.com/ahmadnassri/har-validator/issues"
},
- "scripts": {
- "pretest": "standard && echint",
- "test": "mocha",
- "posttest": "npm run coverage",
- "coverage": "istanbul cover --dir coverage _mocha -- -R dot",
- "codeclimate": "codeclimate < coverage/lcov.info"
- },
- "echint": {
- "ignore": [
- "coverage/**"
- ]
+ "dependencies": {
+ "bluebird": "^2.9.30",
+ "chalk": "^1.0.0",
+ "commander": "^2.8.1",
+ "is-my-json-valid": "^2.12.0"
},
+ "description": "Extremely fast HTTP Archive (HAR) validator using JSON Schema",
"devDependencies": {
"codeclimate-test-reporter": "0.0.4",
"echint": "^1.3.0",
@@ -55,33 +59,52 @@
"should": "^7.0.1",
"standard": "^4.3.1"
},
- "dependencies": {
- "bluebird": "^2.9.30",
- "chalk": "^1.0.0",
- "commander": "^2.8.1",
- "is-my-json-valid": "^2.12.0"
+ "directories": {},
+ "dist": {
+ "shasum": "d83842b0eb4c435960aeb108a067a3aa94c0eeb2",
+ "tarball": "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz"
},
- "gitHead": "8fd21c30edb23a1fed2d50b934d055d1be3dd7c9",
- "_id": "har-validator@1.8.0",
- "_shasum": "d83842b0eb4c435960aeb108a067a3aa94c0eeb2",
- "_from": "har-validator@>=1.6.1 <2.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "ahmadnassri",
- "email": "ahmad@ahmadnassri.com"
+ "echint": {
+ "ignore": [
+ "coverage/**"
+ ]
},
+ "engines": {
+ "node": ">=0.10"
+ },
+ "files": [
+ "bin",
+ "lib"
+ ],
+ "gitHead": "8fd21c30edb23a1fed2d50b934d055d1be3dd7c9",
+ "homepage": "https://github.com/ahmadnassri/har-validator",
+ "keywords": [
+ "archive",
+ "har",
+ "http",
+ "validate",
+ "validator"
+ ],
+ "license": "ISC",
+ "main": "lib/index",
"maintainers": [
{
"name": "ahmadnassri",
"email": "ahmad@ahmadnassri.com"
}
],
- "dist": {
- "shasum": "d83842b0eb4c435960aeb108a067a3aa94c0eeb2",
- "tarball": "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz"
+ "name": "har-validator",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ahmadnassri/har-validator.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "codeclimate": "codeclimate < coverage/lcov.info",
+ "coverage": "istanbul cover --dir coverage _mocha -- -R dot",
+ "posttest": "npm run coverage",
+ "pretest": "standard && echint",
+ "test": "mocha"
+ },
+ "version": "1.8.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/index.js b/deps/npm/node_modules/has-ansi/index.js
index 98fae06767..98fae06767 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/index.js
+++ b/deps/npm/node_modules/has-ansi/index.js
diff --git a/deps/npm/node_modules/osenv/node_modules/os-homedir/license b/deps/npm/node_modules/has-ansi/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-homedir/license
+++ b/deps/npm/node_modules/has-ansi/license
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json b/deps/npm/node_modules/has-ansi/package.json
index d39a62eb91..a7ec031ca3 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/package.json
+++ b/deps/npm/node_modules/has-ansi/package.json
@@ -1,85 +1,108 @@
{
- "name": "has-ansi",
- "version": "2.0.0",
- "description": "Check if a string has ANSI escape codes",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/has-ansi.git"
+ "_args": [
+ [
+ "has-ansi@^2.0.0",
+ "/Users/rebecca/code/npm/node_modules/chalk"
+ ]
+ ],
+ "_from": "has-ansi@>=2.0.0 <3.0.0",
+ "_id": "has-ansi@2.0.0",
+ "_inCache": true,
+ "_location": "/has-ansi",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "has-ansi",
+ "raw": "has-ansi@^2.0.0",
+ "rawSpec": "^2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/chalk"
+ ],
+ "_resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
+ "_shrinkwrap": null,
+ "_spec": "has-ansi@^2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/chalk",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
+ "bugs": {
+ "url": "https://github.com/sindresorhus/has-ansi/issues"
+ },
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "description": "Check if a string has ANSI escape codes",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
+ "tarball": "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "node test.js"
- },
"files": [
"index.js"
],
+ "gitHead": "0722275e1bef139fcd09137da6e5550c3cd368b9",
+ "homepage": "https://github.com/sindresorhus/has-ansi",
"keywords": [
"ansi",
- "styles",
"color",
- "colour",
"colors",
- "terminal",
+ "colour",
+ "command-line",
"console",
- "string",
- "tty",
"escape",
- "shell",
- "xterm",
- "command-line",
- "text",
+ "find",
+ "has",
+ "match",
+ "pattern",
+ "re",
"regex",
"regexp",
- "re",
- "match",
+ "shell",
+ "string",
+ "styles",
+ "terminal",
"test",
- "find",
- "pattern",
- "has"
+ "text",
+ "tty",
+ "xterm"
],
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "devDependencies": {
- "ava": "0.0.4"
- },
- "gitHead": "0722275e1bef139fcd09137da6e5550c3cd368b9",
- "bugs": {
- "url": "https://github.com/sindresorhus/has-ansi/issues"
- },
- "homepage": "https://github.com/sindresorhus/has-ansi",
- "_id": "has-ansi@2.0.0",
- "_shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
- "_from": "has-ansi@>=2.0.0 <3.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ }
+ ],
+ "name": "has-ansi",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sindresorhus/has-ansi"
},
- "dist": {
- "shasum": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91",
- "tarball": "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
+ "scripts": {
+ "test": "node test.js"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "2.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/readme.md b/deps/npm/node_modules/has-ansi/readme.md
index 02bc7c2300..02bc7c2300 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/readme.md
+++ b/deps/npm/node_modules/has-ansi/readme.md
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/.npmignore b/deps/npm/node_modules/has-unicode/.npmignore
index 7e17cf19b7..7e17cf19b7 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/.npmignore
+++ b/deps/npm/node_modules/has-unicode/.npmignore
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/LICENSE b/deps/npm/node_modules/has-unicode/LICENSE
index d42e25e956..e756052969 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/LICENSE
+++ b/deps/npm/node_modules/has-unicode/LICENSE
@@ -11,4 +11,3 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md b/deps/npm/node_modules/has-unicode/README.md
index e9d3cc326c..4393106fda 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md
+++ b/deps/npm/node_modules/has-unicode/README.md
@@ -33,8 +33,7 @@ As such, we report any Windows installation as unicode capable.
### Unix Like Operating Systems
We look at the environment variables `LC_ALL`, `LC_CTYPE`, and `LANG` in
-that order. For `LC_ALL` and `LANG`, it looks for `.UTF-8` in the value.
+that order. For `LC_ALL` and `LANG`, it looks for `.UTF-8` in the value.
For `LC_CTYPE` it looks to see if the value is `UTF-8`. This is sufficient
for most POSIX systems. While locale data can be put in `/etc/locale.conf`
as well, AFAIK it's always copied into the environment.
-
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/index.js b/deps/npm/node_modules/has-unicode/index.js
index edceb70309..edceb70309 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/index.js
+++ b/deps/npm/node_modules/has-unicode/index.js
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json b/deps/npm/node_modules/has-unicode/package.json
index fd552a9e40..de92acfcac 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json
+++ b/deps/npm/node_modules/has-unicode/package.json
@@ -1,53 +1,78 @@
{
- "name": "has-unicode",
- "version": "1.0.0",
- "description": "Try to guess if your terminal supports unicode",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "has-unicode@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "has-unicode@>=1.0.0 <1.1.0",
+ "_id": "has-unicode@1.0.0",
+ "_inCache": true,
+ "_location": "/has-unicode",
+ "_nodeVersion": "0.10.33",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/iarna/has-unicode.git"
+ "_npmVersion": "2.1.11",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "has-unicode",
+ "raw": "has-unicode@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
},
- "keywords": [
- "unicode",
- "terminal"
+ "_requiredBy": [
+ "/",
+ "/gauge"
],
+ "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz",
+ "_shasum": "bac5c44e064c2ffc3b8fcbd8c71afe08f9afc8cc",
+ "_shrinkwrap": null,
+ "_spec": "has-unicode@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Rebecca Turner",
- "email": "me@re-becca.org"
+ "email": "me@re-becca.org",
+ "name": "Rebecca Turner"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/iarna/has-unicode/issues"
},
- "homepage": "https://github.com/iarna/has-unicode",
+ "dependencies": {},
+ "description": "Try to guess if your terminal supports unicode",
"devDependencies": {
"require-inject": "^1.1.1",
"tap": "^0.4.13"
},
- "gitHead": "a8c3dcf3be5f0c8f8e26a3e7ffea7da24344a006",
- "_id": "has-unicode@1.0.0",
- "_shasum": "bac5c44e064c2ffc3b8fcbd8c71afe08f9afc8cc",
- "_from": "has-unicode@>=1.0.0 <2.0.0",
- "_npmVersion": "2.1.11",
- "_nodeVersion": "0.10.33",
- "_npmUser": {
- "name": "iarna",
- "email": "me@re-becca.org"
+ "directories": {},
+ "dist": {
+ "shasum": "bac5c44e064c2ffc3b8fcbd8c71afe08f9afc8cc",
+ "tarball": "http://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz"
},
+ "gitHead": "a8c3dcf3be5f0c8f8e26a3e7ffea7da24344a006",
+ "homepage": "https://github.com/iarna/has-unicode",
+ "keywords": [
+ "terminal",
+ "unicode"
+ ],
+ "license": "ISC",
+ "main": "index.js",
"maintainers": [
{
"name": "iarna",
"email": "me@re-becca.org"
}
],
- "dist": {
- "shasum": "bac5c44e064c2ffc3b8fcbd8c71afe08f9afc8cc",
- "tarball": "http://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz"
+ "name": "has-unicode",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/iarna/has-unicode"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/test/index.js b/deps/npm/node_modules/has-unicode/test/index.js
index 2394c14ef7..2394c14ef7 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/test/index.js
+++ b/deps/npm/node_modules/has-unicode/test/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/.npmignore b/deps/npm/node_modules/hawk/.npmignore
index ab108bf92f..ab108bf92f 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/.npmignore
+++ b/deps/npm/node_modules/hawk/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/hawk/.travis.yml b/deps/npm/node_modules/hawk/.travis.yml
index 77795c6a9b..77795c6a9b 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/.travis.yml
+++ b/deps/npm/node_modules/hawk/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/hawk/LICENSE b/deps/npm/node_modules/hawk/LICENSE
index 7880936847..7880936847 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/LICENSE
+++ b/deps/npm/node_modules/hawk/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/hawk/README.md b/deps/npm/node_modules/hawk/README.md
index 4aff23f3a3..63725034fc 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/README.md
+++ b/deps/npm/node_modules/hawk/README.md
@@ -75,12 +75,12 @@ and the server.
## Replay Protection
-Without replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more
-than once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when
+Without replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more
+than once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when
making requests. This gives the server enough information to prevent replay attacks.
The nonce is generated by the client, and is a string unique across all requests with the same timestamp and
-key identifier combination.
+key identifier combination.
The timestamp enables the server to restrict the validity period of the credentials where requests occuring afterwards
are rejected. It also removes the need for the server to retain an unbounded number of nonce values for future checks.
@@ -373,7 +373,7 @@ and for a finite period of time. Both the client and server can issue bewit cred
credentials as the client to maintain clear traceability as to who issued which credentials.
In order to simplify implementation, bewit credentials do not support single-use policy and can be replayed multiple times within
-the granted access timeframe.
+the granted access timeframe.
## Bewit Usage Example
@@ -496,7 +496,7 @@ which can often affect how the request body is interpreted by the server. If the
or value of such headers, an attacker can manipulate the request headers without being detected. Implementers should use the
`ext` feature to pass application-specific information via the `Authorization` header which is protected by the request MAC.
-The response authentication, when performed, only covers the response payload, content-type, and the request information
+The response authentication, when performed, only covers the response payload, content-type, and the request information
provided by the client in it's request (method, resource, timestamp, nonce, etc.). It does not cover the HTTP status code or
any other response header field (e.g. Location) which can affect the client's behaviour.
diff --git a/deps/npm/node_modules/request/node_modules/hawk/bower.json b/deps/npm/node_modules/hawk/bower.json
index 7d2d120e0d..7d2d120e0d 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/bower.json
+++ b/deps/npm/node_modules/hawk/bower.json
diff --git a/deps/npm/node_modules/request/node_modules/hawk/component.json b/deps/npm/node_modules/hawk/component.json
index 63e76a2e31..63e76a2e31 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/component.json
+++ b/deps/npm/node_modules/hawk/component.json
diff --git a/deps/npm/node_modules/request/node_modules/hawk/example/usage.js b/deps/npm/node_modules/hawk/example/usage.js
index 13b860b4c5..64fe17674a 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/example/usage.js
+++ b/deps/npm/node_modules/hawk/example/usage.js
@@ -75,4 +75,3 @@ credentialsFunc('dh37fgj492je', function (err, credentials) {
process.exit(0);
});
});
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/images/hawk.png b/deps/npm/node_modules/hawk/images/hawk.png
index a0e15cda01..a0e15cda01 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/images/hawk.png
+++ b/deps/npm/node_modules/hawk/images/hawk.png
Binary files differ
diff --git a/deps/npm/node_modules/request/node_modules/hawk/images/logo.png b/deps/npm/node_modules/hawk/images/logo.png
index b8ff590171..b8ff590171 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/images/logo.png
+++ b/deps/npm/node_modules/hawk/images/logo.png
Binary files differ
diff --git a/deps/npm/node_modules/request/node_modules/hawk/lib/browser.js b/deps/npm/node_modules/hawk/lib/browser.js
index 7ccacf613b..7ccacf613b 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/lib/browser.js
+++ b/deps/npm/node_modules/hawk/lib/browser.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/lib/client.js b/deps/npm/node_modules/hawk/lib/client.js
index b3e8649e3a..f9ae691713 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/lib/client.js
+++ b/deps/npm/node_modules/hawk/lib/client.js
@@ -364,6 +364,3 @@ exports.message = function (host, port, message, options) {
return result;
};
-
-
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/lib/crypto.js b/deps/npm/node_modules/hawk/lib/crypto.js
index d3c8244a92..d3c8244a92 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/lib/crypto.js
+++ b/deps/npm/node_modules/hawk/lib/crypto.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/lib/index.js b/deps/npm/node_modules/hawk/lib/index.js
index a883882c8c..911b906aab 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/lib/index.js
+++ b/deps/npm/node_modules/hawk/lib/index.js
@@ -12,4 +12,3 @@ exports.uri = {
authenticate: exports.server.authenticateBewit,
getBewit: exports.client.getBewit
};
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/lib/server.js b/deps/npm/node_modules/hawk/lib/server.js
index a325d56a55..a325d56a55 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/lib/server.js
+++ b/deps/npm/node_modules/hawk/lib/server.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/lib/utils.js b/deps/npm/node_modules/hawk/lib/utils.js
index 8d2719abc6..8b192ace66 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/lib/utils.js
+++ b/deps/npm/node_modules/hawk/lib/utils.js
@@ -161,4 +161,3 @@ exports.unauthorized = function (message, attributes) {
return Boom.unauthorized(message, 'Hawk', attributes);
};
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/package.json b/deps/npm/node_modules/hawk/package.json
index 5a835b2e42..81abc2e1c6 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/package.json
+++ b/deps/npm/node_modules/hawk/package.json
@@ -1,68 +1,91 @@
{
- "name": "hawk",
- "description": "HTTP Hawk Authentication Scheme",
- "version": "3.1.0",
- "author": {
- "name": "Eran Hammer",
+ "_args": [
+ [
+ "hawk@~3.1.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "hawk@>=3.1.0 <3.2.0",
+ "_id": "hawk@3.1.0",
+ "_inCache": true,
+ "_location": "/hawk",
+ "_nodeVersion": "0.10.38",
+ "_npmUser": {
"email": "eran@hammer.io",
- "url": "http://hueniverse.com"
+ "name": "hueniverse"
},
- "contributors": [],
- "repository": {
- "type": "git",
- "url": "git://github.com/hueniverse/hawk.git"
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "hawk",
+ "raw": "hawk@~3.1.0",
+ "rawSpec": "~3.1.0",
+ "scope": null,
+ "spec": ">=3.1.0 <3.2.0",
+ "type": "range"
},
- "main": "lib/index.js",
- "keywords": [
- "http",
- "authentication",
- "scheme",
- "hawk"
+ "_requiredBy": [
+ "/request"
],
- "engines": {
- "node": ">=0.10.32"
+ "_resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz",
+ "_shasum": "8a13ae19977ec607602f3f0b9fd676f18c384e44",
+ "_shrinkwrap": null,
+ "_spec": "hawk@~3.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "author": {
+ "email": "eran@hammer.io",
+ "name": "Eran Hammer",
+ "url": "http://hueniverse.com"
},
"browser": "./lib/browser.js",
+ "bugs": {
+ "url": "https://github.com/hueniverse/hawk/issues"
+ },
+ "contributors": [],
"dependencies": {
- "hoek": "2.x.x",
"boom": "^2.8.x",
"cryptiles": "2.x.x",
+ "hoek": "2.x.x",
"sntp": "1.x.x"
},
+ "description": "HTTP Hawk Authentication Scheme",
"devDependencies": {
"code": "1.x.x",
"lab": "5.x.x"
},
- "scripts": {
- "test": "lab -a code -t 100 -L",
- "test-cov-html": "lab -a code -r html -o coverage.html"
- },
- "license": "BSD-3-Clause",
- "gitHead": "fdb9d05e383d5237631eaddc4f51422e54fa8b52",
- "bugs": {
- "url": "https://github.com/hueniverse/hawk/issues"
- },
- "homepage": "https://github.com/hueniverse/hawk#readme",
- "_id": "hawk@3.1.0",
- "_shasum": "8a13ae19977ec607602f3f0b9fd676f18c384e44",
- "_from": "hawk@>=3.1.0 <3.2.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "0.10.38",
- "_npmUser": {
- "name": "hueniverse",
- "email": "eran@hammer.io"
- },
+ "directories": {},
"dist": {
"shasum": "8a13ae19977ec607602f3f0b9fd676f18c384e44",
"tarball": "http://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz"
},
+ "engines": {
+ "node": ">=0.10.32"
+ },
+ "gitHead": "fdb9d05e383d5237631eaddc4f51422e54fa8b52",
+ "homepage": "https://github.com/hueniverse/hawk#readme",
+ "keywords": [
+ "authentication",
+ "hawk",
+ "http",
+ "scheme"
+ ],
+ "license": "BSD-3-Clause",
+ "main": "lib/index.js",
"maintainers": [
{
"name": "hueniverse",
"email": "eran@hueniverse.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "hawk",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/hueniverse/hawk.git"
+ },
+ "scripts": {
+ "test": "lab -a code -t 100 -L",
+ "test-cov-html": "lab -a code -r html -o coverage.html"
+ },
+ "version": "3.1.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/browser.js b/deps/npm/node_modules/hawk/test/browser.js
index 49dc4cadd1..49dc4cadd1 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/browser.js
+++ b/deps/npm/node_modules/hawk/test/browser.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/client.js b/deps/npm/node_modules/hawk/test/client.js
index d6be231ae8..d6be231ae8 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/client.js
+++ b/deps/npm/node_modules/hawk/test/client.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/crypto.js b/deps/npm/node_modules/hawk/test/crypto.js
index 1131628bfb..1131628bfb 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/crypto.js
+++ b/deps/npm/node_modules/hawk/test/crypto.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/index.js b/deps/npm/node_modules/hawk/test/index.js
index 39f2c5b860..39f2c5b860 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/index.js
+++ b/deps/npm/node_modules/hawk/test/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/readme.js b/deps/npm/node_modules/hawk/test/readme.js
index a466264667..7a343f5e21 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/readme.js
+++ b/deps/npm/node_modules/hawk/test/readme.js
@@ -92,4 +92,3 @@ describe('README', function () {
});
});
});
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/server.js b/deps/npm/node_modules/hawk/test/server.js
index c2899e4c70..c2899e4c70 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/server.js
+++ b/deps/npm/node_modules/hawk/test/server.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/uri.js b/deps/npm/node_modules/hawk/test/uri.js
index 1b623c0912..03491328b5 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/uri.js
+++ b/deps/npm/node_modules/hawk/test/uri.js
@@ -846,4 +846,3 @@ describe('Uri', function () {
});
});
});
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/test/utils.js b/deps/npm/node_modules/hawk/test/utils.js
index 1bfef65f8c..1bfef65f8c 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/test/utils.js
+++ b/deps/npm/node_modules/hawk/test/utils.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore b/deps/npm/node_modules/hoek/.npmignore
index 7e1574dc5c..7e1574dc5c 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/.npmignore
+++ b/deps/npm/node_modules/hoek/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/qs/.travis.yml b/deps/npm/node_modules/hoek/.travis.yml
index 7a64dd2210..7a64dd2210 100644
--- a/deps/npm/node_modules/request/node_modules/qs/.travis.yml
+++ b/deps/npm/node_modules/hoek/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/CONTRIBUTING.md b/deps/npm/node_modules/hoek/CONTRIBUTING.md
index 892836159b..892836159b 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/CONTRIBUTING.md
+++ b/deps/npm/node_modules/hoek/CONTRIBUTING.md
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE b/deps/npm/node_modules/hoek/LICENSE
index 5530904255..5530904255 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE
+++ b/deps/npm/node_modules/hoek/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md b/deps/npm/node_modules/hoek/README.md
index 92c4912c7e..92c4912c7e 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/README.md
+++ b/deps/npm/node_modules/hoek/README.md
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png b/deps/npm/node_modules/hoek/images/hoek.png
index 6ccfcb12be..6ccfcb12be 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/images/hoek.png
+++ b/deps/npm/node_modules/hoek/images/hoek.png
Binary files differ
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js b/deps/npm/node_modules/hoek/lib/escape.js
index 9ecde6666b..9ecde6666b 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/escape.js
+++ b/deps/npm/node_modules/hoek/lib/escape.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js b/deps/npm/node_modules/hoek/lib/index.js
index 9a5ffe18f4..9a5ffe18f4 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/lib/index.js
+++ b/deps/npm/node_modules/hoek/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/package.json b/deps/npm/node_modules/hoek/package.json
index 4e3968f48b..58a346a436 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/package.json
+++ b/deps/npm/node_modules/hoek/package.json
@@ -1,46 +1,64 @@
{
- "name": "hoek",
- "description": "General purpose node utilities",
- "version": "2.16.3",
- "repository": {
- "type": "git",
- "url": "git://github.com/hapijs/hoek.git"
+ "_args": [
+ [
+ "hoek@2.x.x",
+ "/Users/rebecca/code/npm/node_modules/hawk"
+ ]
+ ],
+ "_from": "hoek@>=2.0.0 <3.0.0",
+ "_id": "hoek@2.16.3",
+ "_inCache": true,
+ "_location": "/hoek",
+ "_nodeVersion": "4.1.0",
+ "_npmUser": {
+ "email": "quitlahok@gmail.com",
+ "name": "nlf"
},
- "main": "lib/index.js",
- "keywords": [
- "utilities"
+ "_npmVersion": "3.3.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "hoek",
+ "raw": "hoek@2.x.x",
+ "rawSpec": "2.x.x",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/boom",
+ "/hawk",
+ "/sntp"
],
- "engines": {
- "node": ">=0.10.40"
+ "_resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "_shasum": "20bb7403d3cea398e91dc4710a8ff1b8274a25ed",
+ "_shrinkwrap": null,
+ "_spec": "hoek@2.x.x",
+ "_where": "/Users/rebecca/code/npm/node_modules/hawk",
+ "bugs": {
+ "url": "https://github.com/hapijs/hoek/issues"
},
"dependencies": {},
+ "description": "General purpose node utilities",
"devDependencies": {
"code": "1.x.x",
"lab": "5.x.x"
},
- "scripts": {
- "test": "lab -a code -t 100 -L",
- "test-cov-html": "lab -a code -t 100 -L -r html -o coverage.html"
- },
- "license": "BSD-3-Clause",
- "gitHead": "20f36e85616264d4b73a64a374803175213a9121",
- "bugs": {
- "url": "https://github.com/hapijs/hoek/issues"
- },
- "homepage": "https://github.com/hapijs/hoek#readme",
- "_id": "hoek@2.16.3",
- "_shasum": "20bb7403d3cea398e91dc4710a8ff1b8274a25ed",
- "_from": "hoek@>=2.0.0 <3.0.0",
- "_npmVersion": "3.3.3",
- "_nodeVersion": "4.1.0",
- "_npmUser": {
- "name": "nlf",
- "email": "quitlahok@gmail.com"
- },
+ "directories": {},
"dist": {
"shasum": "20bb7403d3cea398e91dc4710a8ff1b8274a25ed",
"tarball": "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
},
+ "engines": {
+ "node": ">=0.10.40"
+ },
+ "gitHead": "20f36e85616264d4b73a64a374803175213a9121",
+ "homepage": "https://github.com/hapijs/hoek#readme",
+ "installable": true,
+ "keywords": [
+ "utilities"
+ ],
+ "license": "BSD-3-Clause",
+ "main": "lib/index.js",
"maintainers": [
{
"name": "hueniverse",
@@ -55,7 +73,15 @@
"email": "quitlahok@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "hoek",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/hapijs/hoek.git"
+ },
+ "scripts": {
+ "test": "lab -a code -t 100 -L",
+ "test-cov-html": "lab -a code -t 100 -L -r html -o coverage.html"
+ },
+ "version": "2.16.3"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js b/deps/npm/node_modules/hoek/test/escaper.js
index a5d048f7bc..a5d048f7bc 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/escaper.js
+++ b/deps/npm/node_modules/hoek/test/escaper.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js b/deps/npm/node_modules/hoek/test/index.js
index 1e8ef620f3..1e8ef620f3 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/index.js
+++ b/deps/npm/node_modules/hoek/test/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/ignore.txt b/deps/npm/node_modules/hoek/test/modules/ignore.txt
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/ignore.txt
+++ b/deps/npm/node_modules/hoek/test/modules/ignore.txt
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js b/deps/npm/node_modules/hoek/test/modules/test1.js
index fa4e06abe0..fa4e06abe0 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test1.js
+++ b/deps/npm/node_modules/hoek/test/modules/test1.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js b/deps/npm/node_modules/hoek/test/modules/test2.js
index 88e9166e86..88e9166e86 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test2.js
+++ b/deps/npm/node_modules/hoek/test/modules/test2.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js b/deps/npm/node_modules/hoek/test/modules/test3.js
index 670e724a6e..670e724a6e 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/hoek/test/modules/test3.js
+++ b/deps/npm/node_modules/hoek/test/modules/test3.js
diff --git a/deps/npm/node_modules/hosted-git-info/package.json b/deps/npm/node_modules/hosted-git-info/package.json
index 8d34aca2d7..e77f5f1832 100644
--- a/deps/npm/node_modules/hosted-git-info/package.json
+++ b/deps/npm/node_modules/hosted-git-info/package.json
@@ -1,49 +1,68 @@
{
- "name": "hosted-git-info",
- "version": "2.1.4",
- "description": "Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab",
- "main": "index.js",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/hosted-git-info.git"
+ "_args": [
+ [
+ "hosted-git-info@~2.1.4",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "hosted-git-info@>=2.1.4 <2.2.0",
+ "_id": "hosted-git-info@2.1.4",
+ "_inCache": true,
+ "_location": "/hosted-git-info",
+ "_nodeVersion": "2.0.2",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
},
- "keywords": [
- "git",
- "github",
- "bitbucket",
- "gitlab"
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "hosted-git-info",
+ "raw": "hosted-git-info@~2.1.4",
+ "rawSpec": "~2.1.4",
+ "scope": null,
+ "spec": ">=2.1.4 <2.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/normalize-package-data",
+ "/npm-package-arg"
],
+ "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz",
+ "_shasum": "d9e953b26988be88096c46e926494d9604c300f8",
+ "_shrinkwrap": null,
+ "_spec": "hosted-git-info@~2.1.4",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Rebecca Turner",
"email": "me@re-becca.org",
+ "name": "Rebecca Turner",
"url": "http://re-becca.org"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/npm/hosted-git-info/issues"
},
- "homepage": "https://github.com/npm/hosted-git-info",
- "scripts": {
- "test": "standard && tap test/*.js"
- },
+ "dependencies": {},
+ "description": "Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab",
"devDependencies": {
"standard": "^3.3.2",
"tap": "^0.4.13"
},
- "gitHead": "9e1a36df8eb050a663713c79e56d89dadba2bd8d",
- "_id": "hosted-git-info@2.1.4",
- "_shasum": "d9e953b26988be88096c46e926494d9604c300f8",
- "_from": "hosted-git-info@>=2.1.2 <2.2.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.2",
- "_npmUser": {
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
- },
+ "directories": {},
"dist": {
"shasum": "d9e953b26988be88096c46e926494d9604c300f8",
"tarball": "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz"
},
+ "gitHead": "9e1a36df8eb050a663713c79e56d89dadba2bd8d",
+ "homepage": "https://github.com/npm/hosted-git-info",
+ "keywords": [
+ "bitbucket",
+ "git",
+ "github",
+ "gitlab"
+ ],
+ "license": "ISC",
+ "main": "index.js",
"maintainers": [
{
"name": "iarna",
@@ -54,6 +73,14 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz"
+ "name": "hosted-git-info",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/hosted-git-info.git"
+ },
+ "scripts": {
+ "test": "standard && tap test/*.js"
+ },
+ "version": "2.1.4"
}
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/.dir-locals.el b/deps/npm/node_modules/http-signature/.dir-locals.el
index 3bc9235f25..3bc9235f25 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/.dir-locals.el
+++ b/deps/npm/node_modules/http-signature/.dir-locals.el
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/.npmignore b/deps/npm/node_modules/http-signature/.npmignore
index c143fb3a46..c143fb3a46 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/.npmignore
+++ b/deps/npm/node_modules/http-signature/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/LICENSE b/deps/npm/node_modules/http-signature/LICENSE
index f6d947d2f6..f6d947d2f6 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/LICENSE
+++ b/deps/npm/node_modules/http-signature/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/README.md b/deps/npm/node_modules/http-signature/README.md
index de487d3236..de487d3236 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/README.md
+++ b/deps/npm/node_modules/http-signature/README.md
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/http_signing.md b/deps/npm/node_modules/http-signature/http_signing.md
index dd81ee5b59..8108885015 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/http_signing.md
+++ b/deps/npm/node_modules/http-signature/http_signing.md
@@ -293,4 +293,3 @@ inserted for readability):
The Authorization header would be:
Authorization: Signature keyId="Test",algorithm="rsa-sha256",headers="request-line host date content-type content-md5 content-length",signature="H/AaTDkJvLELy4i1RujnKlS6dm8QWiJvEpn9cKRMi49kKF+mohZ15z1r+mF+XiKS5kOOscyS83olfBtsVhYjPg2Ei3/D9D4Mvb7bFm9IaLJgYTFFuQCghrKQQFPiqJN320emjHxFowpIm1BkstnEU7lktH/XdXVBo8a6Uteiztw="
-
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/lib/index.js b/deps/npm/node_modules/http-signature/lib/index.js
index 56a9967dab..56a9967dab 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/lib/index.js
+++ b/deps/npm/node_modules/http-signature/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/lib/parser.js b/deps/npm/node_modules/http-signature/lib/parser.js
index fd9ac1022a..fd9ac1022a 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/lib/parser.js
+++ b/deps/npm/node_modules/http-signature/lib/parser.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/lib/signer.js b/deps/npm/node_modules/http-signature/lib/signer.js
index 3507f4dbfd..3507f4dbfd 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/lib/signer.js
+++ b/deps/npm/node_modules/http-signature/lib/signer.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/lib/util.js b/deps/npm/node_modules/http-signature/lib/util.js
index 2e1ce4d468..2e1ce4d468 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/lib/util.js
+++ b/deps/npm/node_modules/http-signature/lib/util.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/lib/verify.js b/deps/npm/node_modules/http-signature/lib/verify.js
index f6ad0c2b17..f6ad0c2b17 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/lib/verify.js
+++ b/deps/npm/node_modules/http-signature/lib/verify.js
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/package.json b/deps/npm/node_modules/http-signature/package.json
index 47d76cffcf..910f811811 100644
--- a/deps/npm/node_modules/request/node_modules/http-signature/package.json
+++ b/deps/npm/node_modules/http-signature/package.json
@@ -1,11 +1,43 @@
{
- "name": "http-signature",
- "description": "Reference implementation of Joyent's HTTP Signature scheme.",
- "version": "0.11.0",
- "license": "MIT",
+ "_args": [
+ [
+ "http-signature@~0.11.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "http-signature@>=0.11.0 <0.12.0",
+ "_id": "http-signature@0.11.0",
+ "_inCache": true,
+ "_location": "/http-signature",
+ "_nodeVersion": "0.10.36",
+ "_npmUser": {
+ "email": "patrick.f.mooney@gmail.com",
+ "name": "pfmooney"
+ },
+ "_npmVersion": "2.5.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "http-signature",
+ "raw": "http-signature@~0.11.0",
+ "rawSpec": "~0.11.0",
+ "scope": null,
+ "spec": ">=0.11.0 <0.12.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz",
+ "_shasum": "1796cf67a001ad5cd6849dca0991485f09089fe6",
+ "_shrinkwrap": null,
+ "_spec": "http-signature@~0.11.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
"name": "Joyent, Inc"
},
+ "bugs": {
+ "url": "https://github.com/joyent/node-http-signature/issues"
+ },
"contributors": [
{
"name": "Mark Cavage",
@@ -20,44 +52,31 @@
"email": "patrick.f.mooney@gmail.com"
}
],
- "repository": {
- "type": "git",
- "url": "git://github.com/joyent/node-http-signature.git"
- },
- "homepage": "https://github.com/joyent/node-http-signature/",
- "bugs": {
- "url": "https://github.com/joyent/node-http-signature/issues"
- },
- "keywords": [
- "https",
- "request"
- ],
- "engines": {
- "node": ">=0.8"
- },
- "main": "lib/index.js",
- "scripts": {
- "test": "tap test/*.js"
- },
"dependencies": {
- "assert-plus": "^0.1.5",
"asn1": "0.1.11",
+ "assert-plus": "^0.1.5",
"ctype": "0.5.3"
},
+ "description": "Reference implementation of Joyent's HTTP Signature scheme.",
"devDependencies": {
"node-uuid": "^1.4.1",
"tap": "0.4.2"
},
- "_id": "http-signature@0.11.0",
- "_shasum": "1796cf67a001ad5cd6849dca0991485f09089fe6",
- "_resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz",
- "_from": "http-signature@>=0.11.0 <0.12.0",
- "_npmVersion": "2.5.1",
- "_nodeVersion": "0.10.36",
- "_npmUser": {
- "name": "pfmooney",
- "email": "patrick.f.mooney@gmail.com"
+ "directories": {},
+ "dist": {
+ "shasum": "1796cf67a001ad5cd6849dca0991485f09089fe6",
+ "tarball": "http://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz"
},
+ "engines": {
+ "node": ">=0.8"
+ },
+ "homepage": "https://github.com/joyent/node-http-signature/",
+ "keywords": [
+ "https",
+ "request"
+ ],
+ "license": "MIT",
+ "main": "lib/index.js",
"maintainers": [
{
"name": "mcavage",
@@ -68,10 +87,14 @@
"email": "patrick.f.mooney@gmail.com"
}
],
- "dist": {
- "shasum": "1796cf67a001ad5cd6849dca0991485f09089fe6",
- "tarball": "http://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz"
+ "name": "http-signature",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/joyent/node-http-signature.git"
},
- "directories": {},
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.11.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.npmignore b/deps/npm/node_modules/iferr/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.npmignore
+++ b/deps/npm/node_modules/iferr/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/license.md b/deps/npm/node_modules/iferr/LICENSE
index c67e3532b5..19d5f4bce5 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/license.md
+++ b/deps/npm/node_modules/iferr/LICENSE
@@ -1,4 +1,6 @@
-# Copyright (c) 2015 Calvin Metcalf
+The MIT License (MIT)
+
+Copyright (c) 2014 Nadav Ivgi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -10,10 +12,10 @@ 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
+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.**
+SOFTWARE. \ No newline at end of file
diff --git a/deps/npm/node_modules/iferr/README.md b/deps/npm/node_modules/iferr/README.md
new file mode 100644
index 0000000000..0940763fa9
--- /dev/null
+++ b/deps/npm/node_modules/iferr/README.md
@@ -0,0 +1,40 @@
+# iferr
+
+Higher-order functions for easier error handling.
+
+`if (err) return cb(err);` be gone!
+
+## Install
+```bash
+npm install iferr
+```
+
+## Use
+
+### JavaScript example
+```js
+var iferr = require('iferr');
+
+function get_friends_count(id, cb) {
+ User.load_user(id, iferr(cb, function(user) {
+ user.load_friends(iferr(cb, function(friends) {
+ cb(null, friends.length);
+ }));
+ }));
+}
+```
+
+### CoffeeScript example
+```coffee
+iferr = require 'iferr'
+
+get_friends_count = (id, cb) ->
+ User.load_user id, iferr cb, (user) ->
+ user.load_friends iferr cb, (friends) ->
+ cb null, friends.length
+```
+
+(TODO: document tiferr, throwerr and printerr)
+
+## License
+MIT
diff --git a/deps/npm/node_modules/iferr/index.coffee b/deps/npm/node_modules/iferr/index.coffee
new file mode 100644
index 0000000000..da6d00719f
--- /dev/null
+++ b/deps/npm/node_modules/iferr/index.coffee
@@ -0,0 +1,24 @@
+# Delegates to `succ` on sucecss or to `fail` on error
+# ex: Thing.load 123, iferr cb, (thing) -> ...
+iferr = (fail, succ) -> (err, a...) ->
+ if err? then fail err
+ else succ? a...
+
+# Like iferr, but also catches errors thrown from `succ` and passes to `fail`
+tiferr = (fail, succ) -> iferr fail, (a...) ->
+ try succ a...
+ catch err then fail err
+
+# Delegate to the success function on success, or throw the error otherwise
+# ex: Thing.load 123, throwerr (thing) -> ...
+throwerr = iferr.bind null, (err) -> throw err
+
+# Prints errors when one is passed, or does nothing otherwise
+# ex: thing.save printerr
+printerr = iferr (err) -> console.error err.stack or err
+
+module.exports = exports = iferr
+exports.iferr = iferr
+exports.tiferr = tiferr
+exports.throwerr = throwerr
+exports.printerr = printerr
diff --git a/deps/npm/node_modules/iferr/index.js b/deps/npm/node_modules/iferr/index.js
new file mode 100644
index 0000000000..78fce3d2b0
--- /dev/null
+++ b/deps/npm/node_modules/iferr/index.js
@@ -0,0 +1,49 @@
+// Generated by CoffeeScript 1.7.1
+(function() {
+ var exports, iferr, printerr, throwerr, tiferr,
+ __slice = [].slice;
+
+ iferr = function(fail, succ) {
+ return function() {
+ var a, err;
+ err = arguments[0], a = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
+ if (err != null) {
+ return fail(err);
+ } else {
+ return typeof succ === "function" ? succ.apply(null, a) : void 0;
+ }
+ };
+ };
+
+ tiferr = function(fail, succ) {
+ return iferr(fail, function() {
+ var a, err;
+ a = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
+ try {
+ return succ.apply(null, a);
+ } catch (_error) {
+ err = _error;
+ return fail(err);
+ }
+ });
+ };
+
+ throwerr = iferr.bind(null, function(err) {
+ throw err;
+ });
+
+ printerr = iferr(function(err) {
+ return console.error(err.stack || err);
+ });
+
+ module.exports = exports = iferr;
+
+ exports.iferr = iferr;
+
+ exports.tiferr = tiferr;
+
+ exports.throwerr = throwerr;
+
+ exports.printerr = printerr;
+
+}).call(this);
diff --git a/deps/npm/node_modules/iferr/package.json b/deps/npm/node_modules/iferr/package.json
new file mode 100644
index 0000000000..f746e2862c
--- /dev/null
+++ b/deps/npm/node_modules/iferr/package.json
@@ -0,0 +1,75 @@
+{
+ "_args": [
+ [
+ "iferr@~0.1.5",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "iferr@>=0.1.5 <0.2.0",
+ "_id": "iferr@0.1.5",
+ "_inCache": true,
+ "_location": "/iferr",
+ "_npmUser": {
+ "email": "npm@shesek.info",
+ "name": "nadav"
+ },
+ "_npmVersion": "1.4.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "iferr",
+ "raw": "iferr@~0.1.5",
+ "rawSpec": "~0.1.5",
+ "scope": null,
+ "spec": ">=0.1.5 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "_shasum": "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501",
+ "_shrinkwrap": null,
+ "_spec": "iferr@~0.1.5",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "name": "Nadav Ivgi"
+ },
+ "bugs": {
+ "url": "https://github.com/shesek/iferr/issues"
+ },
+ "dependencies": {},
+ "description": "Higher-order functions for easier error handling",
+ "devDependencies": {
+ "coffee-script": "^1.7.1",
+ "mocha": "^1.18.2"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501",
+ "tarball": "http://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz"
+ },
+ "homepage": "https://github.com/shesek/iferr",
+ "keywords": [
+ "error",
+ "errors"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "nadav",
+ "email": "npm@shesek.info"
+ }
+ ],
+ "name": "iferr",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/shesek/iferr"
+ },
+ "scripts": {
+ "prepublish": "coffee -c index.coffee",
+ "test": "mocha"
+ },
+ "version": "0.1.5"
+}
diff --git a/deps/npm/node_modules/iferr/test/index.coffee b/deps/npm/node_modules/iferr/test/index.coffee
new file mode 100644
index 0000000000..be0bc56fdf
--- /dev/null
+++ b/deps/npm/node_modules/iferr/test/index.coffee
@@ -0,0 +1,42 @@
+{ iferr, tiferr, throwerr } = require '../index.coffee'
+{ equal: eq, throws } = require 'assert'
+
+invoke_fail = (cb) -> cb new Error 'callback error'
+invoke_succ = (cb) -> cb null
+throw_error = -> throw new Error 'thrown'
+
+describe 'iferr', ->
+ it 'calls the error callback on errors', (done) ->
+ invoke_fail iferr(
+ (err) ->
+ eq err.message, 'callback error'
+ do done
+ ->
+ done new Error 'shouldn\'t call the success callback'
+ )
+
+ it 'calls the success callback on success', (done) ->
+ invoke_succ iferr(
+ -> done new Error 'shouldn\'t call the error callback'
+ done
+ )
+
+describe 'tiferr', ->
+ it 'catches errors in the success callback', (done) ->
+ invoke_succ tiferr(
+ (err) ->
+ eq err.message, 'thrown'
+ do done
+ throw_error
+ )
+
+describe 'throwerr', ->
+ it 'throws errors passed to the callback', (done)->
+ try invoke_fail throwerr ->
+ done 'shouldn\'t call the success callback'
+ catch err
+ eq err.message, 'callback error'
+ do done
+
+ it 'delegates to the success callback otherwise', (done) ->
+ invoke_succ throwerr done
diff --git a/deps/npm/node_modules/iferr/test/mocha.opts b/deps/npm/node_modules/iferr/test/mocha.opts
new file mode 100644
index 0000000000..019defcf15
--- /dev/null
+++ b/deps/npm/node_modules/iferr/test/mocha.opts
@@ -0,0 +1,2 @@
+--compilers coffee:coffee-script/register
+--reporter spec
diff --git a/deps/npm/node_modules/inflight/package.json b/deps/npm/node_modules/inflight/package.json
index e0b63729cc..7e3c816bd3 100644
--- a/deps/npm/node_modules/inflight/package.json
+++ b/deps/npm/node_modules/inflight/package.json
@@ -1,36 +1,87 @@
{
- "name": "inflight",
- "version": "1.0.4",
- "description": "Add callbacks to requests in flight to avoid async duplication",
- "main": "inflight.js",
+ "_args": [
+ [
+ "inflight@~1.0.4",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "inflight@>=1.0.4 <1.1.0",
+ "_id": "inflight@1.0.4",
+ "_inCache": true,
+ "_location": "/inflight",
+ "_nodeVersion": "0.10.32",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
+ },
+ "_npmVersion": "2.1.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "inflight",
+ "raw": "inflight@~1.0.4",
+ "rawSpec": "~1.0.4",
+ "scope": null,
+ "spec": ">=1.0.4 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/glob",
+ "/node-gyp/glob",
+ "/rimraf/glob"
+ ],
+ "_resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz",
+ "_shasum": "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a",
+ "_shrinkwrap": null,
+ "_spec": "inflight@~1.0.4",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/inflight/issues"
+ },
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
},
+ "description": "Add callbacks to requests in flight to avoid async duplication",
"devDependencies": {
"tap": "^0.4.10"
},
- "scripts": {
- "test": "tap test.js"
+ "directories": {},
+ "dist": {
+ "shasum": "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a",
+ "tarball": "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz"
},
+ "gitHead": "c7b5531d572a867064d4a1da9e013e8910b7d1ba",
+ "homepage": "https://github.com/isaacs/inflight",
+ "license": "ISC",
+ "main": "inflight.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "inflight",
+ "optionalDependencies": {},
"repository": {
"type": "git",
"url": "git://github.com/isaacs/inflight"
},
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "bugs": {
- "url": "https://github.com/isaacs/inflight/issues"
+ "scripts": {
+ "test": "tap test.js"
},
- "homepage": "https://github.com/isaacs/inflight",
- "license": "ISC",
- "readme": "# inflight\n\nAdd callbacks to requests in flight to avoid async duplication\n\n## USAGE\n\n```javascript\nvar inflight = require('inflight')\n\n// some request that does some stuff\nfunction req(key, callback) {\n // key is any random string. like a url or filename or whatever.\n //\n // will return either a falsey value, indicating that the\n // request for this key is already in flight, or a new callback\n // which when called will call all callbacks passed to inflightk\n // with the same key\n callback = inflight(key, callback)\n\n // If we got a falsey value back, then there's already a req going\n if (!callback) return\n\n // this is where you'd fetch the url or whatever\n // callback is also once()-ified, so it can safely be assigned\n // to multiple events etc. First call wins.\n setTimeout(function() {\n callback(null, key)\n }, 100)\n}\n\n// only assigns a single setTimeout\n// when it dings, all cbs get called\nreq('foo', cb1)\nreq('foo', cb2)\nreq('foo', cb3)\nreq('foo', cb4)\n```\n",
- "readmeFilename": "README.md",
- "gitHead": "c7b5531d572a867064d4a1da9e013e8910b7d1ba",
- "_id": "inflight@1.0.4",
- "_shasum": "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a",
- "_from": "inflight@>=1.0.4 <1.1.0"
+ "version": "1.0.4"
}
diff --git a/deps/npm/node_modules/inherits/package.json b/deps/npm/node_modules/inherits/package.json
index a0cd426836..9407a1962e 100644
--- a/deps/npm/node_modules/inherits/package.json
+++ b/deps/npm/node_modules/inherits/package.json
@@ -1,51 +1,87 @@
{
- "name": "inherits",
- "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
- "version": "2.0.1",
- "keywords": [
- "inheritance",
- "class",
- "klass",
- "oop",
- "object-oriented",
- "inherits",
- "browser",
- "browserify"
+ "_args": [
+ [
+ "inherits@~2.0.1",
+ "/Users/rebecca/code/npm"
+ ]
],
- "main": "./inherits.js",
- "browser": "./inherits_browser.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/inherits"
+ "_from": "inherits@>=2.0.1 <2.1.0",
+ "_id": "inherits@2.0.1",
+ "_inCache": true,
+ "_location": "/inherits",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
},
- "license": "ISC",
- "scripts": {
- "test": "node test"
+ "_npmVersion": "1.3.8",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "inherits",
+ "raw": "inherits@~2.0.1",
+ "rawSpec": "~2.0.1",
+ "scope": null,
+ "spec": ">=2.0.1 <2.1.0",
+ "type": "range"
},
- "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",
+ "_requiredBy": [
+ "/",
+ "/bl/readable-stream",
+ "/block-stream",
+ "/concat-stream",
+ "/concat-stream/readable-stream",
+ "/fstream",
+ "/fstream-ignore",
+ "/fstream-npm",
+ "/glob",
+ "/node-gyp/glob",
+ "/node-gyp/tar",
+ "/readable-stream",
+ "/rimraf/glob",
+ "/tar"
+ ],
+ "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
+ "_shrinkwrap": null,
+ "_spec": "inherits@~2.0.1",
+ "_where": "/Users/rebecca/code/npm",
+ "browser": "./inherits_browser.js",
"bugs": {
"url": "https://github.com/isaacs/inherits/issues"
},
- "_id": "inherits@2.0.1",
+ "dependencies": {},
+ "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
"tarball": "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
},
- "_from": "inherits@latest",
- "_npmVersion": "1.3.8",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "keywords": [
+ "browser",
+ "browserify",
+ "class",
+ "inheritance",
+ "inherits",
+ "klass",
+ "object-oriented",
+ "oop"
+ ],
+ "license": "ISC",
+ "main": "./inherits.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_shasum": "b17d08d326b4423e568eff719f91b0b1cbdf69f1",
- "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "homepage": "https://github.com/isaacs/inherits"
+ "name": "inherits",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/inherits"
+ },
+ "scripts": {
+ "test": "node test"
+ },
+ "version": "2.0.1"
}
diff --git a/deps/npm/node_modules/ini/package.json b/deps/npm/node_modules/ini/package.json
index e9b9d5396c..ca9e5bfd54 100644
--- a/deps/npm/node_modules/ini/package.json
+++ b/deps/npm/node_modules/ini/package.json
@@ -1,56 +1,80 @@
{
+ "_args": [
+ [
+ "ini@~1.3.4",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "ini@>=1.3.4 <1.4.0",
+ "_id": "ini@1.3.4",
+ "_inCache": true,
+ "_location": "/ini",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ini",
+ "raw": "ini@~1.3.4",
+ "rawSpec": "~1.3.4",
+ "scope": null,
+ "spec": ">=1.3.4 <1.4.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/config-chain"
+ ],
+ "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "_shasum": "0537cb79daf59b59a1a517dff706c86ec039162e",
+ "_shrinkwrap": null,
+ "_spec": "ini@~1.3.4",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "ini",
+ "bugs": {
+ "url": "https://github.com/isaacs/ini/issues"
+ },
+ "dependencies": {},
"description": "An ini encoder/decoder for node",
- "version": "1.3.4",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/ini.git"
+ "devDependencies": {
+ "tap": "^1.2.0"
},
- "main": "ini.js",
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {},
+ "dist": {
+ "shasum": "0537cb79daf59b59a1a517dff706c86ec039162e",
+ "tarball": "http://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
},
"engines": {
"node": "*"
},
- "dependencies": {},
- "devDependencies": {
- "tap": "^1.2.0"
- },
- "license": "ISC",
"files": [
"ini.js"
],
"gitHead": "4a3001abc4c608e51add9f1d2b2cadf02b8e6dea",
- "bugs": {
- "url": "https://github.com/isaacs/ini/issues"
- },
"homepage": "https://github.com/isaacs/ini#readme",
- "_id": "ini@1.3.4",
- "_shasum": "0537cb79daf59b59a1a517dff706c86ec039162e",
- "_from": "ini@latest",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "0537cb79daf59b59a1a517dff706c86ec039162e",
- "tarball": "http://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
- },
+ "license": "ISC",
+ "main": "ini.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "ini",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/ini.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.3.4"
}
diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json
index 0cc543ece4..a3ee5eea9f 100644
--- a/deps/npm/node_modules/init-package-json/package.json
+++ b/deps/npm/node_modules/init-package-json/package.json
@@ -1,21 +1,48 @@
{
- "name": "init-package-json",
- "version": "1.9.1",
- "main": "init-package-json.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "init-package-json@~1.9.1",
+ "/Users/ogd/Documents/projects/npm/npm"
+ ]
+ ],
+ "_from": "init-package-json@>=1.9.1 <1.10.0",
+ "_id": "init-package-json@1.9.1",
+ "_inCache": true,
+ "_location": "/init-package-json",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/init-package-json.git"
+ "_npmVersion": "2.14.1",
+ "_phantomChildren": {
+ "spdx-correct": "1.0.0",
+ "spdx-expression-parse": "1.0.0"
},
+ "_requested": {
+ "name": "init-package-json",
+ "raw": "init-package-json@~1.9.1",
+ "rawSpec": "~1.9.1",
+ "scope": null,
+ "spec": ">=1.9.1 <1.10.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.9.1.tgz",
+ "_shasum": "a28e05b5baeb3363cd473df68d30d3a80523a31c",
+ "_shrinkwrap": null,
+ "_spec": "init-package-json@~1.9.1",
+ "_where": "/Users/ogd/Documents/projects/npm/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
- "description": "A node module to get your node module started",
+ "bugs": {
+ "url": "https://github.com/isaacs/init-package-json/issues"
+ },
"dependencies": {
"glob": "^5.0.3",
"npm-package-arg": "^4.0.0",
@@ -26,39 +53,32 @@
"validate-npm-package-license": "^3.0.1",
"validate-npm-package-name": "^2.0.1"
},
+ "description": "A node module to get your node module started",
"devDependencies": {
"npm": "^2",
"rimraf": "^2.1.4",
"tap": "^1.2.0"
},
+ "directories": {},
+ "dist": {
+ "shasum": "a28e05b5baeb3363cd473df68d30d3a80523a31c",
+ "tarball": "http://registry.npmjs.org/init-package-json/-/init-package-json-1.9.1.tgz"
+ },
+ "gitHead": "37c38b4e23189eb5645901fa6851f343fddd4b73",
+ "homepage": "https://github.com/isaacs/init-package-json#readme",
+ "installable": true,
"keywords": [
+ "helper",
"init",
- "package.json",
"package",
- "helper",
- "wizard",
- "wizerd",
+ "package.json",
"prompt",
- "start"
+ "start",
+ "wizard",
+ "wizerd"
],
- "gitHead": "37c38b4e23189eb5645901fa6851f343fddd4b73",
- "bugs": {
- "url": "https://github.com/isaacs/init-package-json/issues"
- },
- "homepage": "https://github.com/isaacs/init-package-json#readme",
- "_id": "init-package-json@1.9.1",
- "_shasum": "a28e05b5baeb3363cd473df68d30d3a80523a31c",
- "_from": "init-package-json@1.9.1",
- "_npmVersion": "2.14.1",
- "_nodeVersion": "2.2.2",
- "_npmUser": {
- "name": "zkat",
- "email": "kat@sykosomatic.org"
- },
- "dist": {
- "shasum": "a28e05b5baeb3363cd473df68d30d3a80523a31c",
- "tarball": "http://registry.npmjs.org/init-package-json/-/init-package-json-1.9.1.tgz"
- },
+ "license": "ISC",
+ "main": "init-package-json.js",
"maintainers": [
{
"name": "isaacs",
@@ -77,6 +97,14 @@
"email": "kat@sykosomatic.org"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.9.1.tgz"
+ "name": "init-package-json",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/init-package-json.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.9.1"
}
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/LICENSE b/deps/npm/node_modules/is-absolute/LICENSE
index 904ab073b7..904ab073b7 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/LICENSE
+++ b/deps/npm/node_modules/is-absolute/LICENSE
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/README.md b/deps/npm/node_modules/is-absolute/README.md
index 2347828a3e..2347828a3e 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/README.md
+++ b/deps/npm/node_modules/is-absolute/README.md
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/index.js b/deps/npm/node_modules/is-absolute/index.js
index 9df4d5c240..9df4d5c240 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/index.js
+++ b/deps/npm/node_modules/is-absolute/index.js
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/package.json b/deps/npm/node_modules/is-absolute/package.json
index 4f954b855f..28c21dd109 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/package.json
+++ b/deps/npm/node_modules/is-absolute/package.json
@@ -1,39 +1,64 @@
{
- "name": "is-absolute",
- "description": "Return true if a file path is absolute.",
- "version": "0.1.7",
- "homepage": "https://github.com/jonschlinkert/is-absolute",
+ "_args": [
+ [
+ "is-absolute@^0.1.7",
+ "/Users/rebecca/code/npm/node_modules/which"
+ ]
+ ],
+ "_from": "is-absolute@>=0.1.7 <0.2.0",
+ "_id": "is-absolute@0.1.7",
+ "_inCache": true,
+ "_location": "/is-absolute",
+ "_nodeVersion": "0.12.0",
+ "_npmUser": {
+ "email": "github@sellside.com",
+ "name": "jonschlinkert"
+ },
+ "_npmVersion": "2.5.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "is-absolute",
+ "raw": "is-absolute@^0.1.7",
+ "rawSpec": "^0.1.7",
+ "scope": null,
+ "spec": ">=0.1.7 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/which"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
+ "_shasum": "847491119fccb5fb436217cc737f7faad50f603f",
+ "_shrinkwrap": null,
+ "_spec": "is-absolute@^0.1.7",
+ "_where": "/Users/rebecca/code/npm/node_modules/which",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/jonschlinkert/is-absolute.git"
- },
"bugs": {
"url": "https://github.com/jonschlinkert/is-absolute/issues"
},
- "license": {
- "type": "MIT",
- "url": "https://github.com/jonschlinkert/is-absolute/blob/master/LICENSE"
- },
- "files": [
- "index.js"
- ],
- "main": "index.js",
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "mocha"
- },
"dependencies": {
"is-relative": "^0.1.0"
},
+ "description": "Return true if a file path is absolute.",
"devDependencies": {
"mocha": "*"
},
+ "directories": {},
+ "dist": {
+ "shasum": "847491119fccb5fb436217cc737f7faad50f603f",
+ "tarball": "http://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "90cca7b671620bf28b778a61fddc8a986a2e1095",
+ "homepage": "https://github.com/jonschlinkert/is-absolute",
"keywords": [
"absolute",
"check",
@@ -50,27 +75,25 @@
"uri",
"url"
],
- "gitHead": "90cca7b671620bf28b778a61fddc8a986a2e1095",
- "_id": "is-absolute@0.1.7",
- "_shasum": "847491119fccb5fb436217cc737f7faad50f603f",
- "_from": "is-absolute@>=0.1.7 <0.2.0",
- "_npmVersion": "2.5.1",
- "_nodeVersion": "0.12.0",
- "_npmUser": {
- "name": "jonschlinkert",
- "email": "github@sellside.com"
+ "license": {
+ "type": "MIT",
+ "url": "https://github.com/jonschlinkert/is-absolute/blob/master/LICENSE"
},
+ "main": "index.js",
"maintainers": [
{
"name": "jonschlinkert",
"email": "github@sellside.com"
}
],
- "dist": {
- "shasum": "847491119fccb5fb436217cc737f7faad50f603f",
- "tarball": "http://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz"
+ "name": "is-absolute",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jonschlinkert/is-absolute.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "mocha"
+ },
+ "version": "0.1.7"
}
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js b/deps/npm/node_modules/is-builtin-module/index.js
index b6cfa616ae..b6cfa616ae 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/index.js
+++ b/deps/npm/node_modules/is-builtin-module/index.js
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/license b/deps/npm/node_modules/is-builtin-module/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/license
+++ b/deps/npm/node_modules/is-builtin-module/license
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/package.json b/deps/npm/node_modules/is-builtin-module/package.json
index 58feefdfb8..925fc9d27d 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/package.json
+++ b/deps/npm/node_modules/is-builtin-module/package.json
@@ -1,72 +1,97 @@
{
- "name": "is-builtin-module",
- "version": "1.0.0",
- "description": "Check if a string matches the name of a Node.js builtin module",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/sindresorhus/is-builtin-module"
+ "_args": [
+ [
+ "is-builtin-module@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/normalize-package-data"
+ ]
+ ],
+ "_from": "is-builtin-module@>=1.0.0 <2.0.0",
+ "_id": "is-builtin-module@1.0.0",
+ "_inCache": true,
+ "_location": "/is-builtin-module",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.7.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "is-builtin-module",
+ "raw": "is-builtin-module@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/normalize-package-data"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "_shasum": "540572d34f7ac3119f8f76c30cbc1b1e037affbe",
+ "_shrinkwrap": null,
+ "_spec": "is-builtin-module@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/normalize-package-data",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
+ "bugs": {
+ "url": "https://github.com/sindresorhus/is-builtin-module/issues"
+ },
+ "dependencies": {
+ "builtin-modules": "^1.0.0"
+ },
+ "description": "Check if a string matches the name of a Node.js builtin module",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "540572d34f7ac3119f8f76c30cbc1b1e037affbe",
+ "tarball": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "node test.js"
- },
"files": [
"index.js"
],
+ "gitHead": "da55ebf031f3864c5d309e25e49ed816957d70a2",
+ "homepage": "https://github.com/sindresorhus/is-builtin-module",
+ "installable": true,
"keywords": [
- "builtin",
+ "array",
"built-in",
+ "builtin",
"builtins",
- "node",
- "modules",
- "core",
"bundled",
+ "check",
+ "core",
+ "detect",
+ "is",
"list",
- "array",
+ "match",
+ "modules",
"names",
- "is",
- "detect",
- "check",
- "match"
+ "node"
],
- "dependencies": {
- "builtin-modules": "^1.0.0"
- },
- "devDependencies": {
- "ava": "0.0.4"
- },
- "gitHead": "da55ebf031f3864c5d309e25e49ed816957d70a2",
- "bugs": {
- "url": "https://github.com/sindresorhus/is-builtin-module/issues"
- },
- "homepage": "https://github.com/sindresorhus/is-builtin-module",
- "_id": "is-builtin-module@1.0.0",
- "_shasum": "540572d34f7ac3119f8f76c30cbc1b1e037affbe",
- "_from": "is-builtin-module@>=1.0.0 <2.0.0",
- "_npmVersion": "2.7.4",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "540572d34f7ac3119f8f76c30cbc1b1e037affbe",
- "tarball": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"
- },
+ "license": "MIT",
"maintainers": [
{
"name": "sindresorhus",
"email": "sindresorhus@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz"
+ "name": "is-builtin-module",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sindresorhus/is-builtin-module"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/readme.md b/deps/npm/node_modules/is-builtin-module/readme.md
index 798dcf4371..798dcf4371 100644
--- a/deps/npm/node_modules/normalize-package-data/node_modules/is-builtin-module/readme.md
+++ b/deps/npm/node_modules/is-builtin-module/readme.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.npmignore b/deps/npm/node_modules/is-my-json-valid/.npmignore
index dbb0721ce5..dbb0721ce5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.npmignore
+++ b/deps/npm/node_modules/is-my-json-valid/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.travis.yml b/deps/npm/node_modules/is-my-json-valid/.travis.yml
index 6e5919de39..6e5919de39 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/.travis.yml
+++ b/deps/npm/node_modules/is-my-json-valid/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE b/deps/npm/node_modules/is-my-json-valid/LICENSE
index 757562ec59..757562ec59 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE
+++ b/deps/npm/node_modules/is-my-json-valid/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/README.md b/deps/npm/node_modules/is-my-json-valid/README.md
index cbf2b20d33..cbf2b20d33 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/README.md
+++ b/deps/npm/node_modules/is-my-json-valid/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/example.js b/deps/npm/node_modules/is-my-json-valid/example.js
index f70f4dfb5c..f70f4dfb5c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/example.js
+++ b/deps/npm/node_modules/is-my-json-valid/example.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/formats.js b/deps/npm/node_modules/is-my-json-valid/formats.js
index 3038daea92..3038daea92 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/formats.js
+++ b/deps/npm/node_modules/is-my-json-valid/formats.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/index.js b/deps/npm/node_modules/is-my-json-valid/index.js
index 7820e6497b..b01417d3e5 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/index.js
+++ b/deps/npm/node_modules/is-my-json-valid/index.js
@@ -190,7 +190,7 @@ var compile = function(schema, cache, root, reporter, opts) {
validate('for (var %s = %d; %s < %s.length; %s++) {', i, node.items.length, i, name, i)
visit(name+'['+i+']', node.additionalItems, reporter, filter)
validate('}')
- }
+ }
}
if (node.format && fmts[node.format]) {
@@ -395,7 +395,7 @@ var compile = function(schema, cache, root, reporter, opts) {
node.anyOf.forEach(function(sch, i) {
if (i === 0) {
validate('var %s = errors', prev)
- } else {
+ } else {
validate('if (errors !== %s) {', prev)
('errors = %s', prev)
}
@@ -446,7 +446,7 @@ var compile = function(schema, cache, root, reporter, opts) {
if (node.maxProperties !== undefined) {
if (type !== 'object') validate('if (%s) {', types.object(name))
-
+
validate('if (Object.keys(%s).length > %d) {', name, node.maxProperties)
error('has more properties than allowed')
validate('}')
@@ -456,7 +456,7 @@ var compile = function(schema, cache, root, reporter, opts) {
if (node.minProperties !== undefined) {
if (type !== 'object') validate('if (%s) {', types.object(name))
-
+
validate('if (Object.keys(%s).length < %d) {', name, node.minProperties)
error('has less properties than allowed')
validate('}')
@@ -466,7 +466,7 @@ var compile = function(schema, cache, root, reporter, opts) {
if (node.maxItems !== undefined) {
if (type !== 'array') validate('if (%s) {', types.array(name))
-
+
validate('if (%s.length > %d) {', name, node.maxItems)
error('has more items than allowed')
validate('}')
@@ -476,7 +476,7 @@ var compile = function(schema, cache, root, reporter, opts) {
if (node.minItems !== undefined) {
if (type !== 'array') validate('if (%s) {', types.array(name))
-
+
validate('if (%s.length < %d) {', name, node.minItems)
error('has less items than allowed')
validate('}')
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json b/deps/npm/node_modules/is-my-json-valid/package.json
index 34a9f77acd..e217ecb50e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/package.json
+++ b/deps/npm/node_modules/is-my-json-valid/package.json
@@ -1,52 +1,70 @@
{
- "name": "is-my-json-valid",
- "version": "2.12.2",
- "description": "A JSONSchema validator that uses code generation to be extremely fast",
- "main": "index.js",
+ "_args": [
+ [
+ "is-my-json-valid@~2.12.2",
+ "/Users/ogd/Documents/projects/npm/npm"
+ ]
+ ],
+ "_from": "is-my-json-valid@>=2.12.2 <2.13.0",
+ "_id": "is-my-json-valid@2.12.2",
+ "_inCache": true,
+ "_location": "/is-my-json-valid",
+ "_nodeVersion": "2.5.0",
+ "_npmUser": {
+ "email": "mathiasbuus@gmail.com",
+ "name": "mafintosh"
+ },
+ "_npmVersion": "2.13.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "is-my-json-valid",
+ "raw": "is-my-json-valid@~2.12.2",
+ "rawSpec": "~2.12.2",
+ "scope": null,
+ "spec": ">=2.12.2 <2.13.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/eslint",
+ "/har-validator"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz",
+ "_shasum": "0d65859318c846ce3a134402fd3fbc504272ccc9",
+ "_shrinkwrap": null,
+ "_spec": "is-my-json-valid@~2.12.2",
+ "_where": "/Users/ogd/Documents/projects/npm/npm",
+ "author": {
+ "name": "Mathias Buus"
+ },
+ "bugs": {
+ "url": "https://github.com/mafintosh/is-my-json-valid/issues"
+ },
"dependencies": {
"generate-function": "^2.0.0",
"generate-object-property": "^1.1.0",
"jsonpointer": "2.0.0",
"xtend": "^4.0.0"
},
+ "description": "A JSONSchema validator that uses code generation to be extremely fast",
"devDependencies": {
"tape": "^2.13.4"
},
- "scripts": {
- "test": "tape test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mafintosh/is-my-json-valid.git"
+ "directories": {},
+ "dist": {
+ "shasum": "0d65859318c846ce3a134402fd3fbc504272ccc9",
+ "tarball": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz"
},
+ "gitHead": "48040cf001f661bcaa31f09bdc7fe3939ac2253b",
+ "homepage": "https://github.com/mafintosh/is-my-json-valid",
+ "installable": true,
"keywords": [
"json",
- "schema",
+ "jsonschema",
"orderly",
- "jsonschema"
+ "schema"
],
- "author": {
- "name": "Mathias Buus"
- },
"license": "MIT",
- "bugs": {
- "url": "https://github.com/mafintosh/is-my-json-valid/issues"
- },
- "homepage": "https://github.com/mafintosh/is-my-json-valid",
- "gitHead": "48040cf001f661bcaa31f09bdc7fe3939ac2253b",
- "_id": "is-my-json-valid@2.12.2",
- "_shasum": "0d65859318c846ce3a134402fd3fbc504272ccc9",
- "_from": "is-my-json-valid@>=2.12.0 <3.0.0",
- "_npmVersion": "2.13.4",
- "_nodeVersion": "2.5.0",
- "_npmUser": {
- "name": "mafintosh",
- "email": "mathiasbuus@gmail.com"
- },
- "dist": {
- "shasum": "0d65859318c846ce3a134402fd3fbc504272ccc9",
- "tarball": "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz"
- },
+ "main": "index.js",
"maintainers": [
{
"name": "mafintosh",
@@ -61,7 +79,14 @@
"email": "freeall@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "is-my-json-valid",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/mafintosh/is-my-json-valid.git"
+ },
+ "scripts": {
+ "test": "tape test/*.js"
+ },
+ "version": "2.12.2"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/require.js b/deps/npm/node_modules/is-my-json-valid/require.js
index 0bfb8a29d4..0bfb8a29d4 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/require.js
+++ b/deps/npm/node_modules/is-my-json-valid/require.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/fixtures/cosmic.js b/deps/npm/node_modules/is-my-json-valid/test/fixtures/cosmic.js
index 4e0a34b210..4e0a34b210 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/fixtures/cosmic.js
+++ b/deps/npm/node_modules/is-my-json-valid/test/fixtures/cosmic.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json
index 521745c8d6..521745c8d6 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json
index 40831f9e9a..40831f9e9a 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json
index bbb5f89e4b..bbb5f89e4b 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json
index a58714afd8..a58714afd8 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json
index ccc7c17fe8..ccc7c17fe8 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/default.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/default.json
index 17629779fb..17629779fb 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/default.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/default.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json
index cf935a3215..cf935a3215 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json
index 7b9b16a7e1..7b9b16a7e1 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json
index f124436a7d..f124436a7d 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/format.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/format.json
index 53c5d25190..53c5d25190 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/format.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/format.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/items.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/items.json
index f5e18a1384..f5e18a1384 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/items.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/items.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json
index 3b53a6b371..3b53a6b371 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json
index 48eb1296d2..48eb1296d2 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json
index d282446ad6..d282446ad6 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json
index 86c7b89c9a..86c7b89c9a 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json
index ed5118815e..ed5118815e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json
index e9c14b1723..e9c14b1723 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json
index a72c7d293e..a72c7d293e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json
index d5bf000bcc..d5bf000bcc 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json
index ca3b761805..ca3b761805 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/not.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/not.json
index cbb7f46bf8..f66690fe1b 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/not.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/not.json
@@ -74,7 +74,7 @@
"description": "forbidden property",
"schema": {
"properties": {
- "foo": {
+ "foo": {
"not": {}
}
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json
index d7fce9f509..d7fce9f509 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json
index c65c02c36f..c65c02c36f 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json
index 1eaa4e4794..1eaa4e4794 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json
index befc4b560f..befc4b560f 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json
index 18586e5dab..18586e5dab 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json
index cd1644dcd9..cd1644dcd9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json
index d8214bc2b3..d8214bc2b3 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json
index 4ca804732c..4ca804732c 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/required.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/required.json
index 612f73f347..612f73f347 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/required.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/required.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/type.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/type.json
index 257f051292..257f051292 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/type.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/type.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json
index c1f4ab99c9..c1f4ab99c9 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema.js b/deps/npm/node_modules/is-my-json-valid/test/json-schema.js
index e68a263a27..e68a263a27 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/json-schema.js
+++ b/deps/npm/node_modules/is-my-json-valid/test/json-schema.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/misc.js b/deps/npm/node_modules/is-my-json-valid/test/misc.js
index b5109e576f..b5109e576f 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/test/misc.js
+++ b/deps/npm/node_modules/is-my-json-valid/test/misc.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/.npmignore b/deps/npm/node_modules/is-property/.npmignore
index 8ecfa25a86..8ecfa25a86 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/.npmignore
+++ b/deps/npm/node_modules/is-property/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE b/deps/npm/node_modules/is-property/LICENSE
index 8ce206a845..8ce206a845 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE
+++ b/deps/npm/node_modules/is-property/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/README.md b/deps/npm/node_modules/is-property/README.md
index ef1d00b62f..9846a8bb9f 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/README.md
+++ b/deps/npm/node_modules/is-property/README.md
@@ -16,7 +16,7 @@ Install
-------
npm install is-property
-
+
### `require("is-property")(str)`
Checks if str is a property
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/is-property.js b/deps/npm/node_modules/is-property/is-property.js
index db58b47b27..db58b47b27 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/is-property.js
+++ b/deps/npm/node_modules/is-property/is-property.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json b/deps/npm/node_modules/is-property/package.json
index 9f23619477..1842f7e7a2 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/package.json
+++ b/deps/npm/node_modules/is-property/package.json
@@ -1,59 +1,82 @@
{
- "name": "is-property",
- "version": "1.0.2",
- "description": "Tests if a JSON property can be accessed using . syntax",
- "main": "is-property.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "is-property@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/generate-object-property"
+ ]
+ ],
+ "_from": "is-property@>=1.0.0 <2.0.0",
+ "_id": "is-property@1.0.2",
+ "_inCache": true,
+ "_location": "/is-property",
+ "_nodeVersion": "0.10.26",
+ "_npmUser": {
+ "email": "mikolalysenko@gmail.com",
+ "name": "mikolalysenko"
+ },
+ "_npmVersion": "2.1.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "is-property",
+ "raw": "is-property@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/generate-object-property"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
+ "_shasum": "57fe1c4e48474edd65b09911f26b1cd4095dda84",
+ "_shrinkwrap": null,
+ "_spec": "is-property@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/generate-object-property",
+ "author": {
+ "name": "Mikola Lysenko"
+ },
+ "bugs": {
+ "url": "https://github.com/mikolalysenko/is-property/issues"
},
"dependencies": {},
+ "description": "Tests if a JSON property can be accessed using . syntax",
"devDependencies": {
"tape": "~1.0.4"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/mikolalysenko/is-property.git"
+ "dist": {
+ "shasum": "57fe1c4e48474edd65b09911f26b1cd4095dda84",
+ "tarball": "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
},
+ "gitHead": "0a85ea5b6b1264ea1cdecc6e5cf186adbb3ffc50",
+ "homepage": "https://github.com/mikolalysenko/is-property",
"keywords": [
+ ".",
+ "[]",
+ "bracket",
+ "dot",
"is",
- "property",
"json",
- "dot",
- "bracket",
- ".",
- "[]"
+ "property"
],
- "author": {
- "name": "Mikola Lysenko"
- },
"license": "MIT",
- "gitHead": "0a85ea5b6b1264ea1cdecc6e5cf186adbb3ffc50",
- "bugs": {
- "url": "https://github.com/mikolalysenko/is-property/issues"
- },
- "homepage": "https://github.com/mikolalysenko/is-property",
- "_id": "is-property@1.0.2",
- "_shasum": "57fe1c4e48474edd65b09911f26b1cd4095dda84",
- "_from": "is-property@>=1.0.0 <2.0.0",
- "_npmVersion": "2.1.4",
- "_nodeVersion": "0.10.26",
- "_npmUser": {
- "name": "mikolalysenko",
- "email": "mikolalysenko@gmail.com"
- },
+ "main": "is-property.js",
"maintainers": [
{
"name": "mikolalysenko",
"email": "mikolalysenko@gmail.com"
}
],
- "dist": {
- "shasum": "57fe1c4e48474edd65b09911f26b1cd4095dda84",
- "tarball": "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
+ "name": "is-property",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/mikolalysenko/is-property.git"
},
- "_resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/LICENSE-MIT b/deps/npm/node_modules/is-relative/LICENSE-MIT
index b576e8d484..b576e8d484 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/LICENSE-MIT
+++ b/deps/npm/node_modules/is-relative/LICENSE-MIT
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/README.md b/deps/npm/node_modules/is-relative/README.md
index 5d7a2a2aab..5d7a2a2aab 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/README.md
+++ b/deps/npm/node_modules/is-relative/README.md
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/index.js b/deps/npm/node_modules/is-relative/index.js
index ffc760a82a..ffc760a82a 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/index.js
+++ b/deps/npm/node_modules/is-relative/index.js
diff --git a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/package.json b/deps/npm/node_modules/is-relative/package.json
index d582081dd1..7061840932 100644
--- a/deps/npm/node_modules/which/node_modules/is-absolute/node_modules/is-relative/package.json
+++ b/deps/npm/node_modules/is-relative/package.json
@@ -1,25 +1,63 @@
{
- "name": "is-relative",
- "description": "Returns `true` if the path appears to be relative.",
- "version": "0.1.3",
- "homepage": "https://github.com/jonschlinkert/is-relative",
+ "_args": [
+ [
+ "is-relative@^0.1.0",
+ "/Users/rebecca/code/npm/node_modules/is-absolute"
+ ]
+ ],
+ "_from": "is-relative@>=0.1.0 <0.2.0",
+ "_id": "is-relative@0.1.3",
+ "_inCache": true,
+ "_location": "/is-relative",
+ "_npmUser": {
+ "email": "github@sellside.com",
+ "name": "jonschlinkert"
+ },
+ "_npmVersion": "1.4.9",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "is-relative",
+ "raw": "is-relative@^0.1.0",
+ "rawSpec": "^0.1.0",
+ "scope": null,
+ "spec": ">=0.1.0 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/is-absolute"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
+ "_shasum": "905fee8ae86f45b3ec614bc3c15c869df0876e82",
+ "_shrinkwrap": null,
+ "_spec": "is-relative@^0.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/is-absolute",
"author": {
"name": "Jon Schlinkert",
"url": "https://github.com/jonschlinkert"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/jonschlinkert/is-relative.git"
- },
"bugs": {
"url": "https://github.com/jonschlinkert/is-relative/issues"
},
- "licenses": [
- {
- "type": "MIT",
- "url": "https://github.com/jonschlinkert/is-relative/blob/master/LICENSE-MIT"
- }
+ "dependencies": {},
+ "description": "Returns `true` if the path appears to be relative.",
+ "devDependencies": {
+ "mocha": "*",
+ "verb": ">= 0.2.6",
+ "verb-tag-jscomments": "^0.1.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "905fee8ae86f45b3ec614bc3c15c869df0876e82",
+ "tarball": "http://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "LICENSE-MIT",
+ "index.js"
],
+ "homepage": "https://github.com/jonschlinkert/is-relative",
"keywords": [
"absolute",
"check",
@@ -36,41 +74,27 @@
"uri",
"url"
],
- "main": "index.js",
- "files": [
- "index.js",
- "LICENSE-MIT"
+ "licenses": [
+ {
+ "type": "MIT",
+ "url": "https://github.com/jonschlinkert/is-relative/blob/master/LICENSE-MIT"
+ }
],
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "mocha -R spec"
- },
- "devDependencies": {
- "mocha": "*",
- "verb": ">= 0.2.6",
- "verb-tag-jscomments": "^0.1.4"
- },
- "_id": "is-relative@0.1.3",
- "_shasum": "905fee8ae86f45b3ec614bc3c15c869df0876e82",
- "_from": "is-relative@>=0.1.0 <0.2.0",
- "_npmVersion": "1.4.9",
- "_npmUser": {
- "name": "jonschlinkert",
- "email": "github@sellside.com"
- },
+ "main": "index.js",
"maintainers": [
{
"name": "jonschlinkert",
"email": "github@sellside.com"
}
],
- "dist": {
- "shasum": "905fee8ae86f45b3ec614bc3c15c869df0876e82",
- "tarball": "http://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz"
+ "name": "is-relative",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jonschlinkert/is-relative.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "mocha -R spec"
+ },
+ "version": "0.1.3"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/README.md b/deps/npm/node_modules/isarray/README.md
index 052a62b8d7..052a62b8d7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/README.md
+++ b/deps/npm/node_modules/isarray/README.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js b/deps/npm/node_modules/isarray/build/build.js
index e1856ef094..e1856ef094 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/build/build.js
+++ b/deps/npm/node_modules/isarray/build/build.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/component.json b/deps/npm/node_modules/isarray/component.json
index 9e31b68388..9e31b68388 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/component.json
+++ b/deps/npm/node_modules/isarray/component.json
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/index.js b/deps/npm/node_modules/isarray/index.js
index 5f5ad45d46..5f5ad45d46 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/index.js
+++ b/deps/npm/node_modules/isarray/index.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json b/deps/npm/node_modules/isarray/package.json
index 19228ab6fd..7a923d7baf 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json
+++ b/deps/npm/node_modules/isarray/package.json
@@ -1,53 +1,75 @@
{
- "name": "isarray",
- "description": "Array#isArray for older browsers",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/isarray.git"
- },
- "homepage": "https://github.com/juliangruber/isarray",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "isarray@0.0.1",
+ "/Users/rebecca/code/npm/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "isarray@0.0.1",
+ "_id": "isarray@0.0.1",
+ "_inCache": true,
+ "_location": "/isarray",
+ "_npmUser": {
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
},
- "dependencies": {},
- "devDependencies": {
- "tap": "*"
+ "_npmVersion": "1.2.18",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "isarray",
+ "raw": "isarray@0.0.1",
+ "rawSpec": "0.0.1",
+ "scope": null,
+ "spec": "0.0.1",
+ "type": "version"
},
- "keywords": [
- "browser",
- "isarray",
- "array"
+ "_requiredBy": [
+ "/bl/readable-stream",
+ "/concat-stream/readable-stream",
+ "/readable-stream"
],
+ "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
+ "_shrinkwrap": null,
+ "_spec": "isarray@0.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/readable-stream",
"author": {
- "name": "Julian Gruber",
"email": "mail@juliangruber.com",
+ "name": "Julian Gruber",
"url": "http://juliangruber.com"
},
- "license": "MIT",
- "_id": "isarray@0.0.1",
+ "dependencies": {},
+ "description": "Array#isArray for older browsers",
+ "devDependencies": {
+ "tap": "*"
+ },
+ "directories": {},
"dist": {
"shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
"tarball": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
},
- "_from": "isarray@0.0.1",
- "_npmVersion": "1.2.18",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
+ "homepage": "https://github.com/juliangruber/isarray",
+ "keywords": [
+ "array",
+ "browser",
+ "isarray"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "juliangruber",
"email": "julian@juliangruber.com"
}
],
- "directories": {},
- "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "bugs": {
- "url": "https://github.com/juliangruber/isarray/issues"
+ "name": "isarray",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/isarray.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
},
- "readme": "ERROR: No README data found!"
+ "version": "0.0.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/isstream/.npmignore b/deps/npm/node_modules/isstream/.npmignore
index aa1ec1ea06..aa1ec1ea06 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/.npmignore
+++ b/deps/npm/node_modules/isstream/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/isstream/.travis.yml b/deps/npm/node_modules/isstream/.travis.yml
index 1fec2ab9af..1fec2ab9af 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/.travis.yml
+++ b/deps/npm/node_modules/isstream/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/isstream/LICENSE.md b/deps/npm/node_modules/isstream/LICENSE.md
index 43f7153f9f..43f7153f9f 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/LICENSE.md
+++ b/deps/npm/node_modules/isstream/LICENSE.md
diff --git a/deps/npm/node_modules/request/node_modules/isstream/README.md b/deps/npm/node_modules/isstream/README.md
index 06770e82f2..06770e82f2 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/README.md
+++ b/deps/npm/node_modules/isstream/README.md
diff --git a/deps/npm/node_modules/request/node_modules/isstream/isstream.js b/deps/npm/node_modules/isstream/isstream.js
index a1d104a7ac..a1d104a7ac 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/isstream.js
+++ b/deps/npm/node_modules/isstream/isstream.js
diff --git a/deps/npm/node_modules/request/node_modules/isstream/package.json b/deps/npm/node_modules/isstream/package.json
index 74e97e608c..54d8b76a0b 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/package.json
+++ b/deps/npm/node_modules/isstream/package.json
@@ -1,59 +1,83 @@
{
- "name": "isstream",
- "version": "0.1.2",
- "description": "Determine if an object is a Stream",
- "main": "isstream.js",
- "scripts": {
- "test": "tar --xform 's/^package/readable-stream-1.0/' -zxf readable-stream-1.0.*.tgz && tar --xform 's/^package/readable-stream-1.1/' -zxf readable-stream-1.1.*.tgz && node test.js; rm -rf readable-stream-1.?/"
+ "_args": [
+ [
+ "isstream@~0.1.1",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "isstream@>=0.1.1 <0.2.0",
+ "_id": "isstream@0.1.2",
+ "_inCache": true,
+ "_location": "/isstream",
+ "_nodeVersion": "1.4.3",
+ "_npmUser": {
+ "email": "rod@vagg.org",
+ "name": "rvagg"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/rvagg/isstream.git"
+ "_npmVersion": "2.6.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "isstream",
+ "raw": "isstream@~0.1.1",
+ "rawSpec": "~0.1.1",
+ "scope": null,
+ "spec": ">=0.1.1 <0.2.0",
+ "type": "range"
},
- "keywords": [
- "stream",
- "type",
- "streams",
- "readable-stream",
- "hippo"
+ "_requiredBy": [
+ "/request"
],
+ "_resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "_shasum": "47e63f7af55afa6f92e1500e690eb8b8529c099a",
+ "_shrinkwrap": null,
+ "_spec": "isstream@~0.1.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "author": {
+ "email": "rod@vagg.org",
+ "name": "Rod Vagg"
+ },
+ "bugs": {
+ "url": "https://github.com/rvagg/isstream/issues"
+ },
+ "dependencies": {},
+ "description": "Determine if an object is a Stream",
"devDependencies": {
- "tape": "~2.12.3",
"core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x",
- "inherits": "~2.0.1"
- },
- "author": {
- "name": "Rod Vagg",
- "email": "rod@vagg.org"
+ "tape": "~2.12.3"
},
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/rvagg/isstream/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "47e63f7af55afa6f92e1500e690eb8b8529c099a",
+ "tarball": "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
},
- "homepage": "https://github.com/rvagg/isstream",
"gitHead": "cd39cba6da939b4fc9110825203adc506422c3dc",
- "_id": "isstream@0.1.2",
- "_shasum": "47e63f7af55afa6f92e1500e690eb8b8529c099a",
- "_from": "isstream@>=0.1.1 <0.2.0",
- "_npmVersion": "2.6.1",
- "_nodeVersion": "1.4.3",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
- },
+ "homepage": "https://github.com/rvagg/isstream",
+ "keywords": [
+ "hippo",
+ "readable-stream",
+ "stream",
+ "streams",
+ "type"
+ ],
+ "license": "MIT",
+ "main": "isstream.js",
"maintainers": [
{
"name": "rvagg",
"email": "rod@vagg.org"
}
],
- "dist": {
- "shasum": "47e63f7af55afa6f92e1500e690eb8b8529c099a",
- "tarball": "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
+ "name": "isstream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/rvagg/isstream.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tar --xform 's/^package/readable-stream-1.0/' -zxf readable-stream-1.0.*.tgz && tar --xform 's/^package/readable-stream-1.1/' -zxf readable-stream-1.1.*.tgz && node test.js; rm -rf readable-stream-1.?/"
+ },
+ "version": "0.1.2"
}
diff --git a/deps/npm/node_modules/request/node_modules/isstream/test.js b/deps/npm/node_modules/isstream/test.js
index 8c950c55e6..881e70b309 100644
--- a/deps/npm/node_modules/request/node_modules/isstream/test.js
+++ b/deps/npm/node_modules/isstream/test.js
@@ -163,6 +163,3 @@ testDuplex(true, 'ReadableStream11.PassThrough', new (ReadableStream11.PassThrou
})
})
-
-
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.npmignore b/deps/npm/node_modules/jju/.npmignore
index b561496c91..5ae40150ee 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.npmignore
+++ b/deps/npm/node_modules/jju/.npmignore
@@ -1,6 +1,9 @@
package.json
node_modules
-test/external
+test
+benchmark
+docs
examples
+/.editorconfig
/.eslint*
/.travis.yml
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/README.md b/deps/npm/node_modules/jju/README.md
index 85d52a2dce..3d61083fb0 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/README.md
+++ b/deps/npm/node_modules/jju/README.md
@@ -240,4 +240,3 @@ JSON.stringify will split this into 15 lines, and it's hard to read.
Yet again, this feature comes with a performance hit, so if user experience matters to you more than performance, use this module. If your JSON will be consumed by machines, use JSON.stringify instead.
As a rule of thumb, if you use "space" argument to indent your JSON, you'd better use this module instead.
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/index.js b/deps/npm/node_modules/jju/index.js
index 50f1624963..50f1624963 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/index.js
+++ b/deps/npm/node_modules/jju/index.js
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/analyze.js b/deps/npm/node_modules/jju/lib/analyze.js
index 9b0f9af01c..39303b0969 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/analyze.js
+++ b/deps/npm/node_modules/jju/lib/analyze.js
@@ -89,4 +89,3 @@ module.exports.analyze = function analyzeJSON(input, options) {
return result
}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/document.js b/deps/npm/node_modules/jju/lib/document.js
index cfab8691fc..af1a01a03d 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/document.js
+++ b/deps/npm/node_modules/jju/lib/document.js
@@ -482,4 +482,3 @@ module.exports.Document = Document
module.exports.update = function updateJSON(source, new_value, options) {
return Document(source, options).update(new_value).toString()
}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/parse.js b/deps/npm/node_modules/jju/lib/parse.js
index 5f9fe99861..2b78949378 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/parse.js
+++ b/deps/npm/node_modules/jju/lib/parse.js
@@ -749,4 +749,3 @@ module.exports.tokenize = function tokenizeJSON(input, options) {
tokens.data = module.exports.parse(input, options)
return tokens
}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/stringify.js b/deps/npm/node_modules/jju/lib/stringify.js
index ce89d77ee1..754019eac5 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/stringify.js
+++ b/deps/npm/node_modules/jju/lib/stringify.js
@@ -380,4 +380,3 @@ module.exports.stringify = function stringifyJSON(object, options, _space) {
return _stringify(object, options, 0, '')
}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/unicode.js b/deps/npm/node_modules/jju/lib/unicode.js
index 1a29143c2d..1a29143c2d 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/unicode.js
+++ b/deps/npm/node_modules/jju/lib/unicode.js
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/utils.js b/deps/npm/node_modules/jju/lib/utils.js
index a8476b6c46..dd4752c73a 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/lib/utils.js
+++ b/deps/npm/node_modules/jju/lib/utils.js
@@ -43,4 +43,3 @@ module.exports.middleware = function() {
throw Error('this function is removed, use express-json5 instead')
}
}
-
diff --git a/deps/npm/node_modules/jju/package.json b/deps/npm/node_modules/jju/package.json
new file mode 100644
index 0000000000..215d56ed2c
--- /dev/null
+++ b/deps/npm/node_modules/jju/package.json
@@ -0,0 +1,88 @@
+{
+ "_args": [
+ [
+ "jju@^1.1.0",
+ "/Users/rebecca/code/npm/node_modules/json-parse-helpfulerror"
+ ]
+ ],
+ "_from": "jju@>=1.1.0 <2.0.0",
+ "_id": "jju@1.2.1",
+ "_inCache": true,
+ "_location": "/jju",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "alex@kocharin.ru",
+ "name": "rlidwka"
+ },
+ "_npmVersion": "2.0.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "jju",
+ "raw": "jju@^1.1.0",
+ "rawSpec": "^1.1.0",
+ "scope": null,
+ "spec": ">=1.1.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/json-parse-helpfulerror"
+ ],
+ "_resolved": "https://registry.npmjs.org/jju/-/jju-1.2.1.tgz",
+ "_shasum": "edf6ec20d5d668c80c2c00cea63f8a9422a4b528",
+ "_shrinkwrap": null,
+ "_spec": "jju@^1.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/json-parse-helpfulerror",
+ "author": {
+ "email": "alex@kocharin.ru",
+ "name": "Alex Kocharin"
+ },
+ "bugs": {
+ "url": "https://github.com/rlidwka/jju/issues"
+ },
+ "dependencies": {},
+ "description": "a set of utilities to work with JSON / JSON5 documents",
+ "devDependencies": {
+ "eslint": "~0.4.2",
+ "js-yaml": ">=3.1.0",
+ "mocha": ">=1.21.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "edf6ec20d5d668c80c2c00cea63f8a9422a4b528",
+ "tarball": "http://registry.npmjs.org/jju/-/jju-1.2.1.tgz"
+ },
+ "gitHead": "8b079c1d03af527ab28a47c7b714d6f888abc53d",
+ "homepage": "http://rlidwka.github.io/jju/",
+ "installable": true,
+ "keywords": [
+ "data",
+ "json",
+ "json5",
+ "parser",
+ "serializer"
+ ],
+ "license": {
+ "type": "WTFPL",
+ "url": "http://www.wtfpl.net/txt/copying/"
+ },
+ "maintainers": [
+ {
+ "name": "rlidwka",
+ "email": "alex@kocharin.ru"
+ }
+ ],
+ "name": "jju",
+ "optionalDependencies": {},
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org/"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/rlidwka/jju"
+ },
+ "scripts": {
+ "lint": "eslint -c ./.eslint.yaml ./lib",
+ "test": "mocha test/*.js"
+ },
+ "version": "1.2.1"
+}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.yaml b/deps/npm/node_modules/jju/package.yaml
index cab7b5d0bc..4d81c219f1 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.yaml
+++ b/deps/npm/node_modules/jju/package.yaml
@@ -3,7 +3,7 @@
# "jju" stands for "json/json5 utils"
name: jju
-version: 1.2.0
+version: 1.2.1
description: a set of utilities to work with JSON / JSON5 documents
author:
@@ -43,4 +43,3 @@ publishConfig:
license:
type: WTFPL
url: http://www.wtfpl.net/txt/copying/
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/.editorconfig b/deps/npm/node_modules/json-parse-helpfulerror/.editorconfig
index fb7f73a832..fb7f73a832 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/.editorconfig
+++ b/deps/npm/node_modules/json-parse-helpfulerror/.editorconfig
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/.npmignore b/deps/npm/node_modules/json-parse-helpfulerror/.npmignore
index 59d842baa8..59d842baa8 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/.npmignore
+++ b/deps/npm/node_modules/json-parse-helpfulerror/.npmignore
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/LICENSE b/deps/npm/node_modules/json-parse-helpfulerror/LICENSE
index e637724b3b..c3d2eb3550 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/LICENSE
+++ b/deps/npm/node_modules/json-parse-helpfulerror/LICENSE
@@ -19,4 +19,3 @@ 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/read-package-json/node_modules/json-parse-helpfulerror/README.md b/deps/npm/node_modules/json-parse-helpfulerror/README.md
index ffad93584b..ffad93584b 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/README.md
+++ b/deps/npm/node_modules/json-parse-helpfulerror/README.md
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/index.js b/deps/npm/node_modules/json-parse-helpfulerror/index.js
index 15648b017b..15648b017b 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/index.js
+++ b/deps/npm/node_modules/json-parse-helpfulerror/index.js
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/package.json b/deps/npm/node_modules/json-parse-helpfulerror/package.json
index 2a5a98fc32..6ab518ee98 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/package.json
+++ b/deps/npm/node_modules/json-parse-helpfulerror/package.json
@@ -1,61 +1,84 @@
{
- "name": "json-parse-helpfulerror",
- "version": "1.0.3",
- "description": "A drop-in replacement for JSON.parse that uses `jju` to give helpful errors",
- "main": "index.js",
- "scripts": {
- "test": "lab -c",
- "lint": "jslint --edition=latest --terse *.js"
+ "_args": [
+ [
+ "json-parse-helpfulerror@^1.0.2",
+ "/Users/rebecca/code/npm/node_modules/read-package-json"
+ ]
+ ],
+ "_from": "json-parse-helpfulerror@>=1.0.2 <2.0.0",
+ "_id": "json-parse-helpfulerror@1.0.3",
+ "_inCache": true,
+ "_location": "/json-parse-helpfulerror",
+ "_nodeVersion": "0.10.35",
+ "_npmUser": {
+ "email": "smikes@cubane.com",
+ "name": "smikes"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/smikes/json-parse-helpfulerror.git"
+ "_npmVersion": "2.1.16",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "json-parse-helpfulerror",
+ "raw": "json-parse-helpfulerror@^1.0.2",
+ "rawSpec": "^1.0.2",
+ "scope": null,
+ "spec": ">=1.0.2 <2.0.0",
+ "type": "range"
},
- "keywords": [
- "json",
- "parse",
- "line",
- "doublequote",
- "error"
+ "_requiredBy": [
+ "/read-package-json"
],
+ "_resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz",
+ "_shasum": "13f14ce02eed4e981297b64eb9e3b932e2dd13dc",
+ "_shrinkwrap": null,
+ "_spec": "json-parse-helpfulerror@^1.0.2",
+ "_where": "/Users/rebecca/code/npm/node_modules/read-package-json",
"author": {
- "name": "Sam Mikes",
- "email": "smikes@cubane.com"
+ "email": "smikes@cubane.com",
+ "name": "Sam Mikes"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/smikes/json-parse-helpfulerror/issues"
},
- "homepage": "https://github.com/smikes/json-parse-helpfulerror",
+ "dependencies": {
+ "jju": "^1.1.0"
+ },
+ "description": "A drop-in replacement for JSON.parse that uses `jju` to give helpful errors",
"devDependencies": {
"code": "^1.2.1",
"jslint": "^0.7.1",
"lab": "^5.1.1"
},
- "dependencies": {
- "jju": "^1.1.0"
+ "directories": {},
+ "dist": {
+ "shasum": "13f14ce02eed4e981297b64eb9e3b932e2dd13dc",
+ "tarball": "http://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz"
},
"gitHead": "eedb116ec96b5c479be3919b526d6de0a521be5e",
- "_id": "json-parse-helpfulerror@1.0.3",
- "_shasum": "13f14ce02eed4e981297b64eb9e3b932e2dd13dc",
- "_from": "json-parse-helpfulerror@>=1.0.2 <2.0.0",
- "_npmVersion": "2.1.16",
- "_nodeVersion": "0.10.35",
- "_npmUser": {
- "name": "smikes",
- "email": "smikes@cubane.com"
- },
+ "homepage": "https://github.com/smikes/json-parse-helpfulerror",
+ "keywords": [
+ "doublequote",
+ "error",
+ "json",
+ "line",
+ "parse"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "smikes",
"email": "smikes@cubane.com"
}
],
- "dist": {
- "shasum": "13f14ce02eed4e981297b64eb9e3b932e2dd13dc",
- "tarball": "http://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz"
+ "name": "json-parse-helpfulerror",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/smikes/json-parse-helpfulerror.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "lint": "jslint --edition=latest --terse *.js",
+ "test": "lab -c"
+ },
+ "version": "1.0.3"
}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/test/test.js b/deps/npm/node_modules/json-parse-helpfulerror/test/test.js
index fca458ac08..fca458ac08 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/test/test.js
+++ b/deps/npm/node_modules/json-parse-helpfulerror/test/test.js
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/.npmignore b/deps/npm/node_modules/json-stringify-safe/.npmignore
index 17d6b3677f..17d6b3677f 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/.npmignore
+++ b/deps/npm/node_modules/json-stringify-safe/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/CHANGELOG.md b/deps/npm/node_modules/json-stringify-safe/CHANGELOG.md
index c5147d77f6..c5147d77f6 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/CHANGELOG.md
+++ b/deps/npm/node_modules/json-stringify-safe/CHANGELOG.md
diff --git a/deps/npm/node_modules/config-chain/node_modules/proto-list/LICENSE b/deps/npm/node_modules/json-stringify-safe/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/config-chain/node_modules/proto-list/LICENSE
+++ b/deps/npm/node_modules/json-stringify-safe/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/Makefile b/deps/npm/node_modules/json-stringify-safe/Makefile
index 36088c723a..36088c723a 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/Makefile
+++ b/deps/npm/node_modules/json-stringify-safe/Makefile
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/README.md b/deps/npm/node_modules/json-stringify-safe/README.md
index a11f302a33..a11f302a33 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/README.md
+++ b/deps/npm/node_modules/json-stringify-safe/README.md
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/package.json b/deps/npm/node_modules/json-stringify-safe/package.json
index e3cbf9a747..812c934229 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/package.json
+++ b/deps/npm/node_modules/json-stringify-safe/package.json
@@ -1,22 +1,45 @@
{
- "name": "json-stringify-safe",
- "version": "5.0.1",
- "description": "Like JSON.stringify, but doesn't blow up on circular refs.",
- "keywords": [
- "json",
- "stringify",
- "circular",
- "safe"
+ "_args": [
+ [
+ "json-stringify-safe@~5.0.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
],
- "homepage": "https://github.com/isaacs/json-stringify-safe",
- "bugs": {
- "url": "https://github.com/isaacs/json-stringify-safe/issues"
+ "_from": "json-stringify-safe@>=5.0.0 <5.1.0",
+ "_id": "json-stringify-safe@5.0.1",
+ "_inCache": true,
+ "_location": "/json-stringify-safe",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "json-stringify-safe",
+ "raw": "json-stringify-safe@~5.0.0",
+ "rawSpec": "~5.0.0",
+ "scope": null,
+ "spec": ">=5.0.0 <5.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "_shasum": "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb",
+ "_shrinkwrap": null,
+ "_spec": "json-stringify-safe@~5.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me"
},
+ "bugs": {
+ "url": "https://github.com/isaacs/json-stringify-safe/issues"
+ },
"contributors": [
{
"name": "Andri Möll",
@@ -24,34 +47,28 @@
"url": "http://themoll.com"
}
],
- "license": "ISC",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/json-stringify-safe.git"
- },
- "main": "stringify.js",
- "scripts": {
- "test": "node test.js"
- },
+ "dependencies": {},
+ "description": "Like JSON.stringify, but doesn't blow up on circular refs.",
"devDependencies": {
"mocha": ">= 2.1.0 < 3",
"must": ">= 0.12 < 0.13",
"sinon": ">= 1.12.2 < 2"
},
- "gitHead": "3890dceab3ad14f8701e38ca74f38276abc76de5",
- "_id": "json-stringify-safe@5.0.1",
- "_shasum": "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb",
- "_from": "json-stringify-safe@>=5.0.0 <5.1.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb",
"tarball": "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
},
+ "gitHead": "3890dceab3ad14f8701e38ca74f38276abc76de5",
+ "homepage": "https://github.com/isaacs/json-stringify-safe",
+ "keywords": [
+ "circular",
+ "json",
+ "safe",
+ "stringify"
+ ],
+ "license": "ISC",
+ "main": "stringify.js",
"maintainers": [
{
"name": "isaacs",
@@ -62,7 +79,14 @@
"email": "andri@dot.ee"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "json-stringify-safe",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/json-stringify-safe.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "5.0.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/stringify.js b/deps/npm/node_modules/json-stringify-safe/stringify.js
index 124a452181..124a452181 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/stringify.js
+++ b/deps/npm/node_modules/json-stringify-safe/stringify.js
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/test/mocha.opts b/deps/npm/node_modules/json-stringify-safe/test/mocha.opts
index 2544e5861e..2544e5861e 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/test/mocha.opts
+++ b/deps/npm/node_modules/json-stringify-safe/test/mocha.opts
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/test/stringify_test.js b/deps/npm/node_modules/json-stringify-safe/test/stringify_test.js
index 5b32583176..5b32583176 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/test/stringify_test.js
+++ b/deps/npm/node_modules/json-stringify-safe/test/stringify_test.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/.travis.yml b/deps/npm/node_modules/jsonpointer/.travis.yml
index 9338bf1470..9338bf1470 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/.travis.yml
+++ b/deps/npm/node_modules/jsonpointer/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/README.md b/deps/npm/node_modules/jsonpointer/README.md
index e096dfa5d6..e096dfa5d6 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/README.md
+++ b/deps/npm/node_modules/jsonpointer/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/jsonpointer.js b/deps/npm/node_modules/jsonpointer/jsonpointer.js
index 006f85ef3a..006f85ef3a 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/jsonpointer.js
+++ b/deps/npm/node_modules/jsonpointer/jsonpointer.js
diff --git a/deps/npm/node_modules/jsonpointer/package.json b/deps/npm/node_modules/jsonpointer/package.json
new file mode 100644
index 0000000000..1a2dab5596
--- /dev/null
+++ b/deps/npm/node_modules/jsonpointer/package.json
@@ -0,0 +1,93 @@
+{
+ "_args": [
+ [
+ "jsonpointer@2.0.0",
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/is-my-json-valid"
+ ]
+ ],
+ "_from": "jsonpointer@2.0.0",
+ "_id": "jsonpointer@2.0.0",
+ "_inCache": true,
+ "_location": "/jsonpointer",
+ "_nodeVersion": "0.10.36",
+ "_npmUser": {
+ "email": "marc.brookman@gmail.com",
+ "name": "marcbachmann"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "jsonpointer",
+ "raw": "jsonpointer@2.0.0",
+ "rawSpec": "2.0.0",
+ "scope": null,
+ "spec": "2.0.0",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/is-my-json-valid",
+ "/npm-registry-couchapp/is-my-json-valid"
+ ],
+ "_resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz",
+ "_shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
+ "_shrinkwrap": null,
+ "_spec": "jsonpointer@2.0.0",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/is-my-json-valid",
+ "author": {
+ "email": "jan@apache.org",
+ "name": "Jan Lehnardt"
+ },
+ "bugs": {
+ "url": "http://github.com/janl/node-jsonpointer/issues"
+ },
+ "contributors": [
+ {
+ "name": "Joe Hildebrand",
+ "email": "joe-github@cursive.net"
+ }
+ ],
+ "dependencies": {},
+ "description": "Simple JSON Addressing.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
+ "tarball": "http://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ },
+ "gitHead": "26ea4a5c0fcb6d9a2e87f733403791dd05637af8",
+ "homepage": "https://github.com/janl/node-jsonpointer#readme",
+ "installable": true,
+ "license": "MIT",
+ "main": "./jsonpointer",
+ "maintainers": [
+ {
+ "name": "jan",
+ "email": "jan@apache.org"
+ },
+ {
+ "name": "marcbachmann",
+ "email": "marc.brookman@gmail.com"
+ }
+ ],
+ "name": "jsonpointer",
+ "optionalDependencies": {},
+ "readme": "# JSON Pointer for nodejs\n\nThis is an implementation of [JSON Pointer](http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-08).\n\n## Usage\n\n var jsonpointer = require(\"jsonpointer\");\n var obj = { foo: 1, bar: { baz: 2}, qux: [3, 4, 5]};\n var one = jsonpointer.get(obj, \"/foo\");\n var two = jsonpointer.get(obj, \"/bar/baz\");\n var three = jsonpointer.get(obj, \"/qux/0\");\n var four = jsonpointer.get(obj, \"/qux/1\");\n var five = jsonpointer.get(obj, \"/qux/2\");\n var notfound = jsonpointer.get(obj, \"/quo\"); // returns null\n\n jsonpointer.set(obj, \"/foo\", 6); // obj.foo = 6;\n\n## Testing\n\n $ node test.js\n All tests pass.\n $\n\n[![Build Status](https://travis-ci.org/janl/node-jsonpointer.png?branch=master)](https://travis-ci.org/janl/node-jsonpointer)\n\n## Author\n\n(c) 2011 Jan Lehnardt <jan@apache.org>\n\n## License\n\nMIT License.\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/janl/node-jsonpointer.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "tags": [
+ "simple",
+ "util",
+ "util",
+ "utility"
+ ],
+ "version": "2.0.0"
+}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/test.js b/deps/npm/node_modules/jsonpointer/test.js
index 1c67d7f7ef..1c67d7f7ef 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/test.js
+++ b/deps/npm/node_modules/jsonpointer/test.js
diff --git a/deps/npm/node_modules/lockfile/package.json b/deps/npm/node_modules/lockfile/package.json
index cd18aa2ed5..43a798e6e1 100644
--- a/deps/npm/node_modules/lockfile/package.json
+++ b/deps/npm/node_modules/lockfile/package.json
@@ -1,54 +1,69 @@
{
- "name": "lockfile",
- "version": "1.0.1",
- "main": "lockfile.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "~0.2.5",
- "touch": "0"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "lockfile@~1.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "lockfile@>=1.0.1 <1.1.0",
+ "_id": "lockfile@1.0.1",
+ "_inCache": true,
+ "_location": "/lockfile",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/lockfile.git"
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lockfile",
+ "raw": "lockfile@~1.0.1",
+ "rawSpec": "~1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <1.1.0",
+ "type": "range"
},
- "keywords": [
- "lockfile",
- "lock",
- "file",
- "fs",
- "O_EXCL"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz",
+ "_shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5",
+ "_shrinkwrap": null,
+ "_spec": "lockfile@~1.0.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
- "description": "A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.",
- "gitHead": "9d338ed8e3e3a166955d051f6b5fb6bb1e563ca8",
"bugs": {
"url": "https://github.com/isaacs/lockfile/issues"
},
- "homepage": "https://github.com/isaacs/lockfile#readme",
- "_id": "lockfile@1.0.1",
- "_shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5",
- "_from": "lockfile@>=1.0.0 <1.1.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.",
+ "devDependencies": {
+ "tap": "~0.2.5",
+ "touch": "0"
+ },
+ "directories": {
+ "test": "test"
},
"dist": {
"shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5",
"tarball": "http://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz"
},
+ "gitHead": "9d338ed8e3e3a166955d051f6b5fb6bb1e563ca8",
+ "homepage": "https://github.com/isaacs/lockfile#readme",
+ "keywords": [
+ "O_EXCL",
+ "file",
+ "fs",
+ "lock",
+ "lockfile"
+ ],
+ "license": "ISC",
+ "main": "lockfile.js",
"maintainers": [
{
"name": "trevorburnham",
@@ -59,5 +74,14 @@
"email": "i@izs.me"
}
],
- "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz"
+ "name": "lockfile",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/lockfile.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/LICENSE.txt b/deps/npm/node_modules/lodash._arraycopy/LICENSE.txt
index 17764328c8..17764328c8 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/LICENSE.txt
+++ b/deps/npm/node_modules/lodash._arraycopy/LICENSE.txt
diff --git a/deps/npm/node_modules/lodash._arraycopy/README.md b/deps/npm/node_modules/lodash._arraycopy/README.md
new file mode 100644
index 0000000000..16ee6fd242
--- /dev/null
+++ b/deps/npm/node_modules/lodash._arraycopy/README.md
@@ -0,0 +1,20 @@
+# lodash._arraycopy v3.0.0
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `arrayCopy` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._arraycopy
+```
+
+In Node.js/io.js:
+
+```js
+var arrayCopy = require('lodash._arraycopy');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._arraycopy) for more details.
diff --git a/deps/npm/node_modules/lodash._arraycopy/index.js b/deps/npm/node_modules/lodash._arraycopy/index.js
new file mode 100644
index 0000000000..b9abb2253a
--- /dev/null
+++ b/deps/npm/node_modules/lodash._arraycopy/index.js
@@ -0,0 +1,29 @@
+/**
+ * lodash 3.0.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * Copies the values of `source` to `array`.
+ *
+ * @private
+ * @param {Array} source The array to copy values from.
+ * @param {Array} [array=[]] The array to copy values to.
+ * @returns {Array} Returns `array`.
+ */
+function arrayCopy(source, array) {
+ var index = -1,
+ length = source.length;
+
+ array || (array = Array(length));
+ while (++index < length) {
+ array[index] = source[index];
+ }
+ return array;
+}
+
+module.exports = arrayCopy;
diff --git a/deps/npm/node_modules/lodash._arraycopy/package.json b/deps/npm/node_modules/lodash._arraycopy/package.json
new file mode 100644
index 0000000000..acad533065
--- /dev/null
+++ b/deps/npm/node_modules/lodash._arraycopy/package.json
@@ -0,0 +1,97 @@
+{
+ "_args": [
+ [
+ "lodash._arraycopy@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseclone"
+ ]
+ ],
+ "_from": "lodash._arraycopy@>=3.0.0 <4.0.0",
+ "_id": "lodash._arraycopy@3.0.0",
+ "_inCache": true,
+ "_location": "/lodash._arraycopy",
+ "_nodeVersion": "0.10.35",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.3.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._arraycopy",
+ "raw": "lodash._arraycopy@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseclone"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
+ "_shasum": "76e7b7c1f1fb92547374878a562ed06a3e50f6e1",
+ "_shrinkwrap": null,
+ "_spec": "lodash._arraycopy@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseclone",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `arrayCopy` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "76e7b7c1f1fb92547374878a562ed06a3e50f6e1",
+ "tarball": "http://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ }
+ ],
+ "name": "lodash._arraycopy",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.0"
+}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/LICENSE.txt b/deps/npm/node_modules/lodash._arrayeach/LICENSE.txt
index 17764328c8..17764328c8 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/LICENSE.txt
+++ b/deps/npm/node_modules/lodash._arrayeach/LICENSE.txt
diff --git a/deps/npm/node_modules/lodash._arrayeach/README.md b/deps/npm/node_modules/lodash._arrayeach/README.md
new file mode 100644
index 0000000000..1f3236ba03
--- /dev/null
+++ b/deps/npm/node_modules/lodash._arrayeach/README.md
@@ -0,0 +1,20 @@
+# lodash._arrayeach v3.0.0
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `arrayEach` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._arrayeach
+```
+
+In Node.js/io.js:
+
+```js
+var arrayEach = require('lodash._arrayeach');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._arrayeach) for more details.
diff --git a/deps/npm/node_modules/lodash._arrayeach/index.js b/deps/npm/node_modules/lodash._arrayeach/index.js
new file mode 100644
index 0000000000..7b31bcdb25
--- /dev/null
+++ b/deps/npm/node_modules/lodash._arrayeach/index.js
@@ -0,0 +1,31 @@
+/**
+ * lodash 3.0.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * A specialized version of `_.forEach` for arrays without support for callback
+ * shorthands or `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Array} Returns `array`.
+ */
+function arrayEach(array, iteratee) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ if (iteratee(array[index], index, array) === false) {
+ break;
+ }
+ }
+ return array;
+}
+
+module.exports = arrayEach;
diff --git a/deps/npm/node_modules/lodash._arrayeach/package.json b/deps/npm/node_modules/lodash._arrayeach/package.json
new file mode 100644
index 0000000000..7036298dbf
--- /dev/null
+++ b/deps/npm/node_modules/lodash._arrayeach/package.json
@@ -0,0 +1,97 @@
+{
+ "_args": [
+ [
+ "lodash._arrayeach@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseclone"
+ ]
+ ],
+ "_from": "lodash._arrayeach@>=3.0.0 <4.0.0",
+ "_id": "lodash._arrayeach@3.0.0",
+ "_inCache": true,
+ "_location": "/lodash._arrayeach",
+ "_nodeVersion": "0.10.35",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.3.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._arrayeach",
+ "raw": "lodash._arrayeach@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseclone"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
+ "_shasum": "bab156b2a90d3f1bbd5c653403349e5e5933ef9e",
+ "_shrinkwrap": null,
+ "_spec": "lodash._arrayeach@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseclone",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `arrayEach` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "bab156b2a90d3f1bbd5c653403349e5e5933ef9e",
+ "tarball": "http://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ }
+ ],
+ "name": "lodash._arrayeach",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.0"
+}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/LICENSE.txt b/deps/npm/node_modules/lodash._baseassign/LICENSE.txt
index 9cd87e5dce..9cd87e5dce 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/LICENSE.txt
+++ b/deps/npm/node_modules/lodash._baseassign/LICENSE.txt
diff --git a/deps/npm/node_modules/lodash._baseassign/README.md b/deps/npm/node_modules/lodash._baseassign/README.md
new file mode 100644
index 0000000000..0aa2309373
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseassign/README.md
@@ -0,0 +1,20 @@
+# lodash._baseassign v3.2.0
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseAssign` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._baseassign
+```
+
+In Node.js/io.js:
+
+```js
+var baseAssign = require('lodash._baseassign');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.2.0-npm-packages/lodash._baseassign) for more details.
diff --git a/deps/npm/node_modules/lodash._baseassign/index.js b/deps/npm/node_modules/lodash._baseassign/index.js
new file mode 100644
index 0000000000..f5612c8508
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseassign/index.js
@@ -0,0 +1,27 @@
+/**
+ * lodash 3.2.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseCopy = require('lodash._basecopy'),
+ keys = require('lodash.keys');
+
+/**
+ * The base implementation of `_.assign` without support for argument juggling,
+ * multiple sources, and `customizer` functions.
+ *
+ * @private
+ * @param {Object} object The destination object.
+ * @param {Object} source The source object.
+ * @returns {Object} Returns `object`.
+ */
+function baseAssign(object, source) {
+ return source == null
+ ? object
+ : baseCopy(source, keys(source), object);
+}
+
+module.exports = baseAssign;
diff --git a/deps/npm/node_modules/lodash._baseassign/package.json b/deps/npm/node_modules/lodash._baseassign/package.json
new file mode 100644
index 0000000000..5c5c487719
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseassign/package.json
@@ -0,0 +1,116 @@
+{
+ "_args": [
+ [
+ "lodash._baseassign@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseclone"
+ ]
+ ],
+ "_from": "lodash._baseassign@>=3.0.0 <4.0.0",
+ "_id": "lodash._baseassign@3.2.0",
+ "_inCache": true,
+ "_location": "/lodash._baseassign",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._baseassign",
+ "raw": "lodash._baseassign@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseclone"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
+ "_shasum": "8c38a099500f215ad09e59f1722fd0c52bfe0a4e",
+ "_shrinkwrap": null,
+ "_spec": "lodash._baseassign@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseclone",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._basecopy": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseAssign` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "8c38a099500f215ad09e59f1722fd0c52bfe0a4e",
+ "tarball": "http://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._baseassign",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.2.0"
+}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE.txt b/deps/npm/node_modules/lodash._basecallback/LICENSE
index 9cd87e5dce..9cd87e5dce 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE.txt
+++ b/deps/npm/node_modules/lodash._basecallback/LICENSE
diff --git a/deps/npm/node_modules/lodash._basecallback/README.md b/deps/npm/node_modules/lodash._basecallback/README.md
new file mode 100644
index 0000000000..11f1a64b71
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basecallback/README.md
@@ -0,0 +1,20 @@
+# lodash._basecallback v3.3.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseCallback` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._basecallback
+```
+
+In Node.js/io.js:
+
+```js
+var baseCallback = require('lodash._basecallback');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.3.1-npm-packages/lodash._basecallback) for more details.
diff --git a/deps/npm/node_modules/lodash._basecallback/index.js b/deps/npm/node_modules/lodash._basecallback/index.js
new file mode 100644
index 0000000000..cd44f79ee8
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basecallback/index.js
@@ -0,0 +1,422 @@
+/**
+ * lodash 3.3.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseIsEqual = require('lodash._baseisequal'),
+ bindCallback = require('lodash._bindcallback'),
+ isArray = require('lodash.isarray'),
+ pairs = require('lodash.pairs');
+
+/** Used to match property names within property paths. */
+var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
+ reIsPlainProp = /^\w*$/,
+ rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
+
+/** Used to match backslashes in property paths. */
+var reEscapeChar = /\\(\\)?/g;
+
+/**
+ * Converts `value` to a string if it's not one. An empty string is returned
+ * for `null` or `undefined` values.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {string} Returns the string.
+ */
+function baseToString(value) {
+ return value == null ? '' : (value + '');
+}
+
+/**
+ * The base implementation of `_.callback` which supports specifying the
+ * number of arguments to provide to `func`.
+ *
+ * @private
+ * @param {*} [func=_.identity] The value to convert to a callback.
+ * @param {*} [thisArg] The `this` binding of `func`.
+ * @param {number} [argCount] The number of arguments to provide to `func`.
+ * @returns {Function} Returns the callback.
+ */
+function baseCallback(func, thisArg, argCount) {
+ var type = typeof func;
+ if (type == 'function') {
+ return thisArg === undefined
+ ? func
+ : bindCallback(func, thisArg, argCount);
+ }
+ if (func == null) {
+ return identity;
+ }
+ if (type == 'object') {
+ return baseMatches(func);
+ }
+ return thisArg === undefined
+ ? property(func)
+ : baseMatchesProperty(func, thisArg);
+}
+
+/**
+ * The base implementation of `get` without support for string paths
+ * and default values.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {Array} path The path of the property to get.
+ * @param {string} [pathKey] The key representation of path.
+ * @returns {*} Returns the resolved value.
+ */
+function baseGet(object, path, pathKey) {
+ if (object == null) {
+ return;
+ }
+ if (pathKey !== undefined && pathKey in toObject(object)) {
+ path = [pathKey];
+ }
+ var index = 0,
+ length = path.length;
+
+ while (object != null && index < length) {
+ object = object[path[index++]];
+ }
+ return (index && index == length) ? object : undefined;
+}
+
+/**
+ * The base implementation of `_.isMatch` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to inspect.
+ * @param {Array} matchData The propery names, values, and compare flags to match.
+ * @param {Function} [customizer] The function to customize comparing objects.
+ * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+ */
+function baseIsMatch(object, matchData, customizer) {
+ var index = matchData.length,
+ length = index,
+ noCustomizer = !customizer;
+
+ if (object == null) {
+ return !length;
+ }
+ object = toObject(object);
+ while (index--) {
+ var data = matchData[index];
+ if ((noCustomizer && data[2])
+ ? data[1] !== object[data[0]]
+ : !(data[0] in object)
+ ) {
+ return false;
+ }
+ }
+ while (++index < length) {
+ data = matchData[index];
+ var key = data[0],
+ objValue = object[key],
+ srcValue = data[1];
+
+ if (noCustomizer && data[2]) {
+ if (objValue === undefined && !(key in object)) {
+ return false;
+ }
+ } else {
+ var result = customizer ? customizer(objValue, srcValue, key) : undefined;
+ if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+/**
+ * The base implementation of `_.matches` which does not clone `source`.
+ *
+ * @private
+ * @param {Object} source The object of property values to match.
+ * @returns {Function} Returns the new function.
+ */
+function baseMatches(source) {
+ var matchData = getMatchData(source);
+ if (matchData.length == 1 && matchData[0][2]) {
+ var key = matchData[0][0],
+ value = matchData[0][1];
+
+ return function(object) {
+ if (object == null) {
+ return false;
+ }
+ return object[key] === value && (value !== undefined || (key in toObject(object)));
+ };
+ }
+ return function(object) {
+ return baseIsMatch(object, matchData);
+ };
+}
+
+/**
+ * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
+ *
+ * @private
+ * @param {string} path The path of the property to get.
+ * @param {*} srcValue The value to compare.
+ * @returns {Function} Returns the new function.
+ */
+function baseMatchesProperty(path, srcValue) {
+ var isArr = isArray(path),
+ isCommon = isKey(path) && isStrictComparable(srcValue),
+ pathKey = (path + '');
+
+ path = toPath(path);
+ return function(object) {
+ if (object == null) {
+ return false;
+ }
+ var key = pathKey;
+ object = toObject(object);
+ if ((isArr || !isCommon) && !(key in object)) {
+ object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
+ if (object == null) {
+ return false;
+ }
+ key = last(path);
+ object = toObject(object);
+ }
+ return object[key] === srcValue
+ ? (srcValue !== undefined || (key in object))
+ : baseIsEqual(srcValue, object[key], undefined, true);
+ };
+}
+
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+}
+
+/**
+ * A specialized version of `baseProperty` which supports deep paths.
+ *
+ * @private
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function basePropertyDeep(path) {
+ var pathKey = (path + '');
+ path = toPath(path);
+ return function(object) {
+ return baseGet(object, path, pathKey);
+ };
+}
+
+/**
+ * The base implementation of `_.slice` without an iteratee call guard.
+ *
+ * @private
+ * @param {Array} array The array to slice.
+ * @param {number} [start=0] The start position.
+ * @param {number} [end=array.length] The end position.
+ * @returns {Array} Returns the slice of `array`.
+ */
+function baseSlice(array, start, end) {
+ var index = -1,
+ length = array.length;
+
+ start = start == null ? 0 : (+start || 0);
+ if (start < 0) {
+ start = -start > length ? 0 : (length + start);
+ }
+ end = (end === undefined || end > length) ? length : (+end || 0);
+ if (end < 0) {
+ end += length;
+ }
+ length = start > end ? 0 : ((end - start) >>> 0);
+ start >>>= 0;
+
+ var result = Array(length);
+ while (++index < length) {
+ result[index] = array[index + start];
+ }
+ return result;
+}
+
+/**
+ * Gets the propery names, values, and compare flags of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the match data of `object`.
+ */
+function getMatchData(object) {
+ var result = pairs(object),
+ length = result.length;
+
+ while (length--) {
+ result[length][2] = isStrictComparable(result[length][1]);
+ }
+ return result;
+}
+
+/**
+ * Checks if `value` is a property name and not a property path.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {Object} [object] The object to query keys on.
+ * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
+ */
+function isKey(value, object) {
+ var type = typeof value;
+ if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
+ return true;
+ }
+ if (isArray(value)) {
+ return false;
+ }
+ var result = !reIsDeepProp.test(value);
+ return result || (object != null && value in toObject(object));
+}
+
+/**
+ * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` if suitable for strict
+ * equality comparisons, else `false`.
+ */
+function isStrictComparable(value) {
+ return value === value && !isObject(value);
+}
+
+/**
+ * Converts `value` to an object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Object} Returns the object.
+ */
+function toObject(value) {
+ return isObject(value) ? value : Object(value);
+}
+
+/**
+ * Converts `value` to property path array if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Array} Returns the property path array.
+ */
+function toPath(value) {
+ if (isArray(value)) {
+ return value;
+ }
+ var result = [];
+ baseToString(value).replace(rePropName, function(match, number, quote, string) {
+ result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
+ });
+ return result;
+}
+
+/**
+ * Gets the last element of `array`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to query.
+ * @returns {*} Returns the last element of `array`.
+ * @example
+ *
+ * _.last([1, 2, 3]);
+ * // => 3
+ */
+function last(array) {
+ var length = array ? array.length : 0;
+ return length ? array[length - 1] : undefined;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.identity(object) === object;
+ * // => true
+ */
+function identity(value) {
+ return value;
+}
+
+/**
+ * Creates a function that returns the property value at `path` on a
+ * given object.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {Array|string} path The path of the property to get.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var objects = [
+ * { 'a': { 'b': { 'c': 2 } } },
+ * { 'a': { 'b': { 'c': 1 } } }
+ * ];
+ *
+ * _.map(objects, _.property('a.b.c'));
+ * // => [2, 1]
+ *
+ * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+ * // => [1, 2]
+ */
+function property(path) {
+ return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
+}
+
+module.exports = baseCallback;
diff --git a/deps/npm/node_modules/lodash._basecallback/package.json b/deps/npm/node_modules/lodash._basecallback/package.json
new file mode 100644
index 0000000000..26f29994f7
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basecallback/package.json
@@ -0,0 +1,118 @@
+{
+ "_args": [
+ [
+ "lodash._basecallback@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.uniq"
+ ]
+ ],
+ "_from": "lodash._basecallback@>=3.0.0 <4.0.0",
+ "_id": "lodash._basecallback@3.3.1",
+ "_inCache": true,
+ "_location": "/lodash._basecallback",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._basecallback",
+ "raw": "lodash._basecallback@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.uniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz",
+ "_shasum": "b7b2bb43dc2160424a21ccf26c57e443772a8e27",
+ "_shrinkwrap": null,
+ "_spec": "lodash._basecallback@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.uniq",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._baseisequal": "^3.0.0",
+ "lodash._bindcallback": "^3.0.0",
+ "lodash.isarray": "^3.0.0",
+ "lodash.pairs": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseCallback` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "b7b2bb43dc2160424a21ccf26c57e443772a8e27",
+ "tarball": "http://registry.npmjs.org/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._basecallback",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.3.1"
+}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/LICENSE.txt b/deps/npm/node_modules/lodash._baseclone/LICENSE
index 9cd87e5dce..9cd87e5dce 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/LICENSE.txt
+++ b/deps/npm/node_modules/lodash._baseclone/LICENSE
diff --git a/deps/npm/node_modules/lodash._baseclone/README.md b/deps/npm/node_modules/lodash._baseclone/README.md
new file mode 100644
index 0000000000..883a43c3a4
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseclone/README.md
@@ -0,0 +1,20 @@
+# lodash._baseclone v3.3.0
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseClone` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._baseclone
+```
+
+In Node.js/io.js:
+
+```js
+var baseClone = require('lodash._baseclone');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.3.0-npm-packages/lodash._baseclone) for more details.
diff --git a/deps/npm/node_modules/lodash._baseclone/index.js b/deps/npm/node_modules/lodash._baseclone/index.js
new file mode 100644
index 0000000000..4024d58ad3
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseclone/index.js
@@ -0,0 +1,271 @@
+/**
+ * lodash 3.3.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var arrayCopy = require('lodash._arraycopy'),
+ arrayEach = require('lodash._arrayeach'),
+ baseAssign = require('lodash._baseassign'),
+ baseFor = require('lodash._basefor'),
+ isArray = require('lodash.isarray'),
+ keys = require('lodash.keys');
+
+/** `Object#toString` result references. */
+var argsTag = '[object Arguments]',
+ arrayTag = '[object Array]',
+ boolTag = '[object Boolean]',
+ dateTag = '[object Date]',
+ errorTag = '[object Error]',
+ funcTag = '[object Function]',
+ mapTag = '[object Map]',
+ numberTag = '[object Number]',
+ objectTag = '[object Object]',
+ regexpTag = '[object RegExp]',
+ setTag = '[object Set]',
+ stringTag = '[object String]',
+ weakMapTag = '[object WeakMap]';
+
+var arrayBufferTag = '[object ArrayBuffer]',
+ float32Tag = '[object Float32Array]',
+ float64Tag = '[object Float64Array]',
+ int8Tag = '[object Int8Array]',
+ int16Tag = '[object Int16Array]',
+ int32Tag = '[object Int32Array]',
+ uint8Tag = '[object Uint8Array]',
+ uint8ClampedTag = '[object Uint8ClampedArray]',
+ uint16Tag = '[object Uint16Array]',
+ uint32Tag = '[object Uint32Array]';
+
+/** Used to match `RegExp` flags from their coerced string values. */
+var reFlags = /\w*$/;
+
+/** Used to identify `toStringTag` values supported by `_.clone`. */
+var cloneableTags = {};
+cloneableTags[argsTag] = cloneableTags[arrayTag] =
+cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
+cloneableTags[dateTag] = cloneableTags[float32Tag] =
+cloneableTags[float64Tag] = cloneableTags[int8Tag] =
+cloneableTags[int16Tag] = cloneableTags[int32Tag] =
+cloneableTags[numberTag] = cloneableTags[objectTag] =
+cloneableTags[regexpTag] = cloneableTags[stringTag] =
+cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
+cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
+cloneableTags[errorTag] = cloneableTags[funcTag] =
+cloneableTags[mapTag] = cloneableTags[setTag] =
+cloneableTags[weakMapTag] = false;
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objToString = objectProto.toString;
+
+/** Native method references. */
+var ArrayBuffer = global.ArrayBuffer,
+ Uint8Array = global.Uint8Array;
+
+/**
+ * The base implementation of `_.clone` without support for argument juggling
+ * and `this` binding `customizer` functions.
+ *
+ * @private
+ * @param {*} value The value to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {string} [key] The key of `value`.
+ * @param {Object} [object] The object `value` belongs to.
+ * @param {Array} [stackA=[]] Tracks traversed source objects.
+ * @param {Array} [stackB=[]] Associates clones with source counterparts.
+ * @returns {*} Returns the cloned value.
+ */
+function baseClone(value, isDeep, customizer, key, object, stackA, stackB) {
+ var result;
+ if (customizer) {
+ result = object ? customizer(value, key, object) : customizer(value);
+ }
+ if (result !== undefined) {
+ return result;
+ }
+ if (!isObject(value)) {
+ return value;
+ }
+ var isArr = isArray(value);
+ if (isArr) {
+ result = initCloneArray(value);
+ if (!isDeep) {
+ return arrayCopy(value, result);
+ }
+ } else {
+ var tag = objToString.call(value),
+ isFunc = tag == funcTag;
+
+ if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
+ result = initCloneObject(isFunc ? {} : value);
+ if (!isDeep) {
+ return baseAssign(result, value);
+ }
+ } else {
+ return cloneableTags[tag]
+ ? initCloneByTag(value, tag, isDeep)
+ : (object ? value : {});
+ }
+ }
+ // Check for circular references and return its corresponding clone.
+ stackA || (stackA = []);
+ stackB || (stackB = []);
+
+ var length = stackA.length;
+ while (length--) {
+ if (stackA[length] == value) {
+ return stackB[length];
+ }
+ }
+ // Add the source value to the stack of traversed objects and associate it with its clone.
+ stackA.push(value);
+ stackB.push(result);
+
+ // Recursively populate clone (susceptible to call stack limits).
+ (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
+ result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);
+ });
+ return result;
+}
+
+/**
+ * The base implementation of `_.forOwn` without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @returns {Object} Returns `object`.
+ */
+function baseForOwn(object, iteratee) {
+ return baseFor(object, iteratee, keys);
+}
+
+/**
+ * Creates a clone of the given array buffer.
+ *
+ * @private
+ * @param {ArrayBuffer} buffer The array buffer to clone.
+ * @returns {ArrayBuffer} Returns the cloned array buffer.
+ */
+function bufferClone(buffer) {
+ var result = new ArrayBuffer(buffer.byteLength),
+ view = new Uint8Array(result);
+
+ view.set(new Uint8Array(buffer));
+ return result;
+}
+
+/**
+ * Initializes an array clone.
+ *
+ * @private
+ * @param {Array} array The array to clone.
+ * @returns {Array} Returns the initialized clone.
+ */
+function initCloneArray(array) {
+ var length = array.length,
+ result = new array.constructor(length);
+
+ // Add array properties assigned by `RegExp#exec`.
+ if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
+ result.index = array.index;
+ result.input = array.input;
+ }
+ return result;
+}
+
+/**
+ * Initializes an object clone.
+ *
+ * @private
+ * @param {Object} object The object to clone.
+ * @returns {Object} Returns the initialized clone.
+ */
+function initCloneObject(object) {
+ var Ctor = object.constructor;
+ if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
+ Ctor = Object;
+ }
+ return new Ctor;
+}
+
+/**
+ * Initializes an object clone based on its `toStringTag`.
+ *
+ * **Note:** This function only supports cloning values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} object The object to clone.
+ * @param {string} tag The `toStringTag` of the object to clone.
+ * @param {boolean} [isDeep] Specify a deep clone.
+ * @returns {Object} Returns the initialized clone.
+ */
+function initCloneByTag(object, tag, isDeep) {
+ var Ctor = object.constructor;
+ switch (tag) {
+ case arrayBufferTag:
+ return bufferClone(object);
+
+ case boolTag:
+ case dateTag:
+ return new Ctor(+object);
+
+ case float32Tag: case float64Tag:
+ case int8Tag: case int16Tag: case int32Tag:
+ case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
+ var buffer = object.buffer;
+ return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
+
+ case numberTag:
+ case stringTag:
+ return new Ctor(object);
+
+ case regexpTag:
+ var result = new Ctor(object.source, reFlags.exec(object));
+ result.lastIndex = object.lastIndex;
+ }
+ return result;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+module.exports = baseClone;
diff --git a/deps/npm/node_modules/lodash._baseclone/package.json b/deps/npm/node_modules/lodash._baseclone/package.json
new file mode 100644
index 0000000000..ebfea785ec
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseclone/package.json
@@ -0,0 +1,120 @@
+{
+ "_args": [
+ [
+ "lodash._baseclone@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.clonedeep"
+ ]
+ ],
+ "_from": "lodash._baseclone@>=3.0.0 <4.0.0",
+ "_id": "lodash._baseclone@3.3.0",
+ "_inCache": true,
+ "_location": "/lodash._baseclone",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._baseclone",
+ "raw": "lodash._baseclone@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.clonedeep"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
+ "_shasum": "303519bf6393fe7e42f34d8b630ef7794e3542b7",
+ "_shrinkwrap": null,
+ "_spec": "lodash._baseclone@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.clonedeep",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._arraycopy": "^3.0.0",
+ "lodash._arrayeach": "^3.0.0",
+ "lodash._baseassign": "^3.0.0",
+ "lodash._basefor": "^3.0.0",
+ "lodash.isarray": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseClone` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "303519bf6393fe7e42f34d8b630ef7794e3542b7",
+ "tarball": "http://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._baseclone",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.3.0"
+}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/LICENSE.txt b/deps/npm/node_modules/lodash._basecopy/LICENSE.txt
index 9cd87e5dce..9cd87e5dce 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/LICENSE.txt
+++ b/deps/npm/node_modules/lodash._basecopy/LICENSE.txt
diff --git a/deps/npm/node_modules/lodash._basecopy/README.md b/deps/npm/node_modules/lodash._basecopy/README.md
new file mode 100644
index 0000000000..acdfa29d3d
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basecopy/README.md
@@ -0,0 +1,20 @@
+# lodash._basecopy v3.0.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseCopy` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._basecopy
+```
+
+In Node.js/io.js:
+
+```js
+var baseCopy = require('lodash._basecopy');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash._basecopy) for more details.
diff --git a/deps/npm/node_modules/lodash._basecopy/index.js b/deps/npm/node_modules/lodash._basecopy/index.js
new file mode 100644
index 0000000000..b586d31d9d
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basecopy/index.js
@@ -0,0 +1,32 @@
+/**
+ * lodash 3.0.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * Copies properties of `source` to `object`.
+ *
+ * @private
+ * @param {Object} source The object to copy properties from.
+ * @param {Array} props The property names to copy.
+ * @param {Object} [object={}] The object to copy properties to.
+ * @returns {Object} Returns `object`.
+ */
+function baseCopy(source, props, object) {
+ object || (object = {});
+
+ var index = -1,
+ length = props.length;
+
+ while (++index < length) {
+ var key = props[index];
+ object[key] = source[key];
+ }
+ return object;
+}
+
+module.exports = baseCopy;
diff --git a/deps/npm/node_modules/lodash._basecopy/package.json b/deps/npm/node_modules/lodash._basecopy/package.json
new file mode 100644
index 0000000000..34df84a4df
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basecopy/package.json
@@ -0,0 +1,113 @@
+{
+ "_args": [
+ [
+ "lodash._basecopy@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseassign"
+ ]
+ ],
+ "_from": "lodash._basecopy@>=3.0.0 <4.0.0",
+ "_id": "lodash._basecopy@3.0.1",
+ "_inCache": true,
+ "_location": "/lodash._basecopy",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.7.6",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._basecopy",
+ "raw": "lodash._basecopy@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseassign"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+ "_shasum": "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36",
+ "_shrinkwrap": null,
+ "_spec": "lodash._basecopy@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseassign",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `baseCopy` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36",
+ "tarball": "http://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._basecopy",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.1"
+}
diff --git a/deps/npm/node_modules/lodash._basedifference/LICENSE b/deps/npm/node_modules/lodash._basedifference/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basedifference/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._basedifference/README.md b/deps/npm/node_modules/lodash._basedifference/README.md
new file mode 100644
index 0000000000..d9b809cfd2
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basedifference/README.md
@@ -0,0 +1,20 @@
+# lodash._basedifference v3.0.3
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseDifference` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._basedifference
+```
+
+In Node.js/io.js:
+
+```js
+var baseDifference = require('lodash._basedifference');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash._basedifference) for more details.
diff --git a/deps/npm/node_modules/lodash._basedifference/index.js b/deps/npm/node_modules/lodash._basedifference/index.js
new file mode 100644
index 0000000000..43c6460fd1
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basedifference/index.js
@@ -0,0 +1,63 @@
+/**
+ * lodash 3.0.3 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseIndexOf = require('lodash._baseindexof'),
+ cacheIndexOf = require('lodash._cacheindexof'),
+ createCache = require('lodash._createcache');
+
+/** Used as the size to enable large array optimizations. */
+var LARGE_ARRAY_SIZE = 200;
+
+/**
+ * The base implementation of `_.difference` which accepts a single array
+ * of values to exclude.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Array} values The values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ */
+function baseDifference(array, values) {
+ var length = array ? array.length : 0,
+ result = [];
+
+ if (!length) {
+ return result;
+ }
+ var index = -1,
+ indexOf = baseIndexOf,
+ isCommon = true,
+ cache = (isCommon && values.length >= LARGE_ARRAY_SIZE) ? createCache(values) : null,
+ valuesLength = values.length;
+
+ if (cache) {
+ indexOf = cacheIndexOf;
+ isCommon = false;
+ values = cache;
+ }
+ outer:
+ while (++index < length) {
+ var value = array[index];
+
+ if (isCommon && value === value) {
+ var valuesIndex = valuesLength;
+ while (valuesIndex--) {
+ if (values[valuesIndex] === value) {
+ continue outer;
+ }
+ }
+ result.push(value);
+ }
+ else if (indexOf(values, value, 0) < 0) {
+ result.push(value);
+ }
+ }
+ return result;
+}
+
+module.exports = baseDifference;
diff --git a/deps/npm/node_modules/lodash._basedifference/package.json b/deps/npm/node_modules/lodash._basedifference/package.json
new file mode 100644
index 0000000000..e44ef4e8fa
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basedifference/package.json
@@ -0,0 +1,117 @@
+{
+ "_args": [
+ [
+ "lodash._basedifference@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.without"
+ ]
+ ],
+ "_from": "lodash._basedifference@>=3.0.0 <4.0.0",
+ "_id": "lodash._basedifference@3.0.3",
+ "_inCache": true,
+ "_location": "/lodash._basedifference",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._basedifference",
+ "raw": "lodash._basedifference@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.without"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz",
+ "_shasum": "f2c204296c2a78e02b389081b6edcac933cf629c",
+ "_shrinkwrap": null,
+ "_spec": "lodash._basedifference@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.without",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._baseindexof": "^3.0.0",
+ "lodash._cacheindexof": "^3.0.0",
+ "lodash._createcache": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseDifference` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "f2c204296c2a78e02b389081b6edcac933cf629c",
+ "tarball": "http://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._basedifference",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.3"
+}
diff --git a/deps/npm/node_modules/lodash._baseflatten/LICENSE b/deps/npm/node_modules/lodash._baseflatten/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseflatten/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._baseflatten/README.md b/deps/npm/node_modules/lodash._baseflatten/README.md
new file mode 100644
index 0000000000..f3e227779c
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseflatten/README.md
@@ -0,0 +1,20 @@
+# lodash._baseflatten v3.1.4
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseFlatten` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._baseflatten
+```
+
+In Node.js/io.js:
+
+```js
+var baseFlatten = require('lodash._baseflatten');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.1.4-npm-packages/lodash._baseflatten) for more details.
diff --git a/deps/npm/node_modules/lodash._baseflatten/index.js b/deps/npm/node_modules/lodash._baseflatten/index.js
new file mode 100644
index 0000000000..c43acfa729
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseflatten/index.js
@@ -0,0 +1,131 @@
+/**
+ * lodash 3.1.4 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var isArguments = require('lodash.isarguments'),
+ isArray = require('lodash.isarray');
+
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/**
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * Appends the elements of `values` to `array`.
+ *
+ * @private
+ * @param {Array} array The array to modify.
+ * @param {Array} values The values to append.
+ * @returns {Array} Returns `array`.
+ */
+function arrayPush(array, values) {
+ var index = -1,
+ length = values.length,
+ offset = array.length;
+
+ while (++index < length) {
+ array[offset + index] = values[index];
+ }
+ return array;
+}
+
+/**
+ * The base implementation of `_.flatten` with added support for restricting
+ * flattening and specifying the start index.
+ *
+ * @private
+ * @param {Array} array The array to flatten.
+ * @param {boolean} [isDeep] Specify a deep flatten.
+ * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
+ * @param {Array} [result=[]] The initial result value.
+ * @returns {Array} Returns the new flattened array.
+ */
+function baseFlatten(array, isDeep, isStrict, result) {
+ result || (result = []);
+
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ var value = array[index];
+ if (isObjectLike(value) && isArrayLike(value) &&
+ (isStrict || isArray(value) || isArguments(value))) {
+ if (isDeep) {
+ // Recursively flatten arrays (susceptible to call stack limits).
+ baseFlatten(value, isDeep, isStrict, result);
+ } else {
+ arrayPush(result, value);
+ }
+ } else if (!isStrict) {
+ result[result.length] = value;
+ }
+ }
+ return result;
+}
+
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+}
+
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */
+var getLength = baseProperty('length');
+
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */
+function isArrayLike(value) {
+ return value != null && isLength(getLength(value));
+}
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+module.exports = baseFlatten;
diff --git a/deps/npm/node_modules/lodash._baseflatten/package.json b/deps/npm/node_modules/lodash._baseflatten/package.json
new file mode 100644
index 0000000000..48b2545dca
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseflatten/package.json
@@ -0,0 +1,116 @@
+{
+ "_args": [
+ [
+ "lodash._baseflatten@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.union"
+ ]
+ ],
+ "_from": "lodash._baseflatten@>=3.0.0 <4.0.0",
+ "_id": "lodash._baseflatten@3.1.4",
+ "_inCache": true,
+ "_location": "/lodash._baseflatten",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._baseflatten",
+ "raw": "lodash._baseflatten@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.union"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz",
+ "_shasum": "0770ff80131af6e34f3b511796a7ba5214e65ff7",
+ "_shrinkwrap": null,
+ "_spec": "lodash._baseflatten@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.union",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseFlatten` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "0770ff80131af6e34f3b511796a7ba5214e65ff7",
+ "tarball": "http://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._baseflatten",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.4"
+}
diff --git a/deps/npm/node_modules/lodash._basefor/LICENSE.txt b/deps/npm/node_modules/lodash._basefor/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basefor/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._basefor/README.md b/deps/npm/node_modules/lodash._basefor/README.md
new file mode 100644
index 0000000000..d9e33731b2
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basefor/README.md
@@ -0,0 +1,20 @@
+# lodash._basefor v3.0.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseFor` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._basefor
+```
+
+In Node.js/io.js:
+
+```js
+var baseFor = require('lodash._basefor');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.2-npm-packages/lodash._basefor) for more details.
diff --git a/deps/npm/node_modules/lodash._basefor/index.js b/deps/npm/node_modules/lodash._basefor/index.js
new file mode 100644
index 0000000000..a3d7dcd101
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basefor/index.js
@@ -0,0 +1,86 @@
+/**
+ * lodash 3.0.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * The base implementation of `baseForIn` and `baseForOwn` which iterates
+ * over `object` properties returned by `keysFunc` invoking `iteratee` for
+ * each property. Iteratee functions may exit iteration early by explicitly
+ * returning `false`.
+ *
+ * @private
+ * @param {Object} object The object to iterate over.
+ * @param {Function} iteratee The function invoked per iteration.
+ * @param {Function} keysFunc The function to get the keys of `object`.
+ * @returns {Object} Returns `object`.
+ */
+var baseFor = createBaseFor();
+
+/**
+ * Creates a base function for `_.forIn` or `_.forInRight`.
+ *
+ * @private
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {Function} Returns the new base function.
+ */
+function createBaseFor(fromRight) {
+ return function(object, iteratee, keysFunc) {
+ var iterable = toObject(object),
+ props = keysFunc(object),
+ length = props.length,
+ index = fromRight ? length : -1;
+
+ while ((fromRight ? index-- : ++index < length)) {
+ var key = props[index];
+ if (iteratee(iterable[key], key, iterable) === false) {
+ break;
+ }
+ }
+ return object;
+ };
+}
+
+/**
+ * Converts `value` to an object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Object} Returns the object.
+ */
+function toObject(value) {
+ return isObject(value) ? value : Object(value);
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+module.exports = baseFor;
diff --git a/deps/npm/node_modules/lodash._basefor/package.json b/deps/npm/node_modules/lodash._basefor/package.json
new file mode 100644
index 0000000000..898b10c857
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basefor/package.json
@@ -0,0 +1,113 @@
+{
+ "_args": [
+ [
+ "lodash._basefor@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseclone"
+ ]
+ ],
+ "_from": "lodash._basefor@>=3.0.0 <4.0.0",
+ "_id": "lodash._basefor@3.0.2",
+ "_inCache": true,
+ "_location": "/lodash._basefor",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._basefor",
+ "raw": "lodash._basefor@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseclone"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.2.tgz",
+ "_shasum": "3a4cece5b7031eae78a441c5416b90878eeee5a1",
+ "_shrinkwrap": null,
+ "_spec": "lodash._basefor@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseclone",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `baseFor` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "3a4cece5b7031eae78a441c5416b90878eeee5a1",
+ "tarball": "http://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._basefor",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.2"
+}
diff --git a/deps/npm/node_modules/lodash._baseindexof/LICENSE.txt b/deps/npm/node_modules/lodash._baseindexof/LICENSE.txt
new file mode 100644
index 0000000000..17764328c8
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseindexof/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js 1.7.0, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._baseindexof/README.md b/deps/npm/node_modules/lodash._baseindexof/README.md
new file mode 100644
index 0000000000..ddcc79d5d6
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseindexof/README.md
@@ -0,0 +1,20 @@
+# lodash._baseindexof v3.1.0
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseIndexOf` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._baseindexof
+```
+
+In Node.js/io.js:
+
+```js
+var baseIndexOf = require('lodash._baseindexof');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash._baseindexof) for more details.
diff --git a/deps/npm/node_modules/lodash._baseindexof/index.js b/deps/npm/node_modules/lodash._baseindexof/index.js
new file mode 100644
index 0000000000..e5da791478
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseindexof/index.js
@@ -0,0 +1,57 @@
+/**
+ * lodash 3.1.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * The base implementation of `_.indexOf` without support for binary searches.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+function baseIndexOf(array, value, fromIndex) {
+ if (value !== value) {
+ return indexOfNaN(array, fromIndex);
+ }
+ var index = fromIndex - 1,
+ length = array.length;
+
+ while (++index < length) {
+ if (array[index] === value) {
+ return index;
+ }
+ }
+ return -1;
+}
+
+/**
+ * Gets the index at which the first occurrence of `NaN` is found in `array`.
+ * If `fromRight` is provided elements of `array` are iterated from right to left.
+ *
+ * @private
+ * @param {Array} array The array to search.
+ * @param {number} fromIndex The index to search from.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched `NaN`, else `-1`.
+ */
+function indexOfNaN(array, fromIndex, fromRight) {
+ var length = array.length,
+ index = fromIndex + (fromRight ? 0 : -1);
+
+ while ((fromRight ? index-- : ++index < length)) {
+ var other = array[index];
+ if (other !== other) {
+ return index;
+ }
+ }
+ return -1;
+}
+
+module.exports = baseIndexOf;
diff --git a/deps/npm/node_modules/lodash._baseindexof/package.json b/deps/npm/node_modules/lodash._baseindexof/package.json
new file mode 100644
index 0000000000..9c14340985
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseindexof/package.json
@@ -0,0 +1,114 @@
+{
+ "_args": [
+ [
+ "lodash._baseindexof@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseuniq"
+ ]
+ ],
+ "_from": "lodash._baseindexof@>=3.0.0 <4.0.0",
+ "_id": "lodash._baseindexof@3.1.0",
+ "_inCache": true,
+ "_location": "/lodash._baseindexof",
+ "_nodeVersion": "0.12.0",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.6.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._baseindexof",
+ "raw": "lodash._baseindexof@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basedifference",
+ "/lodash._baseuniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz",
+ "_shasum": "fe52b53a1c6761e42618d654e4a25789ed61822c",
+ "_shrinkwrap": null,
+ "_spec": "lodash._baseindexof@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseuniq",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `baseIndexOf` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "fe52b53a1c6761e42618d654e4a25789ed61822c",
+ "tarball": "http://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._baseindexof",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.0"
+}
diff --git a/deps/npm/node_modules/lodash._baseisequal/LICENSE.txt b/deps/npm/node_modules/lodash._baseisequal/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseisequal/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._baseisequal/README.md b/deps/npm/node_modules/lodash._baseisequal/README.md
new file mode 100644
index 0000000000..7261bf341c
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseisequal/README.md
@@ -0,0 +1,20 @@
+# lodash._baseisequal v3.0.7
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseIsEqual` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._baseisequal
+```
+
+In Node.js/io.js:
+
+```js
+var baseIsEqual = require('lodash._baseisequal');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.7-npm-packages/lodash._baseisequal) for more details.
diff --git a/deps/npm/node_modules/lodash._baseisequal/index.js b/deps/npm/node_modules/lodash._baseisequal/index.js
new file mode 100644
index 0000000000..76aebe4a39
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseisequal/index.js
@@ -0,0 +1,342 @@
+/**
+ * lodash 3.0.7 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var isArray = require('lodash.isarray'),
+ isTypedArray = require('lodash.istypedarray'),
+ keys = require('lodash.keys');
+
+/** `Object#toString` result references. */
+var argsTag = '[object Arguments]',
+ arrayTag = '[object Array]',
+ boolTag = '[object Boolean]',
+ dateTag = '[object Date]',
+ errorTag = '[object Error]',
+ numberTag = '[object Number]',
+ objectTag = '[object Object]',
+ regexpTag = '[object RegExp]',
+ stringTag = '[object String]';
+
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Used to resolve the [`toStringTag`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
+ * of values.
+ */
+var objToString = objectProto.toString;
+
+/**
+ * A specialized version of `_.some` for arrays without support for callback
+ * shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to iterate over.
+ * @param {Function} predicate The function invoked per iteration.
+ * @returns {boolean} Returns `true` if any element passes the predicate check,
+ * else `false`.
+ */
+function arraySome(array, predicate) {
+ var index = -1,
+ length = array.length;
+
+ while (++index < length) {
+ if (predicate(array[index], index, array)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * The base implementation of `_.isEqual` without support for `this` binding
+ * `customizer` functions.
+ *
+ * @private
+ * @param {*} value The value to compare.
+ * @param {*} other The other value to compare.
+ * @param {Function} [customizer] The function to customize comparing values.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+ */
+function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
+ if (value === other) {
+ return true;
+ }
+ if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
+ return value !== value && other !== other;
+ }
+ return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
+}
+
+/**
+ * A specialized version of `baseIsEqual` for arrays and objects which performs
+ * deep comparisons and tracks traversed objects enabling objects with circular
+ * references to be compared.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing objects.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA=[]] Tracks traversed `value` objects.
+ * @param {Array} [stackB=[]] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+ var objIsArr = isArray(object),
+ othIsArr = isArray(other),
+ objTag = arrayTag,
+ othTag = arrayTag;
+
+ if (!objIsArr) {
+ objTag = objToString.call(object);
+ if (objTag == argsTag) {
+ objTag = objectTag;
+ } else if (objTag != objectTag) {
+ objIsArr = isTypedArray(object);
+ }
+ }
+ if (!othIsArr) {
+ othTag = objToString.call(other);
+ if (othTag == argsTag) {
+ othTag = objectTag;
+ } else if (othTag != objectTag) {
+ othIsArr = isTypedArray(other);
+ }
+ }
+ var objIsObj = objTag == objectTag,
+ othIsObj = othTag == objectTag,
+ isSameTag = objTag == othTag;
+
+ if (isSameTag && !(objIsArr || objIsObj)) {
+ return equalByTag(object, other, objTag);
+ }
+ if (!isLoose) {
+ var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
+ othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
+
+ if (objIsWrapped || othIsWrapped) {
+ return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
+ }
+ }
+ if (!isSameTag) {
+ return false;
+ }
+ // Assume cyclic values are equal.
+ // For more information on detecting circular references see https://es5.github.io/#JO.
+ stackA || (stackA = []);
+ stackB || (stackB = []);
+
+ var length = stackA.length;
+ while (length--) {
+ if (stackA[length] == object) {
+ return stackB[length] == other;
+ }
+ }
+ // Add `object` and `other` to the stack of traversed objects.
+ stackA.push(object);
+ stackB.push(other);
+
+ var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
+
+ stackA.pop();
+ stackB.pop();
+
+ return result;
+}
+
+/**
+ * A specialized version of `baseIsEqualDeep` for arrays with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Array} array The array to compare.
+ * @param {Array} other The other array to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing arrays.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
+ */
+function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
+ var index = -1,
+ arrLength = array.length,
+ othLength = other.length;
+
+ if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
+ return false;
+ }
+ // Ignore non-index properties.
+ while (++index < arrLength) {
+ var arrValue = array[index],
+ othValue = other[index],
+ result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
+
+ if (result !== undefined) {
+ if (result) {
+ continue;
+ }
+ return false;
+ }
+ // Recursively compare arrays (susceptible to call stack limits).
+ if (isLoose) {
+ if (!arraySome(other, function(othValue) {
+ return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
+ })) {
+ return false;
+ }
+ } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
+ return false;
+ }
+ }
+ return true;
+}
+
+/**
+ * A specialized version of `baseIsEqualDeep` for comparing objects of
+ * the same `toStringTag`.
+ *
+ * **Note:** This function only supports comparing values with tags of
+ * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
+ *
+ * @private
+ * @param {Object} value The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {string} tag The `toStringTag` of the objects to compare.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+function equalByTag(object, other, tag) {
+ switch (tag) {
+ case boolTag:
+ case dateTag:
+ // Coerce dates and booleans to numbers, dates to milliseconds and booleans
+ // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
+ return +object == +other;
+
+ case errorTag:
+ return object.name == other.name && object.message == other.message;
+
+ case numberTag:
+ // Treat `NaN` vs. `NaN` as equal.
+ return (object != +object)
+ ? other != +other
+ : object == +other;
+
+ case regexpTag:
+ case stringTag:
+ // Coerce regexes to strings and treat strings primitives and string
+ // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
+ return object == (other + '');
+ }
+ return false;
+}
+
+/**
+ * A specialized version of `baseIsEqualDeep` for objects with support for
+ * partial deep comparisons.
+ *
+ * @private
+ * @param {Object} object The object to compare.
+ * @param {Object} other The other object to compare.
+ * @param {Function} equalFunc The function to determine equivalents of values.
+ * @param {Function} [customizer] The function to customize comparing values.
+ * @param {boolean} [isLoose] Specify performing partial comparisons.
+ * @param {Array} [stackA] Tracks traversed `value` objects.
+ * @param {Array} [stackB] Tracks traversed `other` objects.
+ * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+ */
+function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+ var objProps = keys(object),
+ objLength = objProps.length,
+ othProps = keys(other),
+ othLength = othProps.length;
+
+ if (objLength != othLength && !isLoose) {
+ return false;
+ }
+ var index = objLength;
+ while (index--) {
+ var key = objProps[index];
+ if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
+ return false;
+ }
+ }
+ var skipCtor = isLoose;
+ while (++index < objLength) {
+ key = objProps[index];
+ var objValue = object[key],
+ othValue = other[key],
+ result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
+
+ // Recursively compare objects (susceptible to call stack limits).
+ if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
+ return false;
+ }
+ skipCtor || (skipCtor = key == 'constructor');
+ }
+ if (!skipCtor) {
+ var objCtor = object.constructor,
+ othCtor = other.constructor;
+
+ // Non `Object` object instances with different constructors are not equal.
+ if (objCtor != othCtor &&
+ ('constructor' in object && 'constructor' in other) &&
+ !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
+ typeof othCtor == 'function' && othCtor instanceof othCtor)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+module.exports = baseIsEqual;
diff --git a/deps/npm/node_modules/lodash._baseisequal/package.json b/deps/npm/node_modules/lodash._baseisequal/package.json
new file mode 100644
index 0000000000..8fe0199771
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseisequal/package.json
@@ -0,0 +1,117 @@
+{
+ "_args": [
+ [
+ "lodash._baseisequal@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._basecallback"
+ ]
+ ],
+ "_from": "lodash._baseisequal@>=3.0.0 <4.0.0",
+ "_id": "lodash._baseisequal@3.0.7",
+ "_inCache": true,
+ "_location": "/lodash._baseisequal",
+ "_nodeVersion": "2.0.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._baseisequal",
+ "raw": "lodash._baseisequal@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basecallback"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz",
+ "_shasum": "d8025f76339d29342767dcc887ce5cb95a5b51f1",
+ "_shrinkwrap": null,
+ "_spec": "lodash._baseisequal@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._basecallback",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash.isarray": "^3.0.0",
+ "lodash.istypedarray": "^3.0.0",
+ "lodash.keys": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseIsEqual` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "d8025f76339d29342767dcc887ce5cb95a5b51f1",
+ "tarball": "http://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._baseisequal",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.7"
+}
diff --git a/deps/npm/node_modules/lodash._basetostring/LICENSE b/deps/npm/node_modules/lodash._basetostring/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._basetostring/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/npmlog/node_modules/gauge/node_modules/lodash._basetostring/README.md b/deps/npm/node_modules/lodash._basetostring/README.md
index ad04ea956e..f81145e6eb 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/README.md
+++ b/deps/npm/node_modules/lodash._basetostring/README.md
@@ -1,4 +1,4 @@
-# lodash._basetostring v3.0.0
+# lodash._basetostring v3.0.1
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseToString` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
@@ -17,4 +17,4 @@ In Node.js/io.js:
var baseToString = require('lodash._basetostring');
```
-See the [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash._basetostring) for more details.
+See the [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash._basetostring) for more details.
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/index.js b/deps/npm/node_modules/lodash._basetostring/index.js
index 71ac885889..db8ecc9fdd 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/index.js
+++ b/deps/npm/node_modules/lodash._basetostring/index.js
@@ -1,14 +1,14 @@
/**
- * lodash 3.0.0 (Custom Build) <https://lodash.com/>
+ * lodash 3.0.1 (Custom Build) <https://lodash.com/>
* Build: `lodash modern modularize exports="npm" -o ./`
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
* Available under MIT license <https://lodash.com/license>
*/
/**
- * Converts `value` to a string if it is not one. An empty string is returned
+ * Converts `value` to a string if it's not one. An empty string is returned
* for `null` or `undefined` values.
*
* @private
@@ -16,9 +16,6 @@
* @returns {string} Returns the string.
*/
function baseToString(value) {
- if (typeof value == 'string') {
- return value;
- }
return value == null ? '' : (value + '');
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json b/deps/npm/node_modules/lodash._basetostring/package.json
index dfb815b757..072f16bd02 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json
+++ b/deps/npm/node_modules/lodash._basetostring/package.json
@@ -1,15 +1,48 @@
{
- "name": "lodash._basetostring",
- "version": "3.0.0",
- "description": "The modern build of lodash’s internal `baseToString` as a module.",
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
+ "_args": [
+ [
+ "lodash._basetostring@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.pad"
+ ]
+ ],
+ "_from": "lodash._basetostring@>=3.0.0 <4.0.0",
+ "_id": "lodash._basetostring@3.0.1",
+ "_inCache": true,
+ "_location": "/lodash._basetostring",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._basetostring",
+ "raw": "lodash._basetostring@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.pad",
+ "/lodash.padleft",
+ "/lodash.padright",
+ "/lodash.repeat"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+ "_shasum": "d1861d877f824a52f669832dcaf3ee15566a07d5",
+ "_shrinkwrap": null,
+ "_spec": "lodash._basetostring@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.pad",
"author": {
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
"contributors": [
{
"name": "John-David Dalton",
@@ -37,36 +70,47 @@
"url": "https://mathiasbynens.be/"
}
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "_id": "lodash._basetostring@3.0.0",
- "_shasum": "75a9a4aaaa2b2a8761111ff5431e7d83c1daf0e2",
- "_from": "lodash._basetostring@3.0.0",
- "_npmVersion": "2.3.0",
- "_nodeVersion": "0.10.35",
- "_npmUser": {
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `baseToString` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "d1861d877f824a52f669832dcaf3ee15566a07d5",
+ "tarball": "http://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz"
},
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
"maintainers": [
{
"name": "jdalton",
"email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
}
],
- "dist": {
- "shasum": "75a9a4aaaa2b2a8761111ff5431e7d83c1daf0e2",
- "tarball": "http://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.0.tgz"
+ "name": "lodash._basetostring",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.1"
}
diff --git a/deps/npm/node_modules/lodash._baseuniq/LICENSE b/deps/npm/node_modules/lodash._baseuniq/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseuniq/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._baseuniq/README.md b/deps/npm/node_modules/lodash._baseuniq/README.md
new file mode 100644
index 0000000000..ad71873dc9
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseuniq/README.md
@@ -0,0 +1,20 @@
+# lodash._baseuniq v3.0.3
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `baseUniq` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._baseuniq
+```
+
+In Node.js/io.js:
+
+```js
+var baseUniq = require('lodash._baseuniq');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.3-npm-packages/lodash._baseuniq) for more details.
diff --git a/deps/npm/node_modules/lodash._baseuniq/index.js b/deps/npm/node_modules/lodash._baseuniq/index.js
new file mode 100644
index 0000000000..bb7d433f8d
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseuniq/index.js
@@ -0,0 +1,68 @@
+/**
+ * lodash 3.0.3 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseIndexOf = require('lodash._baseindexof'),
+ cacheIndexOf = require('lodash._cacheindexof'),
+ createCache = require('lodash._createcache');
+
+/** Used as the size to enable large array optimizations. */
+var LARGE_ARRAY_SIZE = 200;
+
+/**
+ * The base implementation of `_.uniq` without support for callback shorthands
+ * and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The function invoked per iteration.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ */
+function baseUniq(array, iteratee) {
+ var index = -1,
+ indexOf = baseIndexOf,
+ length = array.length,
+ isCommon = true,
+ isLarge = isCommon && length >= LARGE_ARRAY_SIZE,
+ seen = isLarge ? createCache() : null,
+ result = [];
+
+ if (seen) {
+ indexOf = cacheIndexOf;
+ isCommon = false;
+ } else {
+ isLarge = false;
+ seen = iteratee ? [] : result;
+ }
+ outer:
+ while (++index < length) {
+ var value = array[index],
+ computed = iteratee ? iteratee(value, index, array) : value;
+
+ if (isCommon && value === value) {
+ var seenIndex = seen.length;
+ while (seenIndex--) {
+ if (seen[seenIndex] === computed) {
+ continue outer;
+ }
+ }
+ if (iteratee) {
+ seen.push(computed);
+ }
+ result.push(value);
+ }
+ else if (indexOf(seen, computed, 0) < 0) {
+ if (iteratee || isLarge) {
+ seen.push(computed);
+ }
+ result.push(value);
+ }
+ }
+ return result;
+}
+
+module.exports = baseUniq;
diff --git a/deps/npm/node_modules/lodash._baseuniq/package.json b/deps/npm/node_modules/lodash._baseuniq/package.json
new file mode 100644
index 0000000000..b98e6e7b2e
--- /dev/null
+++ b/deps/npm/node_modules/lodash._baseuniq/package.json
@@ -0,0 +1,118 @@
+{
+ "_args": [
+ [
+ "lodash._baseuniq@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.union"
+ ]
+ ],
+ "_from": "lodash._baseuniq@>=3.0.0 <4.0.0",
+ "_id": "lodash._baseuniq@3.0.3",
+ "_inCache": true,
+ "_location": "/lodash._baseuniq",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._baseuniq",
+ "raw": "lodash._baseuniq@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.union",
+ "/lodash.uniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-3.0.3.tgz",
+ "_shasum": "2123fa0db2d69c28d5beb1c1f36d61522a740234",
+ "_shrinkwrap": null,
+ "_spec": "lodash._baseuniq@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.union",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._baseindexof": "^3.0.0",
+ "lodash._cacheindexof": "^3.0.0",
+ "lodash._createcache": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `baseUniq` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "2123fa0db2d69c28d5beb1c1f36d61522a740234",
+ "tarball": "http://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-3.0.3.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._baseuniq",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.3"
+}
diff --git a/deps/npm/node_modules/lodash._bindcallback/LICENSE.txt b/deps/npm/node_modules/lodash._bindcallback/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._bindcallback/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._bindcallback/README.md b/deps/npm/node_modules/lodash._bindcallback/README.md
new file mode 100644
index 0000000000..d287f26d81
--- /dev/null
+++ b/deps/npm/node_modules/lodash._bindcallback/README.md
@@ -0,0 +1,20 @@
+# lodash._bindcallback v3.0.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `bindCallback` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._bindcallback
+```
+
+In Node.js/io.js:
+
+```js
+var bindCallback = require('lodash._bindcallback');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash._bindcallback) for more details.
diff --git a/deps/npm/node_modules/lodash._bindcallback/index.js b/deps/npm/node_modules/lodash._bindcallback/index.js
new file mode 100644
index 0000000000..ef6811d1a5
--- /dev/null
+++ b/deps/npm/node_modules/lodash._bindcallback/index.js
@@ -0,0 +1,65 @@
+/**
+ * lodash 3.0.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * A specialized version of `baseCallback` which only supports `this` binding
+ * and specifying the number of arguments to provide to `func`.
+ *
+ * @private
+ * @param {Function} func The function to bind.
+ * @param {*} thisArg The `this` binding of `func`.
+ * @param {number} [argCount] The number of arguments to provide to `func`.
+ * @returns {Function} Returns the callback.
+ */
+function bindCallback(func, thisArg, argCount) {
+ if (typeof func != 'function') {
+ return identity;
+ }
+ if (thisArg === undefined) {
+ return func;
+ }
+ switch (argCount) {
+ case 1: return function(value) {
+ return func.call(thisArg, value);
+ };
+ case 3: return function(value, index, collection) {
+ return func.call(thisArg, value, index, collection);
+ };
+ case 4: return function(accumulator, value, index, collection) {
+ return func.call(thisArg, accumulator, value, index, collection);
+ };
+ case 5: return function(value, other, key, object, source) {
+ return func.call(thisArg, value, other, key, object, source);
+ };
+ }
+ return function() {
+ return func.apply(thisArg, arguments);
+ };
+}
+
+/**
+ * This method returns the first argument provided to it.
+ *
+ * @static
+ * @memberOf _
+ * @category Utility
+ * @param {*} value Any value.
+ * @returns {*} Returns `value`.
+ * @example
+ *
+ * var object = { 'user': 'fred' };
+ *
+ * _.identity(object) === object;
+ * // => true
+ */
+function identity(value) {
+ return value;
+}
+
+module.exports = bindCallback;
diff --git a/deps/npm/node_modules/lodash._bindcallback/package.json b/deps/npm/node_modules/lodash._bindcallback/package.json
new file mode 100644
index 0000000000..272cb6a29b
--- /dev/null
+++ b/deps/npm/node_modules/lodash._bindcallback/package.json
@@ -0,0 +1,114 @@
+{
+ "_args": [
+ [
+ "lodash._bindcallback@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.clonedeep"
+ ]
+ ],
+ "_from": "lodash._bindcallback@>=3.0.0 <4.0.0",
+ "_id": "lodash._bindcallback@3.0.1",
+ "_inCache": true,
+ "_location": "/lodash._bindcallback",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.7.6",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._bindcallback",
+ "raw": "lodash._bindcallback@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basecallback",
+ "/lodash.clonedeep"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
+ "_shasum": "e531c27644cf8b57a99e17ed95b35c748789392e",
+ "_shrinkwrap": null,
+ "_spec": "lodash._bindcallback@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.clonedeep",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `bindCallback` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "e531c27644cf8b57a99e17ed95b35c748789392e",
+ "tarball": "http://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._bindcallback",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.1"
+}
diff --git a/deps/npm/node_modules/lodash._cacheindexof/LICENSE.txt b/deps/npm/node_modules/lodash._cacheindexof/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._cacheindexof/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._cacheindexof/README.md b/deps/npm/node_modules/lodash._cacheindexof/README.md
new file mode 100644
index 0000000000..69d2b62bf5
--- /dev/null
+++ b/deps/npm/node_modules/lodash._cacheindexof/README.md
@@ -0,0 +1,20 @@
+# lodash._cacheindexof v3.0.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `cacheIndexOf` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._cacheindexof
+```
+
+In Node.js/io.js:
+
+```js
+var cacheIndexOf = require('lodash._cacheindexof');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.2-npm-packages/lodash._cacheindexof) for more details.
diff --git a/deps/npm/node_modules/lodash._cacheindexof/index.js b/deps/npm/node_modules/lodash._cacheindexof/index.js
new file mode 100644
index 0000000000..bc1d5afcfd
--- /dev/null
+++ b/deps/npm/node_modules/lodash._cacheindexof/index.js
@@ -0,0 +1,53 @@
+/**
+ * lodash 3.0.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * Checks if `value` is in `cache` mimicking the return signature of
+ * `_.indexOf` by returning `0` if the value is found, else `-1`.
+ *
+ * @private
+ * @param {Object} cache The cache to search.
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `0` if `value` is found, else `-1`.
+ */
+function cacheIndexOf(cache, value) {
+ var data = cache.data,
+ result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
+
+ return result ? 0 : -1;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+module.exports = cacheIndexOf;
diff --git a/deps/npm/node_modules/lodash._cacheindexof/package.json b/deps/npm/node_modules/lodash._cacheindexof/package.json
new file mode 100644
index 0000000000..c87fc6b14d
--- /dev/null
+++ b/deps/npm/node_modules/lodash._cacheindexof/package.json
@@ -0,0 +1,114 @@
+{
+ "_args": [
+ [
+ "lodash._cacheindexof@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseuniq"
+ ]
+ ],
+ "_from": "lodash._cacheindexof@>=3.0.0 <4.0.0",
+ "_id": "lodash._cacheindexof@3.0.2",
+ "_inCache": true,
+ "_location": "/lodash._cacheindexof",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._cacheindexof",
+ "raw": "lodash._cacheindexof@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basedifference",
+ "/lodash._baseuniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz",
+ "_shasum": "3dc69ac82498d2ee5e3ce56091bafd2adc7bde92",
+ "_shrinkwrap": null,
+ "_spec": "lodash._cacheindexof@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseuniq",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `cacheIndexOf` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "3dc69ac82498d2ee5e3ce56091bafd2adc7bde92",
+ "tarball": "http://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._cacheindexof",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.2"
+}
diff --git a/deps/npm/node_modules/lodash._createcache/LICENSE b/deps/npm/node_modules/lodash._createcache/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._createcache/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._createcache/README.md b/deps/npm/node_modules/lodash._createcache/README.md
new file mode 100644
index 0000000000..0ee4834d08
--- /dev/null
+++ b/deps/npm/node_modules/lodash._createcache/README.md
@@ -0,0 +1,20 @@
+# lodash._createcache v3.1.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `createCache` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._createcache
+```
+
+In Node.js/io.js:
+
+```js
+var createCache = require('lodash._createcache');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.1.2-npm-packages/lodash._createcache) for more details.
diff --git a/deps/npm/node_modules/lodash._createcache/index.js b/deps/npm/node_modules/lodash._createcache/index.js
new file mode 100644
index 0000000000..6cf391c149
--- /dev/null
+++ b/deps/npm/node_modules/lodash._createcache/index.js
@@ -0,0 +1,91 @@
+/**
+ * lodash 3.1.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var getNative = require('lodash._getnative');
+
+/** Native method references. */
+var Set = getNative(global, 'Set');
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeCreate = getNative(Object, 'create');
+
+/**
+ *
+ * Creates a cache object to store unique values.
+ *
+ * @private
+ * @param {Array} [values] The values to cache.
+ */
+function SetCache(values) {
+ var length = values ? values.length : 0;
+
+ this.data = { 'hash': nativeCreate(null), 'set': new Set };
+ while (length--) {
+ this.push(values[length]);
+ }
+}
+
+/**
+ * Adds `value` to the cache.
+ *
+ * @private
+ * @name push
+ * @memberOf SetCache
+ * @param {*} value The value to cache.
+ */
+function cachePush(value) {
+ var data = this.data;
+ if (typeof value == 'string' || isObject(value)) {
+ data.set.add(value);
+ } else {
+ data.hash[value] = true;
+ }
+}
+
+/**
+ * Creates a `Set` cache object to optimize linear searches of large arrays.
+ *
+ * @private
+ * @param {Array} [values] The values to cache.
+ * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
+ */
+function createCache(values) {
+ return (nativeCreate && Set) ? new SetCache(values) : null;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+// Add functions to the `Set` cache.
+SetCache.prototype.push = cachePush;
+
+module.exports = createCache;
diff --git a/deps/npm/node_modules/lodash._createcache/package.json b/deps/npm/node_modules/lodash._createcache/package.json
new file mode 100644
index 0000000000..8417cf9d67
--- /dev/null
+++ b/deps/npm/node_modules/lodash._createcache/package.json
@@ -0,0 +1,116 @@
+{
+ "_args": [
+ [
+ "lodash._createcache@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseuniq"
+ ]
+ ],
+ "_from": "lodash._createcache@>=3.0.0 <4.0.0",
+ "_id": "lodash._createcache@3.1.2",
+ "_inCache": true,
+ "_location": "/lodash._createcache",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._createcache",
+ "raw": "lodash._createcache@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basedifference",
+ "/lodash._baseuniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz",
+ "_shasum": "56d6a064017625e79ebca6b8018e17440bdcf093",
+ "_shrinkwrap": null,
+ "_spec": "lodash._createcache@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseuniq",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._getnative": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s internal `createCache` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "56d6a064017625e79ebca6b8018e17440bdcf093",
+ "tarball": "http://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash._createcache",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.2"
+}
diff --git a/deps/npm/node_modules/lodash._createpadding/LICENSE b/deps/npm/node_modules/lodash._createpadding/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._createpadding/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/npmlog/node_modules/gauge/node_modules/lodash._createpadding/README.md b/deps/npm/node_modules/lodash._createpadding/README.md
index 0e1c73128c..f9c9411c70 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/README.md
+++ b/deps/npm/node_modules/lodash._createpadding/README.md
@@ -1,4 +1,4 @@
-# lodash._createpadding v3.6.0
+# lodash._createpadding v3.6.1
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `createPadding` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
@@ -17,4 +17,4 @@ In Node.js/io.js:
var createPadding = require('lodash._createpadding');
```
-See the [package source](https://github.com/lodash/lodash/blob/3.6.0-npm-packages/lodash._createpadding) for more details.
+See the [package source](https://github.com/lodash/lodash/blob/3.6.1-npm-packages/lodash._createpadding) for more details.
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/index.js b/deps/npm/node_modules/lodash._createpadding/index.js
index 72890bd2d8..3541a8aae3 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/index.js
+++ b/deps/npm/node_modules/lodash._createpadding/index.js
@@ -1,18 +1,16 @@
/**
- * lodash 3.6.0 (Custom Build) <https://lodash.com/>
+ * lodash 3.6.1 (Custom Build) <https://lodash.com/>
* Build: `lodash modern modularize exports="npm" -o ./`
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
* Available under MIT license <https://lodash.com/license>
*/
var repeat = require('lodash.repeat');
-/** Native method references. */
-var ceil = Math.ceil;
-
/* Native method references for those with the same name as other `lodash` methods. */
-var nativeIsFinite = global.isFinite;
+var nativeCeil = Math.ceil,
+ nativeIsFinite = global.isFinite;
/**
* Creates the padding required for `string` based on the given `length`.
@@ -33,7 +31,7 @@ function createPadding(string, length, chars) {
}
var padLength = length - strLength;
chars = chars == null ? ' ' : (chars + '');
- return repeat(chars, ceil(padLength / chars.length)).slice(0, padLength);
+ return repeat(chars, nativeCeil(padLength / chars.length)).slice(0, padLength);
}
module.exports = createPadding;
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json b/deps/npm/node_modules/lodash._createpadding/package.json
index ffe797253a..9801837b99 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json
+++ b/deps/npm/node_modules/lodash._createpadding/package.json
@@ -1,15 +1,47 @@
{
- "name": "lodash._createpadding",
- "version": "3.6.0",
- "description": "The modern build of lodash’s internal `createPadding` as a module.",
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
+ "_args": [
+ [
+ "lodash._createpadding@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.pad"
+ ]
+ ],
+ "_from": "lodash._createpadding@>=3.0.0 <4.0.0",
+ "_id": "lodash._createpadding@3.6.1",
+ "_inCache": true,
+ "_location": "/lodash._createpadding",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._createpadding",
+ "raw": "lodash._createpadding@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.pad",
+ "/lodash.padleft",
+ "/lodash.padright"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.1.tgz",
+ "_shasum": "4907b438595adc54ee8935527a6c424c02c81a87",
+ "_shrinkwrap": null,
+ "_spec": "lodash._createpadding@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.pad",
"author": {
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
"contributors": [
{
"name": "John-David Dalton",
@@ -37,39 +69,49 @@
"url": "https://mathiasbynens.be/"
}
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
"dependencies": {
"lodash.repeat": "^3.0.0"
},
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "_id": "lodash._createpadding@3.6.0",
- "_shasum": "c466850dd1a05e6bfec54fd0cf0db28b68332d5e",
- "_from": "lodash._createpadding@3.6.0",
- "_npmVersion": "2.7.3",
- "_nodeVersion": "0.12.0",
- "_npmUser": {
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "description": "The modern build of lodash’s internal `createPadding` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "4907b438595adc54ee8935527a6c424c02c81a87",
+ "tarball": "http://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.1.tgz"
},
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
"maintainers": [
{
"name": "jdalton",
"email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
}
],
- "dist": {
- "shasum": "c466850dd1a05e6bfec54fd0cf0db28b68332d5e",
- "tarball": "http://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.0.tgz"
+ "name": "lodash._createpadding",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.6.1"
}
diff --git a/deps/npm/node_modules/lodash._getnative/LICENSE b/deps/npm/node_modules/lodash._getnative/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._getnative/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._getnative/README.md b/deps/npm/node_modules/lodash._getnative/README.md
new file mode 100644
index 0000000000..7835cec0ab
--- /dev/null
+++ b/deps/npm/node_modules/lodash._getnative/README.md
@@ -0,0 +1,20 @@
+# lodash._getnative v3.9.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `getNative` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._getnative
+```
+
+In Node.js/io.js:
+
+```js
+var getNative = require('lodash._getnative');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.9.1-npm-packages/lodash._getnative) for more details.
diff --git a/deps/npm/node_modules/lodash._getnative/index.js b/deps/npm/node_modules/lodash._getnative/index.js
new file mode 100644
index 0000000000..a32063d27b
--- /dev/null
+++ b/deps/npm/node_modules/lodash._getnative/index.js
@@ -0,0 +1,137 @@
+/**
+ * lodash 3.9.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** `Object#toString` result references. */
+var funcTag = '[object Function]';
+
+/** Used to detect host constructors (Safari > 5). */
+var reIsHostCtor = /^\[object .+?Constructor\]$/;
+
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to resolve the decompiled source of functions. */
+var fnToString = Function.prototype.toString;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objToString = objectProto.toString;
+
+/** Used to detect if a method is native. */
+var reIsNative = RegExp('^' +
+ fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+);
+
+/**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */
+function getNative(object, key) {
+ var value = object == null ? undefined : object[key];
+ return isNative(value) ? value : undefined;
+}
+
+/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */
+function isFunction(value) {
+ // The use of `Object#toString` avoids issues with the `typeof` operator
+ // in older versions of Chrome and Safari which return 'function' for regexes
+ // and Safari 8 equivalents which return 'object' for typed array constructors.
+ return isObject(value) && objToString.call(value) == funcTag;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * Checks if `value` is a native function.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+ * @example
+ *
+ * _.isNative(Array.prototype.push);
+ * // => true
+ *
+ * _.isNative(_);
+ * // => false
+ */
+function isNative(value) {
+ if (value == null) {
+ return false;
+ }
+ if (isFunction(value)) {
+ return reIsNative.test(fnToString.call(value));
+ }
+ return isObjectLike(value) && reIsHostCtor.test(value);
+}
+
+module.exports = getNative;
diff --git a/deps/npm/node_modules/lodash._getnative/package.json b/deps/npm/node_modules/lodash._getnative/package.json
new file mode 100644
index 0000000000..2f5c5eb3b5
--- /dev/null
+++ b/deps/npm/node_modules/lodash._getnative/package.json
@@ -0,0 +1,111 @@
+{
+ "_args": [
+ [
+ "lodash._getnative@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.keys"
+ ]
+ ],
+ "_from": "lodash._getnative@>=3.0.0 <4.0.0",
+ "_id": "lodash._getnative@3.9.1",
+ "_inCache": true,
+ "_location": "/lodash._getnative",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._getnative",
+ "raw": "lodash._getnative@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._createcache",
+ "/lodash.keys",
+ "/lodash.uniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+ "_shasum": "570bc7dede46d61cdcde687d65d3eecbaa3aaff5",
+ "_shrinkwrap": null,
+ "_spec": "lodash._getnative@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.keys",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `getNative` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "570bc7dede46d61cdcde687d65d3eecbaa3aaff5",
+ "tarball": "http://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._getnative",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.9.1"
+}
diff --git a/deps/npm/node_modules/lodash._isiterateecall/LICENSE.txt b/deps/npm/node_modules/lodash._isiterateecall/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash._isiterateecall/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash._isiterateecall/README.md b/deps/npm/node_modules/lodash._isiterateecall/README.md
new file mode 100644
index 0000000000..0c5c701db2
--- /dev/null
+++ b/deps/npm/node_modules/lodash._isiterateecall/README.md
@@ -0,0 +1,20 @@
+# lodash._isiterateecall v3.0.9
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) internal `isIterateeCall` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash._isiterateecall
+```
+
+In Node.js/io.js:
+
+```js
+var isIterateeCall = require('lodash._isiterateecall');
+```
+
+See the [package source](https://github.com/lodash/lodash/blob/3.0.9-npm-packages/lodash._isiterateecall) for more details.
diff --git a/deps/npm/node_modules/lodash._isiterateecall/index.js b/deps/npm/node_modules/lodash._isiterateecall/index.js
new file mode 100644
index 0000000000..ea3761b6c4
--- /dev/null
+++ b/deps/npm/node_modules/lodash._isiterateecall/index.js
@@ -0,0 +1,132 @@
+/**
+ * lodash 3.0.9 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** Used to detect unsigned integer values. */
+var reIsUint = /^\d+$/;
+
+/**
+ * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+}
+
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */
+var getLength = baseProperty('length');
+
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */
+function isArrayLike(value) {
+ return value != null && isLength(getLength(value));
+}
+
+/**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */
+function isIndex(value, length) {
+ value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
+ length = length == null ? MAX_SAFE_INTEGER : length;
+ return value > -1 && value % 1 == 0 && value < length;
+}
+
+/**
+ * Checks if the provided arguments are from an iteratee call.
+ *
+ * @private
+ * @param {*} value The potential iteratee value argument.
+ * @param {*} index The potential iteratee index or key argument.
+ * @param {*} object The potential iteratee object argument.
+ * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
+ */
+function isIterateeCall(value, index, object) {
+ if (!isObject(object)) {
+ return false;
+ }
+ var type = typeof index;
+ if (type == 'number'
+ ? (isArrayLike(object) && isIndex(index, object.length))
+ : (type == 'string' && index in object)) {
+ var other = object[index];
+ return value === value ? (value === other) : (other !== other);
+ }
+ return false;
+}
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+module.exports = isIterateeCall;
diff --git a/deps/npm/node_modules/lodash._isiterateecall/package.json b/deps/npm/node_modules/lodash._isiterateecall/package.json
new file mode 100644
index 0000000000..075ad22405
--- /dev/null
+++ b/deps/npm/node_modules/lodash._isiterateecall/package.json
@@ -0,0 +1,113 @@
+{
+ "_args": [
+ [
+ "lodash._isiterateecall@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.uniq"
+ ]
+ ],
+ "_from": "lodash._isiterateecall@>=3.0.0 <4.0.0",
+ "_id": "lodash._isiterateecall@3.0.9",
+ "_inCache": true,
+ "_location": "/lodash._isiterateecall",
+ "_nodeVersion": "2.0.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash._isiterateecall",
+ "raw": "lodash._isiterateecall@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.uniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+ "_shasum": "5203ad7ba425fae842460e696db9cf3e6aac057c",
+ "_shrinkwrap": null,
+ "_spec": "lodash._isiterateecall@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.uniq",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s internal `isIterateeCall` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "5203ad7ba425fae842460e696db9cf3e6aac057c",
+ "tarball": "http://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash._isiterateecall",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.9"
+}
diff --git a/deps/npm/node_modules/lodash.clonedeep/LICENSE b/deps/npm/node_modules/lodash.clonedeep/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.clonedeep/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.clonedeep/README.md b/deps/npm/node_modules/lodash.clonedeep/README.md
new file mode 100644
index 0000000000..7be9a82e46
--- /dev/null
+++ b/deps/npm/node_modules/lodash.clonedeep/README.md
@@ -0,0 +1,20 @@
+# lodash.clonedeep v3.0.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.cloneDeep` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.clonedeep
+```
+
+In Node.js/io.js:
+
+```js
+var cloneDeep = require('lodash.clonedeep');
+```
+
+See the [documentation](https://lodash.com/docs#cloneDeep) or [package source](https://github.com/lodash/lodash/blob/3.0.2-npm-packages/lodash.clonedeep) for more details.
diff --git a/deps/npm/node_modules/lodash.clonedeep/index.js b/deps/npm/node_modules/lodash.clonedeep/index.js
new file mode 100644
index 0000000000..f486c2246b
--- /dev/null
+++ b/deps/npm/node_modules/lodash.clonedeep/index.js
@@ -0,0 +1,63 @@
+/**
+ * lodash 3.0.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseClone = require('lodash._baseclone'),
+ bindCallback = require('lodash._bindcallback');
+
+/**
+ * Creates a deep clone of `value`. If `customizer` is provided it's invoked
+ * to produce the cloned values. If `customizer` returns `undefined` cloning
+ * is handled by the method instead. The `customizer` is bound to `thisArg`
+ * and invoked with up to three argument; (value [, index|key, object]).
+ *
+ * **Note:** This method is loosely based on the
+ * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+ * The enumerable properties of `arguments` objects and objects created by
+ * constructors other than `Object` are cloned to plain `Object` objects. An
+ * empty object is returned for uncloneable values such as functions, DOM nodes,
+ * Maps, Sets, and WeakMaps.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to deep clone.
+ * @param {Function} [customizer] The function to customize cloning values.
+ * @param {*} [thisArg] The `this` binding of `customizer`.
+ * @returns {*} Returns the deep cloned value.
+ * @example
+ *
+ * var users = [
+ * { 'user': 'barney' },
+ * { 'user': 'fred' }
+ * ];
+ *
+ * var deep = _.cloneDeep(users);
+ * deep[0] === users[0];
+ * // => false
+ *
+ * // using a customizer callback
+ * var el = _.cloneDeep(document.body, function(value) {
+ * if (_.isElement(value)) {
+ * return value.cloneNode(true);
+ * }
+ * });
+ *
+ * el === document.body
+ * // => false
+ * el.nodeName
+ * // => BODY
+ * el.childNodes.length;
+ * // => 20
+ */
+function cloneDeep(value, customizer, thisArg) {
+ return typeof customizer == 'function'
+ ? baseClone(value, true, bindCallback(customizer, thisArg, 3))
+ : baseClone(value, true);
+}
+
+module.exports = cloneDeep;
diff --git a/deps/npm/node_modules/lodash.clonedeep/package.json b/deps/npm/node_modules/lodash.clonedeep/package.json
new file mode 100644
index 0000000000..83c6e3b1fc
--- /dev/null
+++ b/deps/npm/node_modules/lodash.clonedeep/package.json
@@ -0,0 +1,123 @@
+{
+ "_args": [
+ [
+ "lodash.clonedeep@~3.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "lodash.clonedeep@>=3.0.1 <3.1.0",
+ "_id": "lodash.clonedeep@3.0.2",
+ "_inCache": true,
+ "_location": "/lodash.clonedeep",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.13.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.clonedeep",
+ "raw": "lodash.clonedeep@~3.0.1",
+ "rawSpec": "~3.0.1",
+ "scope": null,
+ "spec": ">=3.0.1 <3.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz",
+ "_shasum": "a0a1e40d82a5ea89ff5b147b8444ed63d92827db",
+ "_shrinkwrap": null,
+ "_spec": "lodash.clonedeep@~3.0.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._baseclone": "^3.0.0",
+ "lodash._bindcallback": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s `_.cloneDeep` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "a0a1e40d82a5ea89ff5b147b8444ed63d92827db",
+ "tarball": "http://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "installable": true,
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.clonedeep",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.2"
+}
diff --git a/deps/npm/node_modules/lodash.isarguments/LICENSE b/deps/npm/node_modules/lodash.isarguments/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarguments/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.isarguments/README.md b/deps/npm/node_modules/lodash.isarguments/README.md
new file mode 100644
index 0000000000..2e94f790f6
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarguments/README.md
@@ -0,0 +1,20 @@
+# lodash.isarguments v3.0.4
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isArguments` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.isarguments
+```
+
+In Node.js/io.js:
+
+```js
+var isArguments = require('lodash.isarguments');
+```
+
+See the [documentation](https://lodash.com/docs#isArguments) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isarguments) for more details.
diff --git a/deps/npm/node_modules/lodash.isarguments/index.js b/deps/npm/node_modules/lodash.isarguments/index.js
new file mode 100644
index 0000000000..b947b47dff
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarguments/index.js
@@ -0,0 +1,106 @@
+/**
+ * lodash 3.0.4 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/** Native method references. */
+var propertyIsEnumerable = objectProto.propertyIsEnumerable;
+
+/**
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+}
+
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */
+var getLength = baseProperty('length');
+
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */
+function isArrayLike(value) {
+ return value != null && isLength(getLength(value));
+}
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+/**
+ * Checks if `value` is classified as an `arguments` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isArguments(function() { return arguments; }());
+ * // => true
+ *
+ * _.isArguments([1, 2, 3]);
+ * // => false
+ */
+function isArguments(value) {
+ return isObjectLike(value) && isArrayLike(value) &&
+ hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
+}
+
+module.exports = isArguments;
diff --git a/deps/npm/node_modules/lodash.isarguments/package.json b/deps/npm/node_modules/lodash.isarguments/package.json
new file mode 100644
index 0000000000..de5c561d5e
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarguments/package.json
@@ -0,0 +1,120 @@
+{
+ "_args": [
+ [
+ "lodash.isarguments@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.keys"
+ ]
+ ],
+ "_from": "lodash.isarguments@>=3.0.0 <4.0.0",
+ "_id": "lodash.isarguments@3.0.4",
+ "_inCache": true,
+ "_location": "/lodash.isarguments",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.isarguments",
+ "raw": "lodash.isarguments@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseflatten",
+ "/lodash.keys"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.4.tgz",
+ "_shasum": "ebbb884c48d27366a44ea6fee57ed7b5a32a81e0",
+ "_shrinkwrap": null,
+ "_spec": "lodash.isarguments@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.keys",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s `_.isArguments` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "ebbb884c48d27366a44ea6fee57ed7b5a32a81e0",
+ "tarball": "http://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.4.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.isarguments",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.4"
+}
diff --git a/deps/npm/node_modules/lodash.isarray/LICENSE b/deps/npm/node_modules/lodash.isarray/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarray/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.isarray/README.md b/deps/npm/node_modules/lodash.isarray/README.md
new file mode 100644
index 0000000000..ea274aae1b
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarray/README.md
@@ -0,0 +1,20 @@
+# lodash.isarray v3.0.4
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isArray` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.isarray
+```
+
+In Node.js/io.js:
+
+```js
+var isArray = require('lodash.isarray');
+```
+
+See the [documentation](https://lodash.com/docs#isArray) or [package source](https://github.com/lodash/lodash/blob/3.0.4-npm-packages/lodash.isarray) for more details.
diff --git a/deps/npm/node_modules/lodash.isarray/index.js b/deps/npm/node_modules/lodash.isarray/index.js
new file mode 100644
index 0000000000..dd24658448
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarray/index.js
@@ -0,0 +1,180 @@
+/**
+ * lodash 3.0.4 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** `Object#toString` result references. */
+var arrayTag = '[object Array]',
+ funcTag = '[object Function]';
+
+/** Used to detect host constructors (Safari > 5). */
+var reIsHostCtor = /^\[object .+?Constructor\]$/;
+
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to resolve the decompiled source of functions. */
+var fnToString = Function.prototype.toString;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/**
+ * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+var objToString = objectProto.toString;
+
+/** Used to detect if a method is native. */
+var reIsNative = RegExp('^' +
+ fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&')
+ .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+);
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeIsArray = getNative(Array, 'isArray');
+
+/**
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * Gets the native function at `key` of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @param {string} key The key of the method to get.
+ * @returns {*} Returns the function if it's native, else `undefined`.
+ */
+function getNative(object, key) {
+ var value = object == null ? undefined : object[key];
+ return isNative(value) ? value : undefined;
+}
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+/**
+ * Checks if `value` is classified as an `Array` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isArray([1, 2, 3]);
+ * // => true
+ *
+ * _.isArray(function() { return arguments; }());
+ * // => false
+ */
+var isArray = nativeIsArray || function(value) {
+ return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
+};
+
+/**
+ * Checks if `value` is classified as a `Function` object.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isFunction(_);
+ * // => true
+ *
+ * _.isFunction(/abc/);
+ * // => false
+ */
+function isFunction(value) {
+ // The use of `Object#toString` avoids issues with the `typeof` operator
+ // in older versions of Chrome and Safari which return 'function' for regexes
+ // and Safari 8 equivalents which return 'object' for typed array constructors.
+ return isObject(value) && objToString.call(value) == funcTag;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * Checks if `value` is a native function.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+ * @example
+ *
+ * _.isNative(Array.prototype.push);
+ * // => true
+ *
+ * _.isNative(_);
+ * // => false
+ */
+function isNative(value) {
+ if (value == null) {
+ return false;
+ }
+ if (isFunction(value)) {
+ return reIsNative.test(fnToString.call(value));
+ }
+ return isObjectLike(value) && reIsHostCtor.test(value);
+}
+
+module.exports = isArray;
diff --git a/deps/npm/node_modules/lodash.isarray/package.json b/deps/npm/node_modules/lodash.isarray/package.json
new file mode 100644
index 0000000000..47cb23f1e9
--- /dev/null
+++ b/deps/npm/node_modules/lodash.isarray/package.json
@@ -0,0 +1,124 @@
+{
+ "_args": [
+ [
+ "lodash.isarray@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseclone"
+ ]
+ ],
+ "_from": "lodash.isarray@>=3.0.0 <4.0.0",
+ "_id": "lodash.isarray@3.0.4",
+ "_inCache": true,
+ "_location": "/lodash.isarray",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.isarray",
+ "raw": "lodash.isarray@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basecallback",
+ "/lodash._baseclone",
+ "/lodash._baseflatten",
+ "/lodash._baseisequal",
+ "/lodash.keys",
+ "/lodash.uniq"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+ "_shasum": "79e4eb88c36a8122af86f844aa9bcd851b5fbb55",
+ "_shrinkwrap": null,
+ "_spec": "lodash.isarray@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseclone",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s `_.isArray` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "79e4eb88c36a8122af86f844aa9bcd851b5fbb55",
+ "tarball": "http://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.isarray",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.4"
+}
diff --git a/deps/npm/node_modules/lodash.istypedarray/LICENSE.txt b/deps/npm/node_modules/lodash.istypedarray/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.istypedarray/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.istypedarray/README.md b/deps/npm/node_modules/lodash.istypedarray/README.md
new file mode 100644
index 0000000000..b1779ccf7f
--- /dev/null
+++ b/deps/npm/node_modules/lodash.istypedarray/README.md
@@ -0,0 +1,20 @@
+# lodash.istypedarray v3.0.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.isTypedArray` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.istypedarray
+```
+
+In Node.js/io.js:
+
+```js
+var isTypedArray = require('lodash.istypedarray');
+```
+
+See the [documentation](https://lodash.com/docs#isTypedArray) or [package source](https://github.com/lodash/lodash/blob/3.0.2-npm-packages/lodash.istypedarray) for more details.
diff --git a/deps/npm/node_modules/lodash.istypedarray/index.js b/deps/npm/node_modules/lodash.istypedarray/index.js
new file mode 100644
index 0000000000..829a2d77a7
--- /dev/null
+++ b/deps/npm/node_modules/lodash.istypedarray/index.js
@@ -0,0 +1,110 @@
+/**
+ * lodash 3.0.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** `Object#toString` result references. */
+var argsTag = '[object Arguments]',
+ arrayTag = '[object Array]',
+ boolTag = '[object Boolean]',
+ dateTag = '[object Date]',
+ errorTag = '[object Error]',
+ funcTag = '[object Function]',
+ mapTag = '[object Map]',
+ numberTag = '[object Number]',
+ objectTag = '[object Object]',
+ regexpTag = '[object RegExp]',
+ setTag = '[object Set]',
+ stringTag = '[object String]',
+ weakMapTag = '[object WeakMap]';
+
+var arrayBufferTag = '[object ArrayBuffer]',
+ float32Tag = '[object Float32Array]',
+ float64Tag = '[object Float64Array]',
+ int8Tag = '[object Int8Array]',
+ int16Tag = '[object Int16Array]',
+ int32Tag = '[object Int32Array]',
+ uint8Tag = '[object Uint8Array]',
+ uint8ClampedTag = '[object Uint8ClampedArray]',
+ uint16Tag = '[object Uint16Array]',
+ uint32Tag = '[object Uint32Array]';
+
+/** Used to identify `toStringTag` values of typed arrays. */
+var typedArrayTags = {};
+typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
+typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
+typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
+typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
+typedArrayTags[uint32Tag] = true;
+typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
+typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
+typedArrayTags[dateTag] = typedArrayTags[errorTag] =
+typedArrayTags[funcTag] = typedArrayTags[mapTag] =
+typedArrayTags[numberTag] = typedArrayTags[objectTag] =
+typedArrayTags[regexpTag] = typedArrayTags[setTag] =
+typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+
+/**
+ * Checks if `value` is object-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ */
+function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+}
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/**
+ * Used to resolve the [`toStringTag`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
+ * of values.
+ */
+var objToString = objectProto.toString;
+
+/**
+ * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+/**
+ * Checks if `value` is classified as a typed array.
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+ * @example
+ *
+ * _.isTypedArray(new Uint8Array);
+ * // => true
+ *
+ * _.isTypedArray([]);
+ * // => false
+ */
+function isTypedArray(value) {
+ return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
+}
+
+module.exports = isTypedArray;
diff --git a/deps/npm/node_modules/lodash.istypedarray/package.json b/deps/npm/node_modules/lodash.istypedarray/package.json
new file mode 100644
index 0000000000..4177313505
--- /dev/null
+++ b/deps/npm/node_modules/lodash.istypedarray/package.json
@@ -0,0 +1,119 @@
+{
+ "_args": [
+ [
+ "lodash.istypedarray@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseisequal"
+ ]
+ ],
+ "_from": "lodash.istypedarray@>=3.0.0 <4.0.0",
+ "_id": "lodash.istypedarray@3.0.2",
+ "_inCache": true,
+ "_location": "/lodash.istypedarray",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.istypedarray",
+ "raw": "lodash.istypedarray@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseisequal"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.2.tgz",
+ "_shasum": "9397b113c15f424f320af06caa59cc495e2093ce",
+ "_shrinkwrap": null,
+ "_spec": "lodash.istypedarray@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseisequal",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s `_.isTypedArray` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "9397b113c15f424f320af06caa59cc495e2093ce",
+ "tarball": "http://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash.istypedarray",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.2"
+}
diff --git a/deps/npm/node_modules/lodash.keys/LICENSE b/deps/npm/node_modules/lodash.keys/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.keys/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.keys/README.md b/deps/npm/node_modules/lodash.keys/README.md
new file mode 100644
index 0000000000..5f69a1826f
--- /dev/null
+++ b/deps/npm/node_modules/lodash.keys/README.md
@@ -0,0 +1,20 @@
+# lodash.keys v3.1.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.keys` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.keys
+```
+
+In Node.js/io.js:
+
+```js
+var keys = require('lodash.keys');
+```
+
+See the [documentation](https://lodash.com/docs#keys) or [package source](https://github.com/lodash/lodash/blob/3.1.2-npm-packages/lodash.keys) for more details.
diff --git a/deps/npm/node_modules/lodash.keys/index.js b/deps/npm/node_modules/lodash.keys/index.js
new file mode 100644
index 0000000000..f4c17749a1
--- /dev/null
+++ b/deps/npm/node_modules/lodash.keys/index.js
@@ -0,0 +1,236 @@
+/**
+ * lodash 3.1.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var getNative = require('lodash._getnative'),
+ isArguments = require('lodash.isarguments'),
+ isArray = require('lodash.isarray');
+
+/** Used to detect unsigned integer values. */
+var reIsUint = /^\d+$/;
+
+/** Used for native method references. */
+var objectProto = Object.prototype;
+
+/** Used to check objects for own properties. */
+var hasOwnProperty = objectProto.hasOwnProperty;
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeKeys = getNative(Object, 'keys');
+
+/**
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+}
+
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */
+var getLength = baseProperty('length');
+
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */
+function isArrayLike(value) {
+ return value != null && isLength(getLength(value));
+}
+
+/**
+ * Checks if `value` is a valid array-like index.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+ * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
+ */
+function isIndex(value, length) {
+ value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
+ length = length == null ? MAX_SAFE_INTEGER : length;
+ return value > -1 && value % 1 == 0 && value < length;
+}
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+/**
+ * A fallback implementation of `Object.keys` which creates an array of the
+ * own enumerable property names of `object`.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ */
+function shimKeys(object) {
+ var props = keysIn(object),
+ propsLength = props.length,
+ length = propsLength && object.length;
+
+ var allowIndexes = !!length && isLength(length) &&
+ (isArray(object) || isArguments(object));
+
+ var index = -1,
+ result = [];
+
+ while (++index < propsLength) {
+ var key = props[index];
+ if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
+ result.push(key);
+ }
+ }
+ return result;
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * Creates an array of the own enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects. See the
+ * [ES spec](http://ecma-international.org/ecma-262/6.0/#sec-object.keys)
+ * for more details.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keys(new Foo);
+ * // => ['a', 'b'] (iteration order is not guaranteed)
+ *
+ * _.keys('hi');
+ * // => ['0', '1']
+ */
+var keys = !nativeKeys ? shimKeys : function(object) {
+ var Ctor = object == null ? undefined : object.constructor;
+ if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
+ (typeof object != 'function' && isArrayLike(object))) {
+ return shimKeys(object);
+ }
+ return isObject(object) ? nativeKeys(object) : [];
+};
+
+/**
+ * Creates an array of the own and inherited enumerable property names of `object`.
+ *
+ * **Note:** Non-object values are coerced to objects.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the array of property names.
+ * @example
+ *
+ * function Foo() {
+ * this.a = 1;
+ * this.b = 2;
+ * }
+ *
+ * Foo.prototype.c = 3;
+ *
+ * _.keysIn(new Foo);
+ * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
+ */
+function keysIn(object) {
+ if (object == null) {
+ return [];
+ }
+ if (!isObject(object)) {
+ object = Object(object);
+ }
+ var length = object.length;
+ length = (length && isLength(length) &&
+ (isArray(object) || isArguments(object)) && length) || 0;
+
+ var Ctor = object.constructor,
+ index = -1,
+ isProto = typeof Ctor == 'function' && Ctor.prototype === object,
+ result = Array(length),
+ skipIndexes = length > 0;
+
+ while (++index < length) {
+ result[index] = (index + '');
+ }
+ for (var key in object) {
+ if (!(skipIndexes && isIndex(key, length)) &&
+ !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
+ result.push(key);
+ }
+ }
+ return result;
+}
+
+module.exports = keys;
diff --git a/deps/npm/node_modules/lodash.keys/package.json b/deps/npm/node_modules/lodash.keys/package.json
new file mode 100644
index 0000000000..606a4d9852
--- /dev/null
+++ b/deps/npm/node_modules/lodash.keys/package.json
@@ -0,0 +1,126 @@
+{
+ "_args": [
+ [
+ "lodash.keys@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._baseclone"
+ ]
+ ],
+ "_from": "lodash.keys@>=3.0.0 <4.0.0",
+ "_id": "lodash.keys@3.1.2",
+ "_inCache": true,
+ "_location": "/lodash.keys",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.keys",
+ "raw": "lodash.keys@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._baseassign",
+ "/lodash._baseclone",
+ "/lodash._baseisequal",
+ "/lodash.pairs"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
+ "_shasum": "4dbc0472b156be50a0b286855d1bd0b0c656098a",
+ "_shrinkwrap": null,
+ "_spec": "lodash.keys@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._baseclone",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._getnative": "^3.0.0",
+ "lodash.isarguments": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s `_.keys` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "4dbc0472b156be50a0b286855d1bd0b0c656098a",
+ "tarball": "http://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.keys",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.2"
+}
diff --git a/deps/npm/node_modules/lodash.pad/LICENSE b/deps/npm/node_modules/lodash.pad/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.pad/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md b/deps/npm/node_modules/lodash.pad/README.md
index 9b4891cd8c..456d23ddf0 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md
+++ b/deps/npm/node_modules/lodash.pad/README.md
@@ -1,4 +1,4 @@
-# lodash.pad v3.1.0
+# lodash.pad v3.1.1
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.pad` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
@@ -17,4 +17,4 @@ In Node.js/io.js:
var pad = require('lodash.pad');
```
-See the [documentation](https://lodash.com/docs#pad) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.pad) for more details.
+See the [documentation](https://lodash.com/docs#pad) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.pad) for more details.
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js b/deps/npm/node_modules/lodash.pad/index.js
index d08251ba59..a29ccea9ca 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js
+++ b/deps/npm/node_modules/lodash.pad/index.js
@@ -1,23 +1,21 @@
/**
- * lodash 3.1.0 (Custom Build) <https://lodash.com/>
+ * lodash 3.1.1 (Custom Build) <https://lodash.com/>
* Build: `lodash modern modularize exports="npm" -o ./`
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
* Available under MIT license <https://lodash.com/license>
*/
var baseToString = require('lodash._basetostring'),
createPadding = require('lodash._createpadding');
-/** Native method references. */
-var ceil = Math.ceil,
- floor = Math.floor;
-
/* Native method references for those with the same name as other `lodash` methods. */
-var nativeIsFinite = global.isFinite;
+var nativeCeil = Math.ceil,
+ nativeFloor = Math.floor,
+ nativeIsFinite = global.isFinite;
/**
- * Pads `string` on the left and right sides if it is shorter than `length`.
+ * Pads `string` on the left and right sides if it's shorter than `length`.
* Padding characters are truncated if they can't be evenly divided by `length`.
*
* @static
@@ -47,8 +45,8 @@ function pad(string, length, chars) {
return string;
}
var mid = (length - strLength) / 2,
- leftLength = floor(mid),
- rightLength = ceil(mid);
+ leftLength = nativeFloor(mid),
+ rightLength = nativeCeil(mid);
chars = createPadding('', rightLength, chars);
return chars.slice(0, leftLength) + string + chars;
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json b/deps/npm/node_modules/lodash.pad/package.json
index 6f028c0cc6..283af35280 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json
+++ b/deps/npm/node_modules/lodash.pad/package.json
@@ -1,21 +1,45 @@
{
- "name": "lodash.pad",
- "version": "3.1.0",
- "description": "The modern build of lodash’s `_.pad` as a module.",
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "keywords": [
- "lodash",
- "lodash-modularized",
- "stdlib",
- "util"
+ "_args": [
+ [
+ "lodash.pad@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/gauge"
+ ]
],
+ "_from": "lodash.pad@>=3.0.0 <4.0.0",
+ "_id": "lodash.pad@3.1.1",
+ "_inCache": true,
+ "_location": "/lodash.pad",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.pad",
+ "raw": "lodash.pad@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gauge"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.1.tgz",
+ "_shasum": "2e078ebc33b331d2ba34bf8732af129fd5c04624",
+ "_shrinkwrap": null,
+ "_spec": "lodash.pad@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/gauge",
"author": {
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
"contributors": [
{
"name": "John-David Dalton",
@@ -43,29 +67,26 @@
"url": "https://mathiasbynens.be/"
}
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
"dependencies": {
"lodash._basetostring": "^3.0.0",
"lodash._createpadding": "^3.0.0"
},
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "_id": "lodash.pad@3.1.0",
- "_shasum": "9f18b1f3749a95e197b5ff2ae752ea9851ada965",
- "_from": "lodash.pad@>=3.0.0 <4.0.0",
- "_npmVersion": "2.7.3",
- "_nodeVersion": "0.12.0",
- "_npmUser": {
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "description": "The modern build of lodash’s `_.pad` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "2e078ebc33b331d2ba34bf8732af129fd5c04624",
+ "tarball": "http://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.1.tgz"
},
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
"maintainers": [
{
"name": "jdalton",
@@ -88,11 +109,14 @@
"email": "blaine@iceddev.com"
}
],
- "dist": {
- "shasum": "9f18b1f3749a95e197b5ff2ae752ea9851ada965",
- "tarball": "http://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz"
+ "name": "lodash.pad",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.1"
}
diff --git a/deps/npm/node_modules/lodash.padleft/LICENSE.txt b/deps/npm/node_modules/lodash.padleft/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.padleft/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md b/deps/npm/node_modules/lodash.padleft/README.md
index 641b4d6f00..641b4d6f00 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md
+++ b/deps/npm/node_modules/lodash.padleft/README.md
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js b/deps/npm/node_modules/lodash.padleft/index.js
index 2abb69a6c0..2abb69a6c0 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js
+++ b/deps/npm/node_modules/lodash.padleft/index.js
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json b/deps/npm/node_modules/lodash.padleft/package.json
index 55b0c256f9..be544bdce0 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json
+++ b/deps/npm/node_modules/lodash.padleft/package.json
@@ -1,21 +1,45 @@
{
- "name": "lodash.padleft",
- "version": "3.1.1",
- "description": "The modern build of lodash’s `_.padLeft` as a module.",
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "keywords": [
- "lodash",
- "lodash-modularized",
- "stdlib",
- "util"
+ "_args": [
+ [
+ "lodash.padleft@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/gauge"
+ ]
+ ],
+ "_from": "lodash.padleft@>=3.0.0 <4.0.0",
+ "_id": "lodash.padleft@3.1.1",
+ "_inCache": true,
+ "_location": "/lodash.padleft",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.padleft",
+ "raw": "lodash.padleft@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gauge"
],
+ "_resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz",
+ "_shasum": "150151f1e0245edba15d50af2d71f1d5cff46530",
+ "_shrinkwrap": null,
+ "_spec": "lodash.padleft@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/gauge",
"author": {
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
"contributors": [
{
"name": "John-David Dalton",
@@ -43,29 +67,26 @@
"url": "https://mathiasbynens.be/"
}
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
"dependencies": {
"lodash._basetostring": "^3.0.0",
"lodash._createpadding": "^3.0.0"
},
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "_id": "lodash.padleft@3.1.1",
- "_shasum": "150151f1e0245edba15d50af2d71f1d5cff46530",
- "_from": "lodash.padleft@>=3.0.0 <4.0.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "description": "The modern build of lodash’s `_.padLeft` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "150151f1e0245edba15d50af2d71f1d5cff46530",
+ "tarball": "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz"
},
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
"maintainers": [
{
"name": "jdalton",
@@ -88,11 +109,14 @@
"email": "blaine@iceddev.com"
}
],
- "dist": {
- "shasum": "150151f1e0245edba15d50af2d71f1d5cff46530",
- "tarball": "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz"
+ "name": "lodash.padleft",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.1"
}
diff --git a/deps/npm/node_modules/lodash.padright/LICENSE.txt b/deps/npm/node_modules/lodash.padright/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.padright/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md b/deps/npm/node_modules/lodash.padright/README.md
index bcd6e5742f..bcd6e5742f 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md
+++ b/deps/npm/node_modules/lodash.padright/README.md
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js b/deps/npm/node_modules/lodash.padright/index.js
index 6de81c4bbe..6de81c4bbe 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js
+++ b/deps/npm/node_modules/lodash.padright/index.js
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json b/deps/npm/node_modules/lodash.padright/package.json
index 2a40f94bfc..13111367ff 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json
+++ b/deps/npm/node_modules/lodash.padright/package.json
@@ -1,21 +1,45 @@
{
- "name": "lodash.padright",
- "version": "3.1.1",
- "description": "The modern build of lodash’s `_.padRight` as a module.",
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "keywords": [
- "lodash",
- "lodash-modularized",
- "stdlib",
- "util"
+ "_args": [
+ [
+ "lodash.padright@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/gauge"
+ ]
+ ],
+ "_from": "lodash.padright@>=3.0.0 <4.0.0",
+ "_id": "lodash.padright@3.1.1",
+ "_inCache": true,
+ "_location": "/lodash.padright",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.padright",
+ "raw": "lodash.padright@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/gauge"
],
+ "_resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz",
+ "_shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0",
+ "_shrinkwrap": null,
+ "_spec": "lodash.padright@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/gauge",
"author": {
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
"contributors": [
{
"name": "John-David Dalton",
@@ -43,29 +67,26 @@
"url": "https://mathiasbynens.be/"
}
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
"dependencies": {
"lodash._basetostring": "^3.0.0",
"lodash._createpadding": "^3.0.0"
},
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "_id": "lodash.padright@3.1.1",
- "_shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0",
- "_from": "lodash.padright@>=3.0.0 <4.0.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "description": "The modern build of lodash’s `_.padRight` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0",
+ "tarball": "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz"
},
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
"maintainers": [
{
"name": "jdalton",
@@ -88,11 +109,14 @@
"email": "blaine@iceddev.com"
}
],
- "dist": {
- "shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0",
- "tarball": "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz"
+ "name": "lodash.padright",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.1"
}
diff --git a/deps/npm/node_modules/lodash.pairs/LICENSE.txt b/deps/npm/node_modules/lodash.pairs/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.pairs/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.pairs/README.md b/deps/npm/node_modules/lodash.pairs/README.md
new file mode 100644
index 0000000000..9edbbac4b1
--- /dev/null
+++ b/deps/npm/node_modules/lodash.pairs/README.md
@@ -0,0 +1,20 @@
+# lodash.pairs v3.0.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.pairs` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.pairs
+```
+
+In Node.js/io.js:
+
+```js
+var pairs = require('lodash.pairs');
+```
+
+See the [documentation](https://lodash.com/docs#pairs) or [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash.pairs) for more details.
diff --git a/deps/npm/node_modules/lodash.pairs/index.js b/deps/npm/node_modules/lodash.pairs/index.js
new file mode 100644
index 0000000000..c0c1877553
--- /dev/null
+++ b/deps/npm/node_modules/lodash.pairs/index.js
@@ -0,0 +1,78 @@
+/**
+ * lodash 3.0.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var keys = require('lodash.keys');
+
+/**
+ * Converts `value` to an object if it's not one.
+ *
+ * @private
+ * @param {*} value The value to process.
+ * @returns {Object} Returns the object.
+ */
+function toObject(value) {
+ return isObject(value) ? value : Object(value);
+}
+
+/**
+ * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+ * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(1);
+ * // => false
+ */
+function isObject(value) {
+ // Avoid a V8 JIT bug in Chrome 19-20.
+ // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+}
+
+/**
+ * Creates a two dimensional array of the key-value pairs for `object`,
+ * e.g. `[[key1, value1], [key2, value2]]`.
+ *
+ * @static
+ * @memberOf _
+ * @category Object
+ * @param {Object} object The object to query.
+ * @returns {Array} Returns the new array of key-value pairs.
+ * @example
+ *
+ * _.pairs({ 'barney': 36, 'fred': 40 });
+ * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
+ */
+function pairs(object) {
+ object = toObject(object);
+
+ var index = -1,
+ props = keys(object),
+ length = props.length,
+ result = Array(length);
+
+ while (++index < length) {
+ var key = props[index];
+ result[index] = [key, object[key]];
+ }
+ return result;
+}
+
+module.exports = pairs;
diff --git a/deps/npm/node_modules/lodash.pairs/package.json b/deps/npm/node_modules/lodash.pairs/package.json
new file mode 100644
index 0000000000..8a17257223
--- /dev/null
+++ b/deps/npm/node_modules/lodash.pairs/package.json
@@ -0,0 +1,121 @@
+{
+ "_args": [
+ [
+ "lodash.pairs@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._basecallback"
+ ]
+ ],
+ "_from": "lodash.pairs@>=3.0.0 <4.0.0",
+ "_id": "lodash.pairs@3.0.1",
+ "_inCache": true,
+ "_location": "/lodash.pairs",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.pairs",
+ "raw": "lodash.pairs@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._basecallback"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz",
+ "_shasum": "bbe08d5786eeeaa09a15c91ebf0dcb7d2be326a9",
+ "_shrinkwrap": null,
+ "_spec": "lodash.pairs@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._basecallback",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash.keys": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s `_.pairs` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "bbe08d5786eeeaa09a15c91ebf0dcb7d2be326a9",
+ "tarball": "http://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.pairs",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.1"
+}
diff --git a/deps/npm/node_modules/lodash.repeat/LICENSE b/deps/npm/node_modules/lodash.repeat/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.repeat/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/README.md b/deps/npm/node_modules/lodash.repeat/README.md
index d2796e3f73..dec571a333 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/README.md
+++ b/deps/npm/node_modules/lodash.repeat/README.md
@@ -1,4 +1,4 @@
-# lodash.repeat v3.0.0
+# lodash.repeat v3.0.1
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.repeat` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
@@ -17,4 +17,4 @@ In Node.js/io.js:
var repeat = require('lodash.repeat');
```
-See the [documentation](https://lodash.com/docs#repeat) or [package source](https://github.com/lodash/lodash/blob/3.0.0-npm-packages/lodash.repeat) for more details.
+See the [documentation](https://lodash.com/docs#repeat) or [package source](https://github.com/lodash/lodash/blob/3.0.1-npm-packages/lodash.repeat) for more details.
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/index.js b/deps/npm/node_modules/lodash.repeat/index.js
index 68e1008134..367913f56e 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/index.js
+++ b/deps/npm/node_modules/lodash.repeat/index.js
@@ -1,18 +1,16 @@
/**
- * lodash 3.0.0 (Custom Build) <https://lodash.com/>
+ * lodash 3.0.1 (Custom Build) <https://lodash.com/>
* Build: `lodash modern modularize exports="npm" -o ./`
* Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.7.0 <http://underscorejs.org/LICENSE>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
* Available under MIT license <https://lodash.com/license>
*/
var baseToString = require('lodash._basetostring');
-/** Native method references. */
-var floor = Math.floor;
-
/* Native method references for those with the same name as other `lodash` methods. */
-var nativeIsFinite = global.isFinite;
+var nativeFloor = Math.floor,
+ nativeIsFinite = global.isFinite;
/**
* Repeats the given string `n` times.
@@ -47,7 +45,7 @@ function repeat(string, n) {
if (n % 2) {
result += string;
}
- n = floor(n / 2);
+ n = nativeFloor(n / 2);
string += string;
} while (n);
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json b/deps/npm/node_modules/lodash.repeat/package.json
index de5156da13..a7294ef351 100644
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json
+++ b/deps/npm/node_modules/lodash.repeat/package.json
@@ -1,21 +1,45 @@
{
- "name": "lodash.repeat",
- "version": "3.0.0",
- "description": "The modern build of lodash’s `_.repeat` as a module.",
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "keywords": [
- "lodash",
- "lodash-modularized",
- "stdlib",
- "util"
+ "_args": [
+ [
+ "lodash.repeat@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash._createpadding"
+ ]
+ ],
+ "_from": "lodash.repeat@>=3.0.0 <4.0.0",
+ "_id": "lodash.repeat@3.0.1",
+ "_inCache": true,
+ "_location": "/lodash.repeat",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.repeat",
+ "raw": "lodash.repeat@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash._createpadding"
],
+ "_resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.1.tgz",
+ "_shasum": "f4b98dc7ef67256ce61e7874e1865edb208e0edf",
+ "_shrinkwrap": null,
+ "_spec": "lodash.repeat@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash._createpadding",
"author": {
- "name": "John-David Dalton",
"email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
"url": "http://allyoucanleet.com/"
},
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
"contributors": [
{
"name": "John-David Dalton",
@@ -43,39 +67,55 @@
"url": "https://mathiasbynens.be/"
}
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
"dependencies": {
"lodash._basetostring": "^3.0.0"
},
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "_id": "lodash.repeat@3.0.0",
- "_shasum": "c340f4136c99dc5b2e397b3fd50cffbd172a94b0",
- "_from": "lodash.repeat@>=3.0.0 <4.0.0",
- "_npmVersion": "2.3.0",
- "_nodeVersion": "0.10.35",
- "_npmUser": {
- "name": "jdalton",
- "email": "john.david.dalton@gmail.com"
+ "description": "The modern build of lodash’s `_.repeat` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "f4b98dc7ef67256ce61e7874e1865edb208e0edf",
+ "tarball": "http://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.1.tgz"
},
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
"maintainers": [
{
"name": "jdalton",
"email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
}
],
- "dist": {
- "shasum": "c340f4136c99dc5b2e397b3fd50cffbd172a94b0",
- "tarball": "http://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.0.tgz"
+ "name": "lodash.repeat",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.0.1"
}
diff --git a/deps/npm/node_modules/lodash.restparam/LICENSE.txt b/deps/npm/node_modules/lodash.restparam/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.restparam/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.restparam/README.md b/deps/npm/node_modules/lodash.restparam/README.md
new file mode 100644
index 0000000000..80e47a4f9b
--- /dev/null
+++ b/deps/npm/node_modules/lodash.restparam/README.md
@@ -0,0 +1,20 @@
+# lodash.restparam v3.6.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.restParam` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.restparam
+```
+
+In Node.js/io.js:
+
+```js
+var restParam = require('lodash.restparam');
+```
+
+See the [documentation](https://lodash.com/docs#restParam) or [package source](https://github.com/lodash/lodash/blob/3.6.1-npm-packages/lodash.restparam) for more details.
diff --git a/deps/npm/node_modules/lodash.restparam/index.js b/deps/npm/node_modules/lodash.restparam/index.js
new file mode 100644
index 0000000000..932f47ac74
--- /dev/null
+++ b/deps/npm/node_modules/lodash.restparam/index.js
@@ -0,0 +1,67 @@
+/**
+ * lodash 3.6.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+
+/** Used as the `TypeError` message for "Functions" methods. */
+var FUNC_ERROR_TEXT = 'Expected a function';
+
+/* Native method references for those with the same name as other `lodash` methods. */
+var nativeMax = Math.max;
+
+/**
+ * Creates a function that invokes `func` with the `this` binding of the
+ * created function and arguments from `start` and beyond provided as an array.
+ *
+ * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters).
+ *
+ * @static
+ * @memberOf _
+ * @category Function
+ * @param {Function} func The function to apply a rest parameter to.
+ * @param {number} [start=func.length-1] The start position of the rest parameter.
+ * @returns {Function} Returns the new function.
+ * @example
+ *
+ * var say = _.restParam(function(what, names) {
+ * return what + ' ' + _.initial(names).join(', ') +
+ * (_.size(names) > 1 ? ', & ' : '') + _.last(names);
+ * });
+ *
+ * say('hello', 'fred', 'barney', 'pebbles');
+ * // => 'hello fred, barney, & pebbles'
+ */
+function restParam(func, start) {
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
+ return function() {
+ var args = arguments,
+ index = -1,
+ length = nativeMax(args.length - start, 0),
+ rest = Array(length);
+
+ while (++index < length) {
+ rest[index] = args[start + index];
+ }
+ switch (start) {
+ case 0: return func.call(this, rest);
+ case 1: return func.call(this, args[0], rest);
+ case 2: return func.call(this, args[0], args[1], rest);
+ }
+ var otherArgs = Array(start + 1);
+ index = -1;
+ while (++index < start) {
+ otherArgs[index] = args[index];
+ }
+ otherArgs[start] = rest;
+ return func.apply(this, otherArgs);
+ };
+}
+
+module.exports = restParam;
diff --git a/deps/npm/node_modules/lodash.restparam/package.json b/deps/npm/node_modules/lodash.restparam/package.json
new file mode 100644
index 0000000000..b57d381a17
--- /dev/null
+++ b/deps/npm/node_modules/lodash.restparam/package.json
@@ -0,0 +1,120 @@
+{
+ "_args": [
+ [
+ "lodash.restparam@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/lodash.union"
+ ]
+ ],
+ "_from": "lodash.restparam@>=3.0.0 <4.0.0",
+ "_id": "lodash.restparam@3.6.1",
+ "_inCache": true,
+ "_location": "/lodash.restparam",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.7.6",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.restparam",
+ "raw": "lodash.restparam@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/lodash.union",
+ "/lodash.without"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+ "_shasum": "936a4e309ef330a7645ed4145986c85ae5b20805",
+ "_shrinkwrap": null,
+ "_spec": "lodash.restparam@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/lodash.union",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {},
+ "description": "The modern build of lodash’s `_.restParam` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "936a4e309ef330a7645ed4145986c85ae5b20805",
+ "tarball": "http://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ }
+ ],
+ "name": "lodash.restparam",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.6.1"
+}
diff --git a/deps/npm/node_modules/lodash.union/LICENSE.txt b/deps/npm/node_modules/lodash.union/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.union/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.union/README.md b/deps/npm/node_modules/lodash.union/README.md
new file mode 100644
index 0000000000..62f67e410f
--- /dev/null
+++ b/deps/npm/node_modules/lodash.union/README.md
@@ -0,0 +1,20 @@
+# lodash.union v3.1.0
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.union` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.union
+```
+
+In Node.js/io.js:
+
+```js
+var union = require('lodash.union');
+```
+
+See the [documentation](https://lodash.com/docs#union) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.union) for more details.
diff --git a/deps/npm/node_modules/lodash.union/index.js b/deps/npm/node_modules/lodash.union/index.js
new file mode 100644
index 0000000000..b26b28c89c
--- /dev/null
+++ b/deps/npm/node_modules/lodash.union/index.js
@@ -0,0 +1,35 @@
+/**
+ * lodash 3.1.0 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseFlatten = require('lodash._baseflatten'),
+ baseUniq = require('lodash._baseuniq'),
+ restParam = require('lodash.restparam');
+
+/**
+ * Creates an array of unique values, in order, of the provided arrays using
+ * `SameValueZero` for equality comparisons.
+ *
+ * **Note:** [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+ * comparisons are like strict equality comparisons, e.g. `===`, except that
+ * `NaN` matches `NaN`.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {...Array} [arrays] The arrays to inspect.
+ * @returns {Array} Returns the new array of combined values.
+ * @example
+ *
+ * _.union([1, 2], [4, 2], [2, 1]);
+ * // => [1, 2, 4]
+ */
+var union = restParam(function(arrays) {
+ return baseUniq(baseFlatten(arrays, false, true));
+});
+
+module.exports = union;
diff --git a/deps/npm/node_modules/lodash.union/package.json b/deps/npm/node_modules/lodash.union/package.json
new file mode 100644
index 0000000000..4359aa2c3a
--- /dev/null
+++ b/deps/npm/node_modules/lodash.union/package.json
@@ -0,0 +1,123 @@
+{
+ "_args": [
+ [
+ "lodash.union@~3.1.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "lodash.union@>=3.1.0 <3.2.0",
+ "_id": "lodash.union@3.1.0",
+ "_inCache": true,
+ "_location": "/lodash.union",
+ "_nodeVersion": "0.12.0",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.7.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.union",
+ "raw": "lodash.union@~3.1.0",
+ "rawSpec": "~3.1.0",
+ "scope": null,
+ "spec": ">=3.1.0 <3.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-3.1.0.tgz",
+ "_shasum": "a4a3066fc15d6a7f8151cce9bdfe63dce7f5bcff",
+ "_shrinkwrap": null,
+ "_spec": "lodash.union@~3.1.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._baseflatten": "^3.0.0",
+ "lodash._baseuniq": "^3.0.0",
+ "lodash.restparam": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s `_.union` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "a4a3066fc15d6a7f8151cce9bdfe63dce7f5bcff",
+ "tarball": "http://registry.npmjs.org/lodash.union/-/lodash.union-3.1.0.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.union",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/lodash/lodash"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.1.0"
+}
diff --git a/deps/npm/node_modules/lodash.uniq/LICENSE b/deps/npm/node_modules/lodash.uniq/LICENSE
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.uniq/LICENSE
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.uniq/README.md b/deps/npm/node_modules/lodash.uniq/README.md
new file mode 100644
index 0000000000..7ec935c7aa
--- /dev/null
+++ b/deps/npm/node_modules/lodash.uniq/README.md
@@ -0,0 +1,20 @@
+# lodash.uniq v3.2.2
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.uniq` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.uniq
+```
+
+In Node.js/io.js:
+
+```js
+var uniq = require('lodash.uniq');
+```
+
+See the [documentation](https://lodash.com/docs#uniq) or [package source](https://github.com/lodash/lodash/blob/3.2.2-npm-packages/lodash.uniq) for more details.
diff --git a/deps/npm/node_modules/lodash.uniq/index.js b/deps/npm/node_modules/lodash.uniq/index.js
new file mode 100644
index 0000000000..7c9a845e6a
--- /dev/null
+++ b/deps/npm/node_modules/lodash.uniq/index.js
@@ -0,0 +1,106 @@
+/**
+ * lodash 3.2.2 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseCallback = require('lodash._basecallback'),
+ baseUniq = require('lodash._baseuniq'),
+ isIterateeCall = require('lodash._isiterateecall');
+
+/**
+ * An implementation of `_.uniq` optimized for sorted arrays without support
+ * for callback shorthands and `this` binding.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The function invoked per iteration.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ */
+function sortedUniq(array, iteratee) {
+ var seen,
+ index = -1,
+ length = array.length,
+ resIndex = -1,
+ result = [];
+
+ while (++index < length) {
+ var value = array[index],
+ computed = iteratee ? iteratee(value, index, array) : value;
+
+ if (!index || seen !== computed) {
+ seen = computed;
+ result[++resIndex] = value;
+ }
+ }
+ return result;
+}
+
+/**
+ * Creates a duplicate-free version of an array, using
+ * [`SameValueZero`](http://ecma-international.org/ecma-262/6.0/#sec-samevaluezero)
+ * for equality comparisons, in which only the first occurence of each element
+ * is kept. Providing `true` for `isSorted` performs a faster search algorithm
+ * for sorted arrays. If an iteratee function is provided it is invoked for
+ * each element in the array to generate the criterion by which uniqueness
+ * is computed. The `iteratee` is bound to `thisArg` and invoked with three
+ * arguments: (value, index, array).
+ *
+ * If a property name is provided for `iteratee` the created `_.property`
+ * style callback returns the property value of the given element.
+ *
+ * If a value is also provided for `thisArg` the created `_.matchesProperty`
+ * style callback returns `true` for elements that have a matching property
+ * value, else `false`.
+ *
+ * If an object is provided for `iteratee` the created `_.matches` style
+ * callback returns `true` for elements that have the properties of the given
+ * object, else `false`.
+ *
+ * @static
+ * @memberOf _
+ * @alias unique
+ * @category Array
+ * @param {Array} array The array to inspect.
+ * @param {boolean} [isSorted] Specify the array is sorted.
+ * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+ * @param {*} [thisArg] The `this` binding of `iteratee`.
+ * @returns {Array} Returns the new duplicate-value-free array.
+ * @example
+ *
+ * _.uniq([2, 1, 2]);
+ * // => [2, 1]
+ *
+ * // using `isSorted`
+ * _.uniq([1, 1, 2], true);
+ * // => [1, 2]
+ *
+ * // using an iteratee function
+ * _.uniq([1, 2.5, 1.5, 2], function(n) {
+ * return this.floor(n);
+ * }, Math);
+ * // => [1, 2.5]
+ *
+ * // using the `_.property` callback shorthand
+ * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+ * // => [{ 'x': 1 }, { 'x': 2 }]
+ */
+function uniq(array, isSorted, iteratee, thisArg) {
+ var length = array ? array.length : 0;
+ if (!length) {
+ return [];
+ }
+ if (isSorted != null && typeof isSorted != 'boolean') {
+ thisArg = iteratee;
+ iteratee = isIterateeCall(array, isSorted, thisArg) ? undefined : isSorted;
+ isSorted = false;
+ }
+ iteratee = iteratee == null ? iteratee : baseCallback(iteratee, thisArg, 3);
+ return (isSorted)
+ ? sortedUniq(array, iteratee)
+ : baseUniq(array, iteratee);
+}
+
+module.exports = uniq;
diff --git a/deps/npm/node_modules/lodash.uniq/package.json b/deps/npm/node_modules/lodash.uniq/package.json
new file mode 100644
index 0000000000..0e06bfe287
--- /dev/null
+++ b/deps/npm/node_modules/lodash.uniq/package.json
@@ -0,0 +1,125 @@
+{
+ "_args": [
+ [
+ "lodash.uniq@~3.2.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "lodash.uniq@>=3.2.1 <3.3.0",
+ "_id": "lodash.uniq@3.2.2",
+ "_inCache": true,
+ "_location": "/lodash.uniq",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.12.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.uniq",
+ "raw": "lodash.uniq@~3.2.1",
+ "rawSpec": "~3.2.1",
+ "scope": null,
+ "spec": ">=3.2.1 <3.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-3.2.2.tgz",
+ "_shasum": "146c36f25e75d19501ba402e88ba14937f63cd8b",
+ "_shrinkwrap": null,
+ "_spec": "lodash.uniq@~3.2.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._basecallback": "^3.0.0",
+ "lodash._baseuniq": "^3.0.0",
+ "lodash._getnative": "^3.0.0",
+ "lodash._isiterateecall": "^3.0.0",
+ "lodash.isarray": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s `_.uniq` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "146c36f25e75d19501ba402e88ba14937f63cd8b",
+ "tarball": "http://registry.npmjs.org/lodash.uniq/-/lodash.uniq-3.2.2.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.uniq",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.2.2"
+}
diff --git a/deps/npm/node_modules/lodash.without/LICENSE.txt b/deps/npm/node_modules/lodash.without/LICENSE.txt
new file mode 100644
index 0000000000..9cd87e5dce
--- /dev/null
+++ b/deps/npm/node_modules/lodash.without/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+Based on Underscore.js, copyright 2009-2015 Jeremy Ashkenas,
+DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
+
+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/lodash.without/README.md b/deps/npm/node_modules/lodash.without/README.md
new file mode 100644
index 0000000000..5414eed6d3
--- /dev/null
+++ b/deps/npm/node_modules/lodash.without/README.md
@@ -0,0 +1,20 @@
+# lodash.without v3.2.1
+
+The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.without` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
+
+## Installation
+
+Using npm:
+
+```bash
+$ {sudo -H} npm i -g npm
+$ npm i --save lodash.without
+```
+
+In Node.js/io.js:
+
+```js
+var without = require('lodash.without');
+```
+
+See the [documentation](https://lodash.com/docs#without) or [package source](https://github.com/lodash/lodash/blob/3.2.1-npm-packages/lodash.without) for more details.
diff --git a/deps/npm/node_modules/lodash.without/index.js b/deps/npm/node_modules/lodash.without/index.js
new file mode 100644
index 0000000000..2febcd416b
--- /dev/null
+++ b/deps/npm/node_modules/lodash.without/index.js
@@ -0,0 +1,89 @@
+/**
+ * lodash 3.2.1 (Custom Build) <https://lodash.com/>
+ * Build: `lodash modern modularize exports="npm" -o ./`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
+ */
+var baseDifference = require('lodash._basedifference'),
+ restParam = require('lodash.restparam');
+
+/**
+ * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
+ * of an array-like value.
+ */
+var MAX_SAFE_INTEGER = 9007199254740991;
+
+/**
+ * The base implementation of `_.property` without support for deep paths.
+ *
+ * @private
+ * @param {string} key The key of the property to get.
+ * @returns {Function} Returns the new function.
+ */
+function baseProperty(key) {
+ return function(object) {
+ return object == null ? undefined : object[key];
+ };
+}
+
+/**
+ * Gets the "length" property value of `object`.
+ *
+ * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+ * that affects Safari on at least iOS 8.1-8.3 ARM64.
+ *
+ * @private
+ * @param {Object} object The object to query.
+ * @returns {*} Returns the "length" value.
+ */
+var getLength = baseProperty('length');
+
+/**
+ * Checks if `value` is array-like.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+ */
+function isArrayLike(value) {
+ return value != null && isLength(getLength(value));
+}
+
+/**
+ * Checks if `value` is a valid array-like length.
+ *
+ * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
+ */
+function isLength(value) {
+ return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
+}
+
+/**
+ * Creates an array excluding all provided values using
+ * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+ * for equality comparisons.
+ *
+ * @static
+ * @memberOf _
+ * @category Array
+ * @param {Array} array The array to filter.
+ * @param {...*} [values] The values to exclude.
+ * @returns {Array} Returns the new array of filtered values.
+ * @example
+ *
+ * _.without([1, 2, 1, 3], 1, 2);
+ * // => [3]
+ */
+var without = restParam(function(array, values) {
+ return isArrayLike(array)
+ ? baseDifference(array, values)
+ : [];
+});
+
+module.exports = without;
diff --git a/deps/npm/node_modules/lodash.without/package.json b/deps/npm/node_modules/lodash.without/package.json
new file mode 100644
index 0000000000..3463a8fc9f
--- /dev/null
+++ b/deps/npm/node_modules/lodash.without/package.json
@@ -0,0 +1,122 @@
+{
+ "_args": [
+ [
+ "lodash.without@~3.2.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "lodash.without@>=3.2.1 <3.3.0",
+ "_id": "lodash.without@3.2.1",
+ "_inCache": true,
+ "_location": "/lodash.without",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "jdalton"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lodash.without",
+ "raw": "lodash.without@~3.2.1",
+ "rawSpec": "~3.2.1",
+ "scope": null,
+ "spec": ">=3.2.1 <3.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/lodash.without/-/lodash.without-3.2.1.tgz",
+ "_shasum": "d69614b3512e52294b6abab782e7ca96538ce816",
+ "_shrinkwrap": null,
+ "_spec": "lodash.without@~3.2.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "john.david.dalton@gmail.com",
+ "name": "John-David Dalton",
+ "url": "http://allyoucanleet.com/"
+ },
+ "bugs": {
+ "url": "https://github.com/lodash/lodash/issues"
+ },
+ "contributors": [
+ {
+ "name": "John-David Dalton",
+ "email": "john.david.dalton@gmail.com",
+ "url": "http://allyoucanleet.com/"
+ },
+ {
+ "name": "Benjamin Tan",
+ "email": "demoneaux@gmail.com",
+ "url": "https://d10.github.io/"
+ },
+ {
+ "name": "Blaine Bublitz",
+ "email": "blaine@iceddev.com",
+ "url": "http://www.iceddev.com/"
+ },
+ {
+ "name": "Kit Cambridge",
+ "email": "github@kitcambridge.be",
+ "url": "http://kitcambridge.be/"
+ },
+ {
+ "name": "Mathias Bynens",
+ "email": "mathias@qiwi.be",
+ "url": "https://mathiasbynens.be/"
+ }
+ ],
+ "dependencies": {
+ "lodash._basedifference": "^3.0.0",
+ "lodash.restparam": "^3.0.0"
+ },
+ "description": "The modern build of lodash’s `_.without` as a module.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "d69614b3512e52294b6abab782e7ca96538ce816",
+ "tarball": "http://registry.npmjs.org/lodash.without/-/lodash.without-3.2.1.tgz"
+ },
+ "homepage": "https://lodash.com/",
+ "icon": "https://lodash.com/icon.svg",
+ "keywords": [
+ "lodash",
+ "lodash-modularized",
+ "stdlib",
+ "util"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jdalton",
+ "email": "john.david.dalton@gmail.com"
+ },
+ {
+ "name": "kitcambridge",
+ "email": "github@kitcambridge.be"
+ },
+ {
+ "name": "mathias",
+ "email": "mathias@qiwi.be"
+ },
+ {
+ "name": "phated",
+ "email": "blaine@iceddev.com"
+ },
+ {
+ "name": "d10",
+ "email": "demoneaux@gmail.com"
+ }
+ ],
+ "name": "lodash.without",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ "scripts": {
+ "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
+ },
+ "version": "3.2.1"
+}
diff --git a/deps/npm/node_modules/lru-cache/README.md b/deps/npm/node_modules/lru-cache/README.md
index 3fd6d0bcae..a8bba688f7 100644
--- a/deps/npm/node_modules/lru-cache/README.md
+++ b/deps/npm/node_modules/lru-cache/README.md
@@ -36,7 +36,7 @@ away.
* `length` Function that is used to calculate the length of stored
items. If you're storing strings or buffers, then you probably want
to do something like `function(n){return n.length}`. The default is
- `function(n){return 1}`, which is fine if you want to store `max`
+ `function(n){return 1}`, which is fine if you want to store `n`
like-sized things.
* `dispose` Function that is called on items when they are dropped
from the cache. This can be handy if you want to close file
@@ -102,18 +102,8 @@ away.
Return total length of objects in cache taking into account
`length` options function.
-* `itemCount`
+* `itemCount()`
Return total quantity of objects currently in cache. Note, that
`stale` (see options) items are returned as part of this item
count.
-
-* `dump()`
-
- Return an array of the cache entries ready for serialization and usage
- with 'destinationCache.load(arr)`.
-
-* `load(cacheEntriesArray)`
-
- Loads another cache entries array, obtained with `sourceCache.dump()`,
- into the cache. The destination cache is reset before loading new entries
diff --git a/deps/npm/node_modules/lru-cache/lib/lru-cache.js b/deps/npm/node_modules/lru-cache/lib/lru-cache.js
index 32c2d2d90b..d66e7a2382 100644
--- a/deps/npm/node_modules/lru-cache/lib/lru-cache.js
+++ b/deps/npm/node_modules/lru-cache/lib/lru-cache.js
@@ -137,24 +137,10 @@ LRUCache.prototype.reset = function () {
this._itemCount = 0
}
+// Provided for debugging/dev purposes only. No promises whatsoever that
+// this API stays stable.
LRUCache.prototype.dump = function () {
- var arr = []
- var i = 0
-
- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
- var hit = this._lruList[k]
- if (!isStale(this, hit)) {
- //Do not store staled hits
- ++i
- arr.push({
- k: hit.key,
- v: hit.value,
- e: hit.now + (hit.maxAge || 0)
- });
- }
- }
- //arr has the most read first
- return arr
+ return this._cache
}
LRUCache.prototype.dumpLru = function () {
@@ -164,13 +150,8 @@ LRUCache.prototype.dumpLru = function () {
LRUCache.prototype.set = function (key, value, maxAge) {
maxAge = maxAge || this._maxAge
var now = maxAge ? Date.now() : 0
- var len = this._lengthCalculator(value)
if (hOP(this._cache, key)) {
- if (len > this._max) {
- del(this, this._cache[key])
- return false
- }
// dispose of the old one before overwriting
if (this._dispose)
this._dispose(key, this._cache[key].value)
@@ -178,16 +159,11 @@ LRUCache.prototype.set = function (key, value, maxAge) {
this._cache[key].now = now
this._cache[key].maxAge = maxAge
this._cache[key].value = value
- this._length += (len - this._cache[key].length)
- this._cache[key].length = len
this.get(key)
-
- if (this._length > this._max)
- trim(this)
-
return true
}
+ var len = this._lengthCalculator(value)
var hit = new Entry(key, value, this._mru++, len, now, maxAge)
// oversized objects fall out of cache automatically.
@@ -233,26 +209,6 @@ LRUCache.prototype.del = function (key) {
del(this, this._cache[key])
}
-LRUCache.prototype.load = function (arr) {
- //reset the cache
- this.reset();
-
- var now = Date.now()
- //A previous serialized cache has the most recent items first
- for (var l = arr.length - 1; l >= 0; l-- ) {
- var hit = arr[l]
- var expiresAt = hit.e || 0
- if (expiresAt === 0) {
- //the item was created without expiration in a non aged cache
- this.set(hit.k, hit.v)
- } else {
- var maxAge = expiresAt - now
- //dont add already expired items
- if (maxAge > 0) this.set(hit.k, hit.v, maxAge)
- }
- }
-}
-
function get (self, key, doUse) {
var hit = self._cache[key]
if (hit) {
diff --git a/deps/npm/node_modules/lru-cache/package.json b/deps/npm/node_modules/lru-cache/package.json
index 5a9d76a1d5..97472d1fb1 100644
--- a/deps/npm/node_modules/lru-cache/package.json
+++ b/deps/npm/node_modules/lru-cache/package.json
@@ -1,47 +1,64 @@
{
- "name": "lru-cache",
- "description": "A cache object that deletes the least-recently-used items.",
- "version": "2.7.0",
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me"
- },
- "keywords": [
- "mru",
- "lru",
- "cache"
+ "_args": [
+ [
+ "lru-cache@2",
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch"
+ ]
],
- "scripts": {
- "test": "tap test --gc"
+ "_from": "lru-cache@>=2.0.0 <3.0.0",
+ "_id": "lru-cache@2.6.5",
+ "_inCache": true,
+ "_location": "/lru-cache",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "main": "lib/lru-cache.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-lru-cache.git"
+ "_npmVersion": "3.0.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "lru-cache",
+ "raw": "lru-cache@2",
+ "rawSpec": "2",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
},
- "devDependencies": {
- "tap": "^1.2.0",
- "weak": ""
+ "_requiredBy": [
+ "/node-gyp/minimatch"
+ ],
+ "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
+ "_shasum": "e56d6354148ede8d7707b58d143220fd08df0fd5",
+ "_shrinkwrap": null,
+ "_spec": "lru-cache@2",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter"
},
- "license": "ISC",
- "gitHead": "fc6ee93093f4e463e5946736d4c48adc013724d1",
"bugs": {
"url": "https://github.com/isaacs/node-lru-cache/issues"
},
- "homepage": "https://github.com/isaacs/node-lru-cache#readme",
- "_id": "lru-cache@2.7.0",
- "_shasum": "aaa376a4cd970f9cebf5ec1909566ec034f07ee6",
- "_from": "lru-cache@2.7.0",
- "_npmVersion": "3.3.2",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "A cache object that deletes the least-recently-used items.",
+ "devDependencies": {
+ "tap": "^1.2.0",
+ "weak": ""
},
+ "directories": {},
"dist": {
- "shasum": "aaa376a4cd970f9cebf5ec1909566ec034f07ee6",
- "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.0.tgz"
+ "shasum": "e56d6354148ede8d7707b58d143220fd08df0fd5",
+ "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz"
},
+ "gitHead": "7062a0c891bfb80a294be9217e4de0f882e75776",
+ "homepage": "https://github.com/isaacs/node-lru-cache#readme",
+ "keywords": [
+ "cache",
+ "lru",
+ "mru"
+ ],
+ "license": "ISC",
+ "main": "lib/lru-cache.js",
"maintainers": [
{
"name": "isaacs",
@@ -52,7 +69,14 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "lru-cache",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-lru-cache.git"
+ },
+ "scripts": {
+ "test": "tap test --gc"
+ },
+ "version": "2.6.5"
}
diff --git a/deps/npm/node_modules/lru-cache/test/basic.js b/deps/npm/node_modules/lru-cache/test/basic.js
index b47225f109..949113e9ce 100644
--- a/deps/npm/node_modules/lru-cache/test/basic.js
+++ b/deps/npm/node_modules/lru-cache/test/basic.js
@@ -93,6 +93,31 @@ test("reset", function (t) {
})
+// Note: `<cache>.dump()` is a debugging tool only. No guarantees are made
+// about the format/layout of the response.
+test("dump", function (t) {
+ var cache = new LRU(10)
+ var d = cache.dump();
+ t.equal(Object.keys(d).length, 0, "nothing in dump for empty cache")
+ cache.set("a", "A")
+ var d = cache.dump() // { a: { key: "a", value: "A", lu: 0 } }
+ t.ok(d.a)
+ t.equal(d.a.key, "a")
+ t.equal(d.a.value, "A")
+ t.equal(d.a.lu, 0)
+
+ cache.set("b", "B")
+ cache.get("b")
+ d = cache.dump()
+ t.ok(d.b)
+ t.equal(d.b.key, "b")
+ t.equal(d.b.value, "B")
+ t.equal(d.b.lu, 2)
+
+ t.end()
+})
+
+
test("basic with weighed length", function (t) {
var cache = new LRU({
max: 100,
@@ -157,32 +182,6 @@ test("lru recently gotten with weighed length", function (t) {
t.end()
})
-test("lru recently updated with weighed length", function (t) {
- var cache = new LRU({
- max: 8,
- length: function (item) { return item.length }
- })
- cache.set("a", "A")
- cache.set("b", "BB")
- cache.set("c", "CCC")
- t.equal(cache.length, 6) //CCC BB A
- cache.set("a", "+A")
- t.equal(cache.length, 7) //+A CCC BB
- cache.set("b", "++BB")
- t.equal(cache.length, 6) //++BB +A
- t.equal(cache.get("c"), undefined)
-
- cache.set("c", "oversized")
- t.equal(cache.length, 6) //++BB +A
- t.equal(cache.get("c"), undefined)
-
- cache.set("a", "oversized")
- t.equal(cache.length, 4) //++BB
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), "++BB")
- t.end()
-})
-
test("set returns proper booleans", function(t) {
var cache = new LRU({
max: 5,
diff --git a/deps/npm/node_modules/lru-cache/test/serialize.js b/deps/npm/node_modules/lru-cache/test/serialize.js
deleted file mode 100644
index 5fe5dc3d37..0000000000
--- a/deps/npm/node_modules/lru-cache/test/serialize.js
+++ /dev/null
@@ -1,215 +0,0 @@
-var test = require('tap').test
-var LRU = require('../')
-
-test('dump', function (t) {
- var cache = new LRU()
-
- t.equal(cache.dump().length, 0, "nothing in dump for empty cache")
-
- cache.set("a", "A")
- cache.set("b", "B")
- t.deepEqual(cache.dump(), [
- { k: "b", v: "B", e: 0 },
- { k: "a", v: "A", e: 0 }
- ])
-
- cache.set("a", "A");
- t.deepEqual(cache.dump(), [
- { k: "a", v: "A", e: 0 },
- { k: "b", v: "B", e: 0 }
- ])
-
- cache.get("b");
- t.deepEqual(cache.dump(), [
- { k: "b", v: "B", e: 0 },
- { k: "a", v: "A", e: 0 }
- ])
-
- cache.del("a");
- t.deepEqual(cache.dump(), [
- { k: "b", v: "B", e: 0 }
- ])
-
- t.end()
-})
-
-test("do not dump stale items", function(t) {
- var cache = new LRU({
- max: 5,
- maxAge: 50
- })
-
- //expires at 50
- cache.set("a", "A")
-
- setTimeout(function () {
- //expires at 75
- cache.set("b", "B")
- var s = cache.dump()
- t.equal(s.length, 2)
- t.equal(s[0].k, "b")
- t.equal(s[1].k, "a")
- }, 25)
-
- setTimeout(function () {
- //expires at 110
- cache.set("c", "C")
- var s = cache.dump()
- t.equal(s.length, 2)
- t.equal(s[0].k, "c")
- t.equal(s[1].k, "b")
- }, 60)
-
- setTimeout(function () {
- //expires at 130
- cache.set("d", "D", 40)
- var s = cache.dump()
- t.equal(s.length, 2)
- t.equal(s[0].k, "d")
- t.equal(s[1].k, "c")
- }, 90)
-
- setTimeout(function () {
- var s = cache.dump()
- t.equal(s.length, 1)
- t.equal(s[0].k, "d")
- }, 120)
-
- setTimeout(function () {
- var s = cache.dump()
- t.deepEqual(s, [])
- t.end()
- }, 155)
-})
-
-test("load basic cache", function(t) {
- var cache = new LRU(),
- copy = new LRU()
-
- cache.set("a", "A")
- cache.set("b", "B")
-
- copy.load(cache.dump())
- t.deepEquals(cache.dump(), copy.dump())
-
- t.end()
-})
-
-
-test("load staled cache", function(t) {
- var cache = new LRU({maxAge: 50}),
- copy = new LRU({maxAge: 50}),
- arr
-
- //expires at 50
- cache.set("a", "A")
- setTimeout(function () {
- //expires at 80
- cache.set("b", "B")
- arr = cache.dump()
- t.equal(arr.length, 2)
- }, 30)
-
- setTimeout(function () {
- copy.load(arr)
- t.equal(copy.get("a"), undefined)
- t.equal(copy.get("b"), "B")
- }, 60)
-
- setTimeout(function () {
- t.equal(copy.get("b"), undefined)
- t.end()
- }, 90)
-})
-
-test("load to other size cache", function(t) {
- var cache = new LRU({max: 2}),
- copy = new LRU({max: 1})
-
- cache.set("a", "A")
- cache.set("b", "B")
-
- copy.load(cache.dump())
- t.equal(copy.get("a"), undefined)
- t.equal(copy.get("b"), "B")
-
- //update the last read from original cache
- cache.get("a")
- copy.load(cache.dump())
- t.equal(copy.get("a"), "A")
- t.equal(copy.get("b"), undefined)
-
- t.end()
-})
-
-
-test("load to other age cache", function(t) {
- var cache = new LRU({maxAge: 50}),
- aged = new LRU({maxAge: 100}),
- simple = new LRU(),
- arr,
- expired
-
- //created at 0
- //a would be valid till 0 + 50
- cache.set("a", "A")
- setTimeout(function () {
- //created at 20
- //b would be valid till 20 + 50
- cache.set("b", "B")
- //b would be valid till 20 + 70
- cache.set("c", "C", 70)
- arr = cache.dump()
- t.equal(arr.length, 3)
- }, 20)
-
- setTimeout(function () {
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), "B")
- t.equal(cache.get("c"), "C")
-
- aged.load(arr)
- t.equal(aged.get("a"), undefined)
- t.equal(aged.get("b"), "B")
- t.equal(aged.get("c"), "C")
-
- simple.load(arr)
- t.equal(simple.get("a"), undefined)
- t.equal(simple.get("b"), "B")
- t.equal(simple.get("c"), "C")
- }, 60)
-
- setTimeout(function () {
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), undefined)
- t.equal(cache.get("c"), "C")
-
- aged.load(arr)
- t.equal(aged.get("a"), undefined)
- t.equal(aged.get("b"), undefined)
- t.equal(aged.get("c"), "C")
-
- simple.load(arr)
- t.equal(simple.get("a"), undefined)
- t.equal(simple.get("b"), undefined)
- t.equal(simple.get("c"), "C")
- }, 80)
-
- setTimeout(function () {
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), undefined)
- t.equal(cache.get("c"), undefined)
-
- aged.load(arr)
- t.equal(aged.get("a"), undefined)
- t.equal(aged.get("b"), undefined)
- t.equal(aged.get("c"), undefined)
-
- simple.load(arr)
- t.equal(simple.get("a"), undefined)
- t.equal(simple.get("b"), undefined)
- t.equal(simple.get("c"), undefined)
- t.end()
- }, 100)
-
-})
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/HISTORY.md b/deps/npm/node_modules/mime-db/HISTORY.md
index 3088a726f6..3088a726f6 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/HISTORY.md
+++ b/deps/npm/node_modules/mime-db/HISTORY.md
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE b/deps/npm/node_modules/mime-db/LICENSE
index a7ae8ee9b8..a7ae8ee9b8 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE
+++ b/deps/npm/node_modules/mime-db/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/README.md b/deps/npm/node_modules/mime-db/README.md
index 164cca0301..164cca0301 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/README.md
+++ b/deps/npm/node_modules/mime-db/README.md
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/db.json b/deps/npm/node_modules/mime-db/db.json
index f5b1a8c511..f5b1a8c511 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/db.json
+++ b/deps/npm/node_modules/mime-db/db.json
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/index.js b/deps/npm/node_modules/mime-db/index.js
index 551031f690..551031f690 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/index.js
+++ b/deps/npm/node_modules/mime-db/index.js
diff --git a/deps/npm/node_modules/mime-db/package.json b/deps/npm/node_modules/mime-db/package.json
new file mode 100644
index 0000000000..66acfaa437
--- /dev/null
+++ b/deps/npm/node_modules/mime-db/package.json
@@ -0,0 +1,121 @@
+{
+ "_args": [
+ [
+ "mime-db@~1.19.0",
+ "/Users/rebecca/code/npm/node_modules/mime-types"
+ ]
+ ],
+ "_from": "mime-db@>=1.19.0 <1.20.0",
+ "_id": "mime-db@1.19.0",
+ "_inCache": true,
+ "_location": "/mime-db",
+ "_npmUser": {
+ "email": "doug@somethingdoug.com",
+ "name": "dougwilson"
+ },
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "mime-db",
+ "raw": "mime-db@~1.19.0",
+ "rawSpec": "~1.19.0",
+ "scope": null,
+ "spec": ">=1.19.0 <1.20.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/mime-types"
+ ],
+ "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.19.0.tgz",
+ "_shasum": "496a18198a7ce8244534e25bb102b74fb420fd56",
+ "_shrinkwrap": null,
+ "_spec": "mime-db@~1.19.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/mime-types",
+ "bugs": {
+ "url": "https://github.com/jshttp/mime-db/issues"
+ },
+ "contributors": [
+ {
+ "name": "Douglas Christopher Wilson",
+ "email": "doug@somethingdoug.com"
+ },
+ {
+ "name": "Jonathan Ong",
+ "email": "me@jongleberry.com",
+ "url": "http://jongleberry.com"
+ },
+ {
+ "name": "Robert Kieffer",
+ "email": "robert@broofa.com",
+ "url": "http://github.com/broofa"
+ }
+ ],
+ "dependencies": {},
+ "description": "Media Type Database",
+ "devDependencies": {
+ "bluebird": "2.10.0",
+ "co": "4.6.0",
+ "cogent": "1.0.1",
+ "csv-parse": "1.0.0",
+ "gnode": "0.1.1",
+ "istanbul": "0.3.20",
+ "mocha": "1.21.5",
+ "raw-body": "2.1.3",
+ "stream-to-array": "2"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "496a18198a7ce8244534e25bb102b74fb420fd56",
+ "tarball": "http://registry.npmjs.org/mime-db/-/mime-db-1.19.0.tgz"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ },
+ "files": [
+ "HISTORY.md",
+ "LICENSE",
+ "README.md",
+ "db.json",
+ "index.js"
+ ],
+ "gitHead": "46a40f0524a01fb3075a7ecde92e8e04fc93d599",
+ "homepage": "https://github.com/jshttp/mime-db",
+ "installable": true,
+ "keywords": [
+ "charset",
+ "charsets",
+ "database",
+ "db",
+ "mime",
+ "type",
+ "types"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "jongleberry",
+ "email": "jonathanrichardong@gmail.com"
+ },
+ {
+ "name": "dougwilson",
+ "email": "doug@somethingdoug.com"
+ }
+ ],
+ "name": "mime-db",
+ "optionalDependencies": {},
+ "readme": "# mime-db\n\n[![NPM Version][npm-version-image]][npm-url]\n[![NPM Downloads][npm-downloads-image]][npm-url]\n[![Node.js Version][node-image]][node-url]\n[![Build Status][travis-image]][travis-url]\n[![Coverage Status][coveralls-image]][coveralls-url]\n\nThis is a database of all mime types.\nIt consists of a single, public JSON file and does not include any logic,\nallowing it to remain as un-opinionated as possible with an API.\nIt aggregates data from the following sources:\n\n- http://www.iana.org/assignments/media-types/media-types.xhtml\n- http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types\n- http://hg.nginx.org/nginx/raw-file/default/conf/mime.types\n\n## Installation\n\n```bash\nnpm install mime-db\n```\n\n### Database Download\n\nIf you're crazy enough to use this in the browser, you can just grab the\nJSON file using [RawGit](https://rawgit.com/). It is recommended to replace\n`master` with [a release tag](https://github.com/jshttp/mime-db/tags) as the\nJSON format may change in the future.\n\n```\nhttps://cdn.rawgit.com/jshttp/mime-db/master/db.json\n```\n\n## Usage\n\n```js\nvar db = require('mime-db');\n\n// grab data on .js files\nvar data = db['application/javascript'];\n```\n\n## Data Structure\n\nThe JSON file is a map lookup for lowercased mime types.\nEach mime type has the following properties:\n\n- `.source` - where the mime type is defined.\n If not set, it's probably a custom media type.\n - `apache` - [Apache common media types](http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types)\n - `iana` - [IANA-defined media types](http://www.iana.org/assignments/media-types/media-types.xhtml)\n - `nginx` - [nginx media types](http://hg.nginx.org/nginx/raw-file/default/conf/mime.types)\n- `.extensions[]` - known extensions associated with this mime type.\n- `.compressible` - whether a file of this type is can be gzipped.\n- `.charset` - the default charset associated with this type, if any.\n\nIf unknown, every property could be `undefined`.\n\n## Contributing\n\nTo edit the database, only make PRs against `src/custom.json` or\n`src/custom-suffix.json`.\n\nTo update the build, run `npm run build`.\n\n## Adding Custom Media Types\n\nThe best way to get new media types included in this library is to register\nthem with the IANA. The community registration procedure is outlined in\n[RFC 6838 section 5](http://tools.ietf.org/html/rfc6838#section-5). Types\nregistered with the IANA are automatically pulled into this library.\n\n[npm-version-image]: https://img.shields.io/npm/v/mime-db.svg\n[npm-downloads-image]: https://img.shields.io/npm/dm/mime-db.svg\n[npm-url]: https://npmjs.org/package/mime-db\n[travis-image]: https://img.shields.io/travis/jshttp/mime-db/master.svg\n[travis-url]: https://travis-ci.org/jshttp/mime-db\n[coveralls-image]: https://img.shields.io/coveralls/jshttp/mime-db/master.svg\n[coveralls-url]: https://coveralls.io/r/jshttp/mime-db?branch=master\n[node-image]: https://img.shields.io/node/v/mime-db.svg\n[node-url]: http://nodejs.org/download/\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jshttp/mime-db.git"
+ },
+ "scripts": {
+ "build": "node scripts/build",
+ "fetch": "gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx",
+ "test": "mocha --reporter spec --bail --check-leaks test/",
+ "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
+ "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
+ "update": "npm run fetch && npm run build"
+ },
+ "version": "1.19.0"
+}
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/HISTORY.md b/deps/npm/node_modules/mime-types/HISTORY.md
index 3057e4940a..3057e4940a 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/HISTORY.md
+++ b/deps/npm/node_modules/mime-types/HISTORY.md
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/LICENSE b/deps/npm/node_modules/mime-types/LICENSE
index 06166077be..06166077be 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/LICENSE
+++ b/deps/npm/node_modules/mime-types/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/README.md b/deps/npm/node_modules/mime-types/README.md
index e26295d047..e26295d047 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/README.md
+++ b/deps/npm/node_modules/mime-types/README.md
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/index.js b/deps/npm/node_modules/mime-types/index.js
index f7008b246d..f7008b246d 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/index.js
+++ b/deps/npm/node_modules/mime-types/index.js
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/package.json b/deps/npm/node_modules/mime-types/package.json
index 73e16dde1e..5cd56a93b4 100644
--- a/deps/npm/node_modules/request/node_modules/mime-types/package.json
+++ b/deps/npm/node_modules/mime-types/package.json
@@ -1,7 +1,40 @@
{
- "name": "mime-types",
- "description": "The ultimate javascript content-type utility.",
- "version": "2.1.7",
+ "_args": [
+ [
+ "mime-types@~2.1.2",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "mime-types@>=2.1.2 <2.2.0",
+ "_id": "mime-types@2.1.7",
+ "_inCache": true,
+ "_location": "/mime-types",
+ "_npmUser": {
+ "email": "doug@somethingdoug.com",
+ "name": "dougwilson"
+ },
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "mime-types",
+ "raw": "mime-types@~2.1.2",
+ "rawSpec": "~2.1.2",
+ "scope": null,
+ "spec": ">=2.1.2 <2.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/form-data",
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.7.tgz",
+ "_shasum": "ff603970e3c731ef6f7f4df3c9a0f463a13c2755",
+ "_shrinkwrap": null,
+ "_spec": "mime-types@~2.1.2",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "bugs": {
+ "url": "https://github.com/jshttp/mime-types/issues"
+ },
"contributors": [
{
"name": "Douglas Christopher Wilson",
@@ -18,48 +51,35 @@
"url": "http://jongleberry.com"
}
],
- "license": "MIT",
- "keywords": [
- "mime",
- "types"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jshttp/mime-types.git"
- },
"dependencies": {
"mime-db": "~1.19.0"
},
+ "description": "The ultimate javascript content-type utility.",
"devDependencies": {
"istanbul": "0.3.20",
"mocha": "~1.21.5"
},
+ "directories": {},
+ "dist": {
+ "shasum": "ff603970e3c731ef6f7f4df3c9a0f463a13c2755",
+ "tarball": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.7.tgz"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ },
"files": [
"HISTORY.md",
"LICENSE",
"index.js"
],
- "engines": {
- "node": ">= 0.6"
- },
- "scripts": {
- "test": "mocha --reporter spec test/test.js",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"
- },
"gitHead": "43f860c7df4a70246272194d601348865d550298",
- "bugs": {
- "url": "https://github.com/jshttp/mime-types/issues"
- },
"homepage": "https://github.com/jshttp/mime-types",
- "_id": "mime-types@2.1.7",
- "_shasum": "ff603970e3c731ef6f7f4df3c9a0f463a13c2755",
- "_from": "mime-types@>=2.1.2 <2.2.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "dougwilson",
- "email": "doug@somethingdoug.com"
- },
+ "installable": true,
+ "keywords": [
+ "mime",
+ "types"
+ ],
+ "license": "MIT",
"maintainers": [
{
"name": "jongleberry",
@@ -74,11 +94,16 @@
"email": "doug@somethingdoug.com"
}
],
- "dist": {
- "shasum": "ff603970e3c731ef6f7f4df3c9a0f463a13c2755",
- "tarball": "http://registry.npmjs.org/mime-types/-/mime-types-2.1.7.tgz"
+ "name": "mime-types",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/jshttp/mime-types"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.7.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "mocha --reporter spec test/test.js",
+ "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/test.js",
+ "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot test/test.js"
+ },
+ "version": "2.1.7"
}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md
deleted file mode 100644
index 62bc7bae3f..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/README.md
+++ /dev/null
@@ -1,121 +0,0 @@
-# brace-expansion
-
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
-as known from sh/bash, in JavaScript.
-
-[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
-
-[![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
-
-## Example
-
-```js
-var expand = require('brace-expansion');
-
-expand('file-{a,b,c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('-v{,,}')
-// => ['-v', '-v', '-v']
-
-expand('file{0..2}.jpg')
-// => ['file0.jpg', 'file1.jpg', 'file2.jpg']
-
-expand('file-{a..c}.jpg')
-// => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
-
-expand('file{2..0}.jpg')
-// => ['file2.jpg', 'file1.jpg', 'file0.jpg']
-
-expand('file{0..4..2}.jpg')
-// => ['file0.jpg', 'file2.jpg', 'file4.jpg']
-
-expand('file-{a..e..2}.jpg')
-// => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
-
-expand('file{00..10..5}.jpg')
-// => ['file00.jpg', 'file05.jpg', 'file10.jpg']
-
-expand('{{A..C},{a..c}}')
-// => ['A', 'B', 'C', 'a', 'b', 'c']
-
-expand('ppp{,config,oe{,conf}}')
-// => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
-```
-
-## API
-
-```js
-var expand = require('brace-expansion');
-```
-
-### var expanded = expand(str)
-
-Return an array of all possible and valid expansions of `str`. If none are
-found, `[str]` is returned.
-
-Valid expansions are:
-
-```js
-/^(.*,)+(.+)?$/
-// {a,b,...}
-```
-
-A comma seperated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-A numeric sequence from `x` to `y` inclusive, with optional increment.
-If `x` or `y` start with a leading `0`, all the numbers will be padded
-to have equal length. Negative numbers and backwards iteration work too.
-
-```js
-/^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
-// {x..y[..incr]}
-```
-
-An alphabetic sequence from `x` to `y` inclusive, with optional increment.
-`x` and `y` must be exactly one character, and if given, `incr` must be a
-number.
-
-For compatibility reasons, the string `${` is not eligible for brace expansion.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install brace-expansion
-```
-
-## Contributors
-
-- [Julian Gruber](https://github.com/juliangruber)
-- [Isaac Z. Schlueter](https://github.com/isaacs)
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
deleted file mode 100644
index fa5da71a6d..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-
-test:
- @node_modules/.bin/tape test/*.js
-
-.PHONY: test
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
deleted file mode 100644
index c02ad348e6..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var balanced = require('./');
-
-console.log(balanced('{', '}', 'pre{in{nested}}post'));
-console.log(balanced('{', '}', 'pre{first}between{second}post'));
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
deleted file mode 100644
index 2f1bd3d5d2..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "name": "concat-map",
- "description": "concatenative mapdashery",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/substack/node-concat-map.git"
- },
- "main": "index.js",
- "keywords": [
- "concat",
- "concatMap",
- "map",
- "functional",
- "higher-order"
- ],
- "directories": {
- "example": "example",
- "test": "test"
- },
- "scripts": {
- "test": "tape test/*.js"
- },
- "devDependencies": {
- "tape": "~2.4.0"
- },
- "license": "MIT",
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
- "testling": {
- "files": "test/*.js",
- "browsers": {
- "ie": [
- 6,
- 7,
- 8,
- 9
- ],
- "ff": [
- 3.5,
- 10,
- 15
- ],
- "chrome": [
- 10,
- 22
- ],
- "safari": [
- 5.1
- ],
- "opera": [
- 12
- ]
- }
- },
- "bugs": {
- "url": "https://github.com/substack/node-concat-map/issues"
- },
- "homepage": "https://github.com/substack/node-concat-map",
- "_id": "concat-map@0.0.1",
- "dist": {
- "shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "tarball": "https://registrytwo.npmjs.com/concat-map/-/concat-map-0.0.1.tgz"
- },
- "_from": "concat-map@0.0.1",
- "_npmVersion": "1.3.21",
- "_npmUser": {
- "name": "substack",
- "email": "mail@substack.net"
- },
- "maintainers": [
- {
- "name": "substack",
- "email": "mail@substack.net"
- }
- ],
- "_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "_resolved": "https://registrytwo.npmjs.com/concat-map/-/concat-map-0.0.1.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js
deleted file mode 100644
index 5fe2b8ad48..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-var fs = require('fs');
-var resfile = __dirname + '/bash-results.txt';
-var cases = fs.readFileSync(resfile, 'utf8').split('><><><><');
-
-// throw away the EOF marker
-cases.pop()
-
-test('matches bash expansions', function(t) {
- cases.forEach(function(testcase) {
- var set = testcase.split('\n');
- var pattern = set.shift();
- var actual = expand(pattern);
-
- // If it expands to the empty string, then it's actually
- // just nothing, but Bash is a singly typed language, so
- // "nothing" is the same as "".
- if (set.length === 1 && set[0] === '') {
- set = []
- } else {
- // otherwise, strip off the [] that were added so that
- // "" expansions would be preserved properly.
- set = set.map(function (s) {
- return s.replace(/^\[|\]$/g, '')
- })
- }
-
- t.same(actual, set, pattern);
- });
- t.end();
-})
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt
deleted file mode 100644
index 958148d26a..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt
+++ /dev/null
@@ -1,1075 +0,0 @@
-A{b,{d,e},{f,g}}Z
-[AbZ]
-[AdZ]
-[AeZ]
-[AfZ]
-[AgZ]><><><><PRE-{a,b}{{a,b},a,b}-POST
-[PRE-aa-POST]
-[PRE-ab-POST]
-[PRE-aa-POST]
-[PRE-ab-POST]
-[PRE-ba-POST]
-[PRE-bb-POST]
-[PRE-ba-POST]
-[PRE-bb-POST]><><><><\{a,b}{{a,b},a,b}
-[{a,b}a]
-[{a,b}b]
-[{a,b}a]
-[{a,b}b]><><><><{{a,b}
-[{a]
-[{b]><><><><{a,b}}
-[a}]
-[b}]><><><><{,}
-><><><><a{,}
-[a]
-[a]><><><><{,}b
-[b]
-[b]><><><><a{,}b
-[ab]
-[ab]><><><><a{b}c
-[a{b}c]><><><><a{1..5}b
-[a1b]
-[a2b]
-[a3b]
-[a4b]
-[a5b]><><><><a{01..5}b
-[a01b]
-[a02b]
-[a03b]
-[a04b]
-[a05b]><><><><a{-01..5}b
-[a-01b]
-[a000b]
-[a001b]
-[a002b]
-[a003b]
-[a004b]
-[a005b]><><><><a{-01..5..3}b
-[a-01b]
-[a002b]
-[a005b]><><><><a{001..9}b
-[a001b]
-[a002b]
-[a003b]
-[a004b]
-[a005b]
-[a006b]
-[a007b]
-[a008b]
-[a009b]><><><><a{b,c{d,e},{f,g}h}x{y,z
-[abx{y,z]
-[acdx{y,z]
-[acex{y,z]
-[afhx{y,z]
-[aghx{y,z]><><><><a{b,c{d,e},{f,g}h}x{y,z\}
-[abx{y,z}]
-[acdx{y,z}]
-[acex{y,z}]
-[afhx{y,z}]
-[aghx{y,z}]><><><><a{b,c{d,e},{f,g}h}x{y,z}
-[abxy]
-[abxz]
-[acdxy]
-[acdxz]
-[acexy]
-[acexz]
-[afhxy]
-[afhxz]
-[aghxy]
-[aghxz]><><><><a{b{c{d,e}f{x,y{{g}h
-[a{b{cdf{x,y{{g}h]
-[a{b{cef{x,y{{g}h]><><><><a{b{c{d,e}f{x,y{}g}h
-[a{b{cdfxh]
-[a{b{cdfy{}gh]
-[a{b{cefxh]
-[a{b{cefy{}gh]><><><><a{b{c{d,e}f{x,y}}g}h
-[a{b{cdfx}g}h]
-[a{b{cdfy}g}h]
-[a{b{cefx}g}h]
-[a{b{cefy}g}h]><><><><a{b{c{d,e}f}g}h
-[a{b{cdf}g}h]
-[a{b{cef}g}h]><><><><a{{x,y},z}b
-[axb]
-[ayb]
-[azb]><><><><f{x,y{g,z}}h
-[fxh]
-[fygh]
-[fyzh]><><><><f{x,y{{g,z}}h
-[f{x,y{g}h]
-[f{x,y{z}h]><><><><f{x,y{{g,z}}h}
-[fx]
-[fy{g}h]
-[fy{z}h]><><><><f{x,y{{g}h
-[f{x,y{{g}h]><><><><f{x,y{{g}}h
-[f{x,y{{g}}h]><><><><f{x,y{}g}h
-[fxh]
-[fy{}gh]><><><><z{a,b{,c}d
-[z{a,bd]
-[z{a,bcd]><><><><z{a,b},c}d
-[za,c}d]
-[zb,c}d]><><><><{-01..5}
-[-01]
-[000]
-[001]
-[002]
-[003]
-[004]
-[005]><><><><{-05..100..5}
-[-05]
-[000]
-[005]
-[010]
-[015]
-[020]
-[025]
-[030]
-[035]
-[040]
-[045]
-[050]
-[055]
-[060]
-[065]
-[070]
-[075]
-[080]
-[085]
-[090]
-[095]
-[100]><><><><{-05..100}
-[-05]
-[-04]
-[-03]
-[-02]
-[-01]
-[000]
-[001]
-[002]
-[003]
-[004]
-[005]
-[006]
-[007]
-[008]
-[009]
-[010]
-[011]
-[012]
-[013]
-[014]
-[015]
-[016]
-[017]
-[018]
-[019]
-[020]
-[021]
-[022]
-[023]
-[024]
-[025]
-[026]
-[027]
-[028]
-[029]
-[030]
-[031]
-[032]
-[033]
-[034]
-[035]
-[036]
-[037]
-[038]
-[039]
-[040]
-[041]
-[042]
-[043]
-[044]
-[045]
-[046]
-[047]
-[048]
-[049]
-[050]
-[051]
-[052]
-[053]
-[054]
-[055]
-[056]
-[057]
-[058]
-[059]
-[060]
-[061]
-[062]
-[063]
-[064]
-[065]
-[066]
-[067]
-[068]
-[069]
-[070]
-[071]
-[072]
-[073]
-[074]
-[075]
-[076]
-[077]
-[078]
-[079]
-[080]
-[081]
-[082]
-[083]
-[084]
-[085]
-[086]
-[087]
-[088]
-[089]
-[090]
-[091]
-[092]
-[093]
-[094]
-[095]
-[096]
-[097]
-[098]
-[099]
-[100]><><><><{0..5..2}
-[0]
-[2]
-[4]><><><><{0001..05..2}
-[0001]
-[0003]
-[0005]><><><><{0001..-5..2}
-[0001]
-[-001]
-[-003]
-[-005]><><><><{0001..-5..-2}
-[0001]
-[-001]
-[-003]
-[-005]><><><><{0001..5..-2}
-[0001]
-[0003]
-[0005]><><><><{01..5}
-[01]
-[02]
-[03]
-[04]
-[05]><><><><{1..05}
-[01]
-[02]
-[03]
-[04]
-[05]><><><><{1..05..3}
-[01]
-[04]><><><><{05..100}
-[005]
-[006]
-[007]
-[008]
-[009]
-[010]
-[011]
-[012]
-[013]
-[014]
-[015]
-[016]
-[017]
-[018]
-[019]
-[020]
-[021]
-[022]
-[023]
-[024]
-[025]
-[026]
-[027]
-[028]
-[029]
-[030]
-[031]
-[032]
-[033]
-[034]
-[035]
-[036]
-[037]
-[038]
-[039]
-[040]
-[041]
-[042]
-[043]
-[044]
-[045]
-[046]
-[047]
-[048]
-[049]
-[050]
-[051]
-[052]
-[053]
-[054]
-[055]
-[056]
-[057]
-[058]
-[059]
-[060]
-[061]
-[062]
-[063]
-[064]
-[065]
-[066]
-[067]
-[068]
-[069]
-[070]
-[071]
-[072]
-[073]
-[074]
-[075]
-[076]
-[077]
-[078]
-[079]
-[080]
-[081]
-[082]
-[083]
-[084]
-[085]
-[086]
-[087]
-[088]
-[089]
-[090]
-[091]
-[092]
-[093]
-[094]
-[095]
-[096]
-[097]
-[098]
-[099]
-[100]><><><><{0a..0z}
-[{0a..0z}]><><><><{a,b\}c,d}
-[a]
-[b}c]
-[d]><><><><{a,b{c,d}
-[{a,bc]
-[{a,bd]><><><><{a,b}c,d}
-[ac,d}]
-[bc,d}]><><><><{a..F}
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]
-[Y]
-[X]
-[W]
-[V]
-[U]
-[T]
-[S]
-[R]
-[Q]
-[P]
-[O]
-[N]
-[M]
-[L]
-[K]
-[J]
-[I]
-[H]
-[G]
-[F]><><><><{A..f}
-[A]
-[B]
-[C]
-[D]
-[E]
-[F]
-[G]
-[H]
-[I]
-[J]
-[K]
-[L]
-[M]
-[N]
-[O]
-[P]
-[Q]
-[R]
-[S]
-[T]
-[U]
-[V]
-[W]
-[X]
-[Y]
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]><><><><{a..Z}
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]><><><><{A..z}
-[A]
-[B]
-[C]
-[D]
-[E]
-[F]
-[G]
-[H]
-[I]
-[J]
-[K]
-[L]
-[M]
-[N]
-[O]
-[P]
-[Q]
-[R]
-[S]
-[T]
-[U]
-[V]
-[W]
-[X]
-[Y]
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]
-[g]
-[h]
-[i]
-[j]
-[k]
-[l]
-[m]
-[n]
-[o]
-[p]
-[q]
-[r]
-[s]
-[t]
-[u]
-[v]
-[w]
-[x]
-[y]
-[z]><><><><{z..A}
-[z]
-[y]
-[x]
-[w]
-[v]
-[u]
-[t]
-[s]
-[r]
-[q]
-[p]
-[o]
-[n]
-[m]
-[l]
-[k]
-[j]
-[i]
-[h]
-[g]
-[f]
-[e]
-[d]
-[c]
-[b]
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]
-[Y]
-[X]
-[W]
-[V]
-[U]
-[T]
-[S]
-[R]
-[Q]
-[P]
-[O]
-[N]
-[M]
-[L]
-[K]
-[J]
-[I]
-[H]
-[G]
-[F]
-[E]
-[D]
-[C]
-[B]
-[A]><><><><{Z..a}
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]><><><><{a..F..2}
-[a]
-[_]
-[]]
-[[]
-[Y]
-[W]
-[U]
-[S]
-[Q]
-[O]
-[M]
-[K]
-[I]
-[G]><><><><{A..f..02}
-[A]
-[C]
-[E]
-[G]
-[I]
-[K]
-[M]
-[O]
-[Q]
-[S]
-[U]
-[W]
-[Y]
-[[]
-[]]
-[_]
-[a]
-[c]
-[e]><><><><{a..Z..5}
-[a]
-[]><><><><d{a..Z..5}b
-[dab]
-[db]><><><><{A..z..10}
-[A]
-[K]
-[U]
-[_]
-[i]
-[s]><><><><{z..A..-2}
-[z]
-[x]
-[v]
-[t]
-[r]
-[p]
-[n]
-[l]
-[j]
-[h]
-[f]
-[d]
-[b]
-[`]
-[^]
-[]
-[Z]
-[X]
-[V]
-[T]
-[R]
-[P]
-[N]
-[L]
-[J]
-[H]
-[F]
-[D]
-[B]><><><><{Z..a..20}
-[Z]><><><><{a{,b}
-[{a]
-[{ab]><><><><{a},b}
-[a}]
-[b]><><><><{x,y{,}g}
-[x]
-[yg]
-[yg]><><><><{x,y{}g}
-[x]
-[y{}g]><><><><{{a,b}
-[{a]
-[{b]><><><><{{a,b},c}
-[a]
-[b]
-[c]><><><><{{a,b}c}
-[{ac}]
-[{bc}]><><><><{{a,b},}
-[a]
-[b]><><><><X{{a,b},}X
-[XaX]
-[XbX]
-[XX]><><><><{{a,b},}c
-[ac]
-[bc]
-[c]><><><><{{a,b}.}
-[{a.}]
-[{b.}]><><><><{{a,b}}
-[{a}]
-[{b}]><><><><X{a..#}X
-[X{a..#}X]><><><><
-><><><><{-10..00}
-[-10]
-[-09]
-[-08]
-[-07]
-[-06]
-[-05]
-[-04]
-[-03]
-[-02]
-[-01]
-[000]><><><><{a,\\{a,b}c}
-[a]
-[\ac]
-[\bc]><><><><{a,\{a,b}c}
-[ac}]
-[{ac}]
-[bc}]><><><><a,\{b,c}
-[a,{b,c}]><><><><{-10.\.00}
-[{-10..00}]><><><><ff{c,b,a}
-[ffc]
-[ffb]
-[ffa]><><><><f{d,e,f}g
-[fdg]
-[feg]
-[ffg]><><><><{l,n,m}xyz
-[lxyz]
-[nxyz]
-[mxyz]><><><><{abc\,def}
-[{abc,def}]><><><><{abc}
-[{abc}]><><><><{x\,y,\{abc\},trie}
-[x,y]
-[{abc}]
-[trie]><><><><{}
-[{}]><><><><}
-[}]><><><><{
-[{]><><><><abcd{efgh
-[abcd{efgh]><><><><{1..10}
-[1]
-[2]
-[3]
-[4]
-[5]
-[6]
-[7]
-[8]
-[9]
-[10]><><><><{0..10,braces}
-[0..10]
-[braces]><><><><{{0..10},braces}
-[0]
-[1]
-[2]
-[3]
-[4]
-[5]
-[6]
-[7]
-[8]
-[9]
-[10]
-[braces]><><><><x{{0..10},braces}y
-[x0y]
-[x1y]
-[x2y]
-[x3y]
-[x4y]
-[x5y]
-[x6y]
-[x7y]
-[x8y]
-[x9y]
-[x10y]
-[xbracesy]><><><><{3..3}
-[3]><><><><x{3..3}y
-[x3y]><><><><{10..1}
-[10]
-[9]
-[8]
-[7]
-[6]
-[5]
-[4]
-[3]
-[2]
-[1]><><><><{10..1}y
-[10y]
-[9y]
-[8y]
-[7y]
-[6y]
-[5y]
-[4y]
-[3y]
-[2y]
-[1y]><><><><x{10..1}y
-[x10y]
-[x9y]
-[x8y]
-[x7y]
-[x6y]
-[x5y]
-[x4y]
-[x3y]
-[x2y]
-[x1y]><><><><{a..f}
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]><><><><{f..a}
-[f]
-[e]
-[d]
-[c]
-[b]
-[a]><><><><{a..A}
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]
-[Y]
-[X]
-[W]
-[V]
-[U]
-[T]
-[S]
-[R]
-[Q]
-[P]
-[O]
-[N]
-[M]
-[L]
-[K]
-[J]
-[I]
-[H]
-[G]
-[F]
-[E]
-[D]
-[C]
-[B]
-[A]><><><><{A..a}
-[A]
-[B]
-[C]
-[D]
-[E]
-[F]
-[G]
-[H]
-[I]
-[J]
-[K]
-[L]
-[M]
-[N]
-[O]
-[P]
-[Q]
-[R]
-[S]
-[T]
-[U]
-[V]
-[W]
-[X]
-[Y]
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]><><><><{f..f}
-[f]><><><><{1..f}
-[{1..f}]><><><><{f..1}
-[{f..1}]><><><><{-1..-10}
-[-1]
-[-2]
-[-3]
-[-4]
-[-5]
-[-6]
-[-7]
-[-8]
-[-9]
-[-10]><><><><{-20..0}
-[-20]
-[-19]
-[-18]
-[-17]
-[-16]
-[-15]
-[-14]
-[-13]
-[-12]
-[-11]
-[-10]
-[-9]
-[-8]
-[-7]
-[-6]
-[-5]
-[-4]
-[-3]
-[-2]
-[-1]
-[0]><><><><a-{b{d,e}}-c
-[a-{bd}-c]
-[a-{be}-c]><><><><a-{bdef-{g,i}-c
-[a-{bdef-g-c]
-[a-{bdef-i-c]><><><><{klklkl}{1,2,3}
-[{klklkl}1]
-[{klklkl}2]
-[{klklkl}3]><><><><{1..10..2}
-[1]
-[3]
-[5]
-[7]
-[9]><><><><{-1..-10..2}
-[-1]
-[-3]
-[-5]
-[-7]
-[-9]><><><><{-1..-10..-2}
-[-1]
-[-3]
-[-5]
-[-7]
-[-9]><><><><{10..1..-2}
-[10]
-[8]
-[6]
-[4]
-[2]><><><><{10..1..2}
-[10]
-[8]
-[6]
-[4]
-[2]><><><><{1..20..2}
-[1]
-[3]
-[5]
-[7]
-[9]
-[11]
-[13]
-[15]
-[17]
-[19]><><><><{1..20..20}
-[1]><><><><{100..0..5}
-[100]
-[95]
-[90]
-[85]
-[80]
-[75]
-[70]
-[65]
-[60]
-[55]
-[50]
-[45]
-[40]
-[35]
-[30]
-[25]
-[20]
-[15]
-[10]
-[5]
-[0]><><><><{100..0..-5}
-[100]
-[95]
-[90]
-[85]
-[80]
-[75]
-[70]
-[65]
-[60]
-[55]
-[50]
-[45]
-[40]
-[35]
-[30]
-[25]
-[20]
-[15]
-[10]
-[5]
-[0]><><><><{a..z}
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]
-[g]
-[h]
-[i]
-[j]
-[k]
-[l]
-[m]
-[n]
-[o]
-[p]
-[q]
-[r]
-[s]
-[t]
-[u]
-[v]
-[w]
-[x]
-[y]
-[z]><><><><{a..z..2}
-[a]
-[c]
-[e]
-[g]
-[i]
-[k]
-[m]
-[o]
-[q]
-[s]
-[u]
-[w]
-[y]><><><><{z..a..-2}
-[z]
-[x]
-[v]
-[t]
-[r]
-[p]
-[n]
-[l]
-[j]
-[h]
-[f]
-[d]
-[b]><><><><{2147483645..2147483649}
-[2147483645]
-[2147483646]
-[2147483647]
-[2147483648]
-[2147483649]><><><><{10..0..2}
-[10]
-[8]
-[6]
-[4]
-[2]
-[0]><><><><{10..0..-2}
-[10]
-[8]
-[6]
-[4]
-[2]
-[0]><><><><{-50..-0..5}
-[-50]
-[-45]
-[-40]
-[-35]
-[-30]
-[-25]
-[-20]
-[-15]
-[-10]
-[-5]
-[0]><><><><{1..10.f}
-[{1..10.f}]><><><><{1..ff}
-[{1..ff}]><><><><{1..10..ff}
-[{1..10..ff}]><><><><{1.20..2}
-[{1.20..2}]><><><><{1..20..f2}
-[{1..20..f2}]><><><><{1..20..2f}
-[{1..20..2f}]><><><><{1..2f..2}
-[{1..2f..2}]><><><><{1..ff..2}
-[{1..ff..2}]><><><><{1..ff}
-[{1..ff}]><><><><{1..f}
-[{1..f}]><><><><{1..0f}
-[{1..0f}]><><><><{1..10f}
-[{1..10f}]><><><><{1..10.f}
-[{1..10.f}]><><><><{1..10.f}
-[{1..10.f}]><><><>< \ No newline at end of file
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt
deleted file mode 100644
index e5161c3da8..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt
+++ /dev/null
@@ -1,182 +0,0 @@
-# skip quotes for now
-# "{x,x}"
-# {"x,x"}
-# {x","x}
-# '{a,b}{{a,b},a,b}'
-A{b,{d,e},{f,g}}Z
-PRE-{a,b}{{a,b},a,b}-POST
-\\{a,b}{{a,b},a,b}
-{{a,b}
-{a,b}}
-{,}
-a{,}
-{,}b
-a{,}b
-a{b}c
-a{1..5}b
-a{01..5}b
-a{-01..5}b
-a{-01..5..3}b
-a{001..9}b
-a{b,c{d,e},{f,g}h}x{y,z
-a{b,c{d,e},{f,g}h}x{y,z\\}
-a{b,c{d,e},{f,g}h}x{y,z}
-a{b{c{d,e}f{x,y{{g}h
-a{b{c{d,e}f{x,y{}g}h
-a{b{c{d,e}f{x,y}}g}h
-a{b{c{d,e}f}g}h
-a{{x,y},z}b
-f{x,y{g,z}}h
-f{x,y{{g,z}}h
-f{x,y{{g,z}}h}
-f{x,y{{g}h
-f{x,y{{g}}h
-f{x,y{}g}h
-z{a,b{,c}d
-z{a,b},c}d
-{-01..5}
-{-05..100..5}
-{-05..100}
-{0..5..2}
-{0001..05..2}
-{0001..-5..2}
-{0001..-5..-2}
-{0001..5..-2}
-{01..5}
-{1..05}
-{1..05..3}
-{05..100}
-{0a..0z}
-{a,b\\}c,d}
-{a,b{c,d}
-{a,b}c,d}
-{a..F}
-{A..f}
-{a..Z}
-{A..z}
-{z..A}
-{Z..a}
-{a..F..2}
-{A..f..02}
-{a..Z..5}
-d{a..Z..5}b
-{A..z..10}
-{z..A..-2}
-{Z..a..20}
-{a{,b}
-{a},b}
-{x,y{,}g}
-{x,y{}g}
-{{a,b}
-{{a,b},c}
-{{a,b}c}
-{{a,b},}
-X{{a,b},}X
-{{a,b},}c
-{{a,b}.}
-{{a,b}}
-X{a..#}X
-# this next one is an empty string
-
-{-10..00}
-# Need to escape slashes in here for reasons i guess.
-{a,\\\\{a,b}c}
-{a,\\{a,b}c}
-a,\\{b,c}
-{-10.\\.00}
-#### bash tests/braces.tests
-# Note that some tests are edited out because some features of
-# bash are intentionally not supported in this brace expander.
-ff{c,b,a}
-f{d,e,f}g
-{l,n,m}xyz
-{abc\\,def}
-{abc}
-{x\\,y,\\{abc\\},trie}
-# not impementing back-ticks obviously
-# XXXX\\{`echo a b c | tr ' ' ','`\\}
-{}
-# We only ever have to worry about parsing a single argument,
-# not a command line, so spaces have a different meaning than bash.
-# { }
-}
-{
-abcd{efgh
-# spaces
-# foo {1,2} bar
-# not impementing back-ticks obviously
-# `zecho foo {1,2} bar`
-# $(zecho foo {1,2} bar)
-# ${var} is not a variable here, like it is in bash. omit.
-# foo{bar,${var}.}
-# foo{bar,${var}}
-# isaacs: skip quotes for now
-# "${var}"{x,y}
-# $var{x,y}
-# ${var}{x,y}
-# new sequence brace operators
-{1..10}
-# this doesn't work yet
-{0..10,braces}
-# but this does
-{{0..10},braces}
-x{{0..10},braces}y
-{3..3}
-x{3..3}y
-{10..1}
-{10..1}y
-x{10..1}y
-{a..f}
-{f..a}
-{a..A}
-{A..a}
-{f..f}
-# mixes are incorrectly-formed brace expansions
-{1..f}
-{f..1}
-# spaces
-# 0{1..9} {10..20}
-# do negative numbers work?
-{-1..-10}
-{-20..0}
-# weirdly-formed brace expansions -- fixed in post-bash-3.1
-a-{b{d,e}}-c
-a-{bdef-{g,i}-c
-# isaacs: skip quotes for now
-# {"klklkl"}{1,2,3}
-# isaacs: this is a valid test, though
-{klklkl}{1,2,3}
-# {"x,x"}
-{1..10..2}
-{-1..-10..2}
-{-1..-10..-2}
-{10..1..-2}
-{10..1..2}
-{1..20..2}
-{1..20..20}
-{100..0..5}
-{100..0..-5}
-{a..z}
-{a..z..2}
-{z..a..-2}
-# make sure brace expansion handles ints > 2**31 - 1 using intmax_t
-{2147483645..2147483649}
-# unwanted zero-padding -- fixed post-bash-4.0
-{10..0..2}
-{10..0..-2}
-{-50..-0..5}
-# bad
-{1..10.f}
-{1..ff}
-{1..10..ff}
-{1.20..2}
-{1..20..f2}
-{1..20..2f}
-{1..2f..2}
-{1..ff..2}
-{1..ff}
-{1..f}
-{1..0f}
-{1..10f}
-{1..10.f}
-{1..10.f}
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js
deleted file mode 100644
index 3fcc185a7d..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('ignores ${', function(t) {
- t.deepEqual(expand('${1..3}'), ['${1..3}']);
- t.deepEqual(expand('${a,b}${c,d}'), ['${a,b}${c,d}']);
- t.deepEqual(expand('x${a,b}x${c,d}x'), ['x${a,b}x${c,d}x']);
- t.end();
-});
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
deleted file mode 100644
index e429121eab..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('empty option', function(t) {
- t.deepEqual(expand('-v{,,,,}'), [
- '-v', '-v', '-v', '-v', '-v'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh
deleted file mode 100644
index e040e664d9..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-# Bash 4.3 because of arbitrary need to pick a single standard.
-
-if [ "${BASH_VERSINFO[0]}" != "4" ] || [ "${BASH_VERSINFO[1]}" != "3" ]; then
- echo "this script requires bash 4.3" >&2
- exit 1
-fi
-
-CDPATH= cd "$(dirname "$0")"
-
-js='require("./")(process.argv[1]).join(" ")'
-
-cat cases.txt | \
- while read case; do
- if [ "${case:0:1}" = "#" ]; then
- continue;
- fi;
- b="$($BASH -c 'for c in '"$case"'; do echo ["$c"]; done')"
- echo "$case"
- echo -n "$b><><><><";
- done > bash-results.txt
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js
deleted file mode 100644
index 8d434c23d4..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('negative increment', function(t) {
- t.deepEqual(expand('{3..1}'), ['3', '2', '1']);
- t.deepEqual(expand('{10..8}'), ['10', '9', '8']);
- t.deepEqual(expand('{10..08}'), ['10', '09', '08']);
- t.deepEqual(expand('{c..a}'), ['c', 'b', 'a']);
-
- t.deepEqual(expand('{4..0..2}'), ['4', '2', '0']);
- t.deepEqual(expand('{4..0..-2}'), ['4', '2', '0']);
- t.deepEqual(expand('{e..a..2}'), ['e', 'c', 'a']);
-
- t.end();
-});
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
deleted file mode 100644
index 0862dc51f9..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('nested', function(t) {
- t.deepEqual(expand('{a,b{1..3},c}'), [
- 'a', 'b1', 'b2', 'b3', 'c'
- ]);
- t.deepEqual(expand('{{A..Z},{a..z}}'),
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
- );
- t.deepEqual(expand('ppp{,config,oe{,conf}}'), [
- 'ppp', 'pppconfig', 'pppoe', 'pppoeconf'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js
deleted file mode 100644
index c00ad155fe..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/order.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('order', function(t) {
- t.deepEqual(expand('a{d,c,b}e'), [
- 'ade', 'ace', 'abe'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
deleted file mode 100644
index e4158775f1..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('pad', function(t) {
- t.deepEqual(expand('{9..11}'), [
- '9', '10', '11'
- ]);
- t.deepEqual(expand('{09..11}'), [
- '09', '10', '11'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js
deleted file mode 100644
index 3038fba741..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('x and y of same type', function(t) {
- t.deepEqual(expand('{a..9}'), ['{a..9}']);
- t.end();
-});
diff --git a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js b/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
deleted file mode 100644
index f73a9579ab..0000000000
--- a/deps/npm/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
+++ /dev/null
@@ -1,50 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('numeric sequences', function(t) {
- t.deepEqual(expand('a{1..2}b{2..3}c'), [
- 'a1b2c', 'a1b3c', 'a2b2c', 'a2b3c'
- ]);
- t.deepEqual(expand('{1..2}{2..3}'), [
- '12', '13', '22', '23'
- ]);
- t.end();
-});
-
-test('numeric sequences with step count', function(t) {
- t.deepEqual(expand('{0..8..2}'), [
- '0', '2', '4', '6', '8'
- ]);
- t.deepEqual(expand('{1..8..2}'), [
- '1', '3', '5', '7'
- ]);
- t.end();
-});
-
-test('numeric sequence with negative x / y', function(t) {
- t.deepEqual(expand('{3..-2}'), [
- '3', '2', '1', '0', '-1', '-2'
- ]);
- t.end();
-});
-
-test('alphabetic sequences', function(t) {
- t.deepEqual(expand('1{a..b}2{b..c}3'), [
- '1a2b3', '1a2c3', '1b2b3', '1b2c3'
- ]);
- t.deepEqual(expand('{a..b}{b..c}'), [
- 'ab', 'ac', 'bb', 'bc'
- ]);
- t.end();
-});
-
-test('alphabetic sequences with step count', function(t) {
- t.deepEqual(expand('{a..k..2}'), [
- 'a', 'c', 'e', 'g', 'i', 'k'
- ]);
- t.deepEqual(expand('{b..k..2}'), [
- 'b', 'd', 'f', 'h', 'j'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/minimatch/package.json b/deps/npm/node_modules/minimatch/package.json
index c7c9a089ce..9d97a256b6 100644
--- a/deps/npm/node_modules/minimatch/package.json
+++ b/deps/npm/node_modules/minimatch/package.json
@@ -1,62 +1,87 @@
{
+ "_args": [
+ [
+ "minimatch@^2.0.1",
+ "/Users/rebecca/code/npm/node_modules/glob"
+ ]
+ ],
+ "_from": "minimatch@>=2.0.1 <3.0.0",
+ "_id": "minimatch@2.0.10",
+ "_inCache": true,
+ "_location": "/minimatch",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.1.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "minimatch",
+ "raw": "minimatch@^2.0.1",
+ "rawSpec": "^2.0.1",
+ "scope": null,
+ "spec": ">=2.0.1 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/fstream-ignore",
+ "/glob"
+ ],
+ "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+ "_shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
+ "_shrinkwrap": null,
+ "_spec": "minimatch@^2.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/glob",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me"
},
- "name": "minimatch",
- "description": "a glob matcher in javascript",
- "version": "2.0.10",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/minimatch.git"
- },
- "main": "minimatch.js",
- "scripts": {
- "posttest": "standard minimatch.js test/*.js",
- "test": "tap test/*.js",
- "prepublish": "browserify -o browser.js -e minimatch.js -s minimatch --bare"
- },
- "engines": {
- "node": "*"
+ "bugs": {
+ "url": "https://github.com/isaacs/minimatch/issues"
},
"dependencies": {
"brace-expansion": "^1.0.0"
},
+ "description": "a glob matcher in javascript",
"devDependencies": {
"browserify": "^9.0.3",
"standard": "^3.7.2",
"tap": "^1.2.0"
},
- "license": "ISC",
- "files": [
- "minimatch.js",
- "browser.js"
- ],
- "gitHead": "6afb85f0c324b321f76a38df81891e562693e257",
- "bugs": {
- "url": "https://github.com/isaacs/minimatch/issues"
- },
- "homepage": "https://github.com/isaacs/minimatch#readme",
- "_id": "minimatch@2.0.10",
- "_shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
- "_from": "minimatch@2.0.10",
- "_npmVersion": "3.1.0",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
"tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"
},
+ "engines": {
+ "node": "*"
+ },
+ "files": [
+ "browser.js",
+ "minimatch.js"
+ ],
+ "gitHead": "6afb85f0c324b321f76a38df81891e562693e257",
+ "homepage": "https://github.com/isaacs/minimatch#readme",
+ "license": "ISC",
+ "main": "minimatch.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"
+ "name": "minimatch",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/minimatch.git"
+ },
+ "scripts": {
+ "posttest": "standard minimatch.js test/*.js",
+ "prepublish": "browserify -o browser.js -e minimatch.js -s minimatch --bare",
+ "test": "tap test/*.js"
+ },
+ "version": "2.0.10"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml b/deps/npm/node_modules/minimist/.travis.yml
index cc4dba29d9..cc4dba29d9 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml
+++ b/deps/npm/node_modules/minimist/.travis.yml
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE b/deps/npm/node_modules/minimist/LICENSE
index ee27ba4b44..ee27ba4b44 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE
+++ b/deps/npm/node_modules/minimist/LICENSE
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js b/deps/npm/node_modules/minimist/example/parse.js
index abff3e8ee8..abff3e8ee8 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js
+++ b/deps/npm/node_modules/minimist/example/parse.js
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/index.js b/deps/npm/node_modules/minimist/index.js
index 584f551a6d..a5793cecce 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/index.js
+++ b/deps/npm/node_modules/minimist/index.js
@@ -1,16 +1,16 @@
module.exports = function (args, opts) {
if (!opts) opts = {};
-
+
var flags = { bools : {}, strings : {} };
-
+
[].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
flags.bools[key] = true;
});
-
+
[].concat(opts.string).filter(Boolean).forEach(function (key) {
flags.strings[key] = true;
});
-
+
var aliases = {};
Object.keys(opts.alias || {}).forEach(function (key) {
aliases[key] = [].concat(opts.alias[key]);
@@ -20,14 +20,14 @@ module.exports = function (args, opts) {
}));
});
});
-
+
var defaults = opts['default'] || {};
-
+
var argv = { _ : [] };
Object.keys(flags.bools).forEach(function (key) {
setArg(key, defaults[key] === undefined ? false : defaults[key]);
});
-
+
var notFlags = [];
if (args.indexOf('--') !== -1) {
@@ -40,15 +40,15 @@ module.exports = function (args, opts) {
? Number(val) : val
;
setKey(argv, key.split('.'), value);
-
+
(aliases[key] || []).forEach(function (x) {
setKey(argv, x.split('.'), value);
});
}
-
+
for (var i = 0; i < args.length; i++) {
var arg = args[i];
-
+
if (/^--.+=/.test(arg)) {
// Using [\s\S] instead of . because js doesn't support the
// 'dotall' regex modifier. See:
@@ -79,23 +79,23 @@ module.exports = function (args, opts) {
}
else if (/^-[^-]+/.test(arg)) {
var letters = arg.slice(1,-1).split('');
-
+
var broken = false;
for (var j = 0; j < letters.length; j++) {
var next = arg.slice(j+2);
-
+
if (next === '-') {
setArg(letters[j], next)
continue;
}
-
+
if (/[A-Za-z]/.test(letters[j])
&& /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
setArg(letters[j], next);
broken = true;
break;
}
-
+
if (letters[j+1] && letters[j+1].match(/\W/)) {
setArg(letters[j], arg.slice(j+2));
broken = true;
@@ -105,7 +105,7 @@ module.exports = function (args, opts) {
setArg(letters[j], flags.strings[letters[j]] ? '' : true);
}
}
-
+
var key = arg.slice(-1)[0];
if (!broken && key !== '-') {
if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1])
@@ -129,17 +129,17 @@ module.exports = function (args, opts) {
);
}
}
-
+
Object.keys(defaults).forEach(function (key) {
if (!hasKey(argv, key.split('.'))) {
setKey(argv, key.split('.'), defaults[key]);
-
+
(aliases[key] || []).forEach(function (x) {
setKey(argv, x.split('.'), defaults[key]);
});
}
});
-
+
notFlags.forEach(function(key) {
argv._.push(key);
});
@@ -163,7 +163,7 @@ function setKey (obj, keys, value) {
if (o[key] === undefined) o[key] = {};
o = o[key];
});
-
+
var key = keys[keys.length - 1];
if (o[key] === undefined || typeof o[key] === 'boolean') {
o[key] = value;
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/package.json b/deps/npm/node_modules/minimist/package.json
index 7cd80f4f41..c59b424193 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/package.json
+++ b/deps/npm/node_modules/minimist/package.json
@@ -1,66 +1,91 @@
{
- "name": "minimist",
- "version": "0.0.8",
- "description": "parse argument options",
- "main": "index.js",
- "devDependencies": {
- "tape": "~1.0.4",
- "tap": "~0.4.0"
- },
- "scripts": {
- "test": "tap test/*.js"
- },
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/6..latest",
- "ff/5",
- "firefox/latest",
- "chrome/10",
- "chrome/latest",
- "safari/5.1",
- "safari/latest",
- "opera/12"
+ "_args": [
+ [
+ "minimist@0.0.8",
+ "/Users/rebecca/code/npm/node_modules/mkdirp"
]
+ ],
+ "_from": "minimist@0.0.8",
+ "_id": "minimist@0.0.8",
+ "_inCache": true,
+ "_location": "/minimist",
+ "_npmUser": {
+ "email": "mail@substack.net",
+ "name": "substack"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/substack/minimist.git"
+ "_npmVersion": "1.4.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "minimist",
+ "raw": "minimist@0.0.8",
+ "rawSpec": "0.0.8",
+ "scope": null,
+ "spec": "0.0.8",
+ "type": "version"
},
- "homepage": "https://github.com/substack/minimist",
- "keywords": [
- "argv",
- "getopt",
- "parser",
- "optimist"
+ "_requiredBy": [
+ "/mkdirp"
],
+ "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d",
+ "_shrinkwrap": null,
+ "_spec": "minimist@0.0.8",
+ "_where": "/Users/rebecca/code/npm/node_modules/mkdirp",
"author": {
- "name": "James Halliday",
"email": "mail@substack.net",
+ "name": "James Halliday",
"url": "http://substack.net"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/substack/minimist/issues"
},
- "_id": "minimist@0.0.8",
+ "dependencies": {},
+ "description": "parse argument options",
+ "devDependencies": {
+ "tap": "~0.4.0",
+ "tape": "~1.0.4"
+ },
+ "directories": {},
"dist": {
"shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d",
"tarball": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
},
- "_from": "minimist@0.0.8",
- "_npmVersion": "1.4.3",
- "_npmUser": {
- "name": "substack",
- "email": "mail@substack.net"
- },
+ "homepage": "https://github.com/substack/minimist",
+ "keywords": [
+ "argv",
+ "getopt",
+ "optimist",
+ "parser"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "substack",
"email": "mail@substack.net"
}
],
- "directories": {},
- "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d",
- "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+ "name": "minimist",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/minimist.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "testling": {
+ "browsers": [
+ "chrome/10",
+ "chrome/latest",
+ "ff/5",
+ "firefox/latest",
+ "ie/6..latest",
+ "opera/12",
+ "safari/5.1",
+ "safari/latest"
+ ],
+ "files": "test/*.js"
+ },
+ "version": "0.0.8"
}
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown b/deps/npm/node_modules/minimist/readme.markdown
index c25635323e..c25635323e 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown
+++ b/deps/npm/node_modules/minimist/readme.markdown
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js b/deps/npm/node_modules/minimist/test/dash.js
index 8b034b99a9..8b034b99a9 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js
+++ b/deps/npm/node_modules/minimist/test/dash.js
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js b/deps/npm/node_modules/minimist/test/default_bool.js
index f0041ee40c..f0041ee40c 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js
+++ b/deps/npm/node_modules/minimist/test/default_bool.js
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js b/deps/npm/node_modules/minimist/test/dotted.js
index ef0ae349bf..ef0ae349bf 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js
+++ b/deps/npm/node_modules/minimist/test/dotted.js
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js b/deps/npm/node_modules/minimist/test/long.js
index 5d3a1e09d3..5d3a1e09d3 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js
+++ b/deps/npm/node_modules/minimist/test/long.js
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js b/deps/npm/node_modules/minimist/test/parse.js
index 8a90646696..47e92237fb 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js
+++ b/deps/npm/node_modules/minimist/test/parse.js
@@ -14,7 +14,7 @@ test('parse args', function (t) {
);
t.end();
});
-
+
test('comprehensive', function (t) {
t.deepEqual(
parse([
@@ -80,13 +80,13 @@ test('flag boolean value', function (t) {
boolean: [ 't', 'verbose' ],
default: { verbose: true }
});
-
+
t.deepEqual(argv, {
verbose: false,
t: true,
_: ['moo']
});
-
+
t.deepEqual(typeof argv.verbose, 'boolean');
t.deepEqual(typeof argv.t, 'boolean');
t.end();
@@ -97,13 +97,13 @@ test('flag boolean default false', function (t) {
boolean: ['t', 'verbose'],
default: { verbose: false, t: false }
});
-
+
t.deepEqual(argv, {
verbose: false,
t: false,
_: ['moo']
});
-
+
t.deepEqual(typeof argv.verbose, 'boolean');
t.deepEqual(typeof argv.t, 'boolean');
t.end();
@@ -114,14 +114,14 @@ test('boolean groups', function (t) {
var argv = parse([ '-x', '-z', 'one', 'two', 'three' ], {
boolean: ['x','y','z']
});
-
+
t.deepEqual(argv, {
x : true,
y : false,
z : true,
_ : [ 'one', 'two', 'three' ]
});
-
+
t.deepEqual(typeof argv.x, 'boolean');
t.deepEqual(typeof argv.y, 'boolean');
t.deepEqual(typeof argv.z, 'boolean');
@@ -131,7 +131,7 @@ test('boolean groups', function (t) {
test('newlines in params' , function (t) {
var args = parse([ '-s', "X\nX" ])
t.deepEqual(args, { _ : [], s : "X\nX" });
-
+
// reproduce in bash:
// VALUE="new
// line"
@@ -145,7 +145,7 @@ test('strings' , function (t) {
var s = parse([ '-s', '0001234' ], { string: 's' }).s;
t.equal(s, '0001234');
t.equal(typeof s, 'string');
-
+
var x = parse([ '-x', '56' ], { string: 'x' }).x;
t.equal(x, '56');
t.equal(typeof x, 'string');
@@ -222,7 +222,7 @@ test('nested dotted objects', function (t) {
'--foo.quux.quibble', '5', '--foo.quux.o_O',
'--beep.boop'
]);
-
+
t.same(argv.foo, {
bar : 3,
baz : 4,
@@ -254,9 +254,9 @@ test('boolean and alias with chainable api', function (t) {
h: true,
'_': [ 'derp' ]
};
-
+
t.same(aliasedArgv, expected);
- t.same(propertyArgv, expected);
+ t.same(propertyArgv, expected);
t.end();
});
@@ -295,7 +295,7 @@ test('boolean and alias using explicit true', function (t) {
};
t.same(aliasedArgv, expected);
- t.same(propertyArgv, expected);
+ t.same(propertyArgv, expected);
t.end();
});
@@ -311,7 +311,7 @@ test('boolean and --x=true', function(t) {
parsed = parse(['--boool', '--other=false'], {
boolean: 'boool'
});
-
+
t.same(parsed.boool, true);
t.same(parsed.other, 'false');
t.end();
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js b/deps/npm/node_modules/minimist/test/parse_modified.js
index 21851b036e..7c4c2abe39 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js
+++ b/deps/npm/node_modules/minimist/test/parse_modified.js
@@ -3,7 +3,7 @@ var test = require('tape');
test('parse with modifier functions' , function (t) {
t.plan(1);
-
+
var argv = parse([ '-b', '123' ], { boolean: 'b' });
t.deepEqual(argv, { b: true, _: ['123'] });
});
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js b/deps/npm/node_modules/minimist/test/short.js
index d513a1c252..ac18880f1e 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js
+++ b/deps/npm/node_modules/minimist/test/short.js
@@ -43,7 +43,7 @@ test('short', function (t) {
);
t.end();
});
-
+
test('mixed short bool and capture', function (t) {
t.same(
parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]),
@@ -54,7 +54,7 @@ test('mixed short bool and capture', function (t) {
);
t.end();
});
-
+
test('short and long', function (t) {
t.deepEqual(
parse([ '-h', 'localhost', '-fp', '555', 'script.js' ]),
diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/whitespace.js b/deps/npm/node_modules/minimist/test/whitespace.js
index 8a52a58cec..8a52a58cec 100644
--- a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/whitespace.js
+++ b/deps/npm/node_modules/minimist/test/whitespace.js
diff --git a/deps/npm/node_modules/mkdirp/package.json b/deps/npm/node_modules/mkdirp/package.json
index 2441103480..3e5bbaf3d0 100644
--- a/deps/npm/node_modules/mkdirp/package.json
+++ b/deps/npm/node_modules/mkdirp/package.json
@@ -1,59 +1,87 @@
{
- "name": "mkdirp",
- "description": "Recursively mkdir, like `mkdir -p`",
- "version": "0.5.1",
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
- "main": "index.js",
- "keywords": [
- "mkdir",
- "directory"
+ "_args": [
+ [
+ "mkdirp@~0.5.1",
+ "/Users/rebecca/code/npm"
+ ]
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/substack/node-mkdirp.git"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_from": "mkdirp@>=0.5.1 <0.6.0",
+ "_id": "mkdirp@0.5.1",
+ "_inCache": true,
+ "_location": "/mkdirp",
+ "_nodeVersion": "2.0.0",
+ "_npmUser": {
+ "email": "substack@gmail.com",
+ "name": "substack"
},
- "dependencies": {
- "minimist": "0.0.8"
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "mkdirp",
+ "raw": "mkdirp@~0.5.1",
+ "rawSpec": "~0.5.1",
+ "scope": null,
+ "spec": ">=0.5.1 <0.6.0",
+ "type": "range"
},
- "devDependencies": {
- "tap": "1",
- "mock-fs": "2 >=2.7.0"
+ "_requiredBy": [
+ "/",
+ "/cmd-shim",
+ "/fstream",
+ "/node-gyp",
+ "/npm-registry-client"
+ ],
+ "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903",
+ "_shrinkwrap": null,
+ "_spec": "mkdirp@~0.5.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "mail@substack.net",
+ "name": "James Halliday",
+ "url": "http://substack.net"
},
"bin": {
"mkdirp": "bin/cmd.js"
},
- "license": "MIT",
- "gitHead": "d4eff0f06093aed4f387e88e9fc301cb76beedc7",
"bugs": {
"url": "https://github.com/substack/node-mkdirp/issues"
},
- "homepage": "https://github.com/substack/node-mkdirp#readme",
- "_id": "mkdirp@0.5.1",
- "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903",
- "_from": "mkdirp@>=0.5.1 <0.6.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.0.0",
- "_npmUser": {
- "name": "substack",
- "email": "substack@gmail.com"
+ "dependencies": {
+ "minimist": "0.0.8"
},
+ "description": "Recursively mkdir, like `mkdir -p`",
+ "devDependencies": {
+ "mock-fs": "2 >=2.7.0",
+ "tap": "1"
+ },
+ "directories": {},
"dist": {
"shasum": "30057438eac6cf7f8c4767f38648d6697d75c903",
"tarball": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
},
+ "gitHead": "d4eff0f06093aed4f387e88e9fc301cb76beedc7",
+ "homepage": "https://github.com/substack/node-mkdirp#readme",
+ "keywords": [
+ "directory",
+ "mkdir"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "substack",
"email": "mail@substack.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
+ "name": "mkdirp",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/substack/node-mkdirp.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.5.1"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/.npmignore b/deps/npm/node_modules/ms/.npmignore
index d1aa0ce42e..d1aa0ce42e 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/.npmignore
+++ b/deps/npm/node_modules/ms/.npmignore
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/History.md b/deps/npm/node_modules/ms/History.md
index 32fdfc1762..32fdfc1762 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/History.md
+++ b/deps/npm/node_modules/ms/History.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/LICENSE b/deps/npm/node_modules/ms/LICENSE
index 6c07561b62..6c07561b62 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/LICENSE
+++ b/deps/npm/node_modules/ms/LICENSE
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/README.md b/deps/npm/node_modules/ms/README.md
index 9b4fd03581..9b4fd03581 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/README.md
+++ b/deps/npm/node_modules/ms/README.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/index.js b/deps/npm/node_modules/ms/index.js
index 4f92771696..4f92771696 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/index.js
+++ b/deps/npm/node_modules/ms/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json b/deps/npm/node_modules/ms/package.json
index 253335e623..84a9b7a97a 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json
+++ b/deps/npm/node_modules/ms/package.json
@@ -1,48 +1,72 @@
{
- "name": "ms",
- "version": "0.7.1",
- "description": "Tiny ms conversion utility",
- "repository": {
- "type": "git",
- "url": "git://github.com/guille/ms.js.git"
+ "_args": [
+ [
+ "ms@0.7.1",
+ "/Users/rebecca/code/npm/node_modules/debug"
+ ]
+ ],
+ "_from": "ms@0.7.1",
+ "_id": "ms@0.7.1",
+ "_inCache": true,
+ "_location": "/ms",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "rauchg@gmail.com",
+ "name": "rauchg"
},
- "main": "./index",
- "devDependencies": {
- "mocha": "*",
- "expect.js": "*",
- "serve": "*"
+ "_npmVersion": "2.7.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "ms",
+ "raw": "ms@0.7.1",
+ "rawSpec": "0.7.1",
+ "scope": null,
+ "spec": "0.7.1",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/debug"
+ ],
+ "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+ "_shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
+ "_shrinkwrap": null,
+ "_spec": "ms@0.7.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/debug",
+ "bugs": {
+ "url": "https://github.com/guille/ms.js/issues"
},
"component": {
"scripts": {
"ms/index.js": "index.js"
}
},
- "gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909",
- "bugs": {
- "url": "https://github.com/guille/ms.js/issues"
+ "dependencies": {},
+ "description": "Tiny ms conversion utility",
+ "devDependencies": {
+ "expect.js": "*",
+ "mocha": "*",
+ "serve": "*"
},
- "homepage": "https://github.com/guille/ms.js",
- "_id": "ms@0.7.1",
- "scripts": {},
- "_shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
- "_from": "ms@0.7.1",
- "_npmVersion": "2.7.5",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "rauchg",
- "email": "rauchg@gmail.com"
+ "directories": {},
+ "dist": {
+ "shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
+ "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
},
+ "gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909",
+ "homepage": "https://github.com/guille/ms.js",
+ "main": "./index",
"maintainers": [
{
"name": "rauchg",
"email": "rauchg@gmail.com"
}
],
- "dist": {
- "shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
- "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ "name": "ms",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/guille/ms.js.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {},
+ "version": "0.7.1"
}
diff --git a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/LICENSE b/deps/npm/node_modules/mute-stream/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/fstream-npm/node_modules/fstream-ignore/LICENSE
+++ b/deps/npm/node_modules/mute-stream/LICENSE
diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/README.md b/deps/npm/node_modules/mute-stream/README.md
index 8ab1238e46..8ab1238e46 100644
--- a/deps/npm/node_modules/read/node_modules/mute-stream/README.md
+++ b/deps/npm/node_modules/mute-stream/README.md
diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/mute.js b/deps/npm/node_modules/mute-stream/mute.js
index 42eac31e1a..42eac31e1a 100644
--- a/deps/npm/node_modules/read/node_modules/mute-stream/mute.js
+++ b/deps/npm/node_modules/mute-stream/mute.js
diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/package.json b/deps/npm/node_modules/mute-stream/package.json
index 9cdb302845..16c4756069 100644
--- a/deps/npm/node_modules/read/node_modules/mute-stream/package.json
+++ b/deps/npm/node_modules/mute-stream/package.json
@@ -1,55 +1,80 @@
{
- "name": "mute-stream",
- "version": "0.0.5",
- "main": "mute.js",
- "directories": {
- "test": "test"
- },
- "devDependencies": {
- "tap": "~0.2.5"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "mute-stream@~0.0.4",
+ "/Users/rebecca/code/npm/node_modules/read"
+ ]
+ ],
+ "_from": "mute-stream@>=0.0.4 <0.1.0",
+ "_id": "mute-stream@0.0.5",
+ "_inCache": true,
+ "_location": "/mute-stream",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/mute-stream.git"
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "mute-stream",
+ "raw": "mute-stream@~0.0.4",
+ "rawSpec": "~0.0.4",
+ "scope": null,
+ "spec": ">=0.0.4 <0.1.0",
+ "type": "range"
},
- "keywords": [
- "mute",
- "stream",
- "pipe"
+ "_requiredBy": [
+ "/read"
],
+ "_resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
+ "_shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0",
+ "_shrinkwrap": null,
+ "_spec": "mute-stream@~0.0.4",
+ "_where": "/Users/rebecca/code/npm/node_modules/read",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
- "description": "Bytes go in, but they don't come out (when muted).",
- "gitHead": "17d9854a315f56088d039534f87b740e470a9af0",
"bugs": {
"url": "https://github.com/isaacs/mute-stream/issues"
},
- "homepage": "https://github.com/isaacs/mute-stream#readme",
- "_id": "mute-stream@0.0.5",
- "_shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0",
- "_from": "mute-stream@>=0.0.4 <0.1.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "Bytes go in, but they don't come out (when muted).",
+ "devDependencies": {
+ "tap": "~0.2.5"
+ },
+ "directories": {
+ "test": "test"
},
"dist": {
"shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0",
"tarball": "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
},
+ "gitHead": "17d9854a315f56088d039534f87b740e470a9af0",
+ "homepage": "https://github.com/isaacs/mute-stream#readme",
+ "keywords": [
+ "mute",
+ "pipe",
+ "stream"
+ ],
+ "license": "ISC",
+ "main": "mute.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "_resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
+ "name": "mute-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/mute-stream.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.0.5"
}
diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/test/basic.js b/deps/npm/node_modules/mute-stream/test/basic.js
index 41f9e10c38..41f9e10c38 100644
--- a/deps/npm/node_modules/read/node_modules/mute-stream/test/basic.js
+++ b/deps/npm/node_modules/mute-stream/test/basic.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js
deleted file mode 100644
index 60ecfc74d4..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var expand = require('./');
-
-console.log(expand('http://any.org/archive{1996..1999}/vol{1..4}/part{a,b,c}.html'));
-console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
-console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
-console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
-console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
deleted file mode 100644
index a23104e955..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
+++ /dev/null
@@ -1,191 +0,0 @@
-var concatMap = require('concat-map');
-var balanced = require('balanced-match');
-
-module.exports = expandTop;
-
-var escSlash = '\0SLASH'+Math.random()+'\0';
-var escOpen = '\0OPEN'+Math.random()+'\0';
-var escClose = '\0CLOSE'+Math.random()+'\0';
-var escComma = '\0COMMA'+Math.random()+'\0';
-var escPeriod = '\0PERIOD'+Math.random()+'\0';
-
-function numeric(str) {
- return parseInt(str, 10) == str
- ? parseInt(str, 10)
- : str.charCodeAt(0);
-}
-
-function escapeBraces(str) {
- return str.split('\\\\').join(escSlash)
- .split('\\{').join(escOpen)
- .split('\\}').join(escClose)
- .split('\\,').join(escComma)
- .split('\\.').join(escPeriod);
-}
-
-function unescapeBraces(str) {
- return str.split(escSlash).join('\\')
- .split(escOpen).join('{')
- .split(escClose).join('}')
- .split(escComma).join(',')
- .split(escPeriod).join('.');
-}
-
-
-// Basically just str.split(","), but handling cases
-// where we have nested braced sections, which should be
-// treated as individual members, like {a,{b,c},d}
-function parseCommaParts(str) {
- if (!str)
- return [''];
-
- var parts = [];
- var m = balanced('{', '}', str);
-
- if (!m)
- return str.split(',');
-
- var pre = m.pre;
- var body = m.body;
- var post = m.post;
- var p = pre.split(',');
-
- p[p.length-1] += '{' + body + '}';
- var postParts = parseCommaParts(post);
- if (post.length) {
- p[p.length-1] += postParts.shift();
- p.push.apply(p, postParts);
- }
-
- parts.push.apply(parts, p);
-
- return parts;
-}
-
-function expandTop(str) {
- if (!str)
- return [];
-
- return expand(escapeBraces(str), true).map(unescapeBraces);
-}
-
-function identity(e) {
- return e;
-}
-
-function embrace(str) {
- return '{' + str + '}';
-}
-function isPadded(el) {
- return /^-?0\d/.test(el);
-}
-
-function lte(i, y) {
- return i <= y;
-}
-function gte(i, y) {
- return i >= y;
-}
-
-function expand(str, isTop) {
- var expansions = [];
-
- var m = balanced('{', '}', str);
- if (!m || /\$$/.test(m.pre)) return [str];
-
- var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
- var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
- var isSequence = isNumericSequence || isAlphaSequence;
- var isOptions = /^(.*,)+(.+)?$/.test(m.body);
- if (!isSequence && !isOptions) {
- // {a},b}
- if (m.post.match(/,.*}/)) {
- str = m.pre + '{' + m.body + escClose + m.post;
- return expand(str);
- }
- return [str];
- }
-
- var n;
- if (isSequence) {
- n = m.body.split(/\.\./);
- } else {
- n = parseCommaParts(m.body);
- if (n.length === 1) {
- // x{{a,b}}y ==> x{a}y x{b}y
- n = expand(n[0], false).map(embrace);
- if (n.length === 1) {
- var post = m.post.length
- ? expand(m.post, false)
- : [''];
- return post.map(function(p) {
- return m.pre + n[0] + p;
- });
- }
- }
- }
-
- // at this point, n is the parts, and we know it's not a comma set
- // with a single entry.
-
- // no need to expand pre, since it is guaranteed to be free of brace-sets
- var pre = m.pre;
- var post = m.post.length
- ? expand(m.post, false)
- : [''];
-
- var N;
-
- if (isSequence) {
- var x = numeric(n[0]);
- var y = numeric(n[1]);
- var width = Math.max(n[0].length, n[1].length)
- var incr = n.length == 3
- ? Math.abs(numeric(n[2]))
- : 1;
- var test = lte;
- var reverse = y < x;
- if (reverse) {
- incr *= -1;
- test = gte;
- }
- var pad = n.some(isPadded);
-
- N = [];
-
- for (var i = x; test(i, y); i += incr) {
- var c;
- if (isAlphaSequence) {
- c = String.fromCharCode(i);
- if (c === '\\')
- c = '';
- } else {
- c = String(i);
- if (pad) {
- var need = width - c.length;
- if (need > 0) {
- var z = new Array(need + 1).join('0');
- if (i < 0)
- c = '-' + z + c.slice(1);
- else
- c = z + c;
- }
- }
- }
- N.push(c);
- }
- } else {
- N = concatMap(n, function(el) { return expand(el, false) });
- }
-
- for (var j = 0; j < N.length; j++) {
- for (var k = 0; k < post.length; k++) {
- var expansion = pre + N[j] + post[k];
- if (!isTop || isSequence || expansion)
- expansions.push(expansion);
- }
- }
-
- return expansions;
-}
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
deleted file mode 100644
index 2aff0ebff4..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# balanced-match
-
-Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`.
-
-[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
-[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
-
-[![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match)
-
-## Example
-
-Get the first matching pair of braces:
-
-```js
-var balanced = require('balanced-match');
-
-console.log(balanced('{', '}', 'pre{in{nested}}post'));
-console.log(balanced('{', '}', 'pre{first}between{second}post'));
-```
-
-The matches are:
-
-```bash
-$ node example.js
-{ start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
-{ start: 3,
- end: 9,
- pre: 'pre',
- body: 'first',
- post: 'between{second}post' }
-```
-
-## API
-
-### var m = balanced(a, b, str)
-
-For the first non-nested matching pair of `a` and `b` in `str`, return an
-object with those keys:
-
-* **start** the index of the first match of `a`
-* **end** the index of the matching `b`
-* **pre** the preamble, `a` and `b` not included
-* **body** the match, `a` and `b` not included
-* **post** the postscript, `a` and `b` not included
-
-If there's no match, `undefined` will be returned.
-
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']`.
-
-## Installation
-
-With [npm](https://npmjs.org) do:
-
-```bash
-npm install balanced-match
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
deleted file mode 100644
index d165ae8174..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
+++ /dev/null
@@ -1,38 +0,0 @@
-module.exports = balanced;
-function balanced(a, b, str) {
- var bal = 0;
- var m = {};
- var ended = false;
-
- for (var i = 0; i < str.length; i++) {
- if (a == str.substr(i, a.length)) {
- if (!('start' in m)) m.start = i;
- bal++;
- }
- else if (b == str.substr(i, b.length) && 'start' in m) {
- ended = true;
- bal--;
- if (!bal) {
- m.end = i;
- m.pre = str.substr(0, m.start);
- m.body = (m.end - m.start > 1)
- ? str.substring(m.start + a.length, m.end)
- : '';
- m.post = str.slice(m.end + b.length);
- return m;
- }
- }
- }
-
- // if we opened more than we closed, find the one we closed
- if (bal && ended) {
- var start = m.start + a.length;
- m = balanced(a, b, str.substr(start));
- if (m) {
- m.start += start;
- m.end += start;
- m.pre = str.slice(0, start) + m.pre;
- }
- return m;
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
deleted file mode 100644
index ede6efefa0..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "name": "balanced-match",
- "description": "Match balanced character pairs, like \"{\" and \"}\"",
- "version": "0.2.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/balanced-match.git"
- },
- "homepage": "https://github.com/juliangruber/balanced-match",
- "main": "index.js",
- "scripts": {
- "test": "make test"
- },
- "dependencies": {},
- "devDependencies": {
- "tape": "~1.1.1"
- },
- "keywords": [
- "match",
- "regexp",
- "test",
- "balanced",
- "parse"
- ],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT",
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/8..latest",
- "firefox/20..latest",
- "firefox/nightly",
- "chrome/25..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- },
- "gitHead": "ba40ed78e7114a4a67c51da768a100184dead39c",
- "bugs": {
- "url": "https://github.com/juliangruber/balanced-match/issues"
- },
- "_id": "balanced-match@0.2.0",
- "_shasum": "38f6730c03aab6d5edbb52bd934885e756d71674",
- "_from": "balanced-match@>=0.2.0 <0.3.0",
- "_npmVersion": "2.1.8",
- "_nodeVersion": "0.10.32",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
- "maintainers": [
- {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- }
- ],
- "dist": {
- "shasum": "38f6730c03aab6d5edbb52bd934885e756d71674",
- "tarball": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js
deleted file mode 100644
index 36bfd39954..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js
+++ /dev/null
@@ -1,56 +0,0 @@
-var test = require('tape');
-var balanced = require('..');
-
-test('balanced', function(t) {
- t.deepEqual(balanced('{', '}', 'pre{in{nest}}post'), {
- start: 3,
- end: 12,
- pre: 'pre',
- body: 'in{nest}',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', '{{{{{{{{{in}post'), {
- start: 8,
- end: 11,
- pre: '{{{{{{{{',
- body: 'in',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', 'pre{body{in}post'), {
- start: 8,
- end: 11,
- pre: 'pre{body',
- body: 'in',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', 'pre}{in{nest}}post'), {
- start: 4,
- end: 13,
- pre: 'pre}',
- body: 'in{nest}',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', 'pre{body}between{body2}post'), {
- start: 3,
- end: 8,
- pre: 'pre',
- body: 'body',
- post: 'between{body2}post'
- });
- t.notOk(balanced('{', '}', 'nope'), 'should be notOk');
- t.deepEqual(balanced('<b>', '</b>', 'pre<b>in<b>nest</b></b>post'), {
- start: 3,
- end: 19,
- pre: 'pre',
- body: 'in<b>nest</b>',
- post: 'post'
- });
- t.deepEqual(balanced('<b>', '</b>', 'pre</b><b>in<b>nest</b></b>post'), {
- start: 7,
- end: 23,
- pre: 'pre</b>',
- body: 'in<b>nest</b>',
- post: 'post'
- });
- t.end();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE
deleted file mode 100644
index ee27ba4b44..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE
+++ /dev/null
@@ -1,18 +0,0 @@
-This software is released under the MIT license:
-
-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/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown
deleted file mode 100644
index 408f70a1be..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown
+++ /dev/null
@@ -1,62 +0,0 @@
-concat-map
-==========
-
-Concatenative mapdashery.
-
-[![browser support](http://ci.testling.com/substack/node-concat-map.png)](http://ci.testling.com/substack/node-concat-map)
-
-[![build status](https://secure.travis-ci.org/substack/node-concat-map.png)](http://travis-ci.org/substack/node-concat-map)
-
-example
-=======
-
-``` js
-var concatMap = require('concat-map');
-var xs = [ 1, 2, 3, 4, 5, 6 ];
-var ys = concatMap(xs, function (x) {
- return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-});
-console.dir(ys);
-```
-
-***
-
-```
-[ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]
-```
-
-methods
-=======
-
-``` js
-var concatMap = require('concat-map')
-```
-
-concatMap(xs, fn)
------------------
-
-Return an array of concatenated elements by calling `fn(x, i)` for each element
-`x` and each index `i` in the array `xs`.
-
-When `fn(x, i)` returns an array, its result will be concatenated with the
-result array. If `fn(x, i)` returns anything else, that value will be pushed
-onto the end of the result array.
-
-install
-=======
-
-With [npm](http://npmjs.org) do:
-
-```
-npm install concat-map
-```
-
-license
-=======
-
-MIT
-
-notes
-=====
-
-This module was written while sitting high above the ground in a tree.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js
deleted file mode 100644
index 33656217b6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js
+++ /dev/null
@@ -1,6 +0,0 @@
-var concatMap = require('../');
-var xs = [ 1, 2, 3, 4, 5, 6 ];
-var ys = concatMap(xs, function (x) {
- return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
-});
-console.dir(ys);
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js
deleted file mode 100644
index b29a7812e5..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-module.exports = function (xs, fn) {
- var res = [];
- for (var i = 0; i < xs.length; i++) {
- var x = fn(xs[i], i);
- if (isArray(x)) res.push.apply(res, x);
- else res.push(x);
- }
- return res;
-};
-
-var isArray = Array.isArray || function (xs) {
- return Object.prototype.toString.call(xs) === '[object Array]';
-};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js
deleted file mode 100644
index fdbd7022f6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js
+++ /dev/null
@@ -1,39 +0,0 @@
-var concatMap = require('../');
-var test = require('tape');
-
-test('empty or not', function (t) {
- var xs = [ 1, 2, 3, 4, 5, 6 ];
- var ixes = [];
- var ys = concatMap(xs, function (x, ix) {
- ixes.push(ix);
- return x % 2 ? [ x - 0.1, x, x + 0.1 ] : [];
- });
- t.same(ys, [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ]);
- t.same(ixes, [ 0, 1, 2, 3, 4, 5 ]);
- t.end();
-});
-
-test('always something', function (t) {
- var xs = [ 'a', 'b', 'c', 'd' ];
- var ys = concatMap(xs, function (x) {
- return x === 'b' ? [ 'B', 'B', 'B' ] : [ x ];
- });
- t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
- t.end();
-});
-
-test('scalars', function (t) {
- var xs = [ 'a', 'b', 'c', 'd' ];
- var ys = concatMap(xs, function (x) {
- return x === 'b' ? [ 'B', 'B', 'B' ] : x;
- });
- t.same(ys, [ 'a', 'B', 'B', 'B', 'c', 'd' ]);
- t.end();
-});
-
-test('undefs', function (t) {
- var xs = [ 'a', 'b', 'c', 'd' ];
- var ys = concatMap(xs, function () {});
- t.same(ys, [ undefined, undefined, undefined, undefined ]);
- t.end();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json
deleted file mode 100644
index 5f1866c8b5..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json
+++ /dev/null
@@ -1,75 +0,0 @@
-{
- "name": "brace-expansion",
- "description": "Brace expansion as known from sh/bash",
- "version": "1.1.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/brace-expansion.git"
- },
- "homepage": "https://github.com/juliangruber/brace-expansion",
- "main": "index.js",
- "scripts": {
- "test": "tape test/*.js",
- "gentest": "bash test/generate.sh"
- },
- "dependencies": {
- "balanced-match": "^0.2.0",
- "concat-map": "0.0.1"
- },
- "devDependencies": {
- "tape": "^3.0.3"
- },
- "keywords": [],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT",
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/8..latest",
- "firefox/20..latest",
- "firefox/nightly",
- "chrome/25..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- },
- "gitHead": "b5fa3b1c74e5e2dba2d0efa19b28335641bc1164",
- "bugs": {
- "url": "https://github.com/juliangruber/brace-expansion/issues"
- },
- "_id": "brace-expansion@1.1.0",
- "_shasum": "c9b7d03c03f37bc704be100e522b40db8f6cfcd9",
- "_from": "brace-expansion@>=1.0.0 <2.0.0",
- "_npmVersion": "2.1.10",
- "_nodeVersion": "0.10.32",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
- "maintainers": [
- {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
- {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- }
- ],
- "dist": {
- "shasum": "c9b7d03c03f37bc704be100e522b40db8f6cfcd9",
- "tarball": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js
deleted file mode 100644
index 5fe2b8ad48..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js
+++ /dev/null
@@ -1,32 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-var fs = require('fs');
-var resfile = __dirname + '/bash-results.txt';
-var cases = fs.readFileSync(resfile, 'utf8').split('><><><><');
-
-// throw away the EOF marker
-cases.pop()
-
-test('matches bash expansions', function(t) {
- cases.forEach(function(testcase) {
- var set = testcase.split('\n');
- var pattern = set.shift();
- var actual = expand(pattern);
-
- // If it expands to the empty string, then it's actually
- // just nothing, but Bash is a singly typed language, so
- // "nothing" is the same as "".
- if (set.length === 1 && set[0] === '') {
- set = []
- } else {
- // otherwise, strip off the [] that were added so that
- // "" expansions would be preserved properly.
- set = set.map(function (s) {
- return s.replace(/^\[|\]$/g, '')
- })
- }
-
- t.same(actual, set, pattern);
- });
- t.end();
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt
deleted file mode 100644
index 958148d26a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt
+++ /dev/null
@@ -1,1075 +0,0 @@
-A{b,{d,e},{f,g}}Z
-[AbZ]
-[AdZ]
-[AeZ]
-[AfZ]
-[AgZ]><><><><PRE-{a,b}{{a,b},a,b}-POST
-[PRE-aa-POST]
-[PRE-ab-POST]
-[PRE-aa-POST]
-[PRE-ab-POST]
-[PRE-ba-POST]
-[PRE-bb-POST]
-[PRE-ba-POST]
-[PRE-bb-POST]><><><><\{a,b}{{a,b},a,b}
-[{a,b}a]
-[{a,b}b]
-[{a,b}a]
-[{a,b}b]><><><><{{a,b}
-[{a]
-[{b]><><><><{a,b}}
-[a}]
-[b}]><><><><{,}
-><><><><a{,}
-[a]
-[a]><><><><{,}b
-[b]
-[b]><><><><a{,}b
-[ab]
-[ab]><><><><a{b}c
-[a{b}c]><><><><a{1..5}b
-[a1b]
-[a2b]
-[a3b]
-[a4b]
-[a5b]><><><><a{01..5}b
-[a01b]
-[a02b]
-[a03b]
-[a04b]
-[a05b]><><><><a{-01..5}b
-[a-01b]
-[a000b]
-[a001b]
-[a002b]
-[a003b]
-[a004b]
-[a005b]><><><><a{-01..5..3}b
-[a-01b]
-[a002b]
-[a005b]><><><><a{001..9}b
-[a001b]
-[a002b]
-[a003b]
-[a004b]
-[a005b]
-[a006b]
-[a007b]
-[a008b]
-[a009b]><><><><a{b,c{d,e},{f,g}h}x{y,z
-[abx{y,z]
-[acdx{y,z]
-[acex{y,z]
-[afhx{y,z]
-[aghx{y,z]><><><><a{b,c{d,e},{f,g}h}x{y,z\}
-[abx{y,z}]
-[acdx{y,z}]
-[acex{y,z}]
-[afhx{y,z}]
-[aghx{y,z}]><><><><a{b,c{d,e},{f,g}h}x{y,z}
-[abxy]
-[abxz]
-[acdxy]
-[acdxz]
-[acexy]
-[acexz]
-[afhxy]
-[afhxz]
-[aghxy]
-[aghxz]><><><><a{b{c{d,e}f{x,y{{g}h
-[a{b{cdf{x,y{{g}h]
-[a{b{cef{x,y{{g}h]><><><><a{b{c{d,e}f{x,y{}g}h
-[a{b{cdfxh]
-[a{b{cdfy{}gh]
-[a{b{cefxh]
-[a{b{cefy{}gh]><><><><a{b{c{d,e}f{x,y}}g}h
-[a{b{cdfx}g}h]
-[a{b{cdfy}g}h]
-[a{b{cefx}g}h]
-[a{b{cefy}g}h]><><><><a{b{c{d,e}f}g}h
-[a{b{cdf}g}h]
-[a{b{cef}g}h]><><><><a{{x,y},z}b
-[axb]
-[ayb]
-[azb]><><><><f{x,y{g,z}}h
-[fxh]
-[fygh]
-[fyzh]><><><><f{x,y{{g,z}}h
-[f{x,y{g}h]
-[f{x,y{z}h]><><><><f{x,y{{g,z}}h}
-[fx]
-[fy{g}h]
-[fy{z}h]><><><><f{x,y{{g}h
-[f{x,y{{g}h]><><><><f{x,y{{g}}h
-[f{x,y{{g}}h]><><><><f{x,y{}g}h
-[fxh]
-[fy{}gh]><><><><z{a,b{,c}d
-[z{a,bd]
-[z{a,bcd]><><><><z{a,b},c}d
-[za,c}d]
-[zb,c}d]><><><><{-01..5}
-[-01]
-[000]
-[001]
-[002]
-[003]
-[004]
-[005]><><><><{-05..100..5}
-[-05]
-[000]
-[005]
-[010]
-[015]
-[020]
-[025]
-[030]
-[035]
-[040]
-[045]
-[050]
-[055]
-[060]
-[065]
-[070]
-[075]
-[080]
-[085]
-[090]
-[095]
-[100]><><><><{-05..100}
-[-05]
-[-04]
-[-03]
-[-02]
-[-01]
-[000]
-[001]
-[002]
-[003]
-[004]
-[005]
-[006]
-[007]
-[008]
-[009]
-[010]
-[011]
-[012]
-[013]
-[014]
-[015]
-[016]
-[017]
-[018]
-[019]
-[020]
-[021]
-[022]
-[023]
-[024]
-[025]
-[026]
-[027]
-[028]
-[029]
-[030]
-[031]
-[032]
-[033]
-[034]
-[035]
-[036]
-[037]
-[038]
-[039]
-[040]
-[041]
-[042]
-[043]
-[044]
-[045]
-[046]
-[047]
-[048]
-[049]
-[050]
-[051]
-[052]
-[053]
-[054]
-[055]
-[056]
-[057]
-[058]
-[059]
-[060]
-[061]
-[062]
-[063]
-[064]
-[065]
-[066]
-[067]
-[068]
-[069]
-[070]
-[071]
-[072]
-[073]
-[074]
-[075]
-[076]
-[077]
-[078]
-[079]
-[080]
-[081]
-[082]
-[083]
-[084]
-[085]
-[086]
-[087]
-[088]
-[089]
-[090]
-[091]
-[092]
-[093]
-[094]
-[095]
-[096]
-[097]
-[098]
-[099]
-[100]><><><><{0..5..2}
-[0]
-[2]
-[4]><><><><{0001..05..2}
-[0001]
-[0003]
-[0005]><><><><{0001..-5..2}
-[0001]
-[-001]
-[-003]
-[-005]><><><><{0001..-5..-2}
-[0001]
-[-001]
-[-003]
-[-005]><><><><{0001..5..-2}
-[0001]
-[0003]
-[0005]><><><><{01..5}
-[01]
-[02]
-[03]
-[04]
-[05]><><><><{1..05}
-[01]
-[02]
-[03]
-[04]
-[05]><><><><{1..05..3}
-[01]
-[04]><><><><{05..100}
-[005]
-[006]
-[007]
-[008]
-[009]
-[010]
-[011]
-[012]
-[013]
-[014]
-[015]
-[016]
-[017]
-[018]
-[019]
-[020]
-[021]
-[022]
-[023]
-[024]
-[025]
-[026]
-[027]
-[028]
-[029]
-[030]
-[031]
-[032]
-[033]
-[034]
-[035]
-[036]
-[037]
-[038]
-[039]
-[040]
-[041]
-[042]
-[043]
-[044]
-[045]
-[046]
-[047]
-[048]
-[049]
-[050]
-[051]
-[052]
-[053]
-[054]
-[055]
-[056]
-[057]
-[058]
-[059]
-[060]
-[061]
-[062]
-[063]
-[064]
-[065]
-[066]
-[067]
-[068]
-[069]
-[070]
-[071]
-[072]
-[073]
-[074]
-[075]
-[076]
-[077]
-[078]
-[079]
-[080]
-[081]
-[082]
-[083]
-[084]
-[085]
-[086]
-[087]
-[088]
-[089]
-[090]
-[091]
-[092]
-[093]
-[094]
-[095]
-[096]
-[097]
-[098]
-[099]
-[100]><><><><{0a..0z}
-[{0a..0z}]><><><><{a,b\}c,d}
-[a]
-[b}c]
-[d]><><><><{a,b{c,d}
-[{a,bc]
-[{a,bd]><><><><{a,b}c,d}
-[ac,d}]
-[bc,d}]><><><><{a..F}
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]
-[Y]
-[X]
-[W]
-[V]
-[U]
-[T]
-[S]
-[R]
-[Q]
-[P]
-[O]
-[N]
-[M]
-[L]
-[K]
-[J]
-[I]
-[H]
-[G]
-[F]><><><><{A..f}
-[A]
-[B]
-[C]
-[D]
-[E]
-[F]
-[G]
-[H]
-[I]
-[J]
-[K]
-[L]
-[M]
-[N]
-[O]
-[P]
-[Q]
-[R]
-[S]
-[T]
-[U]
-[V]
-[W]
-[X]
-[Y]
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]><><><><{a..Z}
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]><><><><{A..z}
-[A]
-[B]
-[C]
-[D]
-[E]
-[F]
-[G]
-[H]
-[I]
-[J]
-[K]
-[L]
-[M]
-[N]
-[O]
-[P]
-[Q]
-[R]
-[S]
-[T]
-[U]
-[V]
-[W]
-[X]
-[Y]
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]
-[g]
-[h]
-[i]
-[j]
-[k]
-[l]
-[m]
-[n]
-[o]
-[p]
-[q]
-[r]
-[s]
-[t]
-[u]
-[v]
-[w]
-[x]
-[y]
-[z]><><><><{z..A}
-[z]
-[y]
-[x]
-[w]
-[v]
-[u]
-[t]
-[s]
-[r]
-[q]
-[p]
-[o]
-[n]
-[m]
-[l]
-[k]
-[j]
-[i]
-[h]
-[g]
-[f]
-[e]
-[d]
-[c]
-[b]
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]
-[Y]
-[X]
-[W]
-[V]
-[U]
-[T]
-[S]
-[R]
-[Q]
-[P]
-[O]
-[N]
-[M]
-[L]
-[K]
-[J]
-[I]
-[H]
-[G]
-[F]
-[E]
-[D]
-[C]
-[B]
-[A]><><><><{Z..a}
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]><><><><{a..F..2}
-[a]
-[_]
-[]]
-[[]
-[Y]
-[W]
-[U]
-[S]
-[Q]
-[O]
-[M]
-[K]
-[I]
-[G]><><><><{A..f..02}
-[A]
-[C]
-[E]
-[G]
-[I]
-[K]
-[M]
-[O]
-[Q]
-[S]
-[U]
-[W]
-[Y]
-[[]
-[]]
-[_]
-[a]
-[c]
-[e]><><><><{a..Z..5}
-[a]
-[]><><><><d{a..Z..5}b
-[dab]
-[db]><><><><{A..z..10}
-[A]
-[K]
-[U]
-[_]
-[i]
-[s]><><><><{z..A..-2}
-[z]
-[x]
-[v]
-[t]
-[r]
-[p]
-[n]
-[l]
-[j]
-[h]
-[f]
-[d]
-[b]
-[`]
-[^]
-[]
-[Z]
-[X]
-[V]
-[T]
-[R]
-[P]
-[N]
-[L]
-[J]
-[H]
-[F]
-[D]
-[B]><><><><{Z..a..20}
-[Z]><><><><{a{,b}
-[{a]
-[{ab]><><><><{a},b}
-[a}]
-[b]><><><><{x,y{,}g}
-[x]
-[yg]
-[yg]><><><><{x,y{}g}
-[x]
-[y{}g]><><><><{{a,b}
-[{a]
-[{b]><><><><{{a,b},c}
-[a]
-[b]
-[c]><><><><{{a,b}c}
-[{ac}]
-[{bc}]><><><><{{a,b},}
-[a]
-[b]><><><><X{{a,b},}X
-[XaX]
-[XbX]
-[XX]><><><><{{a,b},}c
-[ac]
-[bc]
-[c]><><><><{{a,b}.}
-[{a.}]
-[{b.}]><><><><{{a,b}}
-[{a}]
-[{b}]><><><><X{a..#}X
-[X{a..#}X]><><><><
-><><><><{-10..00}
-[-10]
-[-09]
-[-08]
-[-07]
-[-06]
-[-05]
-[-04]
-[-03]
-[-02]
-[-01]
-[000]><><><><{a,\\{a,b}c}
-[a]
-[\ac]
-[\bc]><><><><{a,\{a,b}c}
-[ac}]
-[{ac}]
-[bc}]><><><><a,\{b,c}
-[a,{b,c}]><><><><{-10.\.00}
-[{-10..00}]><><><><ff{c,b,a}
-[ffc]
-[ffb]
-[ffa]><><><><f{d,e,f}g
-[fdg]
-[feg]
-[ffg]><><><><{l,n,m}xyz
-[lxyz]
-[nxyz]
-[mxyz]><><><><{abc\,def}
-[{abc,def}]><><><><{abc}
-[{abc}]><><><><{x\,y,\{abc\},trie}
-[x,y]
-[{abc}]
-[trie]><><><><{}
-[{}]><><><><}
-[}]><><><><{
-[{]><><><><abcd{efgh
-[abcd{efgh]><><><><{1..10}
-[1]
-[2]
-[3]
-[4]
-[5]
-[6]
-[7]
-[8]
-[9]
-[10]><><><><{0..10,braces}
-[0..10]
-[braces]><><><><{{0..10},braces}
-[0]
-[1]
-[2]
-[3]
-[4]
-[5]
-[6]
-[7]
-[8]
-[9]
-[10]
-[braces]><><><><x{{0..10},braces}y
-[x0y]
-[x1y]
-[x2y]
-[x3y]
-[x4y]
-[x5y]
-[x6y]
-[x7y]
-[x8y]
-[x9y]
-[x10y]
-[xbracesy]><><><><{3..3}
-[3]><><><><x{3..3}y
-[x3y]><><><><{10..1}
-[10]
-[9]
-[8]
-[7]
-[6]
-[5]
-[4]
-[3]
-[2]
-[1]><><><><{10..1}y
-[10y]
-[9y]
-[8y]
-[7y]
-[6y]
-[5y]
-[4y]
-[3y]
-[2y]
-[1y]><><><><x{10..1}y
-[x10y]
-[x9y]
-[x8y]
-[x7y]
-[x6y]
-[x5y]
-[x4y]
-[x3y]
-[x2y]
-[x1y]><><><><{a..f}
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]><><><><{f..a}
-[f]
-[e]
-[d]
-[c]
-[b]
-[a]><><><><{a..A}
-[a]
-[`]
-[_]
-[^]
-[]]
-[]
-[[]
-[Z]
-[Y]
-[X]
-[W]
-[V]
-[U]
-[T]
-[S]
-[R]
-[Q]
-[P]
-[O]
-[N]
-[M]
-[L]
-[K]
-[J]
-[I]
-[H]
-[G]
-[F]
-[E]
-[D]
-[C]
-[B]
-[A]><><><><{A..a}
-[A]
-[B]
-[C]
-[D]
-[E]
-[F]
-[G]
-[H]
-[I]
-[J]
-[K]
-[L]
-[M]
-[N]
-[O]
-[P]
-[Q]
-[R]
-[S]
-[T]
-[U]
-[V]
-[W]
-[X]
-[Y]
-[Z]
-[[]
-[]
-[]]
-[^]
-[_]
-[`]
-[a]><><><><{f..f}
-[f]><><><><{1..f}
-[{1..f}]><><><><{f..1}
-[{f..1}]><><><><{-1..-10}
-[-1]
-[-2]
-[-3]
-[-4]
-[-5]
-[-6]
-[-7]
-[-8]
-[-9]
-[-10]><><><><{-20..0}
-[-20]
-[-19]
-[-18]
-[-17]
-[-16]
-[-15]
-[-14]
-[-13]
-[-12]
-[-11]
-[-10]
-[-9]
-[-8]
-[-7]
-[-6]
-[-5]
-[-4]
-[-3]
-[-2]
-[-1]
-[0]><><><><a-{b{d,e}}-c
-[a-{bd}-c]
-[a-{be}-c]><><><><a-{bdef-{g,i}-c
-[a-{bdef-g-c]
-[a-{bdef-i-c]><><><><{klklkl}{1,2,3}
-[{klklkl}1]
-[{klklkl}2]
-[{klklkl}3]><><><><{1..10..2}
-[1]
-[3]
-[5]
-[7]
-[9]><><><><{-1..-10..2}
-[-1]
-[-3]
-[-5]
-[-7]
-[-9]><><><><{-1..-10..-2}
-[-1]
-[-3]
-[-5]
-[-7]
-[-9]><><><><{10..1..-2}
-[10]
-[8]
-[6]
-[4]
-[2]><><><><{10..1..2}
-[10]
-[8]
-[6]
-[4]
-[2]><><><><{1..20..2}
-[1]
-[3]
-[5]
-[7]
-[9]
-[11]
-[13]
-[15]
-[17]
-[19]><><><><{1..20..20}
-[1]><><><><{100..0..5}
-[100]
-[95]
-[90]
-[85]
-[80]
-[75]
-[70]
-[65]
-[60]
-[55]
-[50]
-[45]
-[40]
-[35]
-[30]
-[25]
-[20]
-[15]
-[10]
-[5]
-[0]><><><><{100..0..-5}
-[100]
-[95]
-[90]
-[85]
-[80]
-[75]
-[70]
-[65]
-[60]
-[55]
-[50]
-[45]
-[40]
-[35]
-[30]
-[25]
-[20]
-[15]
-[10]
-[5]
-[0]><><><><{a..z}
-[a]
-[b]
-[c]
-[d]
-[e]
-[f]
-[g]
-[h]
-[i]
-[j]
-[k]
-[l]
-[m]
-[n]
-[o]
-[p]
-[q]
-[r]
-[s]
-[t]
-[u]
-[v]
-[w]
-[x]
-[y]
-[z]><><><><{a..z..2}
-[a]
-[c]
-[e]
-[g]
-[i]
-[k]
-[m]
-[o]
-[q]
-[s]
-[u]
-[w]
-[y]><><><><{z..a..-2}
-[z]
-[x]
-[v]
-[t]
-[r]
-[p]
-[n]
-[l]
-[j]
-[h]
-[f]
-[d]
-[b]><><><><{2147483645..2147483649}
-[2147483645]
-[2147483646]
-[2147483647]
-[2147483648]
-[2147483649]><><><><{10..0..2}
-[10]
-[8]
-[6]
-[4]
-[2]
-[0]><><><><{10..0..-2}
-[10]
-[8]
-[6]
-[4]
-[2]
-[0]><><><><{-50..-0..5}
-[-50]
-[-45]
-[-40]
-[-35]
-[-30]
-[-25]
-[-20]
-[-15]
-[-10]
-[-5]
-[0]><><><><{1..10.f}
-[{1..10.f}]><><><><{1..ff}
-[{1..ff}]><><><><{1..10..ff}
-[{1..10..ff}]><><><><{1.20..2}
-[{1.20..2}]><><><><{1..20..f2}
-[{1..20..f2}]><><><><{1..20..2f}
-[{1..20..2f}]><><><><{1..2f..2}
-[{1..2f..2}]><><><><{1..ff..2}
-[{1..ff..2}]><><><><{1..ff}
-[{1..ff}]><><><><{1..f}
-[{1..f}]><><><><{1..0f}
-[{1..0f}]><><><><{1..10f}
-[{1..10f}]><><><><{1..10.f}
-[{1..10.f}]><><><><{1..10.f}
-[{1..10.f}]><><><>< \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt
deleted file mode 100644
index e5161c3da8..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt
+++ /dev/null
@@ -1,182 +0,0 @@
-# skip quotes for now
-# "{x,x}"
-# {"x,x"}
-# {x","x}
-# '{a,b}{{a,b},a,b}'
-A{b,{d,e},{f,g}}Z
-PRE-{a,b}{{a,b},a,b}-POST
-\\{a,b}{{a,b},a,b}
-{{a,b}
-{a,b}}
-{,}
-a{,}
-{,}b
-a{,}b
-a{b}c
-a{1..5}b
-a{01..5}b
-a{-01..5}b
-a{-01..5..3}b
-a{001..9}b
-a{b,c{d,e},{f,g}h}x{y,z
-a{b,c{d,e},{f,g}h}x{y,z\\}
-a{b,c{d,e},{f,g}h}x{y,z}
-a{b{c{d,e}f{x,y{{g}h
-a{b{c{d,e}f{x,y{}g}h
-a{b{c{d,e}f{x,y}}g}h
-a{b{c{d,e}f}g}h
-a{{x,y},z}b
-f{x,y{g,z}}h
-f{x,y{{g,z}}h
-f{x,y{{g,z}}h}
-f{x,y{{g}h
-f{x,y{{g}}h
-f{x,y{}g}h
-z{a,b{,c}d
-z{a,b},c}d
-{-01..5}
-{-05..100..5}
-{-05..100}
-{0..5..2}
-{0001..05..2}
-{0001..-5..2}
-{0001..-5..-2}
-{0001..5..-2}
-{01..5}
-{1..05}
-{1..05..3}
-{05..100}
-{0a..0z}
-{a,b\\}c,d}
-{a,b{c,d}
-{a,b}c,d}
-{a..F}
-{A..f}
-{a..Z}
-{A..z}
-{z..A}
-{Z..a}
-{a..F..2}
-{A..f..02}
-{a..Z..5}
-d{a..Z..5}b
-{A..z..10}
-{z..A..-2}
-{Z..a..20}
-{a{,b}
-{a},b}
-{x,y{,}g}
-{x,y{}g}
-{{a,b}
-{{a,b},c}
-{{a,b}c}
-{{a,b},}
-X{{a,b},}X
-{{a,b},}c
-{{a,b}.}
-{{a,b}}
-X{a..#}X
-# this next one is an empty string
-
-{-10..00}
-# Need to escape slashes in here for reasons i guess.
-{a,\\\\{a,b}c}
-{a,\\{a,b}c}
-a,\\{b,c}
-{-10.\\.00}
-#### bash tests/braces.tests
-# Note that some tests are edited out because some features of
-# bash are intentionally not supported in this brace expander.
-ff{c,b,a}
-f{d,e,f}g
-{l,n,m}xyz
-{abc\\,def}
-{abc}
-{x\\,y,\\{abc\\},trie}
-# not impementing back-ticks obviously
-# XXXX\\{`echo a b c | tr ' ' ','`\\}
-{}
-# We only ever have to worry about parsing a single argument,
-# not a command line, so spaces have a different meaning than bash.
-# { }
-}
-{
-abcd{efgh
-# spaces
-# foo {1,2} bar
-# not impementing back-ticks obviously
-# `zecho foo {1,2} bar`
-# $(zecho foo {1,2} bar)
-# ${var} is not a variable here, like it is in bash. omit.
-# foo{bar,${var}.}
-# foo{bar,${var}}
-# isaacs: skip quotes for now
-# "${var}"{x,y}
-# $var{x,y}
-# ${var}{x,y}
-# new sequence brace operators
-{1..10}
-# this doesn't work yet
-{0..10,braces}
-# but this does
-{{0..10},braces}
-x{{0..10},braces}y
-{3..3}
-x{3..3}y
-{10..1}
-{10..1}y
-x{10..1}y
-{a..f}
-{f..a}
-{a..A}
-{A..a}
-{f..f}
-# mixes are incorrectly-formed brace expansions
-{1..f}
-{f..1}
-# spaces
-# 0{1..9} {10..20}
-# do negative numbers work?
-{-1..-10}
-{-20..0}
-# weirdly-formed brace expansions -- fixed in post-bash-3.1
-a-{b{d,e}}-c
-a-{bdef-{g,i}-c
-# isaacs: skip quotes for now
-# {"klklkl"}{1,2,3}
-# isaacs: this is a valid test, though
-{klklkl}{1,2,3}
-# {"x,x"}
-{1..10..2}
-{-1..-10..2}
-{-1..-10..-2}
-{10..1..-2}
-{10..1..2}
-{1..20..2}
-{1..20..20}
-{100..0..5}
-{100..0..-5}
-{a..z}
-{a..z..2}
-{z..a..-2}
-# make sure brace expansion handles ints > 2**31 - 1 using intmax_t
-{2147483645..2147483649}
-# unwanted zero-padding -- fixed post-bash-4.0
-{10..0..2}
-{10..0..-2}
-{-50..-0..5}
-# bad
-{1..10.f}
-{1..ff}
-{1..10..ff}
-{1.20..2}
-{1..20..f2}
-{1..20..2f}
-{1..2f..2}
-{1..ff..2}
-{1..ff}
-{1..f}
-{1..0f}
-{1..10f}
-{1..10.f}
-{1..10.f}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js
deleted file mode 100644
index 3fcc185a7d..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js
+++ /dev/null
@@ -1,9 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('ignores ${', function(t) {
- t.deepEqual(expand('${1..3}'), ['${1..3}']);
- t.deepEqual(expand('${a,b}${c,d}'), ['${a,b}${c,d}']);
- t.deepEqual(expand('x${a,b}x${c,d}x'), ['x${a,b}x${c,d}x']);
- t.end();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
deleted file mode 100644
index e429121eab..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('empty option', function(t) {
- t.deepEqual(expand('-v{,,,,}'), [
- '-v', '-v', '-v', '-v', '-v'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh
deleted file mode 100644
index e040e664d9..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-# Bash 4.3 because of arbitrary need to pick a single standard.
-
-if [ "${BASH_VERSINFO[0]}" != "4" ] || [ "${BASH_VERSINFO[1]}" != "3" ]; then
- echo "this script requires bash 4.3" >&2
- exit 1
-fi
-
-CDPATH= cd "$(dirname "$0")"
-
-js='require("./")(process.argv[1]).join(" ")'
-
-cat cases.txt | \
- while read case; do
- if [ "${case:0:1}" = "#" ]; then
- continue;
- fi;
- b="$($BASH -c 'for c in '"$case"'; do echo ["$c"]; done')"
- echo "$case"
- echo -n "$b><><><><";
- done > bash-results.txt
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js
deleted file mode 100644
index 8d434c23d4..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('negative increment', function(t) {
- t.deepEqual(expand('{3..1}'), ['3', '2', '1']);
- t.deepEqual(expand('{10..8}'), ['10', '9', '8']);
- t.deepEqual(expand('{10..08}'), ['10', '09', '08']);
- t.deepEqual(expand('{c..a}'), ['c', 'b', 'a']);
-
- t.deepEqual(expand('{4..0..2}'), ['4', '2', '0']);
- t.deepEqual(expand('{4..0..-2}'), ['4', '2', '0']);
- t.deepEqual(expand('{e..a..2}'), ['e', 'c', 'a']);
-
- t.end();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
deleted file mode 100644
index 0862dc51f9..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js
+++ /dev/null
@@ -1,16 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('nested', function(t) {
- t.deepEqual(expand('{a,b{1..3},c}'), [
- 'a', 'b1', 'b2', 'b3', 'c'
- ]);
- t.deepEqual(expand('{{A..Z},{a..z}}'),
- 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
- );
- t.deepEqual(expand('ppp{,config,oe{,conf}}'), [
- 'ppp', 'pppconfig', 'pppoe', 'pppoeconf'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js
deleted file mode 100644
index c00ad155fe..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js
+++ /dev/null
@@ -1,10 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('order', function(t) {
- t.deepEqual(expand('a{d,c,b}e'), [
- 'ade', 'ace', 'abe'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
deleted file mode 100644
index e4158775f1..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('pad', function(t) {
- t.deepEqual(expand('{9..11}'), [
- '9', '10', '11'
- ]);
- t.deepEqual(expand('{09..11}'), [
- '09', '10', '11'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js
deleted file mode 100644
index 3038fba741..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('x and y of same type', function(t) {
- t.deepEqual(expand('{a..9}'), ['{a..9}']);
- t.end();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
deleted file mode 100644
index f73a9579ab..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js
+++ /dev/null
@@ -1,50 +0,0 @@
-var test = require('tape');
-var expand = require('..');
-
-test('numeric sequences', function(t) {
- t.deepEqual(expand('a{1..2}b{2..3}c'), [
- 'a1b2c', 'a1b3c', 'a2b2c', 'a2b3c'
- ]);
- t.deepEqual(expand('{1..2}{2..3}'), [
- '12', '13', '22', '23'
- ]);
- t.end();
-});
-
-test('numeric sequences with step count', function(t) {
- t.deepEqual(expand('{0..8..2}'), [
- '0', '2', '4', '6', '8'
- ]);
- t.deepEqual(expand('{1..8..2}'), [
- '1', '3', '5', '7'
- ]);
- t.end();
-});
-
-test('numeric sequence with negative x / y', function(t) {
- t.deepEqual(expand('{3..-2}'), [
- '3', '2', '1', '0', '-1', '-2'
- ]);
- t.end();
-});
-
-test('alphabetic sequences', function(t) {
- t.deepEqual(expand('1{a..b}2{b..c}3'), [
- '1a2b3', '1a2c3', '1b2b3', '1b2c3'
- ]);
- t.deepEqual(expand('{a..b}{b..c}'), [
- 'ab', 'ac', 'bb', 'bc'
- ]);
- t.end();
-});
-
-test('alphabetic sequences with step count', function(t) {
- t.deepEqual(expand('{a..k..2}'), [
- 'a', 'c', 'e', 'g', 'i', 'k'
- ]);
- t.deepEqual(expand('{b..k..2}'), [
- 'b', 'd', 'f', 'h', 'j'
- ]);
- t.end();
-});
-
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json
index 3dc6beb49f..17ccc275e3 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json
@@ -1,63 +1,88 @@
{
+ "_args": [
+ [
+ "minimatch@^2.0.1",
+ "/Users/rebecca/code/npm/node_modules/glob"
+ ],
+ [
+ "minimatch@^2.0.1",
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/glob"
+ ]
+ ],
+ "_from": "minimatch@>=2.0.1 <3.0.0",
+ "_id": "minimatch@2.0.10",
+ "_inCache": true,
+ "_location": "/node-gyp/glob/minimatch",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.1.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "minimatch",
+ "raw": "minimatch@^2.0.1",
+ "rawSpec": "^2.0.1",
+ "scope": null,
+ "spec": ">=2.0.1 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/glob"
+ ],
+ "_shrinkwrap": null,
+ "_spec": "minimatch@^2.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/glob",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me"
},
- "name": "minimatch",
- "description": "a glob matcher in javascript",
- "version": "2.0.10",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/minimatch.git"
- },
- "main": "minimatch.js",
- "scripts": {
- "posttest": "standard minimatch.js test/*.js",
- "test": "tap test/*.js",
- "prepublish": "browserify -o browser.js -e minimatch.js -s minimatch --bare"
- },
- "engines": {
- "node": "*"
+ "bugs": {
+ "url": "https://github.com/isaacs/minimatch/issues"
},
"dependencies": {
"brace-expansion": "^1.0.0"
},
+ "description": "a glob matcher in javascript",
"devDependencies": {
"browserify": "^9.0.3",
"standard": "^3.7.2",
"tap": "^1.2.0"
},
- "license": "ISC",
- "files": [
- "minimatch.js",
- "browser.js"
- ],
- "gitHead": "6afb85f0c324b321f76a38df81891e562693e257",
- "bugs": {
- "url": "https://github.com/isaacs/minimatch/issues"
- },
- "homepage": "https://github.com/isaacs/minimatch#readme",
- "_id": "minimatch@2.0.10",
- "_shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
- "_from": "minimatch@>=2.0.1 <3.0.0",
- "_npmVersion": "3.1.0",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
"tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"
},
+ "engines": {
+ "node": "*"
+ },
+ "files": [
+ "browser.js",
+ "minimatch.js"
+ ],
+ "gitHead": "6afb85f0c324b321f76a38df81891e562693e257",
+ "homepage": "https://github.com/isaacs/minimatch#readme",
+ "license": "ISC",
+ "main": "minimatch.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "minimatch",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/minimatch.git"
+ },
+ "scripts": {
+ "posttest": "standard minimatch.js test/*.js",
+ "prepublish": "browserify -o browser.js -e minimatch.js -s minimatch --bare",
+ "test": "tap test/*.js"
+ },
+ "version": "2.0.10"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
index 434e4696f8..5e32a7561d 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
@@ -1,24 +1,46 @@
{
- "author": {
- "name": "Isaac Z. Schlueter",
+ "_args": [
+ [
+ "glob@3 || 4",
+ "/Users/rebecca/code/npm/node_modules/node-gyp"
+ ]
+ ],
+ "_from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0",
+ "_id": "glob@4.5.3",
+ "_inCache": true,
+ "_location": "/node-gyp/glob",
+ "_nodeVersion": "1.4.2",
+ "_npmUser": {
"email": "i@izs.me",
- "url": "http://blog.izs.me/"
+ "name": "isaacs"
},
- "name": "glob",
- "description": "a little globber",
- "version": "4.5.3",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-glob.git"
+ "_npmVersion": "2.7.1",
+ "_phantomChildren": {
+ "brace-expansion": "1.1.0"
},
- "main": "glob.js",
- "files": [
- "glob.js",
- "sync.js",
- "common.js"
+ "_requested": {
+ "name": "glob",
+ "raw": "glob@3 || 4",
+ "rawSpec": "3 || 4",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0||>=4.0.0 <5.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp"
],
- "engines": {
- "node": "*"
+ "_resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
+ "_shasum": "c6cb73d3226c1efef04de3c56d012f03377ee15f",
+ "_shrinkwrap": null,
+ "_spec": "glob@3 || 4",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/node-glob/issues"
},
"dependencies": {
"inflight": "^1.0.4",
@@ -26,47 +48,50 @@
"minimatch": "^2.0.1",
"once": "^1.3.0"
},
+ "description": "a little globber",
"devDependencies": {
"mkdirp": "0",
"rimraf": "^2.2.8",
"tap": "^0.5.0",
"tick": "0.0.6"
},
- "scripts": {
- "prepublish": "npm run benchclean",
- "profclean": "rm -f v8.log profile.txt",
- "test": "npm run profclean && tap test/*.js",
- "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js",
- "bench": "bash benchmark.sh",
- "prof": "bash prof.sh && cat profile.txt",
- "benchclean": "bash benchclean.sh"
+ "directories": {},
+ "dist": {
+ "shasum": "c6cb73d3226c1efef04de3c56d012f03377ee15f",
+ "tarball": "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz"
},
- "license": "ISC",
- "gitHead": "a4e461ab59a837eee80a4d8dbdbf5ae1054a646f",
- "bugs": {
- "url": "https://github.com/isaacs/node-glob/issues"
+ "engines": {
+ "node": "*"
},
+ "files": [
+ "common.js",
+ "glob.js",
+ "sync.js"
+ ],
+ "gitHead": "a4e461ab59a837eee80a4d8dbdbf5ae1054a646f",
"homepage": "https://github.com/isaacs/node-glob",
- "_id": "glob@4.5.3",
- "_shasum": "c6cb73d3226c1efef04de3c56d012f03377ee15f",
- "_from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0",
- "_npmVersion": "2.7.1",
- "_nodeVersion": "1.4.2",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "license": "ISC",
+ "main": "glob.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "c6cb73d3226c1efef04de3c56d012f03377ee15f",
- "tarball": "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz"
+ "name": "glob",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-glob.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "bench": "bash benchmark.sh",
+ "benchclean": "bash benchclean.sh",
+ "prepublish": "npm run benchclean",
+ "prof": "bash prof.sh && cat profile.txt",
+ "profclean": "rm -f v8.log profile.txt",
+ "test": "npm run profclean && tap test/*.js",
+ "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js"
+ },
+ "version": "4.5.3"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json
index 8bf46ccae0..7358ebfad5 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json
@@ -1,58 +1,81 @@
{
- "author": {
- "name": "Isaac Z. Schlueter",
+ "_args": [
+ [
+ "minimatch@1",
+ "/Users/rebecca/code/npm/node_modules/node-gyp"
+ ]
+ ],
+ "_from": "minimatch@>=1.0.0 <2.0.0",
+ "_id": "minimatch@1.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/minimatch",
+ "_npmUser": {
"email": "i@izs.me",
- "url": "http://blog.izs.me"
+ "name": "isaacs"
},
- "name": "minimatch",
- "description": "a glob matcher in javascript",
- "version": "1.0.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/minimatch.git"
+ "_npmVersion": "1.4.21",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "minimatch",
+ "raw": "minimatch@1",
+ "rawSpec": "1",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
- "main": "minimatch.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_requiredBy": [
+ "/node-gyp"
+ ],
+ "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
+ "_shasum": "e0dd2120b49e1b724ce8d714c520822a9438576d",
+ "_shrinkwrap": null,
+ "_spec": "minimatch@1",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me"
},
- "engines": {
- "node": "*"
+ "bugs": {
+ "url": "https://github.com/isaacs/minimatch/issues"
},
"dependencies": {
"lru-cache": "2",
"sigmund": "~1.0.0"
},
+ "description": "a glob matcher in javascript",
"devDependencies": {
"tap": ""
},
- "license": {
- "type": "MIT",
- "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"
+ "directories": {},
+ "dist": {
+ "shasum": "e0dd2120b49e1b724ce8d714c520822a9438576d",
+ "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz"
},
- "gitHead": "b374a643976eb55cdc19c60b6dd51ebe9bcc607a",
- "bugs": {
- "url": "https://github.com/isaacs/minimatch/issues"
+ "engines": {
+ "node": "*"
},
+ "gitHead": "b374a643976eb55cdc19c60b6dd51ebe9bcc607a",
"homepage": "https://github.com/isaacs/minimatch",
- "_id": "minimatch@1.0.0",
- "_shasum": "e0dd2120b49e1b724ce8d714c520822a9438576d",
- "_from": "minimatch@>=1.0.0 <2.0.0",
- "_npmVersion": "1.4.21",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
+ "license": {
+ "type": "MIT",
+ "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"
},
+ "main": "minimatch.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "e0dd2120b49e1b724ce8d714c520822a9438576d",
- "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz"
+ "name": "minimatch",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/minimatch.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/.npmignore
deleted file mode 100644
index 7e6163db02..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/.npmignore
+++ /dev/null
@@ -1,6 +0,0 @@
-support
-test
-examples
-example
-*.sock
-dist
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/History.md b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/History.md
deleted file mode 100644
index 854c9711c6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/History.md
+++ /dev/null
@@ -1,195 +0,0 @@
-
-2.2.0 / 2015-05-09
-==================
-
- * package: update "ms" to v0.7.1 (#202, @dougwilson)
- * README: add logging to file example (#193, @DanielOchoa)
- * README: fixed a typo (#191, @amir-s)
- * browser: expose `storage` (#190, @stephenmathieson)
- * Makefile: add a `distclean` target (#189, @stephenmathieson)
-
-2.1.3 / 2015-03-13
-==================
-
- * Updated stdout/stderr example (#186)
- * Updated example/stdout.js to match debug current behaviour
- * Renamed example/stderr.js to stdout.js
- * Update Readme.md (#184)
- * replace high intensity foreground color for bold (#182, #183)
-
-2.1.2 / 2015-03-01
-==================
-
- * dist: recompile
- * update "ms" to v0.7.0
- * package: update "browserify" to v9.0.3
- * component: fix "ms.js" repo location
- * changed bower package name
- * updated documentation about using debug in a browser
- * fix: security error on safari (#167, #168, @yields)
-
-2.1.1 / 2014-12-29
-==================
-
- * browser: use `typeof` to check for `console` existence
- * browser: check for `console.log` truthiness (fix IE 8/9)
- * browser: add support for Chrome apps
- * Readme: added Windows usage remarks
- * Add `bower.json` to properly support bower install
-
-2.1.0 / 2014-10-15
-==================
-
- * node: implement `DEBUG_FD` env variable support
- * package: update "browserify" to v6.1.0
- * package: add "license" field to package.json (#135, @panuhorsmalahti)
-
-2.0.0 / 2014-09-01
-==================
-
- * package: update "browserify" to v5.11.0
- * node: use stderr rather than stdout for logging (#29, @stephenmathieson)
-
-1.0.4 / 2014-07-15
-==================
-
- * dist: recompile
- * example: remove `console.info()` log usage
- * example: add "Content-Type" UTF-8 header to browser example
- * browser: place %c marker after the space character
- * browser: reset the "content" color via `color: inherit`
- * browser: add colors support for Firefox >= v31
- * debug: prefer an instance `log()` function over the global one (#119)
- * Readme: update documentation about styled console logs for FF v31 (#116, @wryk)
-
-1.0.3 / 2014-07-09
-==================
-
- * Add support for multiple wildcards in namespaces (#122, @seegno)
- * browser: fix lint
-
-1.0.2 / 2014-06-10
-==================
-
- * browser: update color palette (#113, @gscottolson)
- * common: make console logging function configurable (#108, @timoxley)
- * node: fix %o colors on old node <= 0.8.x
- * Makefile: find node path using shell/which (#109, @timoxley)
-
-1.0.1 / 2014-06-06
-==================
-
- * browser: use `removeItem()` to clear localStorage
- * browser, node: don't set DEBUG if namespaces is undefined (#107, @leedm777)
- * package: add "contributors" section
- * node: fix comment typo
- * README: list authors
-
-1.0.0 / 2014-06-04
-==================
-
- * make ms diff be global, not be scope
- * debug: ignore empty strings in enable()
- * node: make DEBUG_COLORS able to disable coloring
- * *: export the `colors` array
- * npmignore: don't publish the `dist` dir
- * Makefile: refactor to use browserify
- * package: add "browserify" as a dev dependency
- * Readme: add Web Inspector Colors section
- * node: reset terminal color for the debug content
- * node: map "%o" to `util.inspect()`
- * browser: map "%j" to `JSON.stringify()`
- * debug: add custom "formatters"
- * debug: use "ms" module for humanizing the diff
- * Readme: add "bash" syntax highlighting
- * browser: add Firebug color support
- * browser: add colors for WebKit browsers
- * node: apply log to `console`
- * rewrite: abstract common logic for Node & browsers
- * add .jshintrc file
-
-0.8.1 / 2014-04-14
-==================
-
- * package: re-add the "component" section
-
-0.8.0 / 2014-03-30
-==================
-
- * add `enable()` method for nodejs. Closes #27
- * change from stderr to stdout
- * remove unnecessary index.js file
-
-0.7.4 / 2013-11-13
-==================
-
- * remove "browserify" key from package.json (fixes something in browserify)
-
-0.7.3 / 2013-10-30
-==================
-
- * fix: catch localStorage security error when cookies are blocked (Chrome)
- * add debug(err) support. Closes #46
- * add .browser prop to package.json. Closes #42
-
-0.7.2 / 2013-02-06
-==================
-
- * fix package.json
- * fix: Mobile Safari (private mode) is broken with debug
- * fix: Use unicode to send escape character to shell instead of octal to work with strict mode javascript
-
-0.7.1 / 2013-02-05
-==================
-
- * add repository URL to package.json
- * add DEBUG_COLORED to force colored output
- * add browserify support
- * fix component. Closes #24
-
-0.7.0 / 2012-05-04
-==================
-
- * Added .component to package.json
- * Added debug.component.js build
-
-0.6.0 / 2012-03-16
-==================
-
- * Added support for "-" prefix in DEBUG [Vinay Pulim]
- * Added `.enabled` flag to the node version [TooTallNate]
-
-0.5.0 / 2012-02-02
-==================
-
- * Added: humanize diffs. Closes #8
- * Added `debug.disable()` to the CS variant
- * Removed padding. Closes #10
- * Fixed: persist client-side variant again. Closes #9
-
-0.4.0 / 2012-02-01
-==================
-
- * Added browser variant support for older browsers [TooTallNate]
- * Added `debug.enable('project:*')` to browser variant [TooTallNate]
- * Added padding to diff (moved it to the right)
-
-0.3.0 / 2012-01-26
-==================
-
- * Added millisecond diff when isatty, otherwise UTC string
-
-0.2.0 / 2012-01-22
-==================
-
- * Added wildcard support
-
-0.1.0 / 2011-12-02
-==================
-
- * Added: remove colors unless stderr isatty [TooTallNate]
-
-0.0.1 / 2010-01-03
-==================
-
- * Initial release
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Makefile b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Makefile
deleted file mode 100644
index 5cf4a5962b..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-
-# get Makefile directory name: http://stackoverflow.com/a/5982798/376773
-THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))
-THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd)
-
-# BIN directory
-BIN := $(THIS_DIR)/node_modules/.bin
-
-# applications
-NODE ?= $(shell which node)
-NPM ?= $(NODE) $(shell which npm)
-BROWSERIFY ?= $(NODE) $(BIN)/browserify
-
-all: dist/debug.js
-
-install: node_modules
-
-clean:
- @rm -rf dist
-
-dist:
- @mkdir -p $@
-
-dist/debug.js: node_modules browser.js debug.js dist
- @$(BROWSERIFY) \
- --standalone debug \
- . > $@
-
-distclean: clean
- @rm -rf node_modules
-
-node_modules: package.json
- @NODE_ENV= $(NPM) install
- @touch node_modules
-
-.PHONY: all install clean distclean
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Readme.md b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Readme.md
deleted file mode 100644
index b4f45e3cc6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/Readme.md
+++ /dev/null
@@ -1,188 +0,0 @@
-# debug
-
- tiny node.js debugging utility modelled after node core's debugging technique.
-
-## Installation
-
-```bash
-$ npm install debug
-```
-
-## Usage
-
- With `debug` you simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decorated `console.error`, so all of the `console` format string goodies you're used to work fine. A unique color is selected per-function for visibility.
-
-Example _app.js_:
-
-```js
-var debug = require('debug')('http')
- , http = require('http')
- , name = 'My App';
-
-// fake app
-
-debug('booting %s', name);
-
-http.createServer(function(req, res){
- debug(req.method + ' ' + req.url);
- res.end('hello\n');
-}).listen(3000, function(){
- debug('listening');
-});
-
-// fake worker of some kind
-
-require('./worker');
-```
-
-Example _worker.js_:
-
-```js
-var debug = require('debug')('worker');
-
-setInterval(function(){
- debug('doing some work');
-}, 1000);
-```
-
- The __DEBUG__ environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:
-
- ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)
-
- ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)
-
-#### Windows note
-
- On Windows the environment variable is set using the `set` command.
-
- ```cmd
- set DEBUG=*,-not_this
- ```
-
-Then, run the program to be debugged as usual.
-
-## Millisecond diff
-
- When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
-
- ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)
-
- When stdout is not a TTY, `Date#toUTCString()` is used, making it more useful for logging the debug information as shown below:
-
- ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)
-
-## Conventions
-
- If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".
-
-## Wildcards
-
- The `*` character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three with `DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do `DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
-
- You can also exclude specific debuggers by prefixing them with a "-" character. For example, `DEBUG=*,-connect:*` would include all debuggers except those starting with "connect:".
-
-## Browser support
-
- Debug works in the browser as well, currently persisted by `localStorage`. Consider the situation shown below where you have `worker:a` and `worker:b`, and wish to debug both. Somewhere in the code on your page, include:
-
-```js
-window.myDebug = require("debug");
-```
-
- ("debug" is a global object in the browser so we give this object a different name.) When your page is open in the browser, type the following in the console:
-
-```js
-myDebug.enable("worker:*")
-```
-
- Refresh the page. Debug output will continue to be sent to the console until it is disabled by typing `myDebug.disable()` in the console.
-
-```js
-a = debug('worker:a');
-b = debug('worker:b');
-
-setInterval(function(){
- a('doing some work');
-}, 1000);
-
-setInterval(function(){
- b('doing some work');
-}, 1200);
-```
-
-#### Web Inspector Colors
-
- Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
- option. These are WebKit web inspectors, Firefox ([since version
- 31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
- and the Firebug plugin for Firefox (any version).
-
- Colored output looks something like:
-
- ![](https://cloud.githubusercontent.com/assets/71256/3139768/b98c5fd8-e8ef-11e3-862a-f7253b6f47c6.png)
-
-### stderr vs stdout
-
-You can set an alternative logging method per-namespace by overriding the `log` method on a per-namespace or globally:
-
-Example _stdout.js_:
-
-```js
-var debug = require('debug');
-var error = debug('app:error');
-
-// by default stderr is used
-error('goes to stderr!');
-
-var log = debug('app:log');
-// set this namespace to log via console.log
-log.log = console.log.bind(console); // don't forget to bind to console!
-log('goes to stdout');
-error('still goes to stderr!');
-
-// set all output to go via console.info
-// overrides all per-namespace log settings
-debug.log = console.info.bind(console);
-error('now goes to stdout via console.info');
-log('still goes to stdout, but via console.info now');
-```
-
-### Save debug output to a file
-
-You can save all debug statements to a file by piping them.
-
-Example:
-
-```bash
-$ DEBUG_FD=3 node your-app.js 3> whatever.log
-```
-
-## Authors
-
- - TJ Holowaychuk
- - Nathan Rajlich
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
-
-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/path-array/node_modules/array-index/node_modules/debug/bower.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/bower.json
deleted file mode 100644
index 6af573ff5c..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/bower.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "name": "visionmedia-debug",
- "main": "dist/debug.js",
- "version": "2.2.0",
- "homepage": "https://github.com/visionmedia/debug",
- "authors": [
- "TJ Holowaychuk <tj@vision-media.ca>"
- ],
- "description": "visionmedia-debug",
- "moduleType": [
- "amd",
- "es6",
- "globals",
- "node"
- ],
- "keywords": [
- "visionmedia",
- "debug"
- ],
- "license": "MIT",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ]
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/browser.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/browser.js
deleted file mode 100644
index 7c76452219..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/browser.js
+++ /dev/null
@@ -1,168 +0,0 @@
-
-/**
- * This is the web browser implementation of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = require('./debug');
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-exports.storage = 'undefined' != typeof chrome
- && 'undefined' != typeof chrome.storage
- ? chrome.storage.local
- : localstorage();
-
-/**
- * Colors.
- */
-
-exports.colors = [
- 'lightseagreen',
- 'forestgreen',
- 'goldenrod',
- 'dodgerblue',
- 'darkorchid',
- 'crimson'
-];
-
-/**
- * Currently only WebKit-based Web Inspectors, Firefox >= v31,
- * and the Firebug extension (any Firefox version) are known
- * to support "%c" CSS customizations.
- *
- * TODO: add a `localStorage` variable to explicitly enable/disable colors
- */
-
-function useColors() {
- // is webkit? http://stackoverflow.com/a/16459606/376773
- return ('WebkitAppearance' in document.documentElement.style) ||
- // is firebug? http://stackoverflow.com/a/398120/376773
- (window.console && (console.firebug || (console.exception && console.table))) ||
- // is firefox >= v31?
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
- (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31);
-}
-
-/**
- * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
- */
-
-exports.formatters.j = function(v) {
- return JSON.stringify(v);
-};
-
-
-/**
- * Colorize log arguments if enabled.
- *
- * @api public
- */
-
-function formatArgs() {
- var args = arguments;
- var useColors = this.useColors;
-
- args[0] = (useColors ? '%c' : '')
- + this.namespace
- + (useColors ? ' %c' : ' ')
- + args[0]
- + (useColors ? '%c ' : ' ')
- + '+' + exports.humanize(this.diff);
-
- if (!useColors) return args;
-
- var c = 'color: ' + this.color;
- args = [args[0], c, 'color: inherit'].concat(Array.prototype.slice.call(args, 1));
-
- // the final "%c" is somewhat tricky, because there could be other
- // arguments passed either before or after the %c, so we need to
- // figure out the correct index to insert the CSS into
- var index = 0;
- var lastC = 0;
- args[0].replace(/%[a-z%]/g, function(match) {
- if ('%%' === match) return;
- index++;
- if ('%c' === match) {
- // we only are interested in the *last* %c
- // (the user may have provided their own)
- lastC = index;
- }
- });
-
- args.splice(lastC, 0, c);
- return args;
-}
-
-/**
- * Invokes `console.log()` when available.
- * No-op when `console.log` is not a "function".
- *
- * @api public
- */
-
-function log() {
- // this hackery is required for IE8/9, where
- // the `console.log` function doesn't have 'apply'
- return 'object' === typeof console
- && console.log
- && Function.prototype.apply.call(console.log, console, arguments);
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-
-function save(namespaces) {
- try {
- if (null == namespaces) {
- exports.storage.removeItem('debug');
- } else {
- exports.storage.debug = namespaces;
- }
- } catch(e) {}
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- var r;
- try {
- r = exports.storage.debug;
- } catch(e) {}
- return r;
-}
-
-/**
- * Enable namespaces listed in `localStorage.debug` initially.
- */
-
-exports.enable(load());
-
-/**
- * Localstorage attempts to return the localstorage.
- *
- * This is necessary because safari throws
- * when a user disables cookies/localstorage
- * and you attempt to access it.
- *
- * @return {LocalStorage}
- * @api private
- */
-
-function localstorage(){
- try {
- return window.localStorage;
- } catch (e) {}
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/component.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/component.json
deleted file mode 100644
index ca1063724a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/component.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "debug",
- "repo": "visionmedia/debug",
- "description": "small debugging utility",
- "version": "2.2.0",
- "keywords": [
- "debug",
- "log",
- "debugger"
- ],
- "main": "browser.js",
- "scripts": [
- "browser.js",
- "debug.js"
- ],
- "dependencies": {
- "rauchg/ms.js": "0.7.1"
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/debug.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/debug.js
deleted file mode 100644
index 7571a86058..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/debug.js
+++ /dev/null
@@ -1,197 +0,0 @@
-
-/**
- * This is the common logic for both the Node.js and web browser
- * implementations of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = debug;
-exports.coerce = coerce;
-exports.disable = disable;
-exports.enable = enable;
-exports.enabled = enabled;
-exports.humanize = require('ms');
-
-/**
- * The currently active debug mode names, and names to skip.
- */
-
-exports.names = [];
-exports.skips = [];
-
-/**
- * Map of special "%n" handling functions, for the debug "format" argument.
- *
- * Valid key names are a single, lowercased letter, i.e. "n".
- */
-
-exports.formatters = {};
-
-/**
- * Previously assigned color.
- */
-
-var prevColor = 0;
-
-/**
- * Previous log timestamp.
- */
-
-var prevTime;
-
-/**
- * Select a color.
- *
- * @return {Number}
- * @api private
- */
-
-function selectColor() {
- return exports.colors[prevColor++ % exports.colors.length];
-}
-
-/**
- * Create a debugger with the given `namespace`.
- *
- * @param {String} namespace
- * @return {Function}
- * @api public
- */
-
-function debug(namespace) {
-
- // define the `disabled` version
- function disabled() {
- }
- disabled.enabled = false;
-
- // define the `enabled` version
- function enabled() {
-
- var self = enabled;
-
- // set `diff` timestamp
- var curr = +new Date();
- var ms = curr - (prevTime || curr);
- self.diff = ms;
- self.prev = prevTime;
- self.curr = curr;
- prevTime = curr;
-
- // add the `color` if not set
- if (null == self.useColors) self.useColors = exports.useColors();
- if (null == self.color && self.useColors) self.color = selectColor();
-
- var args = Array.prototype.slice.call(arguments);
-
- args[0] = exports.coerce(args[0]);
-
- if ('string' !== typeof args[0]) {
- // anything else let's inspect with %o
- args = ['%o'].concat(args);
- }
-
- // apply any `formatters` transformations
- var index = 0;
- args[0] = args[0].replace(/%([a-z%])/g, function(match, format) {
- // if we encounter an escaped % then don't increase the array index
- if (match === '%%') return match;
- index++;
- var formatter = exports.formatters[format];
- if ('function' === typeof formatter) {
- var val = args[index];
- match = formatter.call(self, val);
-
- // now we need to remove `args[index]` since it's inlined in the `format`
- args.splice(index, 1);
- index--;
- }
- return match;
- });
-
- if ('function' === typeof exports.formatArgs) {
- args = exports.formatArgs.apply(self, args);
- }
- var logFn = enabled.log || exports.log || console.log.bind(console);
- logFn.apply(self, args);
- }
- enabled.enabled = true;
-
- var fn = exports.enabled(namespace) ? enabled : disabled;
-
- fn.namespace = namespace;
-
- return fn;
-}
-
-/**
- * Enables a debug mode by namespaces. This can include modes
- * separated by a colon and wildcards.
- *
- * @param {String} namespaces
- * @api public
- */
-
-function enable(namespaces) {
- exports.save(namespaces);
-
- var split = (namespaces || '').split(/[\s,]+/);
- var len = split.length;
-
- for (var i = 0; i < len; i++) {
- if (!split[i]) continue; // ignore empty strings
- namespaces = split[i].replace(/\*/g, '.*?');
- if (namespaces[0] === '-') {
- exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$'));
- } else {
- exports.names.push(new RegExp('^' + namespaces + '$'));
- }
- }
-}
-
-/**
- * Disable debug output.
- *
- * @api public
- */
-
-function disable() {
- exports.enable('');
-}
-
-/**
- * Returns true if the given mode name is enabled, false otherwise.
- *
- * @param {String} name
- * @return {Boolean}
- * @api public
- */
-
-function enabled(name) {
- var i, len;
- for (i = 0, len = exports.skips.length; i < len; i++) {
- if (exports.skips[i].test(name)) {
- return false;
- }
- }
- for (i = 0, len = exports.names.length; i < len; i++) {
- if (exports.names[i].test(name)) {
- return true;
- }
- }
- return false;
-}
-
-/**
- * Coerce `val`.
- *
- * @param {Mixed} val
- * @return {Mixed}
- * @api private
- */
-
-function coerce(val) {
- if (val instanceof Error) return val.stack || val.message;
- return val;
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node.js
deleted file mode 100644
index 1d392a81d6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node.js
+++ /dev/null
@@ -1,209 +0,0 @@
-
-/**
- * Module dependencies.
- */
-
-var tty = require('tty');
-var util = require('util');
-
-/**
- * This is the Node.js implementation of `debug()`.
- *
- * Expose `debug()` as the module.
- */
-
-exports = module.exports = require('./debug');
-exports.log = log;
-exports.formatArgs = formatArgs;
-exports.save = save;
-exports.load = load;
-exports.useColors = useColors;
-
-/**
- * Colors.
- */
-
-exports.colors = [6, 2, 3, 4, 5, 1];
-
-/**
- * The file descriptor to write the `debug()` calls to.
- * Set the `DEBUG_FD` env variable to override with another value. i.e.:
- *
- * $ DEBUG_FD=3 node script.js 3>debug.log
- */
-
-var fd = parseInt(process.env.DEBUG_FD, 10) || 2;
-var stream = 1 === fd ? process.stdout :
- 2 === fd ? process.stderr :
- createWritableStdioStream(fd);
-
-/**
- * Is stdout a TTY? Colored output is enabled when `true`.
- */
-
-function useColors() {
- var debugColors = (process.env.DEBUG_COLORS || '').trim().toLowerCase();
- if (0 === debugColors.length) {
- return tty.isatty(fd);
- } else {
- return '0' !== debugColors
- && 'no' !== debugColors
- && 'false' !== debugColors
- && 'disabled' !== debugColors;
- }
-}
-
-/**
- * Map %o to `util.inspect()`, since Node doesn't do that out of the box.
- */
-
-var inspect = (4 === util.inspect.length ?
- // node <= 0.8.x
- function (v, colors) {
- return util.inspect(v, void 0, void 0, colors);
- } :
- // node > 0.8.x
- function (v, colors) {
- return util.inspect(v, { colors: colors });
- }
-);
-
-exports.formatters.o = function(v) {
- return inspect(v, this.useColors)
- .replace(/\s*\n\s*/g, ' ');
-};
-
-/**
- * Adds ANSI color escape codes if enabled.
- *
- * @api public
- */
-
-function formatArgs() {
- var args = arguments;
- var useColors = this.useColors;
- var name = this.namespace;
-
- if (useColors) {
- var c = this.color;
-
- args[0] = ' \u001b[3' + c + ';1m' + name + ' '
- + '\u001b[0m'
- + args[0] + '\u001b[3' + c + 'm'
- + ' +' + exports.humanize(this.diff) + '\u001b[0m';
- } else {
- args[0] = new Date().toUTCString()
- + ' ' + name + ' ' + args[0];
- }
- return args;
-}
-
-/**
- * Invokes `console.error()` with the specified arguments.
- */
-
-function log() {
- return stream.write(util.format.apply(this, arguments) + '\n');
-}
-
-/**
- * Save `namespaces`.
- *
- * @param {String} namespaces
- * @api private
- */
-
-function save(namespaces) {
- if (null == namespaces) {
- // If you set a process.env field to null or undefined, it gets cast to the
- // string 'null' or 'undefined'. Just delete instead.
- delete process.env.DEBUG;
- } else {
- process.env.DEBUG = namespaces;
- }
-}
-
-/**
- * Load `namespaces`.
- *
- * @return {String} returns the previously persisted debug modes
- * @api private
- */
-
-function load() {
- return process.env.DEBUG;
-}
-
-/**
- * Copied from `node/src/node.js`.
- *
- * XXX: It's lame that node doesn't expose this API out-of-the-box. It also
- * relies on the undocumented `tty_wrap.guessHandleType()` which is also lame.
- */
-
-function createWritableStdioStream (fd) {
- var stream;
- var tty_wrap = process.binding('tty_wrap');
-
- // Note stream._type is used for test-module-load-list.js
-
- switch (tty_wrap.guessHandleType(fd)) {
- case 'TTY':
- stream = new tty.WriteStream(fd);
- stream._type = 'tty';
-
- // Hack to have stream not keep the event loop alive.
- // See https://github.com/joyent/node/issues/1726
- if (stream._handle && stream._handle.unref) {
- stream._handle.unref();
- }
- break;
-
- case 'FILE':
- var fs = require('fs');
- stream = new fs.SyncWriteStream(fd, { autoClose: false });
- stream._type = 'fs';
- break;
-
- case 'PIPE':
- case 'TCP':
- var net = require('net');
- stream = new net.Socket({
- fd: fd,
- readable: false,
- writable: true
- });
-
- // FIXME Should probably have an option in net.Socket to create a
- // stream from an existing fd which is writable only. But for now
- // we'll just add this hack and set the `readable` member to false.
- // Test: ./node test/fixtures/echo.js < /etc/passwd
- stream.readable = false;
- stream.read = null;
- stream._type = 'pipe';
-
- // FIXME Hack to have stream not keep the event loop alive.
- // See https://github.com/joyent/node/issues/1726
- if (stream._handle && stream._handle.unref) {
- stream._handle.unref();
- }
- break;
-
- default:
- // Probably an error on in uv_guess_handle()
- throw new Error('Implement me. Unknown stream file type!');
- }
-
- // For supporting legacy API we put the FD here.
- stream.fd = fd;
-
- stream._isStdio = true;
-
- return stream;
-}
-
-/**
- * Enable namespaces listed in `process.env.DEBUG` initially.
- */
-
-exports.enable(load());
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json
deleted file mode 100644
index 7e6d9fc59a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "name": "debug",
- "version": "2.2.0",
- "repository": {
- "type": "git",
- "url": "git://github.com/visionmedia/debug.git"
- },
- "description": "small debugging utility",
- "keywords": [
- "debug",
- "log",
- "debugger"
- ],
- "author": {
- "name": "TJ Holowaychuk",
- "email": "tj@vision-media.ca"
- },
- "contributors": [
- {
- "name": "Nathan Rajlich",
- "email": "nathan@tootallnate.net",
- "url": "http://n8.io"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "ms": "0.7.1"
- },
- "devDependencies": {
- "browserify": "9.0.3",
- "mocha": "*"
- },
- "main": "./node.js",
- "browser": "./browser.js",
- "component": {
- "scripts": {
- "debug/index.js": "browser.js",
- "debug/debug.js": "debug.js"
- }
- },
- "gitHead": "b38458422b5aa8aa6d286b10dfe427e8a67e2b35",
- "bugs": {
- "url": "https://github.com/visionmedia/debug/issues"
- },
- "homepage": "https://github.com/visionmedia/debug",
- "_id": "debug@2.2.0",
- "scripts": {},
- "_shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
- "_from": "debug@*",
- "_npmVersion": "2.7.4",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- },
- "maintainers": [
- {
- "name": "tjholowaychuk",
- "email": "tj@vision-media.ca"
- },
- {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- }
- ],
- "dist": {
- "shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
- "tarball": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/tar/package.json b/deps/npm/node_modules/node-gyp/node_modules/tar/package.json
index 7fab5394cd..c8bfe8fda9 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/tar/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/tar/package.json
@@ -1,46 +1,66 @@
{
+ "_args": [
+ [
+ "tar@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/node-gyp"
+ ]
+ ],
+ "_from": "tar@>=1.0.0 <2.0.0",
+ "_id": "tar@1.0.3",
+ "_inCache": true,
+ "_location": "/node-gyp/tar",
+ "_nodeVersion": "0.10.33",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
+ },
+ "_npmVersion": "2.1.10",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "tar",
+ "raw": "tar@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp"
+ ],
+ "_resolved": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz",
+ "_shasum": "15bcdab244fa4add44e4244a0176edb8aa9a2b44",
+ "_shrinkwrap": null,
+ "_spec": "tar@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "tar",
- "description": "tar for node",
- "version": "1.0.3",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-tar.git"
- },
- "main": "tar.js",
- "scripts": {
- "test": "tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/node-tar/issues"
},
"dependencies": {
"block-stream": "*",
"fstream": "^1.0.2",
"inherits": "2"
},
+ "description": "tar for node",
"devDependencies": {
"graceful-fs": "^3.0.2",
+ "mkdirp": "^0.5.0",
"rimraf": "1.x",
- "tap": "0.x",
- "mkdirp": "^0.5.0"
+ "tap": "0.x"
},
- "license": "BSD",
- "gitHead": "f4151128c585da236c6b1e278b762ecaedc20c15",
- "bugs": {
- "url": "https://github.com/isaacs/node-tar/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "15bcdab244fa4add44e4244a0176edb8aa9a2b44",
+ "tarball": "http://registry.npmjs.org/tar/-/tar-1.0.3.tgz"
},
+ "gitHead": "f4151128c585da236c6b1e278b762ecaedc20c15",
"homepage": "https://github.com/isaacs/node-tar",
- "_id": "tar@1.0.3",
- "_shasum": "15bcdab244fa4add44e4244a0176edb8aa9a2b44",
- "_from": "tar@>=1.0.0 <2.0.0",
- "_npmVersion": "2.1.10",
- "_nodeVersion": "0.10.33",
- "_npmUser": {
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
- },
+ "license": "BSD",
+ "main": "tar.js",
"maintainers": [
{
"name": "isaacs",
@@ -51,11 +71,14 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "dist": {
- "shasum": "15bcdab244fa4add44e4244a0176edb8aa9a2b44",
- "tarball": "http://registry.npmjs.org/tar/-/tar-1.0.3.tgz"
+ "name": "tar",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-tar.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.3"
}
diff --git a/deps/npm/node_modules/node-gyp/package.json b/deps/npm/node_modules/node-gyp/package.json
index 76fc168f2d..6b0bef6e62 100644
--- a/deps/npm/node_modules/node-gyp/package.json
+++ b/deps/npm/node_modules/node-gyp/package.json
@@ -1,32 +1,57 @@
{
- "name": "node-gyp",
- "description": "Node.js native addon build tool",
- "license": "MIT",
- "keywords": [
- "native",
- "addon",
- "module",
- "c",
- "c++",
- "bindings",
- "gyp"
+ "_args": [
+ [
+ "node-gyp@~3.0.1",
+ "/Users/rebecca/code/npm"
+ ]
],
- "version": "3.0.3",
- "installVersion": 9,
+ "_from": "node-gyp@>=3.0.1 <3.1.0",
+ "_id": "node-gyp@3.0.3",
+ "_inCache": true,
+ "_location": "/node-gyp",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "email": "rod@vagg.org",
+ "name": "rvagg"
+ },
+ "_npmVersion": "2.14.2",
+ "_phantomChildren": {
+ "block-stream": "0.0.8",
+ "brace-expansion": "1.1.0",
+ "fstream": "1.0.8",
+ "inflight": "1.0.4",
+ "inherits": "2.0.1",
+ "lru-cache": "2.6.5",
+ "once": "1.3.2",
+ "sigmund": "1.0.1"
+ },
+ "_requested": {
+ "name": "node-gyp",
+ "raw": "node-gyp@~3.0.1",
+ "rawSpec": "~3.0.1",
+ "scope": null,
+ "spec": ">=3.0.1 <3.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.0.3.tgz",
+ "_shasum": "9b004219f4fa9efbfd78c5fc674aa12e58fb8694",
+ "_shrinkwrap": null,
+ "_spec": "node-gyp@~3.0.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
+ "name": "Nathan Rajlich",
"url": "http://tootallnate.net"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/node-gyp.git"
- },
- "preferGlobal": true,
"bin": {
"node-gyp": "./bin/node-gyp.js"
},
- "main": "./lib/node-gyp.js",
+ "bugs": {
+ "url": "https://github.com/nodejs/node-gyp/issues"
+ },
"dependencies": {
"fstream": "^1.0.0",
"glob": "3 || 4",
@@ -43,29 +68,33 @@
"tar": "^1.0.0",
"which": "1"
},
- "engines": {
- "node": ">= 0.8.0"
- },
+ "description": "Node.js native addon build tool",
"devDependencies": {
"tape": "~4.2.0"
},
- "scripts": {
- "test": "tape test/test-*"
+ "directories": {},
+ "dist": {
+ "shasum": "9b004219f4fa9efbfd78c5fc674aa12e58fb8694",
+ "tarball": "http://registry.npmjs.org/node-gyp/-/node-gyp-3.0.3.tgz"
},
- "gitHead": "d6b03851d366c7fa78e7d2f57c61bb074ea45ea3",
- "bugs": {
- "url": "https://github.com/nodejs/node-gyp/issues"
+ "engines": {
+ "node": ">= 0.8.0"
},
+ "gitHead": "d6b03851d366c7fa78e7d2f57c61bb074ea45ea3",
"homepage": "https://github.com/nodejs/node-gyp",
- "_id": "node-gyp@3.0.3",
- "_shasum": "9b004219f4fa9efbfd78c5fc674aa12e58fb8694",
- "_from": "node-gyp@3.0.3",
- "_npmVersion": "2.14.2",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
- },
+ "installVersion": 9,
+ "installable": true,
+ "keywords": [
+ "addon",
+ "bindings",
+ "c",
+ "c++",
+ "gyp",
+ "module",
+ "native"
+ ],
+ "license": "MIT",
+ "main": "./lib/node-gyp.js",
"maintainers": [
{
"name": "TooTallNate",
@@ -88,11 +117,15 @@
"email": "nathan@tootallnate.net"
}
],
- "dist": {
- "shasum": "9b004219f4fa9efbfd78c5fc674aa12e58fb8694",
- "tarball": "http://registry.npmjs.org/node-gyp/-/node-gyp-3.0.3.tgz"
+ "name": "node-gyp",
+ "optionalDependencies": {},
+ "preferGlobal": true,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/nodejs/node-gyp.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.0.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tape test/test-*"
+ },
+ "version": "3.0.3"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore b/deps/npm/node_modules/node-uuid/.npmignore
index fd4f2b066b..fd4f2b066b 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
+++ b/deps/npm/node_modules/node-uuid/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md b/deps/npm/node_modules/node-uuid/LICENSE.md
index 652609b37e..a43093bf32 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/LICENSE.md
+++ b/deps/npm/node_modules/node-uuid/LICENSE.md
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2010-2012 Robert Kieffer
+Copyright (c) 2010-2012 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
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/README.md b/deps/npm/node_modules/node-uuid/README.md
index b7d04c9407..b7d04c9407 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/README.md
+++ b/deps/npm/node_modules/node-uuid/README.md
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/README.md b/deps/npm/node_modules/node-uuid/benchmark/README.md
index aaeb2ea013..aaeb2ea013 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/README.md
+++ b/deps/npm/node_modules/node-uuid/benchmark/README.md
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu b/deps/npm/node_modules/node-uuid/benchmark/bench.gnu
index a342fbbe04..fd597ab681 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu
+++ b/deps/npm/node_modules/node-uuid/benchmark/bench.gnu
@@ -1,14 +1,14 @@
#!/opt/local/bin/gnuplot -persist
#
-#
+#
# G N U P L O T
# Version 4.4 patchlevel 3
# last modified March 2011
# System: Darwin 10.8.0
-#
+#
# Copyright (C) 1986-1993, 1998, 2004, 2007-2010
# Thomas Williams, Colin Kelley and many others
-#
+#
# gnuplot home: http://www.gnuplot.info
# faq, bugs, etc: type "help seeking-assistance"
# immediate help: type "help"
@@ -17,7 +17,7 @@ set terminal postscript eps noenhanced defaultplex \
leveldefault color colortext \
solid linewidth 1.2 butt noclip \
palfuncparam 2000,0.003 \
- "Helvetica" 14
+ "Helvetica" 14
set output 'bench.eps'
unset clip points
set clip one
@@ -38,7 +38,7 @@ set timefmt cb "%d/%m/%y,%H:%M"
set boxwidth
set style fill empty border
set style rectangle back fc lt -3 fillstyle solid 1.00 border lt -1
-set style circle radius graph 0.02, first 0, 0
+set style circle radius graph 0.02, first 0, 0
set dummy x,y
set format x "% g"
set format y "% g"
@@ -50,7 +50,7 @@ set angles radians
unset grid
set key title ""
set key outside left top horizontal Right noreverse enhanced autotitles columnhead nobox
-set key noinvert samplen 4 spacing 1 width 0 height 0
+set key noinvert samplen 4 spacing 1 width 0 height 0
set key maxcolumns 2 maxrows 0
unset label
unset arrow
@@ -107,10 +107,10 @@ set nox2tics
set noy2tics
set cbtics border in scale 1,0.5 mirror norotate offset character 0, 0, 0
set cbtics autofreq norangelimit
-set title ""
+set title ""
set title offset character 0, 0, 0 font "" norotate
-set timestamp bottom
-set timestamp ""
+set timestamp bottom
+set timestamp ""
set timestamp offset character 0, 0, 0 font "" norotate
set rrange [ * : * ] noreverse nowriteback # (currently [8.98847e+307:-8.98847e+307] )
set autoscale rfixmin
@@ -124,9 +124,9 @@ set autoscale ufixmax
set vrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] )
set autoscale vfixmin
set autoscale vfixmax
-set xlabel ""
+set xlabel ""
set xlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate
-set x2label ""
+set x2label ""
set x2label offset character 0, 0, 0 font "" textcolor lt -1 norotate
set xrange [ * : * ] noreverse nowriteback # (currently [-0.150000:3.15000] )
set autoscale xfixmin
@@ -134,9 +134,9 @@ set autoscale xfixmax
set x2range [ * : * ] noreverse nowriteback # (currently [0.00000:3.00000] )
set autoscale x2fixmin
set autoscale x2fixmax
-set ylabel ""
+set ylabel ""
set ylabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
-set y2label ""
+set y2label ""
set y2label offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
set yrange [ 0.00000 : 1.90000e+06 ] noreverse nowriteback # (currently [:] )
set autoscale yfixmin
@@ -144,12 +144,12 @@ set autoscale yfixmax
set y2range [ * : * ] noreverse nowriteback # (currently [0.00000:1.90000e+06] )
set autoscale y2fixmin
set autoscale y2fixmax
-set zlabel ""
+set zlabel ""
set zlabel offset character 0, 0, 0 font "" textcolor lt -1 norotate
set zrange [ * : * ] noreverse nowriteback # (currently [-10.0000:10.0000] )
set autoscale zfixmin
set autoscale zfixmax
-set cblabel ""
+set cblabel ""
set cblabel offset character 0, 0, 0 font "" textcolor lt -1 rotate by -270
set cbrange [ * : * ] noreverse nowriteback # (currently [8.98847e+307:-8.98847e+307] )
set autoscale cbfixmin
@@ -162,12 +162,12 @@ set tmargin -1
set pm3d explicit at s
set pm3d scansautomatic
set pm3d interpolate 1,1 flush begin noftriangles nohidden3d corners2color mean
-set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB
+set palette positive nops_allcF maxcolors 0 gamma 1.5 color model RGB
set palette rgbformulae 7, 5, 15
set colorbox default
set colorbox vertical origin screen 0.9, 0.2, 0 size screen 0.05, 0.6, 0 front bdefault
-set loadpath
-set fontpath
+set loadpath
+set fontpath
set fit noerrorvariables
GNUTERM = "aqua"
plot 'bench_results.txt' using 2:xticlabel(1) w lp lw 2, '' using 3:xticlabel(1) w lp lw 2, '' using 4:xticlabel(1) w lp lw 2, '' using 5:xticlabel(1) w lp lw 2, '' using 6:xticlabel(1) w lp lw 2, '' using 7:xticlabel(1) w lp lw 2, '' using 8:xticlabel(1) w lp lw 2, '' using 9:xticlabel(1) w lp lw 2
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.sh b/deps/npm/node_modules/node-uuid/benchmark/bench.sh
index d870a0cb09..d870a0cb09 100755
--- a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/bench.sh
+++ b/deps/npm/node_modules/node-uuid/benchmark/bench.sh
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c b/deps/npm/node_modules/node-uuid/benchmark/benchmark-native.c
index dbfc75f6d7..dbfc75f6d7 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark-native.c
+++ b/deps/npm/node_modules/node-uuid/benchmark/benchmark-native.c
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js b/deps/npm/node_modules/node-uuid/benchmark/benchmark.js
index 40e6efbe76..40e6efbe76 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/benchmark/benchmark.js
+++ b/deps/npm/node_modules/node-uuid/benchmark/benchmark.js
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/bin/uuid b/deps/npm/node_modules/node-uuid/bin/uuid
index f732e9918e..f732e9918e 100755
--- a/deps/npm/node_modules/request/node_modules/node-uuid/bin/uuid
+++ b/deps/npm/node_modules/node-uuid/bin/uuid
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/bower.json b/deps/npm/node_modules/node-uuid/bower.json
index 1656dc8197..1656dc8197 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/bower.json
+++ b/deps/npm/node_modules/node-uuid/bower.json
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/component.json b/deps/npm/node_modules/node-uuid/component.json
index 149f84b22b..149f84b22b 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/component.json
+++ b/deps/npm/node_modules/node-uuid/component.json
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/package.json b/deps/npm/node_modules/node-uuid/package.json
index 4aa75044ad..a95715dd6e 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/package.json
+++ b/deps/npm/node_modules/node-uuid/package.json
@@ -1,15 +1,45 @@
{
- "name": "node-uuid",
- "description": "Rigorous implementation of RFC4122 (v1 and v4) UUIDs.",
- "url": "http://github.com/broofa/node-uuid",
- "keywords": [
- "uuid",
- "guid",
- "rfc4122"
+ "_args": [
+ [
+ "node-uuid@~1.4.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "node-uuid@>=1.4.0 <1.5.0",
+ "_id": "node-uuid@1.4.3",
+ "_inCache": true,
+ "_location": "/node-uuid",
+ "_npmUser": {
+ "email": "robert@broofa.com",
+ "name": "broofa"
+ },
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "node-uuid",
+ "raw": "node-uuid@~1.4.0",
+ "rawSpec": "~1.4.0",
+ "scope": null,
+ "spec": ">=1.4.0 <1.5.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
],
+ "_resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz",
+ "_shasum": "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9",
+ "_shrinkwrap": null,
+ "_spec": "node-uuid@~1.4.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Robert Kieffer",
- "email": "robert@broofa.com"
+ "email": "robert@broofa.com",
+ "name": "Robert Kieffer"
+ },
+ "bin": {
+ "uuid": "./bin/uuid"
+ },
+ "bugs": {
+ "url": "https://github.com/broofa/node-uuid/issues"
},
"contributors": [
{
@@ -17,49 +47,44 @@
"email": "dev@tavan.de"
}
],
- "bin": {
- "uuid": "./bin/uuid"
- },
- "scripts": {
- "test": "node test/test.js"
+ "dependencies": {},
+ "description": "Rigorous implementation of RFC4122 (v1 and v4) UUIDs.",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9",
+ "tarball": "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"
},
+ "gitHead": "886463c660a095dfebfa69603921a8d156fdb12c",
+ "homepage": "https://github.com/broofa/node-uuid",
+ "keywords": [
+ "guid",
+ "rfc4122",
+ "uuid"
+ ],
"lib": ".",
- "main": "./uuid.js",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/broofa/node-uuid.git"
- },
- "version": "1.4.3",
"licenses": [
{
"type": "MIT",
"url": "https://raw.github.com/broofa/node-uuid/master/LICENSE.md"
}
],
- "gitHead": "886463c660a095dfebfa69603921a8d156fdb12c",
- "bugs": {
- "url": "https://github.com/broofa/node-uuid/issues"
- },
- "homepage": "https://github.com/broofa/node-uuid",
- "_id": "node-uuid@1.4.3",
- "_shasum": "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9",
- "_from": "node-uuid@>=1.4.0 <1.5.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "broofa",
- "email": "robert@broofa.com"
- },
+ "main": "./uuid.js",
"maintainers": [
{
"name": "broofa",
"email": "robert@broofa.com"
}
],
- "dist": {
- "shasum": "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9",
- "tarball": "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"
+ "name": "node-uuid",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/broofa/node-uuid.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test/test.js"
+ },
+ "url": "http://github.com/broofa/node-uuid",
+ "version": "1.4.3"
}
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/test/compare_v1.js b/deps/npm/node_modules/node-uuid/test/compare_v1.js
index 05af82215f..05af82215f 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/test/compare_v1.js
+++ b/deps/npm/node_modules/node-uuid/test/compare_v1.js
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/test/test.html b/deps/npm/node_modules/node-uuid/test/test.html
index d80326ec5a..d80326ec5a 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/test/test.html
+++ b/deps/npm/node_modules/node-uuid/test/test.html
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/test/test.js b/deps/npm/node_modules/node-uuid/test/test.js
index 2469225616..2469225616 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/test/test.js
+++ b/deps/npm/node_modules/node-uuid/test/test.js
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/uuid.js b/deps/npm/node_modules/node-uuid/uuid.js
index 0a61769796..80ed720db3 100644
--- a/deps/npm/node_modules/request/node_modules/node-uuid/uuid.js
+++ b/deps/npm/node_modules/node-uuid/uuid.js
@@ -230,7 +230,7 @@
} else if (typeof define === 'function' && define.amd) {
// Publish as AMD module
define(function() {return uuid;});
-
+
} else {
// Publish as global (in browsers)
diff --git a/deps/npm/node_modules/nopt/package.json b/deps/npm/node_modules/nopt/package.json
index 618f93467e..e7272b7018 100644
--- a/deps/npm/node_modules/nopt/package.json
+++ b/deps/npm/node_modules/nopt/package.json
@@ -1,38 +1,84 @@
{
- "name": "nopt",
- "version": "3.0.4",
- "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
+ "_args": [
+ [
+ "nopt@~3.0.3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "nopt@>=3.0.3 <3.1.0",
+ "_id": "nopt@3.0.4",
+ "_inCache": true,
+ "_location": "/nopt",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "nopt",
+ "raw": "nopt@~3.0.3",
+ "rawSpec": "~3.0.3",
+ "scope": null,
+ "spec": ">=3.0.3 <3.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/node-gyp"
+ ],
+ "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.4.tgz",
+ "_shasum": "dd63bc9c72a6e4e85b85cdc0ca314598facede5e",
+ "_shrinkwrap": null,
+ "_spec": "nopt@~3.0.3",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "main": "lib/nopt.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/isaacs/nopt.git"
- },
"bin": {
"nopt": "./bin/nopt.js"
},
- "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/isaacs/nopt/issues"
+ },
"dependencies": {
"abbrev": "1"
},
+ "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
"devDependencies": {
"tap": "^1.2.0"
},
- "readme": "If you want to write an option parser, and have it be good, there are\ntwo ways to do it. The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser. We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you hit the limit of your frustration just trying to\nmanage them all, and defer it with duct-tape solutions until you see\nexactly to the core of the problem, and finally snap and write an\nawesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system. You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n // my-program.js\n var nopt = require(\"nopt\")\n , Stream = require(\"stream\").Stream\n , path = require(\"path\")\n , knownOpts = { \"foo\" : [String, null]\n , \"bar\" : [Stream, Number]\n , \"baz\" : path\n , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n , \"flag\" : Boolean\n , \"pick\" : Boolean\n , \"many1\" : [String, Array]\n , \"many2\" : [path]\n }\n , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n , \"b7\" : [\"--bar\", \"7\"]\n , \"m\" : [\"--bloo\", \"medium\"]\n , \"p\" : [\"--pick\"]\n , \"f\" : [\"--flag\"]\n }\n // everything is optional.\n // knownOpts and shorthands default to {}\n // arg list defaults to process.argv\n // slice defaults to 2\n , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk -fp # unknown opts are ok.\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array. The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many1 5 --many1 null --many1 foo\n{ many1: [\"5\", \"null\", \"foo\"] }\n\n$ node my-program.js --many2 foo --many2 bar\n{ many2: [\"/path/to/foo\", \"path/to/bar\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string. No parsing is done.\n* path: A file system path. Gets resolved against cwd if not absolute.\n* url: A url. If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`. If an option is a boolean,\n then it does not need a value, and its presence will imply `true` as\n the value. To negate boolean flags, do `--no-whatever` or `--whatever\n false`\n* NaN: Means that the option is strictly not allowed. Any value will\n fail.\n* Stream: An object matching the \"Stream\" class in node. Valuable\n for use when validating programmatically. (npm uses this to let you\n supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n will be parsed as a list of options. This means that multiple values\n can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values. For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents.\n\nYou can also mix types and values, or multiple types, in a list. For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null. When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`. Each item in that\nhash is an object with a `type` member and a `validate` method. The\n`type` member is an object that matches what goes in the type list. The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`. Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid values for\nknown options are found. You can change this behavior by assigning a method\nto `nopt.invalidHandler`. This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining. If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported. If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts. For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you. So they're sliced off by\ndefault. If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n",
- "readmeFilename": "README.md",
- "gitHead": "f52626631ea1afef5a6dd9acf23ddd1466831a08",
- "bugs": {
- "url": "https://github.com/isaacs/nopt/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "dd63bc9c72a6e4e85b85cdc0ca314598facede5e",
+ "tarball": "http://registry.npmjs.org/nopt/-/nopt-3.0.4.tgz"
},
+ "gitHead": "f52626631ea1afef5a6dd9acf23ddd1466831a08",
"homepage": "https://github.com/isaacs/nopt#readme",
- "_id": "nopt@3.0.4",
- "_shasum": "dd63bc9c72a6e4e85b85cdc0ca314598facede5e",
- "_from": "nopt@3.0.4"
+ "installable": true,
+ "license": "ISC",
+ "main": "lib/nopt.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "nopt",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/isaacs/nopt.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "3.0.4"
}
diff --git a/deps/npm/node_modules/normalize-git-url/package.json b/deps/npm/node_modules/normalize-git-url/package.json
index b2dc3d910a..9028655064 100644
--- a/deps/npm/node_modules/normalize-git-url/package.json
+++ b/deps/npm/node_modules/normalize-git-url/package.json
@@ -1,42 +1,89 @@
{
- "name": "normalize-git-url",
- "version": "3.0.1",
- "description": "Normalizes Git URLs. For npm, but you can use it too.",
- "main": "normalize-git-url.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "normalize-git-url@~3.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "normalize-git-url@>=3.0.1 <3.1.0",
+ "_id": "normalize-git-url@3.0.1",
+ "_inCache": true,
+ "_location": "/normalize-git-url",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "3.1.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "normalize-git-url",
+ "raw": "normalize-git-url@~3.0.1",
+ "rawSpec": "~3.0.1",
+ "scope": null,
+ "spec": ">=3.0.1 <3.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.1.tgz",
+ "_shasum": "d40d419d05a15870271e50534dbb7b8ccd9b0a5c",
+ "_shrinkwrap": null,
+ "_spec": "normalize-git-url@~3.0.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "Forrest L Norvell"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/normalize-git-url/issues"
},
"dependencies": {},
+ "description": "Normalizes Git URLs. For npm, but you can use it too.",
"devDependencies": {
"tap": "^1.1.0"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/normalize-git-url.git"
+ "dist": {
+ "shasum": "d40d419d05a15870271e50534dbb7b8ccd9b0a5c",
+ "tarball": "http://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.1.tgz"
},
+ "gitHead": "8393cd4345e404eb6ad2ff6853dcc8287807ca22",
+ "homepage": "https://github.com/npm/normalize-git-url",
"keywords": [
"git",
"github",
- "url",
"normalize",
- "npm"
+ "npm",
+ "url"
],
- "author": {
- "name": "Forrest L Norvell",
- "email": "ogd@aoaioxxysz.net"
- },
"license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/normalize-git-url/issues"
+ "main": "normalize-git-url.js",
+ "maintainers": [
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "normalize-git-url",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/normalize-git-url.git"
},
- "homepage": "https://github.com/npm/normalize-git-url",
- "readme": "# normalize-git-url\n\nYou have a bunch of Git URLs. You want to convert them to a canonical\nrepresentation, probably for use inside npm so that it doesn't end up creating\na bunch of superfluous cached origins. You use this package.\n\n## Usage\n\n```javascript\nvar ngu = require('normalize-git-url');\nvar normalized = ngu(\"git+ssh://git@github.com:organization/repo.git#hashbrowns\")\n// get back:\n// {\n// url : \"ssh://git@github.com/organization/repo.git\",\n// branch : \"hashbrowns\" // did u know hashbrowns are delicious?\n// }\n```\n\n## API\n\nThere's just the one function, and all it takes is a single parameter, a non-normalized Git URL.\n\n### normalizeGitUrl(url)\n\n* `url` {String} The Git URL (very loosely speaking) to be normalized.\n\nReturns an object with the following format:\n\n* `url` {String} The normalized URL.\n* `branch` {String} The treeish to be checked out once the repo at `url` is\n cloned. It doesn't have to be a branch, but it's a lot easier to intuit what\n the output is for with that name.\n\n## Limitations\n\nRight now this doesn't try to special-case GitHub too much -- it doesn't ensure\nthat `.git` is added to the end of URLs, it doesn't prefer `https:` over\n`http:` or `ssh:`, it doesn't deal with redirects, and it doesn't try to\nresolve symbolic names to treeish hashcodes. For now, it just tries to account\nfor minor differences in representation.\n",
- "readmeFilename": "README.md",
- "gitHead": "8393cd4345e404eb6ad2ff6853dcc8287807ca22",
- "_id": "normalize-git-url@3.0.1",
- "_shasum": "d40d419d05a15870271e50534dbb7b8ccd9b0a5c",
- "_from": "normalize-git-url@latest"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "3.0.1"
}
diff --git a/deps/npm/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/normalize-package-data/package.json
index 464b009276..762dd8e2ed 100644
--- a/deps/npm/node_modules/normalize-package-data/package.json
+++ b/deps/npm/node_modules/normalize-package-data/package.json
@@ -1,53 +1,112 @@
{
- "name": "normalize-package-data",
- "version": "2.3.4",
- "author": {
- "name": "Meryn Stol",
- "email": "merynstol@gmail.com"
+ "_args": [
+ [
+ "normalize-package-data@~2.3.3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "normalize-package-data@>=2.3.3 <2.4.0",
+ "_id": "normalize-package-data@2.3.4",
+ "_inCache": true,
+ "_location": "/normalize-package-data",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
},
- "description": "Normalizes data that can be found in package.json files.",
- "license": "BSD-2-Clause",
- "repository": {
- "type": "git",
- "url": "git://github.com/npm/normalize-package-data.git"
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "normalize-package-data",
+ "raw": "normalize-package-data@~2.3.3",
+ "rawSpec": "~2.3.3",
+ "scope": null,
+ "spec": ">=2.3.3 <2.4.0",
+ "type": "range"
},
- "main": "lib/normalize.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_requiredBy": [
+ "/",
+ "/npm-registry-client",
+ "/read-package-json"
+ ],
+ "_resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.4.tgz",
+ "_shasum": "b92233ce6ef04fbd6bc0c05dead155af33a623e0",
+ "_shrinkwrap": null,
+ "_spec": "normalize-package-data@~2.3.3",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "merynstol@gmail.com",
+ "name": "Meryn Stol"
},
+ "bugs": {
+ "url": "https://github.com/npm/normalize-package-data/issues"
+ },
+ "contributors": [
+ {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "Meryn Stol",
+ "email": "merynstol@gmail.com"
+ },
+ {
+ "name": "Robert Kowalski",
+ "email": "rok@kowalski.gd"
+ }
+ ],
"dependencies": {
"hosted-git-info": "^2.0.2",
"is-builtin-module": "^1.0.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
},
+ "description": "Normalizes data that can be found in package.json files.",
"devDependencies": {
"async": "~0.9.0",
"tap": "^1.1.0",
"underscore": "~1.4.4"
},
- "contributors": [
+ "directories": {},
+ "dist": {
+ "shasum": "b92233ce6ef04fbd6bc0c05dead155af33a623e0",
+ "tarball": "http://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.4.tgz"
+ },
+ "gitHead": "0aa15b23116f2dfd086f1ed6bf213cbb7e7490dd",
+ "homepage": "https://github.com/npm/normalize-package-data#readme",
+ "installable": true,
+ "license": "BSD-2-Clause",
+ "main": "lib/normalize.js",
+ "maintainers": [
{
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me"
+ "name": "iarna",
+ "email": "me@re-becca.org"
},
{
- "name": "Meryn Stol",
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "meryn",
"email": "merynstol@gmail.com"
},
{
- "name": "Robert Kowalski",
- "email": "rok@kowalski.gd"
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
}
],
- "readme": "# normalize-package-data [![Build Status](https://travis-ci.org/npm/normalize-package-data.png?branch=master)](https://travis-ci.org/npm/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\n#### Strict mode\n\nYou may activate strict validation by passing true as the second argument.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, true)\n// packageData is now normalized\n```\n\nIf strict mode is activated, only Semver 2.0 version strings are accepted. Otherwise, Semver 1.0 strings are accepted as well. Packages must have a name, and the name field must not have contain leading or trailing whitespace.\n\n#### Warnings\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\nYou may combine strict validation with warnings by passing `true` as the second argument, and `warnFn` as third.\n\nWhen `private` field is set to `true`, warnings will be suppressed.\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 (unless in strict mode).\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* As of v2: Dependencies that point at known hosted git providers (currently: github, bitbucket, gitlab) will have their URLs canonicalized, but protocols will be preserved.\n* As of v2: Dependencies that use shortcuts for hosted git providers (`org/proj`, `github:org/proj`, `bitbucket:org/proj`, `gitlab:org/proj`, `gist:docid`) will have the shortcut left in place. (In the case of github, the `org/proj` form will be expanded to `github:org/proj`.) THIS MARKS A BREAKING CHANGE FROM V1, where the shorcut was previously expanded to a URL.\n* If `description` field does not exist, 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 `repository.url` is not a valid url, but in the style of \"[owner-name]/[repo-name]\", `repository.url` will be set to git+https://github.com/[owner-name]/[repo-name].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* If `homepage` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `homepage` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/ . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\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### Rules for license field\n\nThe `license` field should be a valid *SDPDX license expression* or one of the special values allowed by [validate-npm-package-license](https://npmjs.com/packages/validate-npm-package-license). See [documentation for the license field in package.json](https://docs.npmjs.com/files/package.json#license).\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 \n",
- "readmeFilename": "README.md",
- "gitHead": "0aa15b23116f2dfd086f1ed6bf213cbb7e7490dd",
- "bugs": {
- "url": "https://github.com/npm/normalize-package-data/issues"
+ "name": "normalize-package-data",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/normalize-package-data.git"
},
- "homepage": "https://github.com/npm/normalize-package-data#readme",
- "_id": "normalize-package-data@2.3.4",
- "_shasum": "b92233ce6ef04fbd6bc0c05dead155af33a623e0",
- "_from": "normalize-package-data@2.3.4"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "2.3.4"
}
diff --git a/deps/npm/node_modules/npm-cache-filename/package.json b/deps/npm/node_modules/npm-cache-filename/package.json
index b2431b96c2..882017f225 100644
--- a/deps/npm/node_modules/npm-cache-filename/package.json
+++ b/deps/npm/node_modules/npm-cache-filename/package.json
@@ -1,43 +1,59 @@
{
- "name": "npm-cache-filename",
- "version": "1.0.2",
- "description": "Given a cache folder and url, return the appropriate cache folder.",
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {
- "tap": "^1.2.0"
- },
- "scripts": {
- "test": "tap test.js"
+ "_args": [
+ [
+ "npm-cache-filename@~1.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "npm-cache-filename@>=1.0.1 <1.1.0",
+ "_id": "npm-cache-filename@1.0.2",
+ "_inCache": true,
+ "_location": "/npm-cache-filename",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/npm/npm-cache-filename.git"
+ "_npmVersion": "2.12.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "npm-cache-filename",
+ "raw": "npm-cache-filename@~1.0.1",
+ "rawSpec": "~1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <1.1.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz",
+ "_shasum": "ded306c5b0bfc870a9e9faf823bc5f283e05ae11",
+ "_shrinkwrap": null,
+ "_spec": "npm-cache-filename@~1.0.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/npm/npm-cache-filename/issues"
},
- "homepage": "https://github.com/npm/npm-cache-filename",
- "gitHead": "b7eef12919fdf544a3b83bba73093f7268c40c1e",
- "_id": "npm-cache-filename@1.0.2",
- "_shasum": "ded306c5b0bfc870a9e9faf823bc5f283e05ae11",
- "_from": "npm-cache-filename@1.0.2",
- "_npmVersion": "2.12.1",
- "_nodeVersion": "2.2.2",
- "_npmUser": {
- "name": "zkat",
- "email": "kat@sykosomatic.org"
+ "dependencies": {},
+ "description": "Given a cache folder and url, return the appropriate cache folder.",
+ "devDependencies": {
+ "tap": "^1.2.0"
},
+ "directories": {},
"dist": {
"shasum": "ded306c5b0bfc870a9e9faf823bc5f283e05ae11",
"tarball": "http://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz"
},
+ "gitHead": "b7eef12919fdf544a3b83bba73093f7268c40c1e",
+ "homepage": "https://github.com/npm/npm-cache-filename",
+ "license": "ISC",
+ "main": "index.js",
"maintainers": [
{
"name": "isaacs",
@@ -52,6 +68,14 @@
"email": "kat@sykosomatic.org"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz"
+ "name": "npm-cache-filename",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/npm-cache-filename.git"
+ },
+ "scripts": {
+ "test": "tap test.js"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/npm-install-checks/index.js b/deps/npm/node_modules/npm-install-checks/index.js
index 10f214fa93..d7c3360e4c 100644
--- a/deps/npm/node_modules/npm-install-checks/index.js
+++ b/deps/npm/node_modules/npm-install-checks/index.js
@@ -6,7 +6,6 @@ var semver = require("semver")
exports.checkEngine = checkEngine
function checkEngine (target, npmVer, nodeVer, force, strict, cb) {
var nodev = force ? null : nodeVer
- , strict = strict || target.engineStrict
, eng = target.engines
if (!eng) return cb()
if (nodev && eng.node && !semver.satisfies(nodev, eng.node)
diff --git a/deps/npm/node_modules/npm-install-checks/package.json b/deps/npm/node_modules/npm-install-checks/package.json
index 3e7203c6fa..a207b2b94e 100644
--- a/deps/npm/node_modules/npm-install-checks/package.json
+++ b/deps/npm/node_modules/npm-install-checks/package.json
@@ -1,41 +1,93 @@
{
- "name": "npm-install-checks",
- "version": "1.0.6",
- "description": "checks that npm runs during the installation of a module",
- "main": "index.js",
+ "_args": [
+ [
+ "npm-install-checks@~2.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "npm-install-checks@>=2.0.0 <2.1.0",
+ "_id": "npm-install-checks@2.0.1",
+ "_inCache": true,
+ "_location": "/npm-install-checks",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "3.3.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "npm-install-checks",
+ "raw": "npm-install-checks@~2.0.0",
+ "rawSpec": "~2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_shasum": "a93540b53f04fa9d916d2733d6541f6db7d88e46",
+ "_shrinkwrap": null,
+ "_spec": "npm-install-checks@~2.0.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "rok@kowalski.gd",
+ "name": "Robert Kowalski"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/npm-install-checks/issues"
+ },
"dependencies": {
"npmlog": "0.1 || 1",
"semver": "^2.3.0 || 3.x || 4 || 5"
},
+ "description": "checks that npm runs during the installation of a module",
"devDependencies": {
"mkdirp": "~0.3.5",
"rimraf": "~2.2.5",
"tap": "^1.2.0"
},
- "scripts": {
- "test": "tap test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/npm/npm-install-checks.git"
+ "directories": {},
+ "dist": {
+ "shasum": "a93540b53f04fa9d916d2733d6541f6db7d88e46",
+ "tarball": "http://registry.npmjs.org/npm-install-checks/-/npm-install-checks-2.0.1.tgz"
},
+ "gitHead": "1e9474f30490cd7621e976e91fa611d35e644f64",
"homepage": "https://github.com/npm/npm-install-checks",
+ "installable": true,
"keywords": [
- "npm,",
- "install"
+ "install",
+ "npm,"
],
- "author": {
- "name": "Robert Kowalski",
- "email": "rok@kowalski.gd"
- },
"license": "BSD-2-Clause",
- "bugs": {
- "url": "https://github.com/npm/npm-install-checks/issues"
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "robertkowalski",
+ "email": "rok@kowalski.gd"
+ },
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ }
+ ],
+ "name": "npm-install-checks",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/npm-install-checks.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
},
- "readme": "# npm-install-checks\n\nA package that contains checks that npm runs during the installation.\n\n## API\n\n### .checkEngine(target, npmVer, nodeVer, force, strict, cb)\nCheck if node/npm version is supported by the package.\n\nError type: `ENOTSUP`\n\n### .checkPlatform(target, force, cb)\nCheck if OS/Arch is supported by the package.\n\nError type: `EBADPLATFORM`\n\n### .checkCycle(target, ancestors, cb)\nCheck for cyclic dependencies.\n\nError type: `ECYCLE`\n\n### .checkGit(folder, cb)\nCheck if a folder is a .git folder.\n\nError type: `EISGIT`\n",
- "readmeFilename": "README.md",
- "gitHead": "f28aebca7f5df0ddb13161b0f04d069004f6c367",
- "_id": "npm-install-checks@1.0.6",
- "_shasum": "8d4c1e852806e4e2d66601ab787be5841550d0cb",
- "_from": "npm-install-checks@>=1.0.6 <1.1.0"
+ "version": "2.0.1"
}
diff --git a/deps/npm/node_modules/npm-install-checks/test/check-engine.js b/deps/npm/node_modules/npm-install-checks/test/check-engine.js
index a16b13d7db..c89ec5398d 100644
--- a/deps/npm/node_modules/npm-install-checks/test/check-engine.js
+++ b/deps/npm/node_modules/npm-install-checks/test/check-engine.js
@@ -18,16 +18,16 @@ test("node version too old", function (t) {
})
test("npm version too old", function (t) {
- var target = { engines: { npm: "1.3.6" }}
- c(target, "1.4.2", "0.2.1", false, true, function (err) {
+ var target = { engines: { npm: "^1.4.6" }}
+ c(target, "1.3.2", "0.2.1", false, true, function (err) {
t.ok(err, "returns an error")
- t.equals(err.required.npm, "1.3.6")
+ t.equals(err.required.npm, "^1.4.6")
t.end()
})
})
-test("strict=false does not return an error", function (t) {
- var target = { engines: { npm: "1.3.6" }}
+test("strict=false w/engineStrict json does not return an error", function (t) {
+ var target = { engines: { npm: "1.3.6" }, engineStrict: true }
c(target, "1.4.2", "0.2.1", false, false, function (err) {
t.notOk(err, "returns no error")
t.end()
diff --git a/deps/npm/node_modules/npm-package-arg/package.json b/deps/npm/node_modules/npm-package-arg/package.json
index 9caed85e73..211498c8b0 100644
--- a/deps/npm/node_modules/npm-package-arg/package.json
+++ b/deps/npm/node_modules/npm-package-arg/package.json
@@ -1,39 +1,89 @@
{
- "name": "npm-package-arg",
- "version": "4.0.2",
- "description": "Parse the things that can be arguments to `npm install`",
- "main": "npa.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "npm-package-arg@~4.0.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "npm-package-arg@>=4.0.2 <4.1.0",
+ "_id": "npm-package-arg@4.0.2",
+ "_inCache": true,
+ "_location": "/npm-package-arg",
+ "_nodeVersion": "2.3.1",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
+ },
+ "_npmVersion": "2.13.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "npm-package-arg",
+ "raw": "npm-package-arg@~4.0.2",
+ "rawSpec": "~4.0.2",
+ "scope": null,
+ "spec": ">=4.0.2 <4.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/init-package-json",
+ "/npm-registry-client",
+ "/realize-package-specifier"
+ ],
+ "_resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.0.2.tgz",
+ "_shasum": "3f28235f9f6428e54bfeca73629e27d6c81a7e82",
+ "_shrinkwrap": null,
+ "_spec": "npm-package-arg@~4.0.2",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/npm-package-arg/issues"
},
"dependencies": {
"hosted-git-info": "^2.1.4",
"semver": "4 || 5"
},
+ "description": "Parse the things that can be arguments to `npm install`",
"devDependencies": {
"tap": "^1.2.0"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
+ "dist": {
+ "shasum": "3f28235f9f6428e54bfeca73629e27d6c81a7e82",
+ "tarball": "http://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.0.2.tgz"
+ },
+ "gitHead": "8d3c51c33807fabde4db86a3811831b756eaf2eb",
+ "homepage": "https://github.com/npm/npm-package-arg",
+ "license": "ISC",
+ "main": "npa.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "npm-package-arg",
+ "optionalDependencies": {},
"repository": {
"type": "git",
"url": "git+https://github.com/npm/npm-package-arg.git"
},
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/npm-package-arg/issues"
+ "scripts": {
+ "test": "tap test/*.js"
},
- "homepage": "https://github.com/npm/npm-package-arg",
- "readme": "# npm-package-arg\n\nParse package name and specifier passed to commands like `npm install` or\n`npm cache add`. This just parses the text given-- it's worth noting that\n`npm` has further logic it applies by looking at your disk to figure out\nwhat ambiguous specifiers are. If you want that logic, please see\n[realize-package-specifier].\n\n[realize-package-specifier]: https://www.npmjs.org/package/realize-package-specifier\n\nArguments look like: `foo@1.2`, `@bar/foo@1.2`, `foo@user/foo`, `http://x.com/foo.tgz`,\n`git+https://github.com/user/foo`, `bitbucket:user/foo`, `foo.tar.gz` or `bar`\n\n## EXAMPLES\n\n```javascript\nvar assert = require(\"assert\")\nvar npa = require(\"npm-package-arg\")\n\n// Pass in the descriptor, and it'll return an object\nvar parsed = npa(\"@bar/foo@1.2\")\n\n// Returns an object like:\n{\n raw: '@bar/foo@1.2', // what was passed in\n name: \"@bar/foo\", // the name of the package\n scope: \"@bar\", // the private scope of the package, or null\n type: \"range\", // the type of specifier this is\n spec: \">=1.2.0 <1.3.0\" // the expanded specifier\n rawSpec: \"1.2\" // the specifier as passed in\n }\n\n// Parsing urls pointing at hosted git services produces a variation:\nvar parsed = npa(\"git+https://github.com/user/foo\")\n\n// Returns an object like:\n{\n raw: 'git+https://github.com/user/foo',\n scope: null,\n name: null,\n rawSpec: 'git+https://github.com/user/foo',\n spec: 'user/foo',\n type: 'hosted',\n hosted: {\n type: 'github',\n ssh: 'git@github.com:user/foo.git',\n sshurl: 'git+ssh://git@github.com/user/foo.git',\n https: 'https://github.com/user/foo.git',\n directUrl: 'https://raw.githubusercontent.com/user/foo/master/package.json'\n }\n}\n\n// Completely unreasonable invalid garbage throws an error\n// Make sure you wrap this in a try/catch if you have not\n// already sanitized the inputs!\nassert.throws(function() {\n npa(\"this is not \\0 a valid package name or url\")\n})\n```\n\n## USING\n\n`var npa = require('npm-package-arg')`\n\n* var result = npa(*arg*)\n\nParses *arg* and returns a result object detailing what *arg* is.\n\n*arg* -- a package descriptor, like: `foo@1.2`, or `foo@user/foo`, or\n`http://x.com/foo.tgz`, or `git+https://github.com/user/foo`\n\n## RESULT OBJECT\n\nThe objects that are returned by npm-package-arg contain the following\nkeys:\n\n* `name` - If known, the `name` field expected in the resulting pkg.\n* `type` - One of the following strings:\n * `git` - A git repo\n * `hosted` - A hosted project, from github, bitbucket or gitlab. Originally\n either a full url pointing at one of these services or a shorthand like\n `user/project` or `github:user/project` for github or `bitbucket:user/project`\n for bitbucket.\n * `tag` - A tagged version, like `\"foo@latest\"`\n * `version` - A specific version number, like `\"foo@1.2.3\"`\n * `range` - A version range, like `\"foo@2.x\"`\n * `local` - A local file or folder path\n * `remote` - An http url (presumably to a tgz)\n* `spec` - The \"thing\". URL, the range, git repo, etc.\n* `hosted` - If type=hosted this will be an object with the following keys:\n * `type` - github, bitbucket or gitlab\n * `ssh` - The ssh path for this git repo\n * `sshUrl` - The ssh URL for this git repo\n * `httpsUrl` - The HTTPS URL for this git repo\n * `directUrl` - The URL for the package.json in this git repo\n* `raw` - The original un-modified string that was provided.\n* `rawSpec` - The part after the `name@...`, as it was originally\n provided.\n* `scope` - If a name is something like `@org/module` then the `scope`\n field will be set to `org`. If it doesn't have a scoped name, then\n scope is `null`.\n",
- "readmeFilename": "README.md",
- "gitHead": "8d3c51c33807fabde4db86a3811831b756eaf2eb",
- "_id": "npm-package-arg@4.0.2",
- "_shasum": "3f28235f9f6428e54bfeca73629e27d6c81a7e82",
- "_from": "npm-package-arg@>=4.0.2 <4.1.0"
+ "version": "4.0.2"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE
deleted file mode 100644
index 99c130e1de..0000000000
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-The MIT License
-
-Copyright (c) 2013 Max Ogden
-
-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. \ No newline at end of file
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json
deleted file mode 100644
index 466dfdfe01..0000000000
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "core-util-is",
- "version": "1.0.1",
- "description": "The `util.is*` functions introduced in Node v0.12.",
- "main": "lib/util.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/core-util-is.git"
- },
- "keywords": [
- "util",
- "isBuffer",
- "isArray",
- "isNumber",
- "isString",
- "isRegExp",
- "isThis",
- "isThat",
- "polyfill"
- ],
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/isaacs/core-util-is/issues"
- },
- "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
- "readmeFilename": "README.md",
- "homepage": "https://github.com/isaacs/core-util-is",
- "_id": "core-util-is@1.0.1",
- "dist": {
- "shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "tarball": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
- },
- "_from": "core-util-is@>=1.0.0 <1.1.0",
- "_npmVersion": "1.3.23",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "directories": {},
- "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
-}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json
deleted file mode 100644
index 087586e8f8..0000000000
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "process-nextick-args",
- "version": "1.0.3",
- "description": "process.nextTick but always with args",
- "main": "index.js",
- "scripts": {
- "test": "node test.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/calvinmetcalf/process-nextick-args.git"
- },
- "author": "",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
- },
- "homepage": "https://github.com/calvinmetcalf/process-nextick-args",
- "devDependencies": {
- "tap": "~0.2.6"
- },
- "gitHead": "e855846a69662b9489f1ad3dde1ebf2ccc4370b8",
- "_id": "process-nextick-args@1.0.3",
- "_shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
- "_from": "process-nextick-args@>=1.0.0 <1.1.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.5.0",
- "_npmUser": {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- },
- "dist": {
- "shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
- "tarball": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"
- },
- "maintainers": [
- {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json
deleted file mode 100644
index 0364d54ba4..0000000000
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "name": "string_decoder",
- "version": "0.10.31",
- "description": "The string_decoder module from Node core",
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {
- "tap": "~0.4.8"
- },
- "scripts": {
- "test": "tap test/simple/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/rvagg/string_decoder.git"
- },
- "homepage": "https://github.com/rvagg/string_decoder",
- "keywords": [
- "string",
- "decoder",
- "browser",
- "browserify"
- ],
- "license": "MIT",
- "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
- "bugs": {
- "url": "https://github.com/rvagg/string_decoder/issues"
- },
- "_id": "string_decoder@0.10.31",
- "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "_from": "string_decoder@>=0.10.0 <0.11.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
- },
- "maintainers": [
- {
- "name": "substack",
- "email": "mail@substack.net"
- },
- {
- "name": "rvagg",
- "email": "rod@vagg.org"
- }
- ],
- "dist": {
- "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/package.json b/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/package.json
deleted file mode 100644
index ea487da0e4..0000000000
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "util-deprecate",
- "version": "1.0.1",
- "description": "The Node.js `util.deprecate()` function with browser support",
- "main": "node.js",
- "browser": "browser.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/util-deprecate.git"
- },
- "keywords": [
- "util",
- "deprecate",
- "browserify",
- "browser",
- "node"
- ],
- "author": {
- "name": "Nathan Rajlich",
- "email": "nathan@tootallnate.net",
- "url": "http://n8.io/"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/TooTallNate/util-deprecate/issues"
- },
- "homepage": "https://github.com/TooTallNate/util-deprecate",
- "gitHead": "6e923f7d98a0afbe5b9c7db9d0f0029c1936746c",
- "_id": "util-deprecate@1.0.1",
- "_shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
- "_from": "util-deprecate@>=1.0.1 <1.1.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- },
- "maintainers": [
- {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- }
- ],
- "dist": {
- "shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
- "tarball": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json
index ab9f763737..3ab27508a1 100644
--- a/deps/npm/node_modules/npm-registry-client/package.json
+++ b/deps/npm/node_modules/npm-registry-client/package.json
@@ -1,18 +1,44 @@
{
+ "_args": [
+ [
+ "npm-registry-client@~7.0.7",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "npm-registry-client@>=7.0.7 <7.1.0",
+ "_id": "npm-registry-client@7.0.7",
+ "_inCache": true,
+ "_location": "/npm-registry-client",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "npm-registry-client",
+ "raw": "npm-registry-client@~7.0.7",
+ "rawSpec": "~7.0.7",
+ "scope": null,
+ "spec": ">=7.0.7 <7.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.0.7.tgz",
+ "_shasum": "899d7c8fefe87b72a70d8c9e075fb874539e0d3e",
+ "_shrinkwrap": null,
+ "_spec": "npm-registry-client@~7.0.7",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "npm-registry-client",
- "description": "Client for the npm registry",
- "version": "7.0.7",
- "repository": {
- "url": "git://github.com/isaacs/npm-registry-client.git"
- },
- "main": "index.js",
- "scripts": {
- "test": "standard && tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/npm-registry-client/issues"
},
"dependencies": {
"chownr": "^1.0.1",
@@ -21,14 +47,15 @@
"mkdirp": "^0.5.0",
"normalize-package-data": "~1.0.1 || ^2.0.0",
"npm-package-arg": "^3.0.0 || ^4.0.0",
+ "npmlog": "",
"once": "^1.3.0",
"request": "^2.47.0",
"retry": "^0.8.0",
"rimraf": "2",
"semver": "2 >=2.2.1 || 3.x || 4 || 5",
- "slide": "^1.1.3",
- "npmlog": ""
+ "slide": "^1.1.3"
},
+ "description": "Client for the npm registry",
"devDependencies": {
"negotiator": "^0.4.9",
"nock": "^0.56.0",
@@ -36,18 +63,43 @@
"standard": "^4.0.0",
"tap": "^1.2.0"
},
+ "directories": {},
+ "dist": {
+ "shasum": "899d7c8fefe87b72a70d8c9e075fb874539e0d3e",
+ "tarball": "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.0.7.tgz"
+ },
+ "gitHead": "06f188917bf575fe7dc7c2f6d1d4adbaa50bc423",
+ "homepage": "https://github.com/isaacs/npm-registry-client#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "npm-registry-client",
"optionalDependencies": {
"npmlog": ""
},
- "license": "ISC",
- "readme": "# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(config)\nvar uri = \"https://registry.npmjs.org/npm\"\nvar params = {timeout: 1000}\n\nclient.get(uri, params, function (error, data, raw, res) {\n // error is an error if there was a problem.\n // data is the parsed data object\n // raw is the json string\n // res is the response from couch\n})\n```\n\n# Registry URLs\n\nThe registry calls take either a full URL pointing to a resource in the\nregistry, or a base URL for the registry as a whole (including the registry\npath – but be sure to terminate the path with `/`). `http` and `https` URLs are\nthe only ones supported.\n\n## Using the client\n\nEvery call to the client follows the same pattern:\n\n* `uri` {String} The *fully-qualified* URI of the registry API method being\n invoked.\n* `params` {Object} Per-request parameters.\n* `callback` {Function} Callback to be invoked when the call is complete.\n\n### Credentials\n\nMany requests to the registry can by authenticated, and require credentials\nfor authorization. These credentials always look the same:\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n**or**\n\n* `token` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n## API\n\n### client.access(uri, params, cb)\n\n* `uri` {String} Registry URL for the package's access API endpoint.\n Looks like `/-/package/<package name>/access`.\n* `params` {Object} Object containing per-request properties.\n * `access` {String} New access level for the package. Can be either\n `public` or `restricted`. Registry will raise an error if trying\n to change the access level of an unscoped package.\n * `auth` {Credentials}\n\nSet the access level for scoped packages. For now, there are only two\naccess levels: \"public\" and \"restricted\".\n\n### client.adduser(uri, params, cb)\n\n* `uri` {String} Base registry URL.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nAdd a user account to the registry, or verify the credentials.\n\n### client.deprecate(uri, params, cb)\n\n* `uri` {String} Full registry URI for the deprecated package.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Semver version range.\n * `message` {String} The message to use as a deprecation warning.\n * `auth` {Credentials}\n* `cb` {Function}\n\nDeprecate a version of a package in the registry.\n\n### client.distTags.fetch(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `auth` {Credentials}\n* `cb` {Function}\n\nFetch all of the `dist-tags` for the named package.\n\n### client.distTags.add(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `version` {String} Exact version to be mapped to the `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nAdd (or replace) a single dist-tag onto the named package.\n\n### client.distTags.set(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSet all of the `dist-tags` for the named package at once, creating any\n`dist-tags` that do not already exit. Any `dist-tags` not included in the\n`distTags` map will be removed.\n\n### client.distTags.update(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nUpdate the values of multiple `dist-tags`, creating any `dist-tags` that do\nnot already exist. Any pre-existing `dist-tags` not included in the `distTags`\nmap will be left alone.\n\n### client.distTags.rm(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a single `dist-tag` from the named package.\n\n### client.get(uri, params, cb)\n\n* `uri` {String} The complete registry URI to fetch\n* `params` {Object} Object containing per-request properties.\n * `timeout` {Number} Duration before the request times out. Optional\n (default: never).\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `staleOk` {Boolean} If there's cached data available, then return that to\n the callback quickly, and update the cache the background. Optional\n (default: false).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetches data from the registry via a GET request, saving it in the cache folder\nwith the ETag or the \"Last Modified\" timestamp.\n\n### client.publish(uri, params, cb)\n\n* `uri` {String} The registry URI for the package to publish.\n* `params` {Object} Object containing per-request properties.\n * `metadata` {Object} Package metadata.\n * `access` {String} Access for the package. Can be `public` or `restricted` (no default).\n * `body` {Stream} Stream of the package body / tarball.\n * `auth` {Credentials}\n* `cb` {Function}\n\nPublish a package to the registry.\n\nNote that this does not create the tarball from a folder.\n\n### client.star(uri, params, cb)\n\n* `uri` {String} The complete registry URI for the package to star.\n* `params` {Object} Object containing per-request properties.\n * `starred` {Boolean} True to star the package, false to unstar it. Optional\n (default: false).\n * `auth` {Credentials}\n* `cb` {Function}\n\nStar or unstar a package.\n\nNote that the user does not have to be the package owner to star or unstar a\npackage, though other writes do require that the user be the package owner.\n\n### client.stars(uri, params, cb)\n\n* `uri` {String} The base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `username` {String} Name of user to fetch starred packages for. Optional\n (default: user in `auth`).\n * `auth` {Credentials} Optional (required if `username` is omitted).\n* `cb` {Function}\n\nView your own or another user's starred packages.\n\n### client.tag(uri, params, cb)\n\n* `uri` {String} The complete registry URI to tag\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Version to tag.\n * `tag` {String} Tag name to apply.\n * `auth` {Credentials}\n* `cb` {Function}\n\nMark a version in the `dist-tags` hash, so that `pkg@tag` will fetch the\nspecified version.\n\n### client.unpublish(uri, params, cb)\n\n* `uri` {String} The complete registry URI of the package to unpublish.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} version to unpublish. Optional – omit to unpublish all\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a version of a package (or all versions) from the registry. When the\nlast version us unpublished, the entire document is removed from the database.\n\n### client.whoami(uri, params, cb)\n\n* `uri` {String} The base registry for the URI.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSimple call to see who the registry thinks you are. Especially useful with\ntoken-based auth.\n\n\n## PLUMBING\n\nThe below are primarily intended for use by the rest of the API, or by the npm\ncaching logic directly.\n\n### client.request(uri, params, cb)\n\n* `uri` {String} URI pointing to the resource to request.\n* `params` {Object} Object containing per-request properties.\n * `method` {String} HTTP method. Optional (default: \"GET\").\n * `body` {Stream | Buffer | String | Object} The request body. Objects\n that are not Buffers or Streams are encoded as JSON. Optional – body\n only used for write operations.\n * `etag` {String} The cached ETag. Optional.\n * `lastModified` {String} The cached Last-Modified timestamp. Optional.\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nMake a generic request to the registry. All the other methods are wrappers\naround `client.request`.\n\n### client.fetch(uri, params, cb)\n\n* `uri` {String} The complete registry URI to upload to\n* `params` {Object} Object containing per-request properties.\n * `headers` {Stream} HTTP headers to be included with the request. Optional.\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetch a package from a URL, with auth set appropriately if included. Used to\ncache remote tarballs as well as request package tarballs from the registry.\n\n# Configuration\n\nThe client uses its own configuration, which is just passed in as a simple\nnested object. The following are the supported values (with their defaults, if\nany):\n\n* `proxy.http` {URL} The URL to proxy HTTP requests through.\n* `proxy.https` {URL} The URL to proxy HTTPS requests through. Defaults to be\n the same as `proxy.http` if unset.\n* `proxy.localAddress` {IP} The local address to use on multi-homed systems.\n* `ssl.ca` {String} Certificate signing authority certificates to trust.\n* `ssl.certificate` {String} Client certificate (PEM encoded). Enable access\n to servers that require client certificates.\n* `ssl.key` {String} Private key (PEM encoded) for client certificate.\n* `ssl.strict` {Boolean} Whether or not to be strict with SSL certificates.\n Default = `true`\n* `retry.count` {Number} Number of times to retry on GET failures. Default = 2.\n* `retry.factor` {Number} `factor` setting for `node-retry`. Default = 10.\n* `retry.minTimeout` {Number} `minTimeout` setting for `node-retry`.\n Default = 10000 (10 seconds)\n* `retry.maxTimeout` {Number} `maxTimeout` setting for `node-retry`.\n Default = 60000 (60 seconds)\n* `userAgent` {String} User agent header to send. Default =\n `\"node/{process.version}\"`\n* `log` {Object} The logger to use. Defaults to `require(\"npmlog\")` if\n that works, otherwise logs are disabled.\n* `defaultTag` {String} The default tag to use when publishing new packages.\n Default = `\"latest\"`\n* `couchToken` {Object} A token for use with\n [couch-login](https://npmjs.org/package/couch-login).\n* `sessionToken` {string} A random identifier for this set of client requests.\n Default = 8 random hexadecimal bytes.\n",
- "readmeFilename": "README.md",
- "gitHead": "06f188917bf575fe7dc7c2f6d1d4adbaa50bc423",
- "bugs": {
- "url": "https://github.com/isaacs/npm-registry-client/issues"
+ "repository": {
+ "url": "git://github.com/isaacs/npm-registry-client.git"
},
- "homepage": "https://github.com/isaacs/npm-registry-client#readme",
- "_id": "npm-registry-client@7.0.7",
- "_shasum": "899d7c8fefe87b72a70d8c9e075fb874539e0d3e",
- "_from": "npm-registry-client@7.0.7"
+ "scripts": {
+ "test": "standard && tap test/*.js"
+ },
+ "version": "7.0.7"
}
diff --git a/deps/npm/node_modules/npm-user-validate/package.json b/deps/npm/node_modules/npm-user-validate/package.json
index 8a27d7cfe1..69c37fe875 100644
--- a/deps/npm/node_modules/npm-user-validate/package.json
+++ b/deps/npm/node_modules/npm-user-validate/package.json
@@ -1,46 +1,63 @@
{
- "name": "npm-user-validate",
- "version": "0.1.2",
- "description": "User validations for npm",
- "main": "npm-user-validate.js",
- "devDependencies": {
- "tap": "0.4.3"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "npm-user-validate@~0.1.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "npm-user-validate@>=0.1.2 <0.2.0",
+ "_id": "npm-user-validate@0.1.2",
+ "_inCache": true,
+ "_location": "/npm-user-validate",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/npm/npm-user-validate.git"
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "npm-user-validate",
+ "raw": "npm-user-validate@~0.1.2",
+ "rawSpec": "~0.1.2",
+ "scope": null,
+ "spec": ">=0.1.2 <0.2.0",
+ "type": "range"
},
- "keywords": [
- "npm",
- "validation",
- "registry"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz",
+ "_shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d",
+ "_shrinkwrap": null,
+ "_spec": "npm-user-validate@~0.1.2",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Robert Kowalski",
- "email": "rok@kowalski.gd"
+ "email": "rok@kowalski.gd",
+ "name": "Robert Kowalski"
},
- "license": "BSD-2-Clause",
- "gitHead": "e5b280babff5b73fe74b496461bcf424a51881e1",
"bugs": {
"url": "https://github.com/npm/npm-user-validate/issues"
},
- "homepage": "https://github.com/npm/npm-user-validate#readme",
- "_id": "npm-user-validate@0.1.2",
- "_shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d",
- "_from": "npm-user-validate@>=0.1.1 <0.2.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "User validations for npm",
+ "devDependencies": {
+ "tap": "0.4.3"
},
+ "directories": {},
"dist": {
"shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d",
"tarball": "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz"
},
+ "gitHead": "e5b280babff5b73fe74b496461bcf424a51881e1",
+ "homepage": "https://github.com/npm/npm-user-validate#readme",
+ "keywords": [
+ "npm",
+ "registry",
+ "validation"
+ ],
+ "license": "BSD-2-Clause",
+ "main": "npm-user-validate.js",
"maintainers": [
{
"name": "robertkowalski",
@@ -51,6 +68,14 @@
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz"
+ "name": "npm-user-validate",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/npm/npm-user-validate.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.1.2"
}
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/package.json b/deps/npm/node_modules/npmlog/node_modules/gauge/package.json
deleted file mode 100644
index 227173e640..0000000000
--- a/deps/npm/node_modules/npmlog/node_modules/gauge/package.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "name": "gauge",
- "version": "1.2.0",
- "description": "A terminal based horizontal guage",
- "main": "progress-bar.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/iarna/gauge.git"
- },
- "keywords": [
- "progressbar",
- "progress",
- "gauge"
- ],
- "author": {
- "name": "Rebecca Turner",
- "email": "me@re-becca.org"
- },
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/iarna/gauge/issues"
- },
- "homepage": "https://github.com/iarna/gauge",
- "dependencies": {
- "ansi": "^0.3.0",
- "has-unicode": "^1.0.0",
- "lodash.pad": "^3.0.0",
- "lodash.padleft": "^3.0.0",
- "lodash.padright": "^3.0.0"
- },
- "devDependencies": {
- "tap": "^0.4.13"
- },
- "gitHead": "db15c35374816b3fc3b9e1e54866f31ed7f4a733",
- "_id": "gauge@1.2.0",
- "_shasum": "3094ab1285633f799814388fc8f2de67b4c012c5",
- "_from": "gauge@>=1.2.0 <1.3.0",
- "_npmVersion": "2.6.0",
- "_nodeVersion": "1.1.0",
- "_npmUser": {
- "name": "iarna",
- "email": "me@re-becca.org"
- },
- "maintainers": [
- {
- "name": "iarna",
- "email": "me@re-becca.org"
- }
- ],
- "dist": {
- "shasum": "3094ab1285633f799814388fc8f2de67b4c012c5",
- "tarball": "http://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/npmlog/package.json b/deps/npm/node_modules/npmlog/package.json
index 1613546d9f..755274a193 100644
--- a/deps/npm/node_modules/npmlog/package.json
+++ b/deps/npm/node_modules/npmlog/package.json
@@ -1,47 +1,66 @@
{
+ "_args": [
+ [
+ "npmlog@~1.2.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "npmlog@>=1.2.1 <1.3.0",
+ "_id": "npmlog@1.2.1",
+ "_inCache": true,
+ "_location": "/npmlog",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "npmlog",
+ "raw": "npmlog@~1.2.1",
+ "rawSpec": "~1.2.1",
+ "scope": null,
+ "spec": ">=1.2.1 <1.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/node-gyp",
+ "/npm-install-checks",
+ "/npm-registry-client"
+ ],
+ "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz",
+ "_shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6",
+ "_shrinkwrap": null,
+ "_spec": "npmlog@~1.2.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "npmlog",
- "description": "logger for npm",
- "version": "1.2.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/npmlog.git"
- },
- "main": "log.js",
- "scripts": {
- "test": "tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/npmlog/issues"
},
"dependencies": {
"ansi": "~0.3.0",
"are-we-there-yet": "~1.0.0",
"gauge": "~1.2.0"
},
+ "description": "logger for npm",
"devDependencies": {
"tap": ""
},
- "license": "ISC",
- "gitHead": "4e1a73a567036064ded425a7d48c863d53550b4f",
- "bugs": {
- "url": "https://github.com/isaacs/npmlog/issues"
- },
- "homepage": "https://github.com/isaacs/npmlog#readme",
- "_id": "npmlog@1.2.1",
- "_shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6",
- "_from": "npmlog@>=1.2.1 <1.3.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6",
"tarball": "http://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz"
},
+ "gitHead": "4e1a73a567036064ded425a7d48c863d53550b4f",
+ "homepage": "https://github.com/isaacs/npmlog#readme",
+ "license": "ISC",
+ "main": "log.js",
"maintainers": [
{
"name": "isaacs",
@@ -52,7 +71,14 @@
"email": "me@re-becca.org"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "npmlog",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/npmlog.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.2.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/oauth-sign/LICENSE b/deps/npm/node_modules/oauth-sign/LICENSE
index a4a9aee0c2..a4a9aee0c2 100644
--- a/deps/npm/node_modules/request/node_modules/oauth-sign/LICENSE
+++ b/deps/npm/node_modules/oauth-sign/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/oauth-sign/README.md b/deps/npm/node_modules/oauth-sign/README.md
index 34c4a85d2d..af496148e4 100644
--- a/deps/npm/node_modules/request/node_modules/oauth-sign/README.md
+++ b/deps/npm/node_modules/oauth-sign/README.md
@@ -1,4 +1,4 @@
oauth-sign
==========
-OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.
+OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.
diff --git a/deps/npm/node_modules/request/node_modules/oauth-sign/index.js b/deps/npm/node_modules/oauth-sign/index.js
index a587541dc5..5a70f3f8cd 100644
--- a/deps/npm/node_modules/request/node_modules/oauth-sign/index.js
+++ b/deps/npm/node_modules/oauth-sign/index.js
@@ -45,7 +45,7 @@ function compare (a, b) {
}
function generateBase (httpMethod, base_uri, params) {
- // adapted from https://dev.twitter.com/docs/auth/oauth and
+ // adapted from https://dev.twitter.com/docs/auth/oauth and
// https://dev.twitter.com/docs/auth/creating-signature
// Parameter normalization
diff --git a/deps/npm/node_modules/request/node_modules/oauth-sign/package.json b/deps/npm/node_modules/oauth-sign/package.json
index eeaaa68d35..6fd0150221 100644
--- a/deps/npm/node_modules/request/node_modules/oauth-sign/package.json
+++ b/deps/npm/node_modules/oauth-sign/package.json
@@ -1,40 +1,60 @@
{
+ "_args": [
+ [
+ "oauth-sign@~0.8.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "oauth-sign@>=0.8.0 <0.9.0",
+ "_id": "oauth-sign@0.8.0",
+ "_inCache": true,
+ "_location": "/oauth-sign",
+ "_nodeVersion": "0.12.4",
+ "_npmUser": {
+ "email": "simeonvelichkov@gmail.com",
+ "name": "simov"
+ },
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "oauth-sign",
+ "raw": "oauth-sign@~0.8.0",
+ "rawSpec": "~0.8.0",
+ "scope": null,
+ "spec": ">=0.8.0 <0.9.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz",
+ "_shasum": "938fdc875765ba527137d8aec9d178e24debc553",
+ "_shrinkwrap": null,
+ "_spec": "oauth-sign@~0.8.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Mikeal Rogers",
"email": "mikeal.rogers@gmail.com",
+ "name": "Mikeal Rogers",
"url": "http://www.futurealoof.com"
},
- "name": "oauth-sign",
- "description": "OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.",
- "version": "0.8.0",
- "license": "Apache-2.0",
- "repository": {
- "url": "git+https://github.com/mikeal/oauth-sign.git"
+ "bugs": {
+ "url": "https://github.com/mikeal/oauth-sign/issues"
},
- "main": "index.js",
"dependencies": {},
+ "description": "OAuth 1 signing. Formerly a vendor lib in mikeal/request, now a standalone module.",
"devDependencies": {},
- "optionalDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "938fdc875765ba527137d8aec9d178e24debc553",
+ "tarball": "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz"
+ },
"engines": {
"node": "*"
},
- "scripts": {
- "test": "node test.js"
- },
"gitHead": "e1f2b42ff039901ce977f8e81918767d97d496b5",
- "bugs": {
- "url": "https://github.com/mikeal/oauth-sign/issues"
- },
"homepage": "https://github.com/mikeal/oauth-sign#readme",
- "_id": "oauth-sign@0.8.0",
- "_shasum": "938fdc875765ba527137d8aec9d178e24debc553",
- "_from": "oauth-sign@>=0.8.0 <0.9.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "0.12.4",
- "_npmUser": {
- "name": "simov",
- "email": "simeonvelichkov@gmail.com"
- },
+ "license": "Apache-2.0",
+ "main": "index.js",
"maintainers": [
{
"name": "mikeal",
@@ -49,11 +69,13 @@
"email": "simeonvelichkov@gmail.com"
}
],
- "dist": {
- "shasum": "938fdc875765ba527137d8aec9d178e24debc553",
- "tarball": "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz"
+ "name": "oauth-sign",
+ "optionalDependencies": {},
+ "repository": {
+ "url": "git+https://github.com/mikeal/oauth-sign.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "0.8.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/oauth-sign/test.js b/deps/npm/node_modules/oauth-sign/test.js
index a8847270df..4cd02b8aa2 100644
--- a/deps/npm/node_modules/request/node_modules/oauth-sign/test.js
+++ b/deps/npm/node_modules/oauth-sign/test.js
@@ -6,7 +6,7 @@ var oauth = require('./index')
// Tests from Twitter documentation https://dev.twitter.com/docs/auth/oauth
-var reqsign = hmacsign('POST', 'https://api.twitter.com/oauth/request_token',
+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'
@@ -28,12 +28,12 @@ var accsign = hmacsign('POST', 'https://api.twitter.com/oauth/access_token',
, 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',
+var upsign = hmacsign('POST', 'http://api.twitter.com/1/statuses/update.json',
{ oauth_consumer_key: "GDdmIQH6jhtmLUypg82g"
, oauth_nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y"
, oauth_signature_method: "HMAC-SHA1"
diff --git a/deps/npm/node_modules/once/package.json b/deps/npm/node_modules/once/package.json
index c85f12ebe1..06f4e27a6c 100644
--- a/deps/npm/node_modules/once/package.json
+++ b/deps/npm/node_modules/once/package.json
@@ -1,60 +1,90 @@
{
- "name": "once",
- "version": "1.3.2",
- "description": "Run a function exactly one time",
- "main": "once.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {
- "wrappy": "1"
- },
- "devDependencies": {
- "tap": "~0.3.0"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "once@~1.3.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "once@>=1.3.2 <1.4.0",
+ "_id": "once@1.3.2",
+ "_inCache": true,
+ "_location": "/once",
+ "_nodeVersion": "2.0.0",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/once.git"
+ "_npmVersion": "2.9.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "once",
+ "raw": "once@~1.3.2",
+ "rawSpec": "~1.3.2",
+ "scope": null,
+ "spec": ">=1.3.2 <1.4.0",
+ "type": "range"
},
- "keywords": [
- "once",
- "function",
- "one",
- "single"
+ "_requiredBy": [
+ "/",
+ "/glob",
+ "/inflight",
+ "/node-gyp/glob",
+ "/npm-registry-client",
+ "/read-package-tree",
+ "/readdir-scoped-modules",
+ "/rimraf/glob"
],
+ "_resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz",
+ "_shasum": "d8feeca93b039ec1dcdee7741c92bdac5e28081b",
+ "_shrinkwrap": null,
+ "_spec": "once@~1.3.2",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
- "gitHead": "e35eed5a7867574e2bf2260a1ba23970958b22f2",
"bugs": {
"url": "https://github.com/isaacs/once/issues"
},
- "homepage": "https://github.com/isaacs/once#readme",
- "_id": "once@1.3.2",
- "_shasum": "d8feeca93b039ec1dcdee7741c92bdac5e28081b",
- "_from": "once@>=1.3.2 <1.4.0",
- "_npmVersion": "2.9.1",
- "_nodeVersion": "2.0.0",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {
+ "wrappy": "1"
+ },
+ "description": "Run a function exactly one time",
+ "devDependencies": {
+ "tap": "~0.3.0"
+ },
+ "directories": {
+ "test": "test"
},
"dist": {
"shasum": "d8feeca93b039ec1dcdee7741c92bdac5e28081b",
"tarball": "http://registry.npmjs.org/once/-/once-1.3.2.tgz"
},
+ "gitHead": "e35eed5a7867574e2bf2260a1ba23970958b22f2",
+ "homepage": "https://github.com/isaacs/once#readme",
+ "keywords": [
+ "function",
+ "once",
+ "one",
+ "single"
+ ],
+ "license": "ISC",
+ "main": "once.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "_resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "once",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/once.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.3.2"
}
diff --git a/deps/npm/node_modules/opener/package.json b/deps/npm/node_modules/opener/package.json
index aab02afc15..44e43737e0 100644
--- a/deps/npm/node_modules/opener/package.json
+++ b/deps/npm/node_modules/opener/package.json
@@ -1,54 +1,79 @@
{
- "name": "opener",
- "description": "Opens stuff, like webpages and files and executables, cross-platform",
- "version": "1.4.1",
+ "_args": [
+ [
+ "opener@~1.4.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "opener@>=1.4.1 <1.5.0",
+ "_id": "opener@1.4.1",
+ "_inCache": true,
+ "_location": "/opener",
+ "_nodeVersion": "1.5.1",
+ "_npmUser": {
+ "email": "d@domenic.me",
+ "name": "domenic"
+ },
+ "_npmVersion": "2.7.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "opener",
+ "raw": "opener@~1.4.1",
+ "rawSpec": "~1.4.1",
+ "scope": null,
+ "spec": ">=1.4.1 <1.5.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz",
+ "_shasum": "897590acd1aed3311b703b58bccb4d43f56f2895",
+ "_shrinkwrap": null,
+ "_spec": "opener@~1.4.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Domenic Denicola",
"email": "d@domenic.me",
+ "name": "Domenic Denicola",
"url": "https://domenic.me/"
},
- "license": "WTFPL",
- "repository": {
- "type": "git",
- "url": "https://github.com/domenic/opener"
- },
- "main": "opener.js",
"bin": {
"opener": "opener.js"
},
- "files": [
- "opener.js"
- ],
- "scripts": {
- "lint": "jshint opener.js"
+ "bugs": {
+ "url": "https://github.com/domenic/opener/issues"
},
+ "dependencies": {},
+ "description": "Opens stuff, like webpages and files and executables, cross-platform",
"devDependencies": {
"jshint": "^2.6.3"
},
- "gitHead": "d0ee95b19951703462fa593baa16e81fdff7827c",
- "bugs": {
- "url": "https://github.com/domenic/opener/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "897590acd1aed3311b703b58bccb4d43f56f2895",
+ "tarball": "http://registry.npmjs.org/opener/-/opener-1.4.1.tgz"
},
+ "files": [
+ "opener.js"
+ ],
+ "gitHead": "d0ee95b19951703462fa593baa16e81fdff7827c",
"homepage": "https://github.com/domenic/opener",
- "_id": "opener@1.4.1",
- "_shasum": "897590acd1aed3311b703b58bccb4d43f56f2895",
- "_from": "opener@>=1.4.1 <1.5.0",
- "_npmVersion": "2.7.0",
- "_nodeVersion": "1.5.1",
- "_npmUser": {
- "name": "domenic",
- "email": "d@domenic.me"
- },
+ "license": "WTFPL",
+ "main": "opener.js",
"maintainers": [
{
"name": "domenic",
"email": "domenic@domenicdenicola.com"
}
],
- "dist": {
- "shasum": "897590acd1aed3311b703b58bccb4d43f56f2895",
- "tarball": "http://registry.npmjs.org/opener/-/opener-1.4.1.tgz"
+ "name": "opener",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/domenic/opener"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz"
+ "scripts": {
+ "lint": "jshint opener.js"
+ },
+ "version": "1.4.1"
}
diff --git a/deps/npm/node_modules/osenv/node_modules/os-homedir/index.js b/deps/npm/node_modules/os-homedir/index.js
index 758ff653df..33066166fe 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-homedir/index.js
+++ b/deps/npm/node_modules/os-homedir/index.js
@@ -15,7 +15,7 @@ function homedir() {
}
if (process.platform === 'linux') {
- return home || (user ? (process.getuid() === 0 ? '/root' : '/home/' + user) : null);
+ return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null));
}
return home || null;
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/license b/deps/npm/node_modules/os-homedir/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/license
+++ b/deps/npm/node_modules/os-homedir/license
diff --git a/deps/npm/node_modules/osenv/node_modules/os-homedir/package.json b/deps/npm/node_modules/os-homedir/package.json
index c9a3b650c0..893ce6c2f6 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-homedir/package.json
+++ b/deps/npm/node_modules/os-homedir/package.json
@@ -1,70 +1,94 @@
{
- "name": "os-homedir",
- "version": "1.0.0",
- "description": "io.js 2.3.0 os.homedir() ponyfill",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/os-homedir.git"
+ "_args": [
+ [
+ "os-homedir@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/osenv"
+ ]
+ ],
+ "_from": "os-homedir@>=1.0.0 <2.0.0",
+ "_id": "os-homedir@1.0.1",
+ "_inCache": true,
+ "_location": "/os-homedir",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "os-homedir",
+ "raw": "os-homedir@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/osenv"
+ ],
+ "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz",
+ "_shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007",
+ "_shrinkwrap": null,
+ "_spec": "os-homedir@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/osenv",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
+ "bugs": {
+ "url": "https://github.com/sindresorhus/os-homedir/issues"
+ },
+ "dependencies": {},
+ "description": "io.js 2.3.0 os.homedir() ponyfill",
+ "devDependencies": {
+ "ava": "0.0.4",
+ "path-exists": "^1.0.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "0d62bdf44b916fd3bbdcf2cab191948fb094f007",
+ "tarball": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "node test.js"
- },
"files": [
"index.js"
],
+ "gitHead": "13ff83fbd13ebe286a6092286b2c634ab4534c5f",
+ "homepage": "https://github.com/sindresorhus/os-homedir",
"keywords": [
"built-in",
"core",
- "ponyfill",
- "polyfill",
- "shim",
- "os",
- "homedir",
- "home",
"dir",
"directory",
"folder",
- "user",
- "path"
+ "home",
+ "homedir",
+ "os",
+ "path",
+ "polyfill",
+ "ponyfill",
+ "shim",
+ "user"
],
- "devDependencies": {
- "ava": "0.0.4",
- "path-exists": "^1.0.0"
- },
- "gitHead": "7e39e2e049de404f06233fa617ecf46fed997a78",
- "bugs": {
- "url": "https://github.com/sindresorhus/os-homedir/issues"
- },
- "homepage": "https://github.com/sindresorhus/os-homedir",
- "_id": "os-homedir@1.0.0",
- "_shasum": "e37078bc61b5869063053897257e39ec1261b702",
- "_from": "os-homedir@>=1.0.0 <2.0.0",
- "_npmVersion": "2.11.1",
- "_nodeVersion": "2.3.0",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "e37078bc61b5869063053897257e39ec1261b702",
- "tarball": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.0.tgz"
- },
+ "license": "MIT",
"maintainers": [
{
"name": "sindresorhus",
"email": "sindresorhus@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "os-homedir",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sindresorhus/os-homedir"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/osenv/node_modules/os-homedir/readme.md b/deps/npm/node_modules/os-homedir/readme.md
index 4851f104ea..4851f104ea 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-homedir/readme.md
+++ b/deps/npm/node_modules/os-homedir/readme.md
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/index.js b/deps/npm/node_modules/os-tmpdir/index.js
index 52d90bf269..52d90bf269 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/index.js
+++ b/deps/npm/node_modules/os-tmpdir/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license b/deps/npm/node_modules/os-tmpdir/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license
+++ b/deps/npm/node_modules/os-tmpdir/license
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/package.json b/deps/npm/node_modules/os-tmpdir/package.json
index f8b2682bf8..76f16c4895 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/package.json
+++ b/deps/npm/node_modules/os-tmpdir/package.json
@@ -1,69 +1,94 @@
{
- "name": "os-tmpdir",
- "version": "1.0.1",
- "description": "Node.js os.tmpdir() ponyfill",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/sindresorhus/os-tmpdir"
+ "_args": [
+ [
+ "os-tmpdir@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/osenv"
+ ]
+ ],
+ "_from": "os-tmpdir@>=1.0.0 <2.0.0",
+ "_id": "os-tmpdir@1.0.1",
+ "_inCache": true,
+ "_location": "/os-tmpdir",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
},
+ "_npmVersion": "2.9.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "os-tmpdir",
+ "raw": "os-tmpdir@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/osenv"
+ ],
+ "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz",
+ "_shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
+ "_shrinkwrap": null,
+ "_spec": "os-tmpdir@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/osenv",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
+ "bugs": {
+ "url": "https://github.com/sindresorhus/os-tmpdir/issues"
+ },
+ "dependencies": {},
+ "description": "Node.js os.tmpdir() ponyfill",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
+ "tarball": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "node test.js"
- },
"files": [
"index.js"
],
+ "gitHead": "5c5d355f81378980db629d60128ad03e02b1c1e5",
+ "homepage": "https://github.com/sindresorhus/os-tmpdir",
"keywords": [
"built-in",
"core",
- "ponyfill",
+ "dir",
+ "directory",
+ "env",
+ "environment",
+ "os",
"polyfill",
+ "ponyfill",
"shim",
- "os",
- "tmpdir",
+ "temp",
"tempdir",
"tmp",
- "temp",
- "dir",
- "directory",
- "env",
- "environment"
+ "tmpdir"
],
- "devDependencies": {
- "ava": "0.0.4"
- },
- "gitHead": "5c5d355f81378980db629d60128ad03e02b1c1e5",
- "bugs": {
- "url": "https://github.com/sindresorhus/os-tmpdir/issues"
- },
- "homepage": "https://github.com/sindresorhus/os-tmpdir",
- "_id": "os-tmpdir@1.0.1",
- "_shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
- "_from": "os-tmpdir@>=1.0.0 <2.0.0",
- "_npmVersion": "2.9.1",
- "_nodeVersion": "0.12.3",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "e9b423a1edaf479882562e92ed71d7743a071b6e",
- "tarball": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
- },
+ "license": "MIT",
"maintainers": [
{
"name": "sindresorhus",
"email": "sindresorhus@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
+ "name": "os-tmpdir",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sindresorhus/os-tmpdir"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/readme.md b/deps/npm/node_modules/os-tmpdir/readme.md
index 54d4c6ec8e..54d4c6ec8e 100644
--- a/deps/npm/node_modules/osenv/node_modules/os-tmpdir/readme.md
+++ b/deps/npm/node_modules/os-tmpdir/readme.md
diff --git a/deps/npm/node_modules/osenv/package.json b/deps/npm/node_modules/osenv/package.json
index d5718bdb11..98144d4415 100644
--- a/deps/npm/node_modules/osenv/package.json
+++ b/deps/npm/node_modules/osenv/package.json
@@ -1,58 +1,74 @@
{
- "name": "osenv",
- "version": "0.1.3",
- "main": "osenv.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "osenv@~0.1.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "osenv@>=0.1.2 <0.2.0",
+ "_id": "osenv@0.1.3",
+ "_inCache": true,
+ "_location": "/osenv",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.0.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "osenv",
+ "raw": "osenv@~0.1.2",
+ "rawSpec": "~0.1.2",
+ "scope": null,
+ "spec": ">=0.1.2 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/node-gyp"
+ ],
+ "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
+ "_shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
+ "_shrinkwrap": null,
+ "_spec": "osenv@~0.1.2",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/osenv/issues"
},
"dependencies": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
},
+ "description": "Look up environment settings specific to different operating systems",
"devDependencies": {
"tap": "^1.2.0"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/osenv.git"
+ "dist": {
+ "shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
+ "tarball": "http://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz"
},
+ "gitHead": "f746b3405d8f9e28054d11b97e1436f6a15016c4",
+ "homepage": "https://github.com/npm/osenv#readme",
"keywords": [
"environment",
- "variable",
"home",
- "tmpdir",
"path",
"prompt",
- "ps1"
+ "ps1",
+ "tmpdir",
+ "variable"
],
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
"license": "ISC",
- "description": "Look up environment settings specific to different operating systems",
- "gitHead": "f746b3405d8f9e28054d11b97e1436f6a15016c4",
- "bugs": {
- "url": "https://github.com/npm/osenv/issues"
- },
- "homepage": "https://github.com/npm/osenv#readme",
- "_id": "osenv@0.1.3",
- "_shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
- "_from": "osenv@0.1.3",
- "_npmVersion": "3.0.0",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
- "tarball": "http://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz"
- },
+ "main": "osenv.js",
"maintainers": [
{
"name": "isaacs",
@@ -71,5 +87,14 @@
"email": "me@re-becca.org"
}
],
- "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz"
+ "name": "osenv",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/osenv.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.1.3"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/.npmignore b/deps/npm/node_modules/path-array/.npmignore
index 07e6e472cc..07e6e472cc 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/.npmignore
+++ b/deps/npm/node_modules/path-array/.npmignore
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/.travis.yml b/deps/npm/node_modules/path-array/.travis.yml
index c7d8e3d83c..c7d8e3d83c 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/.travis.yml
+++ b/deps/npm/node_modules/path-array/.travis.yml
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/History.md b/deps/npm/node_modules/path-array/History.md
index ff93a2a28f..ff93a2a28f 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/History.md
+++ b/deps/npm/node_modules/path-array/History.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/README.md b/deps/npm/node_modules/path-array/README.md
index 2595316a19..2595316a19 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/README.md
+++ b/deps/npm/node_modules/path-array/README.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/index.js b/deps/npm/node_modules/path-array/index.js
index 40b982d2f1..40b982d2f1 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/index.js
+++ b/deps/npm/node_modules/path-array/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/package.json b/deps/npm/node_modules/path-array/package.json
index 41d25482b8..1bb9fe1b10 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/package.json
+++ b/deps/npm/node_modules/path-array/package.json
@@ -1,56 +1,79 @@
{
- "name": "path-array",
- "version": "1.0.0",
- "description": "Treat your $PATH like a JavaScript Array",
- "main": "index.js",
- "scripts": {
- "test": "mocha --reporter spec"
+ "_args": [
+ [
+ "path-array@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/node-gyp"
+ ]
+ ],
+ "_from": "path-array@>=1.0.0 <2.0.0",
+ "_id": "path-array@1.0.0",
+ "_inCache": true,
+ "_location": "/path-array",
+ "_npmUser": {
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/node-path-array.git"
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "path-array",
+ "raw": "path-array@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
- "keywords": [
- "PATH",
- "env",
- "array"
+ "_requiredBy": [
+ "/node-gyp"
],
+ "_resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.0.tgz",
+ "_shasum": "6c14130c33084f0150553c657b38397ab67aaa4e",
+ "_shrinkwrap": null,
+ "_spec": "path-array@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
"author": {
- "name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
+ "name": "Nathan Rajlich",
"url": "http://n8.io/"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/TooTallNate/node-path-array/issues"
},
- "homepage": "https://github.com/TooTallNate/node-path-array",
"dependencies": {
"array-index": "~0.1.0"
},
+ "description": "Treat your $PATH like a JavaScript Array",
"devDependencies": {
"mocha": "~1.16.1"
},
- "gitHead": "5d1fedd54e4413459f67e4a4babb024144cd00d0",
- "_id": "path-array@1.0.0",
- "_shasum": "6c14130c33084f0150553c657b38397ab67aaa4e",
- "_from": "path-array@>=1.0.0 <2.0.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
+ "directories": {},
+ "dist": {
+ "shasum": "6c14130c33084f0150553c657b38397ab67aaa4e",
+ "tarball": "http://registry.npmjs.org/path-array/-/path-array-1.0.0.tgz"
},
+ "gitHead": "5d1fedd54e4413459f67e4a4babb024144cd00d0",
+ "homepage": "https://github.com/TooTallNate/node-path-array",
+ "keywords": [
+ "PATH",
+ "array",
+ "env"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "tootallnate",
"email": "nathan@tootallnate.net"
}
],
- "dist": {
- "shasum": "6c14130c33084f0150553c657b38397ab67aaa4e",
- "tarball": "http://registry.npmjs.org/path-array/-/path-array-1.0.0.tgz"
+ "name": "path-array",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/TooTallNate/node-path-array.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "mocha --reporter spec"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/test/test.js b/deps/npm/node_modules/path-array/test/test.js
index fc1f3736fa..fc1f3736fa 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/test/test.js
+++ b/deps/npm/node_modules/path-array/test/test.js
diff --git a/deps/npm/node_modules/glob/node_modules/path-is-absolute/index.js b/deps/npm/node_modules/path-is-absolute/index.js
index 19f103f908..19f103f908 100644
--- a/deps/npm/node_modules/glob/node_modules/path-is-absolute/index.js
+++ b/deps/npm/node_modules/path-is-absolute/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license b/deps/npm/node_modules/path-is-absolute/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license
+++ b/deps/npm/node_modules/path-is-absolute/license
diff --git a/deps/npm/node_modules/glob/node_modules/path-is-absolute/package.json b/deps/npm/node_modules/path-is-absolute/package.json
index 39372636f3..8a704f11b7 100644
--- a/deps/npm/node_modules/glob/node_modules/path-is-absolute/package.json
+++ b/deps/npm/node_modules/path-is-absolute/package.json
@@ -1,70 +1,95 @@
{
- "name": "path-is-absolute",
- "version": "1.0.0",
- "description": "Node.js 0.12 path.isAbsolute() ponyfill",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/path-is-absolute.git"
+ "_args": [
+ [
+ "path-is-absolute@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/glob"
+ ]
+ ],
+ "_from": "path-is-absolute@>=1.0.0 <2.0.0",
+ "_id": "path-is-absolute@1.0.0",
+ "_inCache": true,
+ "_location": "/path-is-absolute",
+ "_nodeVersion": "0.12.0",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.5.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "path-is-absolute",
+ "raw": "path-is-absolute@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/glob"
+ ],
+ "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
+ "_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
+ "_shrinkwrap": null,
+ "_spec": "path-is-absolute@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/glob",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
+ "bugs": {
+ "url": "https://github.com/sindresorhus/path-is-absolute/issues"
+ },
+ "dependencies": {},
+ "description": "Node.js 0.12 path.isAbsolute() ponyfill",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
+ "tarball": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "node test.js"
- },
"files": [
"index.js"
],
+ "gitHead": "7a76a0c9f2263192beedbe0a820e4d0baee5b7a1",
+ "homepage": "https://github.com/sindresorhus/path-is-absolute",
"keywords": [
- "path",
- "paths",
- "file",
- "dir",
"absolute",
- "isabsolute",
- "is-absolute",
"built-in",
- "util",
- "utils",
+ "check",
"core",
- "ponyfill",
+ "detect",
+ "dir",
+ "file",
+ "is",
+ "is-absolute",
+ "isabsolute",
+ "path",
+ "paths",
"polyfill",
+ "ponyfill",
"shim",
- "is",
- "detect",
- "check"
+ "util",
+ "utils"
],
- "gitHead": "7a76a0c9f2263192beedbe0a820e4d0baee5b7a1",
- "bugs": {
- "url": "https://github.com/sindresorhus/path-is-absolute/issues"
- },
- "homepage": "https://github.com/sindresorhus/path-is-absolute",
- "_id": "path-is-absolute@1.0.0",
- "_shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
- "_from": "path-is-absolute@>=1.0.0 <2.0.0",
- "_npmVersion": "2.5.1",
- "_nodeVersion": "0.12.0",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
+ "license": "MIT",
"maintainers": [
{
"name": "sindresorhus",
"email": "sindresorhus@gmail.com"
}
],
- "dist": {
- "shasum": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912",
- "tarball": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
+ "name": "path-is-absolute",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/sindresorhus/path-is-absolute"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/glob/node_modules/path-is-absolute/readme.md b/deps/npm/node_modules/path-is-absolute/readme.md
index cdf94f4309..cdf94f4309 100644
--- a/deps/npm/node_modules/glob/node_modules/path-is-absolute/readme.md
+++ b/deps/npm/node_modules/path-is-absolute/readme.md
diff --git a/deps/npm/node_modules/path-is-inside/package.json b/deps/npm/node_modules/path-is-inside/package.json
index b96d6fea0e..fbcf469a36 100644
--- a/deps/npm/node_modules/path-is-inside/package.json
+++ b/deps/npm/node_modules/path-is-inside/package.json
@@ -1,43 +1,81 @@
{
- "name": "path-is-inside",
- "description": "Tests whether one path is inside another path",
- "keywords": [
- "path",
- "directory",
- "folder",
- "inside",
- "relative"
+ "_args": [
+ [
+ "path-is-inside@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "path-is-inside@>=1.0.0 <1.1.0",
+ "_id": "path-is-inside@1.0.1",
+ "_inCache": true,
+ "_location": "/path-is-inside",
+ "_npmUser": {
+ "email": "domenic@domenicdenicola.com",
+ "name": "domenic"
+ },
+ "_npmVersion": "1.3.25",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "path-is-inside",
+ "raw": "path-is-inside@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
],
- "version": "1.0.1",
+ "_resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz",
+ "_shasum": "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89",
+ "_shrinkwrap": null,
+ "_spec": "path-is-inside@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Domenic Denicola",
"email": "domenic@domenicdenicola.com",
+ "name": "Domenic Denicola",
"url": "http://domenic.me"
},
- "license": "WTFPL",
- "repository": {
- "type": "git",
- "url": "git://github.com/domenic/path-is-inside.git"
- },
"bugs": {
"url": "http://github.com/domenic/path-is-inside/issues"
},
- "main": "lib/path-is-inside.js",
- "scripts": {
- "test": "mocha",
- "lint": "jshint lib"
- },
+ "dependencies": {},
+ "description": "Tests whether one path is inside another path",
"devDependencies": {
"jshint": "~2.3.0",
"mocha": "~1.15.1"
},
- "readme": "# Is This Path Inside This Other Path?\n\nIt turns out this question isn't trivial to answer using Node's built-in path APIs. A naive `indexOf`-based solution will fail sometimes on Windows, which is case-insensitive (see e.g. [isaacs/npm#4214][]). You might then think to be clever with `path.resolve`, but you have to be careful to account for situations whether the paths have different drive letters, or else you'll cause bugs like [isaacs/npm#4313][]. And let's not even get started on trailing slashes.\n\nThe **path-is-inside** package will give you a robust, cross-platform way of detecting whether a given path is inside another path.\n\n## Usage\n\nPretty simple. First the path being tested; then the potential parent. Like so:\n\n```js\nvar pathIsInside = require(\"path-is-inside\");\n\npathIsInside(\"/x/y/z\", \"/x/y\") // true\npathIsInside(\"/x/y\", \"/x/y/z\") // false\n```\n\n## OS-Specific Behavior\n\nLike Node's built-in path module, path-is-inside treats all file paths on Windows as case-insensitive, whereas it treats all file paths on *-nix operating systems as case-sensitive. Keep this in mind especially when working on a Mac, where, despite Node's defaults, the OS usually treats paths case-insensitively.\n\nIn practice, this means:\n\n```js\n// On Windows\n\npathIsInside(\"C:\\\\X\\\\Y\\\\Z\", \"C:\\\\x\\\\y\") // true\n\n// On *-nix, including Mac OS X\n\npathIsInside(\"/X/Y/Z\", \"/x/y\") // false\n```\n\n[isaacs/npm#4214]: https://github.com/isaacs/npm/pull/4214\n[isaacs/npm#4313]: https://github.com/isaacs/npm/issues/4313\n",
- "readmeFilename": "README.md",
- "homepage": "https://github.com/domenic/path-is-inside",
- "_id": "path-is-inside@1.0.1",
+ "directories": {},
"dist": {
- "shasum": "c5e6c4764c4cd41f2ac839c53be5621d085726b3"
+ "shasum": "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89",
+ "tarball": "http://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
+ },
+ "homepage": "https://github.com/domenic/path-is-inside",
+ "installable": true,
+ "keywords": [
+ "directory",
+ "folder",
+ "inside",
+ "path",
+ "relative"
+ ],
+ "license": "WTFPL",
+ "main": "lib/path-is-inside.js",
+ "maintainers": [
+ {
+ "name": "domenic",
+ "email": "domenic@domenicdenicola.com"
+ }
+ ],
+ "name": "path-is-inside",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/domenic/path-is-inside.git"
+ },
+ "scripts": {
+ "lint": "jshint lib",
+ "test": "mocha"
},
- "_from": "path-is-inside@1.0.1",
- "_resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml b/deps/npm/node_modules/process-nextick-args/.travis.yml
index 5ac9885534..5ac9885534 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml
+++ b/deps/npm/node_modules/process-nextick-args/.travis.yml
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/index.js b/deps/npm/node_modules/process-nextick-args/index.js
index 049521cad7..049521cad7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/index.js
+++ b/deps/npm/node_modules/process-nextick-args/index.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/license.md b/deps/npm/node_modules/process-nextick-args/license.md
index c67e3532b5..c67e3532b5 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/license.md
+++ b/deps/npm/node_modules/process-nextick-args/license.md
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/package.json b/deps/npm/node_modules/process-nextick-args/package.json
index 087586e8f8..f6f94b306a 100644
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/package.json
+++ b/deps/npm/node_modules/process-nextick-args/package.json
@@ -1,45 +1,73 @@
{
- "name": "process-nextick-args",
- "version": "1.0.3",
- "description": "process.nextTick but always with args",
- "main": "index.js",
- "scripts": {
- "test": "node test.js"
+ "_args": [
+ [
+ "process-nextick-args@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/bl/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "process-nextick-args@>=1.0.0 <1.1.0",
+ "_id": "process-nextick-args@1.0.3",
+ "_inCache": true,
+ "_location": "/process-nextick-args",
+ "_nodeVersion": "2.5.0",
+ "_npmUser": {
+ "email": "calvin.metcalf@gmail.com",
+ "name": "cwmma"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/calvinmetcalf/process-nextick-args.git"
+ "_npmVersion": "2.9.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "process-nextick-args",
+ "raw": "process-nextick-args@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/bl/readable-stream",
+ "/concat-stream/readable-stream",
+ "/tap-parser/readable-stream",
+ "/tap/readable-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz",
+ "_shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
+ "_shrinkwrap": null,
+ "_spec": "process-nextick-args@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/bl/node_modules/readable-stream",
"author": "",
- "license": "MIT",
"bugs": {
"url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
},
- "homepage": "https://github.com/calvinmetcalf/process-nextick-args",
+ "dependencies": {},
+ "description": "process.nextTick but always with args",
"devDependencies": {
"tap": "~0.2.6"
},
- "gitHead": "e855846a69662b9489f1ad3dde1ebf2ccc4370b8",
- "_id": "process-nextick-args@1.0.3",
- "_shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
- "_from": "process-nextick-args@>=1.0.0 <1.1.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.5.0",
- "_npmUser": {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- },
+ "directories": {},
"dist": {
"shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
"tarball": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"
},
+ "gitHead": "e855846a69662b9489f1ad3dde1ebf2ccc4370b8",
+ "homepage": "https://github.com/calvinmetcalf/process-nextick-args",
+ "installable": true,
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "cwmma",
"email": "calvin.metcalf@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "process-nextick-args",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/calvinmetcalf/process-nextick-args.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.3"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/readme.md b/deps/npm/node_modules/process-nextick-args/readme.md
index 78e7cfaeb7..78e7cfaeb7 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/readme.md
+++ b/deps/npm/node_modules/process-nextick-args/readme.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/test.js b/deps/npm/node_modules/process-nextick-args/test.js
index ef15721584..ef15721584 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/test.js
+++ b/deps/npm/node_modules/process-nextick-args/test.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/.npmignore b/deps/npm/node_modules/promzard/.npmignore
index 15a1789a69..15a1789a69 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/.npmignore
+++ b/deps/npm/node_modules/promzard/.npmignore
diff --git a/deps/npm/node_modules/char-spinner/LICENSE b/deps/npm/node_modules/promzard/LICENSE
index 05eeeb88c2..05eeeb88c2 100644
--- a/deps/npm/node_modules/char-spinner/LICENSE
+++ b/deps/npm/node_modules/promzard/LICENSE
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/README.md b/deps/npm/node_modules/promzard/README.md
index 93c0418a6c..93c0418a6c 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/README.md
+++ b/deps/npm/node_modules/promzard/README.md
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/buffer.js b/deps/npm/node_modules/promzard/example/buffer.js
index 828f9d1df9..828f9d1df9 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/buffer.js
+++ b/deps/npm/node_modules/promzard/example/buffer.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/index.js b/deps/npm/node_modules/promzard/example/index.js
index 435131f3a6..435131f3a6 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/index.js
+++ b/deps/npm/node_modules/promzard/example/index.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/README.md b/deps/npm/node_modules/promzard/example/npm-init/README.md
index 46e5592c30..46e5592c30 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/README.md
+++ b/deps/npm/node_modules/promzard/example/npm-init/README.md
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init-input.js b/deps/npm/node_modules/promzard/example/npm-init/init-input.js
index ba7781b353..ba7781b353 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init-input.js
+++ b/deps/npm/node_modules/promzard/example/npm-init/init-input.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init.js b/deps/npm/node_modules/promzard/example/npm-init/init.js
index 09484cd1c1..09484cd1c1 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/init.js
+++ b/deps/npm/node_modules/promzard/example/npm-init/init.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/package.json b/deps/npm/node_modules/promzard/example/npm-init/package.json
index 89c6d1fb6e..89c6d1fb6e 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/npm-init/package.json
+++ b/deps/npm/node_modules/promzard/example/npm-init/package.json
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/substack-input.js b/deps/npm/node_modules/promzard/example/substack-input.js
index bf7aedb82d..c049c20f9a 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/example/substack-input.js
+++ b/deps/npm/node_modules/promzard/example/substack-input.js
@@ -17,7 +17,7 @@ module.exports = {
;
}
catch (e) {}
-
+
return prompt('description', value);
})(),
"main" : prompt('entry point', 'index.js'),
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json b/deps/npm/node_modules/promzard/package.json
index 1407e97be5..e91ad77dd8 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json
+++ b/deps/npm/node_modules/promzard/package.json
@@ -1,51 +1,74 @@
{
+ "_args": [
+ [
+ "promzard@^0.3.0",
+ "/Users/rebecca/code/npm/node_modules/init-package-json"
+ ]
+ ],
+ "_from": "promzard@>=0.3.0 <0.4.0",
+ "_id": "promzard@0.3.0",
+ "_inCache": true,
+ "_location": "/promzard",
+ "_nodeVersion": "1.4.2",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.7.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "promzard",
+ "raw": "promzard@^0.3.0",
+ "rawSpec": "^0.3.0",
+ "scope": null,
+ "spec": ">=0.3.0 <0.4.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/init-package-json"
+ ],
+ "_resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz",
+ "_shasum": "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee",
+ "_shrinkwrap": null,
+ "_spec": "promzard@^0.3.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/init-package-json",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "promzard",
- "description": "prompting wizardly",
- "version": "0.3.0",
- "repository": {
- "url": "git://github.com/isaacs/promzard.git"
+ "bugs": {
+ "url": "https://github.com/isaacs/promzard/issues"
},
"dependencies": {
"read": "1"
},
+ "description": "prompting wizardly",
"devDependencies": {
"tap": "~0.2.5"
},
- "main": "promzard.js",
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {},
+ "dist": {
+ "shasum": "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee",
+ "tarball": "http://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz"
},
- "license": "ISC",
"gitHead": "780ead051299aa28be2584199ab6fa503a32d354",
- "bugs": {
- "url": "https://github.com/isaacs/promzard/issues"
- },
"homepage": "https://github.com/isaacs/promzard",
- "_id": "promzard@0.3.0",
- "_shasum": "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee",
- "_from": "promzard@>=0.3.0 <0.4.0",
- "_npmVersion": "2.7.1",
- "_nodeVersion": "1.4.2",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "license": "ISC",
+ "main": "promzard.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee",
- "tarball": "http://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz"
+ "name": "promzard",
+ "optionalDependencies": {},
+ "repository": {
+ "url": "git://github.com/isaacs/promzard"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.3.0"
}
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/promzard.js b/deps/npm/node_modules/promzard/promzard.js
index da1abca953..424152a802 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/promzard.js
+++ b/deps/npm/node_modules/promzard/promzard.js
@@ -235,4 +235,3 @@ PromZard.prototype.prompt = function (pdt, cb) {
read({ prompt: prompt + ':' , default: def }, cb)
}
-
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/basic.js b/deps/npm/node_modules/promzard/test/basic.js
index ad1c92df9c..ad1c92df9c 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/basic.js
+++ b/deps/npm/node_modules/promzard/test/basic.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/buffer.js b/deps/npm/node_modules/promzard/test/buffer.js
index e1d240e2e4..e1d240e2e4 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/buffer.js
+++ b/deps/npm/node_modules/promzard/test/buffer.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/exports.input b/deps/npm/node_modules/promzard/test/exports.input
index 061cbfe105..061cbfe105 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/exports.input
+++ b/deps/npm/node_modules/promzard/test/exports.input
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/exports.js b/deps/npm/node_modules/promzard/test/exports.js
index c17993a4e9..c17993a4e9 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/exports.js
+++ b/deps/npm/node_modules/promzard/test/exports.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/fn.input b/deps/npm/node_modules/promzard/test/fn.input
index ed6c3f1c80..ed6c3f1c80 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/fn.input
+++ b/deps/npm/node_modules/promzard/test/fn.input
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/fn.js b/deps/npm/node_modules/promzard/test/fn.js
index 899ebedbdd..899ebedbdd 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/fn.js
+++ b/deps/npm/node_modules/promzard/test/fn.js
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/simple.input b/deps/npm/node_modules/promzard/test/simple.input
index e49def6470..e49def6470 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/simple.input
+++ b/deps/npm/node_modules/promzard/test/simple.input
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/simple.js b/deps/npm/node_modules/promzard/test/simple.js
index 034a86475a..bcf8791113 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/simple.js
+++ b/deps/npm/node_modules/promzard/test/simple.js
@@ -3,7 +3,7 @@ var promzard = require('../');
test('simple', function (t) {
t.plan(1);
-
+
var ctx = { tmpdir : '/tmp' }
var file = __dirname + '/simple.input';
promzard(file, ctx, function (err, output) {
@@ -19,11 +19,11 @@ test('simple', function (t) {
output
);
});
-
+
setTimeout(function () {
process.stdin.emit('data', '\n');
}, 100);
-
+
setTimeout(function () {
process.stdin.emit('data', '55\n');
}, 200);
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/validate.input b/deps/npm/node_modules/promzard/test/validate.input
index 839c065229..839c065229 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/validate.input
+++ b/deps/npm/node_modules/promzard/test/validate.input
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/validate.js b/deps/npm/node_modules/promzard/test/validate.js
index a120681494..a120681494 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/test/validate.js
+++ b/deps/npm/node_modules/promzard/test/validate.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE b/deps/npm/node_modules/proto-list/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE
+++ b/deps/npm/node_modules/proto-list/LICENSE
diff --git a/deps/npm/node_modules/config-chain/node_modules/proto-list/README.md b/deps/npm/node_modules/proto-list/README.md
index 43cfa35893..43cfa35893 100644
--- a/deps/npm/node_modules/config-chain/node_modules/proto-list/README.md
+++ b/deps/npm/node_modules/proto-list/README.md
diff --git a/deps/npm/node_modules/config-chain/node_modules/proto-list/package.json b/deps/npm/node_modules/proto-list/package.json
index 458621ad89..ff0b6b6059 100644
--- a/deps/npm/node_modules/config-chain/node_modules/proto-list/package.json
+++ b/deps/npm/node_modules/proto-list/package.json
@@ -1,48 +1,73 @@
{
- "name": "proto-list",
- "version": "1.2.4",
- "description": "A utility for managing a prototype chain",
- "main": "./proto-list.js",
+ "_args": [
+ [
+ "proto-list@~1.2.1",
+ "/Users/rebecca/code/npm/node_modules/config-chain"
+ ]
+ ],
+ "_from": "proto-list@>=1.2.1 <1.3.0",
+ "_id": "proto-list@1.2.4",
+ "_inCache": true,
+ "_location": "/proto-list",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "proto-list",
+ "raw": "proto-list@~1.2.1",
+ "rawSpec": "~1.2.1",
+ "scope": null,
+ "spec": ">=1.2.1 <1.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/config-chain"
+ ],
+ "_resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+ "_shasum": "212d5bfe1318306a420f6402b8e26ff39647a849",
+ "_shrinkwrap": null,
+ "_spec": "proto-list@~1.2.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/config-chain",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "scripts": {
- "test": "tap test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/isaacs/proto-list.git"
- },
- "license": "ISC",
- "devDependencies": {
- "tap": "0"
- },
- "gitHead": "9e4af12d4dddee2fd531f0fe0c21c9cfacb78ac0",
"bugs": {
"url": "https://github.com/isaacs/proto-list/issues"
},
- "homepage": "https://github.com/isaacs/proto-list#readme",
- "_id": "proto-list@1.2.4",
- "_shasum": "212d5bfe1318306a420f6402b8e26ff39647a849",
- "_from": "proto-list@>=1.2.1 <1.3.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "A utility for managing a prototype chain",
+ "devDependencies": {
+ "tap": "0"
},
+ "directories": {},
"dist": {
"shasum": "212d5bfe1318306a420f6402b8e26ff39647a849",
"tarball": "http://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
},
+ "gitHead": "9e4af12d4dddee2fd531f0fe0c21c9cfacb78ac0",
+ "homepage": "https://github.com/isaacs/proto-list#readme",
+ "license": "ISC",
+ "main": "./proto-list.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
+ "name": "proto-list",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/isaacs/proto-list.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.2.4"
}
diff --git a/deps/npm/node_modules/config-chain/node_modules/proto-list/proto-list.js b/deps/npm/node_modules/proto-list/proto-list.js
index b55c25c052..b55c25c052 100644
--- a/deps/npm/node_modules/config-chain/node_modules/proto-list/proto-list.js
+++ b/deps/npm/node_modules/proto-list/proto-list.js
diff --git a/deps/npm/node_modules/config-chain/node_modules/proto-list/test/basic.js b/deps/npm/node_modules/proto-list/test/basic.js
index 5cd66bef15..5cd66bef15 100644
--- a/deps/npm/node_modules/config-chain/node_modules/proto-list/test/basic.js
+++ b/deps/npm/node_modules/proto-list/test/basic.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/.eslintignore b/deps/npm/node_modules/qs/.eslintignore
index 1521c8b765..1521c8b765 100644
--- a/deps/npm/node_modules/request/node_modules/qs/.eslintignore
+++ b/deps/npm/node_modules/qs/.eslintignore
diff --git a/deps/npm/node_modules/request/node_modules/qs/.npmignore b/deps/npm/node_modules/qs/.npmignore
index 7e1574dc5c..7e1574dc5c 100644
--- a/deps/npm/node_modules/request/node_modules/qs/.npmignore
+++ b/deps/npm/node_modules/qs/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml b/deps/npm/node_modules/qs/.travis.yml
index dd1b24f13a..7a64dd2210 100755..100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/boom/.travis.yml
+++ b/deps/npm/node_modules/qs/.travis.yml
@@ -5,4 +5,3 @@ node_js:
- 4.0
sudo: false
-
diff --git a/deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md b/deps/npm/node_modules/qs/CHANGELOG.md
index e43b1aceb3..e43b1aceb3 100644
--- a/deps/npm/node_modules/request/node_modules/qs/CHANGELOG.md
+++ b/deps/npm/node_modules/qs/CHANGELOG.md
diff --git a/deps/npm/node_modules/request/node_modules/qs/CONTRIBUTING.md b/deps/npm/node_modules/qs/CONTRIBUTING.md
index 892836159b..892836159b 100644
--- a/deps/npm/node_modules/request/node_modules/qs/CONTRIBUTING.md
+++ b/deps/npm/node_modules/qs/CONTRIBUTING.md
diff --git a/deps/npm/node_modules/request/node_modules/qs/LICENSE b/deps/npm/node_modules/qs/LICENSE
index d4569487a0..d4569487a0 100644
--- a/deps/npm/node_modules/request/node_modules/qs/LICENSE
+++ b/deps/npm/node_modules/qs/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/qs/Readme.md b/deps/npm/node_modules/qs/README.md
index 369f385672..369f385672 100644
--- a/deps/npm/node_modules/request/node_modules/qs/Readme.md
+++ b/deps/npm/node_modules/qs/README.md
diff --git a/deps/npm/node_modules/request/node_modules/qs/bower.json b/deps/npm/node_modules/qs/bower.json
index 53a70d0c94..53a70d0c94 100644
--- a/deps/npm/node_modules/request/node_modules/qs/bower.json
+++ b/deps/npm/node_modules/qs/bower.json
diff --git a/deps/npm/node_modules/request/node_modules/qs/component.json b/deps/npm/node_modules/qs/component.json
index 1a1f72c7af..1a1f72c7af 100644
--- a/deps/npm/node_modules/request/node_modules/qs/component.json
+++ b/deps/npm/node_modules/qs/component.json
diff --git a/deps/npm/node_modules/request/node_modules/qs/dist/qs.js b/deps/npm/node_modules/qs/dist/qs.js
index 2b9fec3018..2b9fec3018 100644
--- a/deps/npm/node_modules/request/node_modules/qs/dist/qs.js
+++ b/deps/npm/node_modules/qs/dist/qs.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/lib/index.js b/deps/npm/node_modules/qs/lib/index.js
index 0e094933d1..0e094933d1 100644
--- a/deps/npm/node_modules/request/node_modules/qs/lib/index.js
+++ b/deps/npm/node_modules/qs/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/lib/parse.js b/deps/npm/node_modules/qs/lib/parse.js
index 4a2137efab..4a2137efab 100644
--- a/deps/npm/node_modules/request/node_modules/qs/lib/parse.js
+++ b/deps/npm/node_modules/qs/lib/parse.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/lib/stringify.js b/deps/npm/node_modules/qs/lib/stringify.js
index 6a73004c4c..6a73004c4c 100644
--- a/deps/npm/node_modules/request/node_modules/qs/lib/stringify.js
+++ b/deps/npm/node_modules/qs/lib/stringify.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/lib/utils.js b/deps/npm/node_modules/qs/lib/utils.js
index 88f314732b..88f314732b 100644
--- a/deps/npm/node_modules/request/node_modules/qs/lib/utils.js
+++ b/deps/npm/node_modules/qs/lib/utils.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/package.json b/deps/npm/node_modules/qs/package.json
index 981aff4b78..c2aba945dd 100644
--- a/deps/npm/node_modules/request/node_modules/qs/package.json
+++ b/deps/npm/node_modules/qs/package.json
@@ -1,48 +1,62 @@
{
- "name": "qs",
- "description": "A querystring parser that supports nesting and arrays, with a depth limit",
- "homepage": "https://github.com/hapijs/qs",
- "version": "5.1.0",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/hapijs/qs.git"
+ "_args": [
+ [
+ "qs@~5.1.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "qs@>=5.1.0 <5.2.0",
+ "_id": "qs@5.1.0",
+ "_inCache": true,
+ "_location": "/qs",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "quitlahok@gmail.com",
+ "name": "nlf"
},
- "main": "lib/index.js",
- "keywords": [
- "querystring",
- "qs"
+ "_npmVersion": "2.14.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "qs",
+ "raw": "qs@~5.1.0",
+ "rawSpec": "~5.1.0",
+ "scope": null,
+ "spec": ">=5.1.0 <5.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
],
- "engines": ">=0.10.40",
+ "_resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
+ "_shasum": "4d932e5c7ea411cca76a312d39a606200fd50cd9",
+ "_shrinkwrap": null,
+ "_spec": "qs@~5.1.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "bugs": {
+ "url": "https://github.com/hapijs/qs/issues"
+ },
"dependencies": {},
+ "description": "A querystring parser that supports nesting and arrays, with a depth limit",
"devDependencies": {
"browserify": "^10.2.1",
"code": "1.x.x",
"lab": "5.x.x"
},
- "scripts": {
- "test": "lab -a code -t 100 -L",
- "test-tap": "lab -a code -r tap -o tests.tap",
- "test-cov-html": "lab -a code -r html -o coverage.html",
- "dist": "browserify --standalone Qs lib/index.js > dist/qs.js"
- },
- "license": "BSD-3-Clause",
- "gitHead": "9e9759ec5be2dd99ce90961bbff47075cd5a8160",
- "bugs": {
- "url": "https://github.com/hapijs/qs/issues"
- },
- "_id": "qs@5.1.0",
- "_shasum": "4d932e5c7ea411cca76a312d39a606200fd50cd9",
- "_from": "qs@>=5.1.0 <5.2.0",
- "_npmVersion": "2.14.1",
- "_nodeVersion": "0.12.7",
- "_npmUser": {
- "name": "nlf",
- "email": "quitlahok@gmail.com"
- },
+ "directories": {},
"dist": {
"shasum": "4d932e5c7ea411cca76a312d39a606200fd50cd9",
"tarball": "http://registry.npmjs.org/qs/-/qs-5.1.0.tgz"
},
+ "engines": ">=0.10.40",
+ "gitHead": "9e9759ec5be2dd99ce90961bbff47075cd5a8160",
+ "homepage": "https://github.com/hapijs/qs",
+ "installable": true,
+ "keywords": [
+ "qs",
+ "querystring"
+ ],
+ "license": "BSD-3-Clause",
+ "main": "lib/index.js",
"maintainers": [
{
"name": "nlf",
@@ -53,7 +67,17 @@
"email": "eran@hueniverse.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "qs",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/hapijs/qs.git"
+ },
+ "scripts": {
+ "dist": "browserify --standalone Qs lib/index.js > dist/qs.js",
+ "test": "lab -a code -t 100 -L",
+ "test-cov-html": "lab -a code -r html -o coverage.html",
+ "test-tap": "lab -a code -r tap -o tests.tap"
+ },
+ "version": "5.1.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/qs/test/parse.js b/deps/npm/node_modules/qs/test/parse.js
index 679f19747a..679f19747a 100644
--- a/deps/npm/node_modules/request/node_modules/qs/test/parse.js
+++ b/deps/npm/node_modules/qs/test/parse.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/test/stringify.js b/deps/npm/node_modules/qs/test/stringify.js
index 5163700f30..5163700f30 100644
--- a/deps/npm/node_modules/request/node_modules/qs/test/stringify.js
+++ b/deps/npm/node_modules/qs/test/stringify.js
diff --git a/deps/npm/node_modules/request/node_modules/qs/test/utils.js b/deps/npm/node_modules/qs/test/utils.js
index a9a6b520d6..a9a6b520d6 100644
--- a/deps/npm/node_modules/request/node_modules/qs/test/utils.js
+++ b/deps/npm/node_modules/qs/test/utils.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore b/deps/npm/node_modules/read-cmd-shim/.npmignore
index 249bc20eb5..ac50549639 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore
+++ b/deps/npm/node_modules/read-cmd-shim/.npmignore
@@ -1,2 +1,3 @@
+.#*
+*~
node_modules
-*.sw*
diff --git a/deps/npm/node_modules/read-cmd-shim/README.md b/deps/npm/node_modules/read-cmd-shim/README.md
new file mode 100644
index 0000000000..2f0b5f6cc6
--- /dev/null
+++ b/deps/npm/node_modules/read-cmd-shim/README.md
@@ -0,0 +1,36 @@
+# read-cmd-shim
+
+Figure out what a [`cmd-shim`](https://github.com/ForbesLindesay/cmd-shim)
+is pointing at. This acts as the equivalent of
+[`fs.readlink`](https://nodejs.org/api/fs.html#fs_fs_readlink_path_callback).
+
+### Usage
+
+```
+var readCmdShim = require('read-cmd-shim')
+
+readCmdShim('/path/to/shim.cmd', function (er, destination) {
+ …
+})
+
+var destination = readCmdShim.sync('/path/to/shim.cmd')
+
+### readCmdShim(path, callback)
+
+Reads the `cmd-shim` located at `path` and calls back with the _relative_
+path that the shim points at. Consider this as roughly the equivalent of
+`fs.readlink`.
+
+This can read both `.cmd` style that are run by the Windows Command Prompt
+and Powershell, and the kind without any extension that are used by Cygwin.
+
+This can return errors that `fs.readFile` returns, except that they'll
+include a stack trace from where `readCmdShim` was called. Plus it can
+return a special `ENOTASHIM` exception, when it can't find a cmd-shim in the
+file referenced by `path`. This should only happen if you pass in a
+non-command shim.
+
+
+### readCmdShim.sync(path)
+
+Same as above but synchronous. Errors are thrown.
diff --git a/deps/npm/node_modules/read-cmd-shim/index.js b/deps/npm/node_modules/read-cmd-shim/index.js
new file mode 100644
index 0000000000..6a2265449a
--- /dev/null
+++ b/deps/npm/node_modules/read-cmd-shim/index.js
@@ -0,0 +1,54 @@
+'use strict'
+var fs = require('graceful-fs')
+
+function extractPath (path, cmdshimContents) {
+ if (/[.]cmd$/.test(path)) {
+ return extractPathFromCmd(cmdshimContents)
+ } else {
+ return extractPathFromCygwin(cmdshimContents)
+ }
+}
+
+function extractPathFromCmd (cmdshimContents) {
+ var matches = cmdshimContents.match(/"%~dp0\\([^"]+?)"\s+%[*]/)
+ return matches && matches[1]
+}
+
+function extractPathFromCygwin (cmdshimContents) {
+ var matches = cmdshimContents.match(/"[$]basedir[/]([^"]+?)"\s+"[$]@"/)
+ return matches && matches[1]
+}
+
+function wrapError (thrown, newError) {
+ newError.message = thrown.message
+ newError.code = thrown.code
+ return newError
+}
+
+function notaShim (path, er) {
+ if (!er) {
+ er = new Error()
+ Error.captureStackTrace(er, notaShim)
+ }
+ er.code = 'ENOTASHIM'
+ er.message = "Can't read shim path from '" + path + "', it doesn't appear to be a cmd-shim"
+ return er
+}
+
+var readCmdShim = module.exports = function (path, cb) {
+ var er = new Error()
+ Error.captureStackTrace(er, readCmdShim)
+ fs.readFile(path, function (readFileEr, contents) {
+ if (readFileEr) return cb(wrapError(readFileEr, er))
+ var destination = extractPath(path, contents.toString())
+ if (destination) return cb(null, destination)
+ return cb(notaShim(path, er))
+ })
+}
+
+module.exports.sync = function (path) {
+ var contents = fs.readFileSync(path)
+ var destination = extractPath(path, contents.toString())
+ if (!destination) throw notaShim(path)
+ return destination
+}
diff --git a/deps/npm/node_modules/read-cmd-shim/package.json b/deps/npm/node_modules/read-cmd-shim/package.json
new file mode 100644
index 0000000000..4811196804
--- /dev/null
+++ b/deps/npm/node_modules/read-cmd-shim/package.json
@@ -0,0 +1,78 @@
+{
+ "_args": [
+ [
+ "read-cmd-shim",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "read-cmd-shim@*",
+ "_id": "read-cmd-shim@1.0.1",
+ "_inCache": true,
+ "_location": "/read-cmd-shim",
+ "_nodeVersion": "3.1.0",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "3.3.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "read-cmd-shim",
+ "raw": "read-cmd-shim",
+ "rawSpec": "",
+ "scope": null,
+ "spec": "*",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_shasum": "2d5d157786a37c055d22077c32c53f8329e91c7b",
+ "_shrinkwrap": null,
+ "_spec": "read-cmd-shim",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "me@re-becca.org",
+ "name": "Rebecca Turner",
+ "url": "http://re-becca.org/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/read-cmd-shim/issues"
+ },
+ "dependencies": {
+ "graceful-fs": "^4.1.2"
+ },
+ "description": "Figure out what a cmd-shim is pointing at. This acts as the equivalent of fs.readlink.",
+ "devDependencies": {
+ "cmd-shim": "^2.0.1",
+ "rimraf": "^2.4.3",
+ "standard": "^5.2.2",
+ "tap": "^1.4.1"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "2d5d157786a37c055d22077c32c53f8329e91c7b",
+ "tarball": "http://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz"
+ },
+ "gitHead": "7c50879bf49743a1c69f9d7f0ba1638fc46bb40c",
+ "homepage": "https://github.com/npm/read-cmd-shim#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "read-cmd-shim",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/read-cmd-shim.git"
+ },
+ "scripts": {
+ "test": "standard && tap test/*.js"
+ },
+ "version": "1.0.1"
+}
diff --git a/deps/npm/node_modules/read-cmd-shim/test/integration.js b/deps/npm/node_modules/read-cmd-shim/test/integration.js
new file mode 100644
index 0000000000..269f964727
--- /dev/null
+++ b/deps/npm/node_modules/read-cmd-shim/test/integration.js
@@ -0,0 +1,139 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var cmdShim = require('cmd-shim')
+var readCmdShim = require('../index.js')
+var workDir = path.join(__dirname, path.basename(__filename, '.js'))
+var testShbang = path.join(workDir, 'test-shbang')
+var testShbangCmd = testShbang + '.cmd'
+var testShim = path.join(workDir, 'test')
+var testShimCmd = testShim + '.cmd'
+
+test('setup', function (t) {
+ rimraf.sync(workDir)
+ fs.mkdirSync(workDir)
+ fs.writeFileSync(testShbang + '.js', '#!/usr/bin/env node\ntrue')
+ cmdShim(__filename, testShim, function (er) {
+ t.error(er)
+ cmdShim(testShbang + '.js', testShbang, function (er) {
+ t.error(er)
+ t.done()
+ })
+ })
+})
+
+test('async-read-no-shbang', function (t) {
+ t.plan(2)
+ readCmdShim(testShimCmd, function (er, dest) {
+ t.error(er)
+ t.is(dest, '..\\basic.js')
+ t.done()
+ })
+})
+
+test('sync-read-no-shbang', function (t) {
+ t.plan(1)
+ var dest = readCmdShim.sync(testShimCmd)
+ t.is(dest, '..\\basic.js')
+ t.done()
+})
+
+test('async-read-shbang', function (t) {
+ t.plan(2)
+ readCmdShim(testShbangCmd, function (er, dest) {
+ t.error(er)
+ t.is(dest, 'test-shbang.js')
+ t.done()
+ })
+})
+
+test('sync-read-shbang', function (t) {
+ t.plan(1)
+ var dest = readCmdShim.sync(testShbangCmd)
+ t.is(dest, 'test-shbang.js')
+ t.done()
+})
+
+test('async-read-no-shbang-cygwin', function (t) {
+ t.plan(2)
+ readCmdShim(testShim, function (er, dest) {
+ t.error(er)
+ t.is(dest, '../basic.js')
+ t.done()
+ })
+})
+
+test('sync-read-no-shbang-cygwin', function (t) {
+ t.plan(1)
+ var dest = readCmdShim.sync(testShim)
+ t.is(dest, '../basic.js')
+ t.done()
+})
+
+test('async-read-shbang-cygwin', function (t) {
+ t.plan(2)
+ readCmdShim(testShbang, function (er, dest) {
+ t.error(er)
+ t.is(dest, 'test-shbang.js')
+ t.done()
+ })
+})
+
+test('sync-read-shbang-cygwin', function (t) {
+ t.plan(1)
+ var dest = readCmdShim.sync(testShbang)
+ t.is(dest, 'test-shbang.js')
+ t.done()
+})
+
+test('async-read-dir', function (t) {
+ t.plan(2)
+ readCmdShim(workDir, function (er) {
+ t.ok(er)
+ t.is(er.code, 'EISDIR', "cmd-shims can't be directories")
+ t.done()
+ })
+})
+
+test('sync-read-dir', function (t) {
+ t.plan(1)
+ t.throws(function () { readCmdShim.sync(workDir) }, "cmd-shims can't be directories")
+ t.done()
+})
+
+test('async-read-not-there', function (t) {
+ t.plan(2)
+ readCmdShim('/path/to/nowhere', function (er, dest) {
+ t.ok(er, 'missing files throw errors')
+ t.is(er.code, 'ENOENT', "cmd-shim file doesn't exist")
+ t.done()
+ })
+})
+
+test('sync-read-not-there', function (t) {
+ t.plan(1)
+ t.throws(function () { readCmdShim.sync('/path/to/nowhere') }, "cmd-shim file doesn't exist")
+ t.done()
+})
+
+test('async-read-not-shim', function (t) {
+ t.plan(2)
+ readCmdShim(__filename, function (er, dest) {
+ t.ok(er)
+ t.is(er.code, 'ENOTASHIM', 'shim file specified is not a shim')
+ t.done()
+ })
+})
+
+test('sync-read-not-shim', function (t) {
+ t.plan(1)
+ t.throws(function () { readCmdShim.sync(__filename) }, 'shim file specified is not a shim')
+ t.done()
+})
+
+test('cleanup', function (t) {
+ rimraf.sync(workDir)
+ t.done()
+})
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/package.json b/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/package.json
deleted file mode 100644
index d9c7b71555..0000000000
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/package.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "readdir-scoped-modules",
- "version": "1.0.2",
- "description": "Like `fs.readdir` but handling `@org/module` dirs as if they were a single entry.",
- "main": "readdir.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {
- "debuglog": "^1.0.1",
- "dezalgo": "^1.0.0",
- "graceful-fs": "^4.1.2",
- "once": "^1.3.0"
- },
- "devDependencies": {
- "tap": "^1.2.0"
- },
- "scripts": {
- "test": "tap test/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/readdir-scoped-modules.git"
- },
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/readdir-scoped-modules/issues"
- },
- "homepage": "https://github.com/npm/readdir-scoped-modules",
- "readme": "# readdir-scoped-modules\n\nLike `fs.readdir` but handling `@org/module` dirs as if they were\na single entry.\n\nUsed by npm.\n\n## USAGE\n\n```javascript\nvar readdir = require('readdir-scoped-modules')\n\nreaddir('node_modules', function (er, entries) {\n // entries will be something like\n // ['a', '@org/foo', '@org/bar']\n})\n```\n",
- "readmeFilename": "README.md",
- "gitHead": "d41d5de877cb4e9e3f14b92913132680af73d1b4",
- "_id": "readdir-scoped-modules@1.0.2",
- "_shasum": "9fafa37d286be5d92cbaebdee030dc9b5f406747",
- "_from": "readdir-scoped-modules@>=1.0.0 <2.0.0"
-}
diff --git a/deps/npm/node_modules/read-installed/package.json b/deps/npm/node_modules/read-installed/package.json
index b1b3c5fa5a..546f7f339c 100644
--- a/deps/npm/node_modules/read-installed/package.json
+++ b/deps/npm/node_modules/read-installed/package.json
@@ -1,46 +1,98 @@
{
- "name": "read-installed",
- "description": "Read all the installed packages in a folder, and return a tree structure with all the data.",
- "version": "4.0.3",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/read-installed.git"
+ "_args": [
+ [
+ "read-installed@~4.0.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "read-installed@>=4.0.2 <4.1.0",
+ "_id": "read-installed@4.0.3",
+ "_inCache": true,
+ "_location": "/read-installed",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
},
- "main": "read-installed.js",
- "scripts": {
- "test": "tap ./test/*.js"
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "read-installed",
+ "raw": "read-installed@~4.0.2",
+ "rawSpec": "~4.0.2",
+ "scope": null,
+ "spec": ">=4.0.2 <4.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz",
+ "_shasum": "ff9b8b67f187d1e4c29b9feb31f6b223acd19067",
+ "_shrinkwrap": null,
+ "_spec": "read-installed@~4.0.2",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/read-installed/issues"
},
"dependencies": {
"debuglog": "^1.0.1",
+ "graceful-fs": "^4.1.2",
"read-package-json": "^2.0.0",
"readdir-scoped-modules": "^1.0.0",
"semver": "2 || 3 || 4 || 5",
"slide": "~1.1.3",
- "util-extend": "^1.0.1",
- "graceful-fs": "^4.1.2"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.2"
- },
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
+ "util-extend": "^1.0.1"
},
- "license": "ISC",
+ "description": "Read all the installed packages in a folder, and return a tree structure with all the data.",
"devDependencies": {
"mkdirp": "^0.5.0",
"rimraf": "^2.2.8",
"tap": "^1.2.0"
},
- "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## 2.0.0\n\nBreaking changes in `2.0.0`:\n\nThe second argument is now an `Object` that contains the following keys:\n\n * `depth` optional, defaults to Infinity\n * `log` optional log Function\n * `dev` optional, default false, set to true to include devDependencies\n\n## Usage\n\n```javascript\nvar readInstalled = require(\"read-installed\")\n// optional options\nvar options = { dev: false, log: fn, depth: 2 }\nreadInstalled(folder, options, function (er, data) {\n ...\n})\n```\n",
- "readmeFilename": "README.md",
- "gitHead": "da02df6acdb5f5ee31d8c637ef31fb50efb455c1",
- "bugs": {
- "url": "https://github.com/isaacs/read-installed/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "ff9b8b67f187d1e4c29b9feb31f6b223acd19067",
+ "tarball": "http://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz"
},
+ "gitHead": "da02df6acdb5f5ee31d8c637ef31fb50efb455c1",
"homepage": "https://github.com/isaacs/read-installed#readme",
- "_id": "read-installed@4.0.3",
- "_shasum": "ff9b8b67f187d1e4c29b9feb31f6b223acd19067",
- "_from": "read-installed@4.0.3"
+ "installable": true,
+ "license": "ISC",
+ "main": "read-installed.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "read-installed",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.2"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/read-installed.git"
+ },
+ "scripts": {
+ "test": "tap ./test/*.js"
+ },
+ "version": "4.0.3"
}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.editorconfig b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.editorconfig
deleted file mode 100644
index 8de2a35e3a..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/.editorconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-end_of_line = lf
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[{.,}*.{js,json,json5,yml,yaml}]
-indent_style = space
-indent_size = 2
-
-[*.md]
-indent_style = space
-indent_size = 4
-trim_trailing_whitespace = false
-
-[Makefile]
-indent_style = tab
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/benchmark.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/benchmark.js
deleted file mode 100755
index 28a6aad75a..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/benchmark.js
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env node
-
-var Benchmark = require('benchmark')
-var YAML = require('js-yaml')
-var JJU = require('../')
-var JSON5 = require('json5')
-var suite = new Benchmark.Suite
-
-var sample
-sample = require('fs').readFileSync(__dirname + '/../package.yaml')
-sample = YAML.safeLoad(sample)
-sample = JSON.stringify(sample)
-
-var functions = {
- 'JSON': function(x) { JSON.parse(x) },
- 'JSON5': function(x) { JSON5.parse(x) },
- 'JJU': function(x) { JJU.parse(x) },
- 'JS-YAML': function(x) { YAML.safeLoad(x) },
-}
-
-for (var name in functions) {
- with ({ fn: functions[name] }) {
- suite.add(name, {
- onCycle: function onCycle(event) {
- process.stdout.write('\r\033[2K - ' + event.target)
- },
- fn: function () {
- fn(sample)
- },
- })
- }
-}
-
-console.log()
-suite.on('cycle', function(event) {
- console.log('\r\033[2K + ' + String(event.target))
-})
-.run()
-
-process.on('exit', function() { console.log() })
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/package.json b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/package.json
deleted file mode 100644
index 7f0dcf08b7..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/benchmark/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "benchmarks",
- "private": true,
- "dependencies": {
- "json5": "*",
- "js-yaml": "*",
- "benchmark": "*"
- }
-}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/Grammar.md b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/Grammar.md
deleted file mode 100644
index eb7c8bc667..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/Grammar.md
+++ /dev/null
@@ -1,219 +0,0 @@
-
-JSON5 grammar expressed in EBNF form.
-
-PS: I don't know what is appropriate syntax highlighter for this, so I'm using "modula2" because why not. I also inserted <ZWSP> after backslash to preserve syntax highlighting, this character has nothing to do with actual JSON5 syntax and should be ignored.
-
-```modula2
-json5_text = expression_with_whitespace
-
-expression_with_whitespace = [white_space] , expression , [white_space]
-
-expression = literal
- | array_literal
- | object_literal
-
-literal = null_literal
- | boolean_literal
- | signed_numeric_literal
- | string_literal
-
-null_literal = 'null'
-
-boolean_literal = 'true'
- | 'false'
-
-(* Source Characters *)
-
-source_character = .
- (* any Unicode code unit *)
-
-line_terminator = <LF>
- | <CR>
- | <LS>
- | <PS>
-
-line_terminator_sequence = <LF>
- | <CR>
- | <LS>
- | <PS>
- | <CR> , <LF>
-
-white_space = white_space_element
- | white_space , white_space_element
-
-white_space_element = white_space_character
- | comment
-
-white_space_character = <TAB>
- | <VT>
- | <FF>
- | <SP>
- | <NBSP>
- | <BOM>
- | <USP>
-
-comment = multi_line_comment
- | single_line_comment
-
-multi_line_comment = '/*' , [multi_line_comment_chars] , '*/'
-
-multi_line_comment_chars = (source_character - '*') , [multi_line_comment_chars]
- | '*' , [post_asterisk_comment_chars]
-
-post_asterisk_comment_chars = (source_character - ('*' | '/')) , [multi_line_comment_chars]
- | '*' , [post_asterisk_comment_chars]
-
-single_line_comment = '//' , [single_line_comment_chars]
-
-single_line_comment_chars = single_line_comment_char , single_line_comment_chars
-
-single_line_comment_char = source_character - line_terminator
-
-(* Character classes *)
-
-decimal_digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
-
-non_zero_digit = decimal_digit - '0'
-
-hex_digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | 'a'
- | 'b' | 'c' | 'd' | 'e' | 'f' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F'
-
-ascii_letter = ascii_letter_lowercase
- | ascii_letter_uppercase
-
-ascii_letter_lowercase = 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i'
- | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r'
- | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z'
-
-ascii_letter_uppercase = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I'
- | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R'
- | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z'
-
-(* Numeric Literals *)
-
-signed_numeric_literal = '-' , numeric_literal
- | '+' , numeric_literal
- | numeric_literal
-
-numeric_literal = decimal_literal
- | hex_integer_literal
- | non_finite_literal
-
-non_finite_literal = 'Infinity'
- | 'NaN'
-
-decimal_literal = decimal_integer_literal , '.' , [decimal_digits] , [exponent_part]
- | '.' , decimal_digits , [exponent_part]
- | decimal_integer_literal , [exponent_part]
-
-decimal_integer_literal = '0'
- | non_zero_digit , [decimal_digits]
-
-decimal_digits = decimal_digit
- | decimal_digits , decimal_digit
-
-exponent_part = exponent_indicator , signed_integer
-
-exponent_indicator = 'e' | 'E'
-
-signed_integer = decimal_digits
- | '+' , decimal_digits
- | '-' , decimal_digits
-
-hex_integer_literal = '0x' , hex_digit
- | '0X' , hex_digit
- | hex_integer_literal , hex_digit
-
-(* String Literals *)
-
-string_literal = '"' , [double_string_characters] , '"'
- | "'" , [single_string_characters] , "'"
-
-double_string_characters = double_string_character , [double_string_characters]
-
-single_string_characters = single_string_character , [single_string_characters]
-
-double_string_character = source_character - ('"' | '\​' | line_terminator)
- | '\​' , escape_sequence
- | line_continuation
-
-single_string_character = source_character - ("'" | '\​' | line_terminator)
- | '\​' , escape_sequence
- | line_continuation
-
-line_continuation = '\​' , line_terminator_sequence
-
-escape_sequence = character_escape_sequence
- | '0'
- | hex_escape_sequence
- | unicode_escape_sequence
-
-character_escape_sequence = single_escape_character
- | non_escape_character
-
-single_escape_character = '"' | "'" | '\​' | 'b' | 'f' | 'n' | 'r' | 't' | 'v'
-
-non_escape_character = source_character - (escape_character | line_terminator)
-
-escape_character = single_escape_character
- | decimal_digit
- | 'x'
- | 'u'
-
-hex_escape_sequence = 'x' , hex_digit , hex_digit
-
-unicode_escape_sequence = 'u' , hex_digit , hex_digit , hex_digit , hex_digit
-
-(* Array Literals *)
-
-array_literal = '[' , [white_space] , ']'
- | '[' , [white_space] , element_list , ']'
- | '[' , [white_space] , element_list , ',' , [white_space] , ']'
-
-element_list = expression , [white_space]
- | element_list , ',' , [white_space] , expression , [white_space]
-
-(* Object Literals *)
-
-object_literal = '{' , [white_space] , '}'
- | '{' , [white_space] , property_name_and_value_list , '}'
- | '{' , [white_space] , property_name_and_value_list , ',' , '}'
-
-property_name_and_value_list = property_assignment , [white_space]
- | property_name_and_value_list , [white_space] , ',' , [white_space] , property_assignment , [white_space]
-
-property_assignment = property_name , [white_space] , ':' , [white_space] , expression
-
-property_name = identifier_name
- | string_literal
- | numeric_literal
-
-identifier_name = identifier_start
- | identifier_name , identifier_part
-
-identifier_start = unicode_letter
- | '$'
- | '_'
- | '\​' , unicode_escape_sequence
-
-identifier_part = identifier_start
- | unicode_combining_mark
- | unicode_digit
- | unicode_connector_punctuation
- | <ZWNJ>
- | <ZWJ>
-
-unicode_letter = ascii_letter
- (* + any character in the Unicode categories "Uppercase letter (Lu)", "Lowercase letter (Ll)", "Titlecase letter (Lt)", "Modifier letter (Lm)", "Other letter (Lo)", or "Letter number (Nl)" *)
-
-unicode_combining_mark =
- (* + any character in the Unicode categories "Non-spacing mark (Mn)" or "Combining spacing mark (Mc)" *)
-
-unicode_digit = decimal_digit
- (* + any character in the Unicode category "Decimal number (Nd)" *)
-
-unicode_connector_punctuation =
- (* + any character in the Unicode category "Connector punctuation (Pc)" *)
-
-
-```
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/JSON5.md b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/JSON5.md
deleted file mode 100644
index bbe18a3d8c..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/docs/JSON5.md
+++ /dev/null
@@ -1,50 +0,0 @@
-## JSON5 syntax
-
-We support slighly modified version of JSON5, see https://groups.google.com/forum/#!topic/json5/3DjClVYI6Wg
-
-I started from ES5 specification and added a set of additional restrictions on top of ES5 spec. So I'd expect my implementation to be much closer to javascript. It's no longer an extension of json, but a reduction of ecmascript, which was my original intent.
-
-This JSON5 version is a subset of ES5 language, specification is here:
-
-http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
-
-This is a language that defines data structures only, so following notes/restrictions are applied:
-
-- Literals (NullLiteral, BooleanLiteral, NumericLiteral, StringLiteral) are allowed.
-- Compatibility syntax is not supported, which means octal literals are forbidden.
-- ArrayLiterals and allowed, but instead of AssignmentExpressions you can only use other allowed Literals, ArrayLiterals and ObjectLiterals. Elisions are currently not supported.
-- ObjectLiterals and allowed, but instead of AssignmentExpressions you can only use other allowed Literals, ArrayLiterals and ObjectLiterals. Setters and getters are forbidden.
-- All other primary expressions ("this", Identifier, Expression) are forbidden.
-- Two unary expressions ('-' and '+') allowed before NumericLiterals.
-- Any data that has a number type can be represented, including +0, -0, +Infinity, -Infinity and NaN.
-- "undefined" is forbidden, use null instead if applicable.
-- Comments and whitespace are defined according to spec.
-
-Main authority here is ES5 spec, so strict backward JSON compatibility is not guaranteed.
-
-
-If you're unsure whether a behaviour of this library is a bug or not, you can run this test:
-
-```javascript
-JSON5.parse(String(something))
-```
-
-Should always be equal to:
-
-```javascript
-eval('(function(){return ('+String(something)+'\n)\n})()')
-```
-
-If `something` meets all rules above. Parens and newlines in the example above are carefully placed so comments and another newlines will work properly, so don't look so impressed about that.
-
-
-## Weirdness of JSON5
-
-These are the parts that I don't particulary like, but see no good way to fix:
-
- - no elisions, `[,,,] -> [null,null,null]`
- - `[Object], [Circular]` aren't parsed
- - no way of nicely representing multiline strings
- - unicode property names are way to hard to implement
- - Date and other custom objects
- - incompatible with YAML (at least comments)
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.json b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.json
deleted file mode 100644
index ed34885e26..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "name": "jju",
- "version": "1.2.0",
- "description": "a set of utilities to work with JSON / JSON5 documents",
- "author": {
- "name": "Alex Kocharin",
- "email": "alex@kocharin.ru"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/rlidwka/jju.git"
- },
- "bugs": {
- "url": "https://github.com/rlidwka/jju/issues"
- },
- "homepage": "http://rlidwka.github.io/jju/",
- "devDependencies": {
- "mocha": ">=1.21.0",
- "js-yaml": ">=3.1.0",
- "eslint": "~0.4.2"
- },
- "scripts": {
- "test": "mocha test/*.js",
- "lint": "eslint -c ./.eslint.yaml ./lib"
- },
- "keywords": [
- "json",
- "json5",
- "parser",
- "serializer",
- "data"
- ],
- "publishConfig": {
- "registry": "https://registry.npmjs.org/"
- },
- "license": {
- "type": "WTFPL",
- "url": "http://www.wtfpl.net/txt/copying/"
- },
- "gitHead": "6f1b2a8321cb0dfcffc50378b3632853cf529671",
- "_id": "jju@1.2.0",
- "_shasum": "add5b586fec853b44929d78bf94864ab577c02e9",
- "_from": "jju@>=1.1.0 <2.0.0",
- "_npmVersion": "2.0.1",
- "_nodeVersion": "1.1.1",
- "_npmUser": {
- "name": "rlidwka",
- "email": "alex@kocharin.ru"
- },
- "maintainers": [
- {
- "name": "rlidwka",
- "email": "alex@kocharin.ru"
- }
- ],
- "dist": {
- "shasum": "add5b586fec853b44929d78bf94864ab577c02e9",
- "tarball": "http://registry.npmjs.org/jju/-/jju-1.2.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/jju/-/jju-1.2.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/portable-json5-tests.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/portable-json5-tests.yaml
deleted file mode 100644
index 5bf6ac38fe..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/portable-json5-tests.yaml
+++ /dev/null
@@ -1,916 +0,0 @@
-# vi:set ts=2 sts=2 sw=2 et:
-#
-# Copyright (c) JD 2456730 Alex Kocharin <alex@kocharin.ru>
-#
-# Permission to use, copy, modify, and/or distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# The original file is available here:
-# https://github.com/rlidwka/jju/tree/master/test/portable-json5-tests.yaml
-#
-# ----------------------------------------------------------------------------
-#
-# Portable JSON5 test suite.
-#
-# This file contains an actual YAML data and it may include fancy syntax.
-# If your platform does not support YAML, you might wish to pre-process it
-# using a generic YAML parser.
-#
-
-%YAML 1.2
----
-#
-# "input" is an arbitrary JSON5 you have to parse
-# "output" is a normalized JSON you have to compare your result with,
-# or !error (null) if your input should result in parser error
-#
-# Types of tests:
-#
-# - basic - Tests that every JSON5 parser should pass.
-#
-# - advanced - Tests that bring close compatibility with javascript. Not
-# strictly required, but nice to have for completeness.
-#
-# - extra - Extra test cases you can follow at your discretion.
-#
-# Questionable features like elisions go to extra. All valid javascript, but
-# invalid json5 also goes to extra. Feel free to ignore this section if you
-# want to. Thus, eval(input) is a complete json5 parser, that should pass all
-# basic and advanced tests.
-#
-
-# Basic types in minimal form
-# ---------------------------
-
-type-no-data:
- type: extra
- output: !error
- input: ''
-
-type-null:
- type: basic
- output: null
- input: >
- null
-
-# undefined is not supported,
-# null should be used instead
-type-no-undefined:
- type: extra
- output: !error
- input: >
- undefined
-
-type-no-raw:
- type: extra
- output: !error
- input: >
- foobar
-
-type-bool-true:
- type: basic
- output: true
- input: >
- true
-
-type-bool-false:
- type: basic
- output: false
- input: >
- false
-
-type-number:
- type: basic
- output: 0
- input: >
- 0
-
-type-string:
- type: basic
- output: ""
- input: >
- ""
-
-type-object:
- type: basic
- output: {}
- input: >
- {}
-
-type-array:
- type: basic
- output: []
- input: >
- []
-
-# Numbers: special
-# ----------------
-
-# note: it's hard to test this
-# just add `1/x < 0` check in your code somewhere
-num-negative-zero:
- type: extra
- output: -0.0
- input: >
- -0
-
-num-nan:
- type: basic
- output: .nan
- input: >
- NaN
-
-num-signed-nan:
- type: basic
- output: .nan
- input: >
- +NaN
-
-num-positive-inf:
- type: basic
- output: +.inf
- input: >
- Infinity
-
-num-negative-inf:
- type: basic
- output: -.inf
- input: >
- -Infinity
-
-num-inf-exact-case:
- type: extra
- output: !error
- input: >
- INFINITY
-
-# Numbers: hexadecimal
-# --------------------
-
-num-hex-zero:
- type: basic
- output: 0
- input: >
- 0x0
-
-num-cut-hex:
- type: basic
- output: !error
- input: >
- 0x
-
-num-all-hex:
- type: basic
- output: 12841684683518
- input: >
- 0xBADF00DCAFE
-
-num-mixed-case:
- type: basic
- output: 3735928559
- input: >
- 0xDeAdBEef
-
-num-signed-hex:
- type: advanced
- output: 31
- input: >
- +0x1F
-
-num-negative-hex:
- type: advanced
- output: -31
- input: >
- -0x1f
-
-num-bad-hex:
- type: advanced
- output: !error
- input: >
- 0xBADxF00D
-
-num-no-hex-float:
- type: advanced
- output: !error
- input: >
- 0x12.345
-
-# this is not actually an exponent :)
-num-hex-exponent:
- type: advanced
- output: 4836
- input: >
- 0x0012e4
-
-# Numbers: octal
-# --------------
-
-# Octals are primarily used in config files
-# to set up a file mask (like 0777)
-#
-# Note: they will have 0o12345 syntax instead
-# of 012345 in the ES6, so we'll need to switch
-# as well in the future
-
-num-octal:
- type: extra
- output: 342391
- input: >
- 01234567
-
-num-octal-zeroes:
- type: extra
- output: -24000
- input: >
- -000000056700
-
-num-bad-octal:
- type: extra
- output: !error
- input: >
- 012345678
-
-num-no-octal-float:
- type: extra
- output: !error
- input: >
- 012.345
-
-num-no-octal-exp:
- type: extra
- output: !error
- input: >
- 0123e4
-
-# Numbers: floating point
-# -----------------------
-
-num-float:
- type: basic
- output: 123.456
- input: >
- 123.456
-
-num-signed-foat:
- type: basic
- output: -0.00098765
- input: >
- -0.00098765
-
-num-omit-trailing-mantissa:
- type: basic
- output: 1234000
- input: >
- 1234.e3
-
-num-omit-leading-mantissa:
- type: advanced
- output: -123.4
- input: >
- -.1234e3
-
-num-bad-float:
- type: advanced
- output: !error
- input: >
- 0.12.345
-
-num-bad-sum:
- type: extra
- output: !error
- input: >
- 0.12+345
-
-num-uc-exp:
- type: advanced
- output: -1230000
- input: >
- -123E+4
-
-num-float-exp:
- type: basic
- output: 123000
- input: >
- 0.0123e7
-
-num-bad-exp:
- type: extra
- output: !error
- input: >
- 123e7.3
-
-num-bad-char:
- type: extra
- output: !error
- input: >
- 123a456
-
-num-no-exp:
- type: advanced
- output: !error
- input: >
- 123e
-
-num-zero-exp:
- type: advanced
- output: -0.0
- input: >
- -.00e-0
-
-num-dec-base-signed-exp:
- type: advanced
- output: 0.00000123
- input: >
- 1230000E-012
-
-# String: quotes
-# --------------
-
-string-double-quotes:
- type: basic
- output: foobar
- input: >
- "foobar"
-
-string-single-quotes:
- type: basic
- output: foobar
- input: >
- 'foobar'
-
-string-open:
- type: basic
- output: !error
- input: >
- "\\\\\\\\\\\\\"
-
-string-not-open:
- type: basic
- output: "\\\\\\\\\\\\\\"
- input: >
- "\\\\\\\\\\\\\\"
-
-string-continuation:
- type: advanced
- output: " foo bar "
- input: >
- " foo \
- bar \
- "
-
-string-win-continuation:
- type: advanced
- output: "foobar"
- input: "'foo\\\r\nbar'"
-
-string-win-reverse-continuation:
- type: advanced
- output: !error
- input: "'foo\\\n\rbar'"
-
-string-unicode-continuation:
- type: advanced
- output: "foobarbaz"
- input: "'foo\\\u2028bar\\\u2029baz'"
-
-string-multi-bad-continuation:
- type: advanced
- output: !error
- input: >
- foo\
-
- bar
-
-string-bad-ending:
- type: basic
- output: !error
- input: "'foo\rbar'"
-
-string-bad-ending-2028:
- type: advanced
- output: !error
- input: "'foo\u2028bar'"
-
-string-bad-ending-2029:
- type: advanced
- output: !error
- input: "'foo\u2029bar'"
-
-string-literal-unicode:
- type: advanced
- output: "foo\uFEFF\u2030bar\u1234"
- input: "'foo\uFEFF\u2030bar\u1234'"
-
-string-control-char:
- type: advanced
- output: "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0b\x0c\x0e\x0f"
- input: "'\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0b\x0c\x0e\x0f'"
-
-# String: escape sequences
-# ------------------------
-
-string-octal-escape:
- type: extra
- output: "\x1b[1;32mhi\x1b[m??"
- input: >
- '\033[1;32mhi\033[m\077\077'
-
-string-octal-two-digits:
- type: extra
- output: "\n\x1c\x2e\x07890\x01"
- input: >
- '\12\34\56\78\90\1'
-
-string-octal-three-digits:
- type: extra
- output: "\n34.78\xff 0"
- input: >
- '\01234\5678\377\400'
-
-string-hex-escape:
- type: extra
- output: "\x01\x23\xab\xcd\xef"
- input: >
- "\x01\x23\xab\xCd\xEF"
-
-# \0 is *not* an octal escape sequence,
-# and is allowed even in strict mode
-string-zero-point:
- type: basic
- output: "\0"
- input: >
- '\0'
-
-string-escape-double-quotes:
- type: basic
- output: "\"''"
- input: >
- "\"'\'"
-
-string-escape-single-quotes:
- type: basic
- output: " '\"\" "
- input: >
- ' \'"\" '
-
-string-escape-json-chars:
- type: basic
- output: "\\\/\b\f\n\r\t"
- input: >
- "\\\/\b\f\n\r\t"
-
-# this character was left out of
-# json spec for whatever reason
-string-escape-slash-v:
- type: basic
- output: "\v"
- input: >
- "\v"
-
-string-unicode-escape:
- type: basic
- output: "\u0000\uffffx\ufeff\u1234\u9f6a\u2028\uabcd"
- input: >
- "\u0000\uFFFFx\uFeFf\u1234\u9F6a\u2028\uabcd"
-
-string-arbitrary-escape:
- type: advanced
- output: "X12Uqwe\r\tyiopasd\fghjklzc\u000b\b\nm9 "
- input: >
- '\X12\U\q\w\e\r\t\y\i\o\p\a\s\d\f\g\h\j\k\l\z\c\v\b\n\m\9\ '
-
-string-bad-unicode:
- type: advanced
- output: !error
- input: >
- '\uEFGH'
-
-string-incomplete-unicode:
- type: advanced
- output: !error
- input: >
- '\u$'
-
-string-bad-hex:
- type: advanced
- output: !error
- input: >
- '\xFG'
-
-string-incomplete-hex:
- type: advanced
- output: !error
- input: >
- '\x$'
-
-# Object literals
-# ---------------
-
-object-nested:
- type: basic
- output: {q:{'w':{"e":[1]}}}
- input: |
- {q:{'w':{"e":[1]}}}
-
-object-trailing-comma:
- type: basic
- output: {foo: 'bar'}
- input: |
- {foo: 'bar',}
-
-object-leading-comma-style:
- type: basic
- output: {q: 1,w: 2,e: 3}
- input: |
- { q: 1
- , w: 2
- , e: 3
- }
-
-object-incomplete:
- type: basic
- output: !error
- input: |
- {q:1,w:2,{}
-
-object-isnt-array:
- type: basic
- output: !error
- input: |
- {1,2}
-
-object-no-single-comma:
- type: basic
- output: !error
- input: |
- {,}
-
-object-no-elisions:
- type: basic
- output: !error
- input: |
- {q:1,,w:2}
-
-# Objects: keys
-# -------------
-
-object-singlequoted:
- type: basic
- output: {q: 1,w: 2,e: 3}
- input: |
- {'q':1,'w':2,'e':3}
-
-object-doublequoted:
- type: basic
- output: {q: 1,w: 2,e: 3}
- input: |
- {"q":1,"w":2,"e":3}
-
-object-unquoted:
- type: basic
- output: {$FOO_bar123: 'baz'}
- input: >
- {$FOO_bar123: 'baz'}
-
-object-no-first-digit:
- type: advanced
- output: !error
- input: >
- {123foo: bar}
-
-object-unquoted-unicode:
- type: advanced
- output: {"\u1f04\u03bb\u03c6\u03b1": baz}
- input: "{\u1f04\u03bb\u03c6\u03b1:'baz'}"
-
-object-unicode-escape-key:
- type: advanced
- output: {foo: 'bar', "\u1f04\u03bb\u03c6\u03b1": baz, "qwe\u1f04rty": quux}
- input: |
- {foo:'bar', \u1f04\u03bb\u03c6\u03b1:'baz', qwe\u1f04rty: "quux"}
-
-object-no-raw-literal:
- type: extra
- output: !error
- input: |
- {foo: bar}
-
-object-bad-literal:
- type: advanced
- output: !error
- input: |
- {foo-bar: 123}
-
-object-no-space-in-key:
- type: advanced
- output: !error
- input: |
- {foo bar: 123}
-
-object-no-comment-in-key:
- type: advanced
- output: !error
- input: |
- {foo/*bar*/baz: 123}
-
-object-float-keys:
- type: advanced
- output: {'1': 'one', '3.1415': 'pi'}
- input: |
- {1:'one', 3.1415:'pi'}
-
-object-no-negative:
- type: advanced
- output: !error
- input: |
- {-5: 123}
-
-object-exponent-keys:
- type: advanced
- output: {'1': 'exp', '1000': 'pos', '0.001': 'neg'}
- input: |
- {1e0: 'exp', 1e+3: 'pos', 1e-3: 'neg'}
-
-object-octal-keys:
- type: extra
- output: {'668': 1}
- input: |
- {01234: 1}
-
-object-hex-keys:
- type: advanced
- output: {'51966': 1}
- input: |
- {0xCAFE: 1}
-
-object-null-keys:
- type: basic
- output: {'null': null}
- input: |
- {null: null}
-
-object-no-array-keys:
- type: extra
- output: !error
- input: |
- {[]: 123}
-
-object-no-empty-keys:
- type: basic
- output: !error
- input: |
- {: 123}
-
-object-empty-string-key:
- type: basic
- output: {s: {'': 1}, m: {'': 2}}
- input: |
- {s: {'': 1}, m: {"": 2}}
-
-object-bad-unicode-space:
- type: advanced
- output: !error
- input: |
- { \u0020foobar: 123 }
-
-object-bad-unicode-dash:
- type: advanced
- output: !error
- input: |
- { foo\u002dbar: 123}
-
-object-incomplete-unicode-sequence:
- type: advanced
- output: !error
- input: |
- { foo\u12f: 123 }
-
-object-double-escape:
- type: advanced
- output: !error
- input: |
- { foo\\u1234bar: 123 }
-
-object-we-arent-es3:
- type: basic
- output: {new: 1, delete: 2, throw: 3}
- input: |
- {new: 1, delete: 2, throw: 3}
-
-object-last-digits:
- type: basic
- output: {$123e2: 1, abc123: 2}
- input: |
- {$123e2: 1, abc123: 2}
-
-object-unicode-in-string:
- type: advanced
- output: {"\uff13qwe": 123}
- input: |
- {"\uff13qwe": 123}
-
-object-unicode-esc-in-string:
- type: advanced
- output: {"\\uff13qwe": 123}
- input: |
- {"\\uff13qwe": 123}
-
-object-unicode-digits-first-esc:
- type: advanced
- output: !error
- input: |
- {\uff13qwe: 123}
-
-object-unicode-digits-first-lit:
- type: advanced
- output: !error
- input: "{\uff13qwe: 123}"
-
-object-unicode-weirdness-esc:
- type: advanced
- output: {"digit\uff13": 1, "comb\u094F": 2, "punct\u2040": 3, "zwnj\u200C": 4}
- input: |
- {digit\uff13: 1, comb\u094F: 2, punct\u2040: 3, zwnj\u200C: 4}
-
-object-unicode-weirdness-lit:
- type: advanced
- output: {"digit\uff13": 1, "comb\u094F": 2, "punct\u2040": 3, "zwnj\u200C": 4}
- input: "{digit\uff13: 1, comb\u094F: 2, punct\u2040: 3, zwnj\u200C: 4}"
-
-# Array literals
-# --------------
-
-array-all-types:
- type: basic
- output: [1.2,"3,4",{},[],null,+.inf]
- input: |
- [1.2,"3,4",{},[],null,Infinity]
-
-array-trailing-comma:
- type: basic
- output: [1,2,3,4]
- input: |
- [1,2,3,4,]
-
-array-leading-comma-style:
- type: basic
- output: [quux,foo,bar,baz]
- input: |
- [ 'quux'
- , 'foo'
- , 'bar'
- , 'baz'
- ]
-
-array-incomplete:
- type: basic
- output: !error
- input: |
- [1,2,3,[]
-
-array-nested:
- type: basic
- output: [[[[[[]]]]],[[],[]]]
- input: |
- [[[[[[/*[]*/]]]]],[[],[]]]
-
-array-isnt-object:
- type: extra
- output: !error
- input: |
- [1:2]
-
-array-no-single-comma:
- type: extra
- output: !error
- input: |
- [,]
-
-array-no-elisions:
- type: extra
- output: !error
- input: |
- [1,,2,3]
-
-# Comments
-# --------
-
-comment-single:
- type: basic
- output: foobar
- input: |
- // blahblah
- "foobar"
- // another one
-
-comment-multi:
- type: basic
- output: foobar
- input: |
- /*
- * 123
- */
- "foobar"
- /**/
-
-comment-single-newlines:
- type: advanced
- output: [ 123, 456, 789 ]
- input: "[// foo\r123,// bar\u2028456,// baz\u2029789]"
-
-comment-inside:
- type: advanced
- output: [123, '// foo', '/* bar']
- input: >
- [
- /*
- " // */ 123, // ",
- "// foo",
- '/* bar',
- ]
-
-comment-in-token:
- type: advanced
- output: !error
- input:
- 123/*comment*/456
-
-comment-java-style:
- type: basic
- output: 123
- input:
- /*****************/
- 123
- /****************/
-
-comment-object:
- type: basic
- output: {q: 123}
- input: /**/{/**/q/**/:/**/123/**/,/**/}//
-
-# Whitespace
-# ----------
-
-ws-no-whitespace:
- type: basic
- output: {"foo":bar,bar:["qwe",null,[],{}],"baz":123}
- input: '{foo:"bar","bar":["qwe",null,[],{}],"baz":123}'
-
-ws-allow-prefix:
- type: basic
- output: 123
- input: " \t123"
-
-ws-unicode-spaces:
- type: advanced
- output: { foo : 123 }
- input: "
- \u0020\u00A0\uFEFF
- {
- \x09\x0A\x0B\x0C\x0D\u1680\u180E
- foo
- \u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A
- :
- \u2028\u2029\u202F\u205F\u3000
- 123
- \uFEFF
- }"
-
-ws-unicode-newlines:
- type: advanced
- output: [ 123, 456 ]
- input: "
- [
- \u000D
- 123,
- \u2028
- 456,
- \u2029
- ]
- "
-
-# Multiple tokens
-# ---------------
-
-multi-string-nospace:
- type: basic
- output: !error
- input: '"foo""bar"'
-
-multi-string:
- type: basic
- output: !error
- input: '"foo" "bar"'
-
-# note: valid javascript
-multi-array:
- type: extra
- output: !error
- input: '[0] [0]'
-
-multi-object:
- type: basic
- output: !error
- input: '{} {}'
-...
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_analyze.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_analyze.js
deleted file mode 100644
index 2a24e01eac..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_analyze.js
+++ /dev/null
@@ -1,53 +0,0 @@
-var _assert = require('assert')
-var analyze = require('../').analyze
-
-function addTest(a, b) {
- if (typeof(describe) === 'function') {
- it('test_analyze: ' + a + ' == ' + b, function() {
- _assert.equal(a, b)
- })
- } else {
- _assert.equal(a, b)
- }
-}
-
-var t = analyze(JSON.stringify(require('os').networkInterfaces()))
-addTest(t.has_whitespace, false)
-addTest(t.has_comments, false)
-addTest(t.has_newlines, false)
-addTest(t.newline, '\n')
-addTest(t.quote, '"')
-addTest(t.quote_keys, true)
-addTest(t.indent, '')
-
-var t = analyze(JSON.stringify(require('os').networkInterfaces(), null, 2))
-addTest(t.has_whitespace, true)
-addTest(t.has_comments, false)
-addTest(t.has_newlines, true)
-addTest(t.newline, '\n')
-addTest(t.quote, '"')
-addTest(t.quote_keys, true)
-addTest(t.indent, ' ')
-
-var t = analyze(JSON.stringify(require('os').networkInterfaces(), null, 3))
-addTest(t.indent, ' ')
-
-var t = analyze(JSON.stringify(require('os').networkInterfaces(), null, '\t'))
-addTest(t.indent, '\t')
-
-var t = analyze(JSON.stringify(require('os').networkInterfaces(), null, 3).replace(/\n/g, '\r\n'))
-addTest(t.indent, ' ')
-addTest(t.newline, '\r\n')
-
-var t = analyze(JSON.stringify(require('os').networkInterfaces()).replace(/"/g, "'"))
-addTest(t.quote, "'")
-addTest(t.quote_keys, true)
-
-var t = analyze("{foo:'bar', 'bar':\"baz\", 'baz':\"quux\"}")
-addTest(t.quote, "'")
-addTest(t.quote_keys, false)
-
-var t = analyze("{foo:'bar', \"bar\":'baz', \"baz\":\"quux\"}")
-addTest(t.quote, '"')
-addTest(t.quote_keys, false)
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_document.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_document.js
deleted file mode 100644
index 5f1ef2aaf6..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_document.js
+++ /dev/null
@@ -1,214 +0,0 @@
-var assert = require('assert')
-var create = require('../lib/document').Document
-var jju = require('..')
-
-var str = '{ x\r\n:\n1, y: {"..z.": 123, t: null, s:"123", a:[ 1,2,{x:3},] }}\n'
-var d = create(str)
-assert.equal(d + '', str)
-assert.deepEqual(d.get(''), {x:1,y:{'..z.':123,t:null,s:'123',a:[1,2,{x:3}]}})
-assert.deepEqual(d.get('x'), 1)
-assert.deepEqual(d.get('x.x'), undefined)
-assert.deepEqual(d.get('x.x.x.x'), undefined)
-assert.strictEqual(d.get('y.x'), undefined)
-assert.deepEqual(d.get('y.s'), '123')
-assert.strictEqual(d.get('y.t'), null)
-assert.strictEqual(d.get('y.t.x'), undefined)
-assert.equal(d.has(''), true)
-assert.equal(d.has('x'), true)
-assert.equal(d.has('x.x'), false)
-assert.equal(d.has('x.x.x.x'), false)
-assert.equal(d.has('y.x'), false)
-assert.equal(d.has('y'), true)
-assert.equal(d.has('y.s'), true)
-assert.equal(d.has('y.t'), true)
-assert.equal(d.has('a'), false)
-
-// arrays
-assert.deepEqual(d.get('y.a'), [1,2,{x:3}])
-assert.deepEqual(d.get('y.a.0'), 1)
-assert.deepEqual(d.get('y.a.2.x'), 3)
-assert.deepEqual(d.get('y.a.10'), undefined)
-assert.deepEqual(d.has('y.a.0'), true)
-assert.deepEqual(d.has('y.a.10'), false)
-assert.deepEqual(d.get('y.a.2'), {x:3})
-assert.deepEqual(d.get('y.a.-1'), undefined)
-
-// controversial
-assert.strictEqual(d.get('y.s.0'), undefined)
-assert.equal(d.has('y.s.0'), false)
-
-// paths
-assert.deepEqual(d.get([]), {x:1,y:{'..z.':123,t:null,s:'123',a:[1,2,{x:3}]}})
-assert.strictEqual(d.has([]), true)
-assert.strictEqual(d.get(['y','..z.']), 123)
-assert.strictEqual(d.has(['y','..z.']), true)
-assert.deepEqual(d.get(['y','a',2,'x']), 3)
-assert.deepEqual(create('[1]').set(0, 4).get(''), [4])
-assert.deepEqual(create('[1]').set(1, 4).get(''), [1,4])
-assert.deepEqual(create('[1]').has(0), true)
-assert.deepEqual(create('[1]').has(1), false)
-assert.deepEqual(create('[1]').get(0), 1)
-
-// invalid paths
-assert.throws(function() { create('[1]').set(null, 4) }, /invalid path type/i)
-assert.throws(function() { create('[1]').set({}, 4) }, /invalid path type/i)
-assert.throws(function() { create('[1]').set(/./, 4) }, /invalid path type/i)
-assert.throws(function() { create('[1]').set(function(){}, 4) }, /invalid path type/i)
-assert.throws(function() { create('[1]').set(false, 4) }, /invalid path type/i)
-assert.throws(function() { create('[1]').set(undefined, 4) }, /invalid path type/i)
-
-// set root
-assert.strictEqual(create(str).set('', 4).get(''), 4)
-assert.strictEqual(create(str).set('', null).get(''), null)
-assert.strictEqual(create(str).set('', {x:4}).get('x'), 4)
-assert.deepEqual(create(str).set('', [1,2,3]).get(''), [1,2,3])
-assert.strictEqual(create('1').set('', 4).get(''), 4)
-assert.strictEqual(create('null').set('', 4).get(''), 4)
-assert.strictEqual(create('[]').set('', 4).get(''), 4)
-assert.strictEqual(create('{}').set('', 4).get(''), 4)
-
-// set 1st level
-assert.deepEqual(create('{}').set('x', 4).get('x'), 4)
-assert.deepEqual(create('{a:{b:[]}}').set('a.b.0', 4).get('a'), {b:[4]})
-//assert.deepEqual(create('1').set('x', 4).get('x'), 4)
-//assert.deepEqual(create('null').set('x', 4).get('x'), 4)
-
-// array: boundaries
-assert.strictEqual(create('[]').set('0', 4).get('0'), 4)
-assert.strictEqual(create('[1,2,3]').set('2', 4).get('2'), 4)
-assert.strictEqual(create('[1,2,3]').set('3', 4).get('3'), 4)
-
-// various error cases
-assert.throws(function() { create('1').set('x', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('null').set('x', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('[]').set('x', 4) }, /set key .* of an array/)
-assert.throws(function() { create('""').set('x', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('{}').set('x.x.x', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('1').set('1', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('null').set('1', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('""').set('1', 4) }, /set key .* of an non-object/)
-assert.throws(function() { create('[]').set('-1', 4) }, /set key .* of an array/)
-assert.throws(function() { create('[]').set('1', 4) }, /set key .* out of bounds/)
-assert.throws(function() { create('[1,2,3]').set('4', 4) }, /set key .* out of bounds/)
-assert.throws(function() { create('{a:{b:[]}}').set('a.b.x', 4) }, /set key .* of an array/)
-
-// unsetting stuff
-assert.throws(function() { create('[]').unset('') }, /can't remove root document/)
-
-// arrays: handling spaces correctly
-assert.equal(create("[]").set(0,{})+"", '[{}]')
-assert.equal(create("[0]").set(1,{})+"", '[0,{}]')
-assert.equal(create("[0,]").set(1,{})+"", '[0,{},]')
-assert.equal(create("[ ]").set(0,{})+"", '[{} ]')
-assert.equal(create("[ 0 , ]").set(1,{})+"", '[ 0 , {}, ]')
-assert.equal(create("[ 0 ]").set(1,{})+"", '[ 0, {} ]')
-assert.equal(create("{}").set('y',{})+"", '{"y":{}}')
-assert.equal(create("{x:1}").set('y',{})+"", '{x:1,y:{}}')
-assert.equal(create("{x:1,}").set('y',{})+"", '{x:1,y:{},}')
-assert.equal(create("{ }").set('y',{})+"", '{"y":{} }')
-assert.equal(create("{ x:1 , }").set('y',{})+"", '{ x:1 , y:{}, }')
-assert.equal(create("{ x:1 }").set('y',{})+"", '{ x:1, y:{} }')
-
-// deleting elements
-assert.throws(function() { create('[]').unset('0') }, /unset key .* out of bounds/)
-assert.throws(function() { create('[1,2]').unset('2') }, /unset key .* out of bounds/)
-assert.throws(function() { create('[1,2,3]').unset('0') }, /in the middle of an array/)
-
-// CommonJS assert spec is "awesome"
-assert.deepEqual(create('[1,2]').unset('1').get(''), [1])
-assert.deepEqual(create('[1,2]').unset('1').get('').length, 1)
-assert.deepEqual(create('[1,2,3]').unset('2').unset('1').get(''), [1])
-assert.deepEqual(create('[1,2,3]').unset('2').unset('1').get('').length, 1)
-assert.deepEqual(create('[1]').unset('0').get(''), [])
-assert.deepEqual(create('[1]').unset('0').get('').length, 0)
-
-assert.deepEqual(create('{x:{y:"z"}, z:4}').unset('x').get(''), {z:4})
-assert.throws(function() { create('[1,2]').unset('') }, /root/)
-
-// getting crazy
-//assert.deepEqual(create(str).set('a.b.c.d.e', 1).get('a'), {b:{c:{d:{e:1}}}})
-
-// update: arrays
-assert.deepEqual(create("[1]").update([2,3])+"", '[2,3]')
-assert.deepEqual(create("[1]").update([2,3,4])+"", '[2,3,4]')
-assert.deepEqual(create("[]").update([2])+"", '[2]')
-assert.deepEqual(create("[2]").update([])+"", '[]')
-assert.deepEqual(create("[2,3,4]").update([2,3])+"", '[2,3]')
-assert.deepEqual(create("[2,3,4]").update([])+"", '[]')
-assert.deepEqual(create("[]").update([2,3,4])+"", '[2,3,4]')
-assert.deepEqual(create(" /*zz*/ [ 2 , 3 , 4 ] /*xx*/ ").update([])+"", ' /*zz*/ [ ] /*xx*/ ')
-assert.deepEqual(create(" /*zz*/ [ ] /*xx*/ ").update([2,3,4])+"", ' /*zz*/ [2,3,4 ] /*xx*/ ')
-
-// update: objects
-assert.deepEqual(create("{x:1}").update({x:1,y:2,z:3})+"", '{x:1,y:2,z:3}')
-assert.deepEqual(create("{x:1}").update({x:2,z:3,t:4})+"", '{x:2,z:3,t:4}')
-assert.deepEqual(create("{}").update({x:1,y:2})+"", '{"x":1,"y":2}')
-assert.deepEqual(create("{x:1}").update({})+"", '{}')
-assert.deepEqual(create("{x:1,y:2}").update({x:1})+"", '{x:1}')
-assert.deepEqual(create(" /*zz*/ { x /*a*/ : /*b*/ 2 , y:3 , z //\n: 4 } /*xx*/ ").update({})+"", ' /*zz*/ { } /*xx*/ ')
-assert.deepEqual(create(" /*zz*/ { } /*xx*/ ").update({x: 2, y: 3, z: 4})+"", ' /*zz*/ {"x":2,"y":3,"z":4 } /*xx*/ ')
-
-// remove trailing comma
-assert.deepEqual(create("{x:1,}").update({})+"", '{}')
-assert.deepEqual(create("[0,]").update([])+"", '[]')
-assert.deepEqual(create("[0 /*z*/ , /*z*/]").update([])+"", '[ /*z*/]')
-
-// mode
-assert.equal(create('{"test":123}', {mode:'json'}).update({q:1,w:2})+'', '{"q":1,"w":2}')
-
-assert.equal(create('{1:2}').update({ a: 1, b: [1,2], c: 3})+'', '{a:1,b:[1,2],c:3}')
-
-// undef
-//assert.throws(function(){ jju.update(undefined, undefined) }, /root doc/)
-assert.equal(jju.update(undefined, undefined), '')
-assert.equal(jju.update(undefined, 42), '42')
-assert.equal(jju.update(undefined, {x: 5}), '{"x":5}')
-
-/*
- * real test
- */
-var upd = { name: 'yapm',
- version: '0.6.0',
- description: 'npm wrapper allowing to use package.yaml instead of package.json',
- author: { name: 'Alex Kocharin', email: 'alex@kocharin.ru' },
- keywords:
- [ 'package manager',
- 'modules',
- 'install',
- 'package.yaml',
- 'package.json5',
- 'yaml',
- 'json5',
- 'npm' ],
- preferGlobal: true,
- homepage: 'https://npmjs.org/doc/',
- repository: { type: 'git', url: 'https://github.com/rlidwka/yapm' },
- bugs: { url: 'http://github.com/rlidwka/yapm/issues' },
- main: './yapm.js',
- bin: { yapm: './yapm.js' },
- dependencies: { npm: '*', 'js-yaml': '*', through: '*', 'json5-utils': '*' },
- devDependencies: { async: '*' },
- optionalDependencies: { 'yaml-update': '*' },
- test_nonascii: 'тест' }
-
-assert.deepEqual(create(create('{"garbage":"garbage"}').update(upd)).get(''), upd)
-assert.deepEqual(JSON.parse(create('{"garbage":"garbage"}', {mode:'json',legacy:true}).update(upd)), upd)
-
-//console.log(create('{"garbage":"garbage"}').update(upd)+'')
-
-//assert.deepEqual(create(" [ ] //").set(0,{})+"" [ ,{}] //
-
-
-//node -e 'console.log(require("./document").Document("{}").set("",[1,2,3])+"")'[1, 2, 3]
-
-//alex@elu:~/json5-utils/lib$ node -e 'console.log(require("./document").Document("[]").set("0",[1,2,3]).get(""))'
-//[ [ 1, 2, 3 ] ]
-
-
-/*assert.equal(create('"test"').get(''), 'test')
-assert.equal(create('"test"').get([]), 'test')
-assert.equal(create('"test"').get(false), 'test')
-assert.equal(create(undefined).get(''), undefined)
-
-//assert.equal(create('"test"').set('', 'foo').toString(), '"foo"')
-*/
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_errors.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_errors.js
deleted file mode 100644
index 8b2cdb7dcb..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_errors.js
+++ /dev/null
@@ -1,56 +0,0 @@
-var assert = require('assert')
-var parse = require('../').parse
-
-function addTest(arg, row, col, errRegExp) {
- var fn = function() {
- try {
- parse(arg)
- } catch(err) {
- if (row !== undefined) assert.equal(err.row, row, 'wrong row: ' + err.row)
- if (col !== undefined) assert.equal(err.column, col, 'wrong column: ' + err.column)
- if (errRegExp) assert(errRegExp.exec(err.message))
- return
- }
- throw Error("no error")
- }
-
- if (typeof(describe) === 'function') {
- it('test_errors: ' + JSON.stringify(arg), fn)
- } else {
- fn()
- }
-}
-
-// semicolon will be unexpected, so it indicates an error position
-addTest(';', 1, 1)
-addTest('\n\n\n;', 4, 1)
-addTest('\r\n;', 2, 1)
-addTest('\n\r;', 3, 1)
-addTest('\n\u2028;', 3, 1)
-addTest('\n\u2029;', 3, 1)
-addTest('[\n1\n,\n;', 4, 1)
-addTest('{\n;', 2, 1)
-addTest('{\n1\n:\n;', 4, 1)
-addTest('.e3', 1, 3, /"\.e3"/)
-
-// line continuations
-addTest('["\\\n",\n;', 3, 1)
-addTest('["\\\r\n",\n;', 3, 1)
-addTest('["\\\u2028",\n;', 3, 1)
-addTest('["\\\u2029",\n;', 3, 1)
-
-// bareword rewind
-addTest('nulz', 1, 1)
-
-// no data
-addTest(' ', 1, 3, /No data.*whitespace/)
-addTest('blah', 1, 1, /Unexpected token 'b'/)
-addTest('', 1, 1, /No data.*empty input/)
-
-try {
- parse('{{{{{{{{{')
-} catch(err) {
- var x = err.stack.match(/parseObject/g)
- assert(!x || x.length < 2, "shouldn't blow up the stack with internal calls")
-}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_parse.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_parse.js
deleted file mode 100644
index d33e61ee7e..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_parse.js
+++ /dev/null
@@ -1,171 +0,0 @@
-var assert = require('assert')
-var parse = require('../').parse
-
-function addTest(arg, bulk) {
- function fn_json5() {
- //console.log('testing: ', arg)
- try {
- var x = parse(arg)
- } catch(err) {
- x = 'fail'
- }
- try {
- var z = eval('(function(){"use strict"\nreturn ('+String(arg)+'\n)\n})()')
- } catch(err) {
- z = 'fail'
- }
- assert.deepEqual(x, z)
- }
-
- function fn_strict() {
- //console.log('testing: ', arg)
- try {
- var x = parse(arg, {mode: 'json'})
- } catch(err) {
- x = 'fail'
- }
- try {
- var z = JSON.parse(arg)
- } catch(err) {
- z = 'fail'
- }
- assert.deepEqual(x, z)
- }
-
- if (typeof(describe) === 'function' && !bulk) {
- it('test_parse_json5: ' + JSON.stringify(arg), fn_json5)
- it('test_parse_strict: ' + JSON.stringify(arg), fn_strict)
- } else {
- fn_json5()
- fn_strict()
- }
-}
-
-addTest('"\\uaaaa\\u0000\\uFFFF\\uFaAb"')
-addTest(' "\\xaa\\x00\xFF\xFa\0\0" ')
-addTest('"\\\'\\"\\b\\f\\t\\n\\r\\v"')
-addTest('"\\q\\w\\e\\r\\t\\y\\\\i\\o\\p\\[\\/\\\\"')
-addTest('"\\\n\\\r\n\\\n"')
-addTest('\'\\\n\\\r\n\\\n\'')
-addTest(' null')
-addTest('true ')
-addTest('false')
-addTest(' Infinity ')
-addTest('+Infinity')
-addTest('[]')
-addTest('[ 0xA2, 0X024324AaBf]')
-addTest('-0x12')
-addTest(' [1,2,3,4,5]')
-addTest('[1,2,3,4,5,] ')
-addTest('[1e-13]')
-addTest('[null, true, false]')
-addTest(' [1,2,"3,4,",5,]')
-addTest('[ 1,\n2,"3,4," \r\n,\n5,]')
-addTest('[ 1 , 2 , 3 , 4 , 5 , ]')
-addTest('{} ')
-addTest('{"2":1,"3":null,}')
-addTest('{ "2 " : 1 , "3":null , }')
-addTest('{ \"2\" : 25e245 , \"3\": 23 }')
-addTest('{"2":1,"3":nul,}')
-addTest('{:1,"3":nul,}')
-addTest('[1,2] // ssssssssss 3,4,5,] ')
-addTest('[1,2 , // ssssssssss \n//xxx\n3,4,5,] ')
-addTest('[1,2 /* ssssssssss 3,4,*/ /* */ , 5 ] ')
-addTest('[1,2 /* ssssssssss 3,4,*/ /* * , 5 ] ')
-addTest('{"3":1,"3":,}')
-addTest('{ чйуач:1, щцкшчлм : 4,}')
-addTest('{ qef-:1 }')
-addTest('{ $$$:1 , ___: 3}')
-addTest('{3:1,2:1}')
-addTest('{3.4e3:1}')
-addTest('{-3e3:1}')
-addTest('{+3e3:1}')
-addTest('{.3e3:1}')
-
-for (var i=0; i<200; i++) {
- addTest('"' + String.fromCharCode(i) + '"', true)
-}
-
-// strict JSON test cases
-addTest('"\\xaa"')
-addTest('"\\0"')
-addTest('"\0"')
-addTest('"\\v"')
-addTest('{null: 123}')
-addTest("{'null': 123}")
-
-assert.throws(function() {
- parse('0o')
-})
-
-assert.strictEqual(parse('01234567'), 342391)
-assert.strictEqual(parse('0o1234567'), 342391)
-
-// undef
-assert.strictEqual(parse(undefined), undefined)
-
-// whitespaces
-addTest('[1,\r\n2,\r3,\n]')
-'\u0020\u00A0\uFEFF\x09\x0A\x0B\x0C\x0D\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000'.split('').forEach(function(x) {
- addTest(x+'[1,'+x+'2]'+x)
- addTest('"'+x+'"'+x)
-})
-'\u000A\u000D\u2028\u2029'.split('').forEach(function(x) {
- addTest(x+'[1,'+x+'2]'+x)
- addTest('"\\'+x+'"'+x)
-})
-
-/* weird ES6 stuff, not working
-
-if (process.version > 'v0.11.7') {
- assert(Array.isArray(parse('{__proto__:[]}').__proto__))
- assert.equal(parse('{__proto__:{xxx:5}}').xxx, undefined)
- assert.equal(parse('{__proto__:{xxx:5}}').__proto__.xxx, 5)
-
- var o1 = parse('{"__proto__":[]}')
- assert.deepEqual([], o1.__proto__)
- assert.deepEqual(["__proto__"], Object.keys(o1))
- assert.deepEqual([], Object.getOwnPropertyDescriptor(o1, "__proto__").value)
- assert.deepEqual(["__proto__"], Object.getOwnPropertyNames(o1))
- assert(o1.hasOwnProperty("__proto__"))
- assert(Object.prototype.isPrototypeOf(o1))
-
- // Parse a non-object value as __proto__.
- var o2 = JSON.parse('{"__proto__":5}')
- assert.deepEqual(5, o2.__proto__)
- assert.deepEqual(["__proto__"], Object.keys(o2))
- assert.deepEqual(5, Object.getOwnPropertyDescriptor(o2, "__proto__").value)
- assert.deepEqual(["__proto__"], Object.getOwnPropertyNames(o2))
- assert(o2.hasOwnProperty("__proto__"))
- assert(Object.prototype.isPrototypeOf(o2))
-}*/
-
-assert.throws(parse.bind(null, "{-1:42}"))
-
-for (var i=0; i<100; i++) {
- var str = '-01.e'.split('')
-
- var rnd = [1,2,3,4,5].map(function(x) {
- x = ~~(Math.random()*str.length)
- return str[x]
- }).join('')
-
- try {
- var x = parse(rnd)
- } catch(err) {
- x = 'fail'
- }
- try {
- var y = JSON.parse(rnd)
- } catch(err) {
- y = 'fail'
- }
- try {
- var z = eval(rnd)
- } catch(err) {
- z = 'fail'
- }
- //console.log(rnd, x, y, z)
- if (x !== y && x !== z) throw 'ERROR'
-}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_portable.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_portable.js
deleted file mode 100644
index 0143e7d8e5..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_portable.js
+++ /dev/null
@@ -1,60 +0,0 @@
-var assert = require('assert')
-var FS = require('fs')
-var YAML = require('js-yaml')
-var jju = require('../')
-
-function addTest(name, fn) {
- if (typeof(describe) === 'function') {
- it(name, fn)
- } else {
- fn()
- }
-}
-
-var schema = YAML.Schema.create([
- new YAML.Type('!error', {
- kind: 'scalar',
- resolve: function (state) {
- //state.result = null
- return true
- },
- })
-])
-
-var tests = YAML.safeLoad(FS.readFileSync(__dirname + '/portable-json5-tests.yaml', 'utf8'), {
- schema: schema
-})
-
-if (!Object.is) {
- Object.defineProperty(Object, 'is', {
- value: function(x, y) {
- if (x === y) {
- return x !== 0 || 1 / x === 1 / y;
- }
- return x !== x && y !== y;
- },
- configurable: true,
- enumerable: false,
- writable: true,
- })
-}
-
-for (var k in tests) {
- ;(function(k) {
- addTest(k, function() {
- try {
- var result = jju.parse(tests[k].input)
- } catch(err) {
- result = null
- }
-
- // need deepStrictEqual
- if (typeof(result) === 'object') {
- assert.deepEqual(result, tests[k].output)
- } else {
- assert(Object.is(result, tests[k].output), String(result) + ' == ' + tests[k].output)
- }
- })
- })(k)
-}
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_stringify.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_stringify.js
deleted file mode 100644
index c97e38e93c..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_stringify.js
+++ /dev/null
@@ -1,89 +0,0 @@
-var assert = require('assert')
-var parse = require('../').parse
-var stringify = require('../').stringify
-
-function deepEqual(x, y) {
- if (Number.isNaN(x)) {
- return assert(Number.isNaN(y))
- }
- assert.deepEqual(x, y)
-}
-
-function addTest(arg, arg2, arg3) {
- function fn() {
- deepEqual(parse(stringify(arg)), arg2 === undefined ? arg : arg2)
- if (arg !== undefined) deepEqual(JSON.parse(stringify(arg, {mode: 'json', indent: false})), (arg3 === undefined ? (arg2 === undefined ? arg : arg2) : arg3))
- }
-
- if (typeof(describe) === 'function') {
- it('test_stringify: ' + JSON.stringify(arg), fn)
- } else {
- fn()
- }
-}
-
-addTest(0)
-addTest(-0)
-addTest(NaN, undefined, null)
-addTest(Infinity, undefined, null)
-addTest(-Infinity, undefined, null)
-addTest(123)
-addTest(19508130958019385.135135)
-addTest(-2e123)
-addTest(null)
-addTest(undefined)
-addTest([])
-addTest([,,,,,,,], [null,null,null,null,null,null,null])
-addTest([undefined,null,1,2,3,], [null,null,1,2,3])
-addTest([[[[]]],[[]]])
-addTest({})
-addTest({1:2,3:4})
-addTest({1:{1:{1:{1:4}}}, 3:4})
-addTest({1:undefined, 3:undefined}, {})
-addTest(new Number(4), 4)
-addTest(new Boolean(true), true)
-addTest(new String('xqefxef'), 'xqefxef')
-addTest(new Boolean(), false)
-
-var r='';for (var i=0; i<5000; i++) {r+=String.fromCharCode(i)}
-addTest(r)
-
-assert.equal("[1, 2, 3]", stringify([1, 2, 3], {indent: 1}))
-assert.equal("[1, 2, 3]", stringify([1, 2, 3], {indent: 2}))
-
-var oddball = Object(42)
-oddball.__proto__ = { __proto__: null }
-assert.equal('{}', stringify(oddball))
-
-/* this WILL throw
-var falseNum = Object("37")
-falseNum.__proto__ = Number.prototype
-assert.equal("{0: '3', 1: '7'}", stringify(falseNum))*/
-
-assert.equal(stringify(Infinity), 'Infinity')
-assert.equal(stringify(Infinity, {mode: 'json'}), 'null')
-assert.equal(stringify(NaN), 'NaN')
-assert.equal(stringify(NaN, {mode: 'json'}), 'null')
-assert.equal(stringify(-0), '-0')
-
-assert.equal(stringify('test', null), "'test'")
-
-var array = [""]
-var expected = "''"
-for (var i = 0; i < 1000; i++) {
- array.push("")
- expected = "''," + expected
-}
-expected = '[' + expected + ']'
-assert.equal(expected, stringify(array, {indent: false}))
-
-assert.strictEqual(stringify([1,2,3], function(){}), undefined)
-
-// don't stringify prototype
-assert.equal('{a: 1}', stringify({a:1,__proto__:{b:2}}))
-
-// sort keys tests
-assert.equal('{a: 1, b: 2, z: 3}', stringify({b:2,a:1,z:3}, {sort_keys: 1}))
-assert.equal('{a: 1, b: {a: 2, b: 5, c: 1}, z: 3}', stringify({b:{c:1,a:2,b:5},a:1,z:3}, {sort_keys: 1}))
-assert.equal('{a: [3, 5, 1], b: 2, z: 3}', stringify({b:2,a:[3,5,1],z:3}, {sort_keys: 1}))
-assert.equal('{b: 2, a: 1, z: 3}', stringify({b:2,a:1,z:3}, {sort_keys: 0}))
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_tokenize.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_tokenize.js
deleted file mode 100644
index 64fb7ec93d..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_tokenize.js
+++ /dev/null
@@ -1,99 +0,0 @@
-var assert = require('assert')
-var parse = require('../').parse
-
-function tokenize(arg) {
- var result = []
- parse(arg, {_tokenize: function(smth) {
- result.push(smth)
- }})
- assert.deepEqual(result.map(function(x){return x.raw}).join(''), arg)
- return result
-}
-
-function addTest(x, exp) {
- function fn(){assert.deepEqual(tokenize(x), exp)}
-
- if (typeof(describe) === 'function') {
- it('test_tokenize: ' + JSON.stringify(x), fn)
- } else {
- fn()
- }
-}
-
-addTest('123', [ { raw: '123', value: 123, type: 'literal', stack: [] }])
-
-addTest(' /* zz */\r\n true /* zz */\n',
-[ { raw: ' ', type: 'whitespace', stack: [] },
- { raw: '/* zz */', type: 'comment', stack: [] },
- { raw: '\r\n', type: 'newline', stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: 'true', type: 'literal', value: true, stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: '/* zz */', type: 'comment', stack: [] },
- { raw: '\n', type: 'newline', stack: [] } ])
-
-addTest('{q:123, w : /*zz*/\n\r 345 } ',
-[ { raw: '{', type: 'separator', stack: [] },
- { raw: 'q', type: 'key', value: 'q', stack: [] },
- { raw: ':', type: 'separator', stack: [] },
- { raw: '123', type: 'literal', value: 123, stack: ['q'] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: 'w', type: 'key', value: 'w', stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: ':', type: 'separator', stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: '/*zz*/', type: 'comment', stack: [] },
- { raw: '\n', type: 'newline', stack: [] },
- { raw: '\r', type: 'newline', stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: '345', type: 'literal', value: 345, stack: ['w'] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: '}', type: 'separator', stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] } ])
-
-addTest('null /* */// xxx\n//xxx',
-[ { raw: 'null', type: 'literal', value: null, stack: [] },
- { raw: ' ', type: 'whitespace', stack: [] },
- { raw: '/* */', type: 'comment', stack: [] },
- { raw: '// xxx', type: 'comment', stack: [] },
- { raw: '\n', type: 'newline', stack: [] },
- { raw: '//xxx', type: 'comment', stack: [] } ])
-
-addTest('[1,2,[[],[1]],{},{1:2},{q:{q:{}}},]',
-[ { raw: '[', type: 'separator', stack: [] },
- { raw: '1', type: 'literal', value: 1, stack: [0] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: '2', type: 'literal', value: 2, stack: [1] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: '[', type: 'separator', stack: [2] },
- { raw: '[', type: 'separator', stack: [2,0] },
- { raw: ']', type: 'separator', stack: [2,0] },
- { raw: ',', type: 'separator', stack: [2] },
- { raw: '[', type: 'separator', stack: [2,1] },
- { raw: '1', type: 'literal', value: 1, stack: [2,1,0] },
- { raw: ']', type: 'separator', stack: [2,1] },
- { raw: ']', type: 'separator', stack: [2] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: '{', type: 'separator', stack: [3] },
- { raw: '}', type: 'separator', stack: [3] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: '{', type: 'separator', stack: [4] },
- { raw: '1', type: 'key', value: 1, stack: [4] },
- { raw: ':', type: 'separator', stack: [4] },
- { raw: '2', type: 'literal', value: 2, stack: [4,'1'] },
- { raw: '}', type: 'separator', stack: [4] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: '{', type: 'separator', stack: [5] },
- { raw: 'q', type: 'key', value: 'q', stack: [5] },
- { raw: ':', type: 'separator', stack: [5] },
- { raw: '{', type: 'separator', stack: [5,'q'] },
- { raw: 'q', type: 'key', value: 'q', stack: [5,'q'] },
- { raw: ':', type: 'separator', stack: [5,'q'] },
- { raw: '{', type: 'separator', stack: [5,'q','q'] },
- { raw: '}', type: 'separator', stack: [5,'q','q'] },
- { raw: '}', type: 'separator', stack: [5,'q'] },
- { raw: '}', type: 'separator', stack: [5] },
- { raw: ',', type: 'separator', stack: [] },
- { raw: ']', type: 'separator', stack: [] } ])
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_updates.js b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_updates.js
deleted file mode 100644
index b7482519a9..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/test_updates.js
+++ /dev/null
@@ -1,22 +0,0 @@
-var assert = require('assert')
-var FS = require('fs')
-var YAML = require('js-yaml')
-var jju = require('../')
-
-function addTest(name, fn) {
- if (typeof(describe) === 'function') {
- it(name, fn)
- } else {
- fn()
- }
-}
-
-FS.readdirSync(__dirname + '/update').filter(function(file) {
- return file.match(/^[^\.].*\.yaml$/)
-}).forEach(function(file) {
- addTest('update: ' + file, function() {
- var test = YAML.load(FS.readFileSync(__dirname + '/update/' + file, 'utf8'))
- assert.strictEqual(test.test(jju, test.input), test.output)
- })
-})
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/author.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/author.yaml
deleted file mode 100644
index 4b08bb61b4..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/author.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-input: |
- { "name": "just-a-demo",
- "version": "0.1.2",
- "description": "blahblahblah",
- "main": "test.js",
- "scripts": { "test": "echo \"Error: no test specified\" && exit 1" },
- "author": "John Doe <whoever@google.com>",
- "license": "BSD-2-Clause" }
-
-output: |
- { "name": "just-a-demo",
- "version": "0.1.2",
- "description": "blahblahblah",
- "main": "test.js",
- "scripts": { "test": "echo \"Error: no test specified\" && exit 1" },
- "author": {
- "name": "John Doe",
- "email": "whoever@google.com"
- },
- "license": "BSD-2-Clause" }
-
-test: !!js/function |
- function(jju, input) {
- obj = jju.parse(input)
- obj.author = {
- name: 'John Doe',
- email: 'whoever@google.com',
- }
- return jju.update(input, obj)
- }
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/deep-object.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/deep-object.yaml
deleted file mode 100644
index e0795a3787..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/deep-object.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-input: |
- {
- "foo": {
- "bar": {
- "baz": {
- "quux": "4"
- }
- }
- }
- }
-
-output: |
- {
- "foo": {
- "bar": {
- "baz": {
- "quux": "4"
- },
- "qwe": {
- "rty": {
- "aaa": {
- "bbb": 1
- }
- }
- }
- }
- }
- }
-
-test: !!js/function |
- function(jju, input) {
- obj = jju.parse(input)
- obj.foo.bar.qwe = {rty: {aaa: {bbb: 1}}}
- return jju.update(input, obj, {mode:'json'})
- }
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/delete.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/delete.yaml
deleted file mode 100644
index b964715d37..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/delete.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-input: |
- {
- "name": "test",
- "version": "0.0.0",
- "dependencies": {
- "foo": "1.2.x",
- "bar": ">= 1"
- },
- "bundleDependencies": [
- "foo",
- "bar"
- ],
- "license": "BSD-2-Clause"
- }
-
-output: |
- {
- "name": "test",
- "version": "0.0.0",
- "dependencies": {
- "foo": "1.2.x"
- },
- "bundleDependencies": [
- "foo"
- ],
- "license": "BSD-2-Clause"
- }
-
-test: !!js/function |
- function(jju, input) {
- obj = jju.parse(input)
- obj.bundleDependencies.pop()
- delete obj.dependencies.bar
- return jju.update(input, obj, {mode:'json'})
- }
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-array.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-array.yaml
deleted file mode 100644
index c5b9dd952d..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-array.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-input: |
- {
- "name": "test",
- "version": "0.0.0",
- "bundleDependencies": [
- "foo",
- "bar"
- ],
- "license": "BSD-2-Clause"
- }
-
-output: |
- {
- "name": "test",
- "version": "0.0.0",
- "bundleDependencies": [
- "foo",
- "bar",
- "baz",
- "quux"
- ],
- "license": "BSD-2-Clause"
- }
-
-test: !!js/function |
- function(jju, input) {
- obj = jju.parse(input)
- obj.bundleDependencies.push('baz')
- obj.bundleDependencies.push('quux')
- return jju.update(input, obj, {mode:'json'})
- }
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-object.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-object.yaml
deleted file mode 100644
index 93878675b7..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/norm-object.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-input: |
- {
- "name": "test",
- "version": "0.0.0",
- "dependencies": {
- "foobar": "*",
- "bazquux": ">= 1.1.1"
- },
- "license": "BSD-2-Clause"
- }
-
-output: |
- {
- "name": "test",
- "version": "0.0.0",
- "dependencies": {
- "foobar": "*",
- "bazquux": ">= 1.1.1",
- "whatever": "1.2.x",
- "qwerty": "1"
- },
- "license": "BSD-2-Clause"
- }
-
-test: !!js/function |
- function(jju, input) {
- obj = jju.parse(input)
- obj.dependencies.whatever = '1.2.x'
- obj.dependencies.qwerty = '1'
- return jju.update(input, obj, {mode:'json'})
- }
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/npm-array-bin.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/npm-array-bin.yaml
deleted file mode 100644
index 35e1639bfd..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/npm-array-bin.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-input: |
- { "name":"npm-test-array-bin"
- , "version":"1.2.5"
- , "bin": [ "bin/array-bin" ]
- , "scripts": { "test": "node test.js" } }
-
-# less than ideal, I know...
-output: |
- { "name":"npm-test-array-bin"
- , "version":"1.2.5"
- , "bin": {"array-bin":"bin/array-bin"}
- , "scripts": { "test": "node test.js" }, "readme": "just an npm test\n", "readmeFilename": "README", "description": "just an npm test", "_id": "npm-test-array-bin@1.2.5", "dist": {"shasum":"9c426a1bd55e98718ab4ddcc01fa57ea83c649f1"}, "_from": "npm-test-array-bin/" }
-
-test: !!js/function |
- function(jju, input) {
- obj =
- { name: 'npm-test-array-bin',
- version: '1.2.5',
- bin: { 'array-bin': 'bin/array-bin' },
- scripts: { test: 'node test.js' },
- readme: 'just an npm test\n',
- readmeFilename: 'README',
- description: 'just an npm test',
- _id: 'npm-test-array-bin@1.2.5',
- dist: { shasum: '9c426a1bd55e98718ab4ddcc01fa57ea83c649f1' },
- _from: 'npm-test-array-bin/' }
- return jju.update(input, obj)
- }
-
diff --git a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/pkg-json5.yaml b/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/pkg-json5.yaml
deleted file mode 100644
index 21a5c6eb14..0000000000
--- a/deps/npm/node_modules/read-package-json/node_modules/json-parse-helpfulerror/node_modules/jju/test/update/pkg-json5.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-input: |
- // vim:syntax=javascript
- {
- name: 'yapm',
- version: '1.1.0-1325', // upstream npm@1.3.25
- description: 'A package manager for node (npm fork)',
- }
-
-output: |
- // vim:syntax=javascript
- {
- name: 'yapm',
- version: '1.1.0-1325', // upstream npm@1.3.25
- description: 'A package manager for node (npm fork)',
- _id: 'yapm@1.1.0-1325',
- dist: {
- shasum: 'd5aa31c1ad00c1e7e57e07cea1b22c1806a47111',
- },
- _from: './zzz',
- }
-
-test: !!js/function |
- function(jju, input) {
- var upd = {
- "name": "yapm",
- "version": "1.1.0-1325",
- "description": "A package manager for node (npm fork)",
- "_id": "yapm@1.1.0-1325",
- "dist": {
- "shasum": "d5aa31c1ad00c1e7e57e07cea1b22c1806a47111"
- },
- "_from": "./zzz"
- }
- return jju.update(input, upd)
- }
-
diff --git a/deps/npm/node_modules/read-package-json/package.json b/deps/npm/node_modules/read-package-json/package.json
index 17113419c0..b6eadd5d00 100644
--- a/deps/npm/node_modules/read-package-json/package.json
+++ b/deps/npm/node_modules/read-package-json/package.json
@@ -1,42 +1,97 @@
{
- "name": "read-package-json",
- "version": "2.0.1",
+ "_args": [
+ [
+ "read-package-json@~2.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "read-package-json@>=2.0.0 <2.1.0",
+ "_id": "read-package-json@2.0.1",
+ "_inCache": true,
+ "_location": "/read-package-json",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "read-package-json",
+ "raw": "read-package-json@~2.0.0",
+ "rawSpec": "~2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/init-package-json",
+ "/read-installed",
+ "/read-package-tree"
+ ],
+ "_resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.1.tgz",
+ "_shasum": "b822abfc2c4f0abfe7f52de6448be4560b6e7053",
+ "_shrinkwrap": null,
+ "_spec": "read-package-json@~2.0.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "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": "standard && tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/read-package-json/issues"
},
"dependencies": {
"glob": "^5.0.3",
+ "graceful-fs": "^4.1.2",
"json-parse-helpfulerror": "^1.0.2",
- "normalize-package-data": "^2.0.0",
- "graceful-fs": "^4.1.2"
+ "normalize-package-data": "^2.0.0"
},
+ "description": "The thing npm uses to read package.json files with semantics and defaults and validation",
"devDependencies": {
"standard": "^3.3.1",
"tap": "^1.2.0"
},
+ "directories": {},
+ "dist": {
+ "shasum": "b822abfc2c4f0abfe7f52de6448be4560b6e7053",
+ "tarball": "http://registry.npmjs.org/read-package-json/-/read-package-json-2.0.1.tgz"
+ },
+ "gitHead": "d4f9f52c823750e7f2a7b9069bc56b9fd3a0ee96",
+ "homepage": "https://github.com/isaacs/read-package-json#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "read-json.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "read-package-json",
"optionalDependencies": {
"graceful-fs": "^4.1.2"
},
- "license": "ISC",
- "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",
- "gitHead": "d4f9f52c823750e7f2a7b9069bc56b9fd3a0ee96",
- "bugs": {
- "url": "https://github.com/isaacs/read-package-json/issues"
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/read-package-json.git"
},
- "homepage": "https://github.com/isaacs/read-package-json#readme",
- "_id": "read-package-json@2.0.1",
- "_shasum": "b822abfc2c4f0abfe7f52de6448be4560b6e7053",
- "_from": "read-package-json@2.0.1"
+ "scripts": {
+ "test": "standard && tap test/*.js"
+ },
+ "version": "2.0.1"
}
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/.travis.yml b/deps/npm/node_modules/read-package-tree/.travis.yml
index e1bcee1acd..e1bcee1acd 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/.travis.yml
+++ b/deps/npm/node_modules/read-package-tree/.travis.yml
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/LICENSE b/deps/npm/node_modules/read-package-tree/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/LICENSE
+++ b/deps/npm/node_modules/read-package-tree/LICENSE
diff --git a/deps/npm/node_modules/read-package-tree/README.md b/deps/npm/node_modules/read-package-tree/README.md
new file mode 100644
index 0000000000..b3cda81f7f
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/README.md
@@ -0,0 +1,68 @@
+# read-package-tree
+
+Read the contents of node_modules.
+
+## USAGE
+
+```javascript
+var rpt = require ('read-package-tree')
+rpt('/path/to/pkg/root', function (node, kidName) {
+ // optional filter function– if included, each package folder found is passed to
+ // it to see if it should be included in the final tree
+ // node is what we're adding children to
+ // kidName is the directory name of the module we're considering adding
+ // return true -> include, false -> skip
+}, function (er, data) {
+ // er means that something didn't work.
+ // data is a structure like:
+ // {
+ // package: <package.json data, or an empty object>
+ // package.name: defaults to `basename(path)`
+ // children: [ <more things like this> ]
+ // parent: <thing that has this in its children property, or null>
+ // path: <path loaded>
+ // realpath: <the real path on disk>
+ // isLink: <set if this is a Link>
+ // target: <if a Link, then this is the actual Node>
+ // error: <if set, the error we got loading/parsing the package.json>
+ // }
+})
+```
+
+That's it. It doesn't figure out if dependencies are met, it doesn't
+mutate package.json data objects (beyond what
+[read-package-json](http://npm.im/read-package-json) already does), it
+doesn't limit its search to include/exclude `devDependencies`, or
+anything else.
+
+Just follows the links in the `node_modules` heirarchy and reads the
+package.json files it finds therein.
+
+## Symbolic Links
+
+When there are symlinks to packages in the `node_modules` hierarchy, a
+`Link` object will be created, with a `target` that is a `Node`
+object.
+
+For the most part, you can treat `Link` objects just the same as
+`Node` objects. But if your tree-walking program needs to treat
+symlinks differently from normal folders, then make sure to check the
+object.
+
+In a given `read-package-tree` run, a specific `path` will always
+correspond to a single object, and a specific `realpath` will always
+correspond to a single `Node` object. This means that you may not be
+able to pass the resulting data object to `JSON.stringify`, because it
+may contain cycles.
+
+## Errors
+
+Errors parsing or finding a package.json in node_modules will result in a
+node with the error property set. We will still find deeper node_modules
+if any exist. *Prior to `5.0.0` these aborted tree reading with an error
+callback.*
+
+Only a few classes of errors are fatal (result in an error callback):
+
+* If the top level location is entirely missing, that will error.
+* if `fs.realpath` returns an error for any path its trying to resolve.
diff --git a/deps/npm/node_modules/read-package-tree/package.json b/deps/npm/node_modules/read-package-tree/package.json
new file mode 100644
index 0000000000..4f70ab170e
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/package.json
@@ -0,0 +1,86 @@
+{
+ "_args": [
+ [
+ "read-package-tree@~5.1.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "read-package-tree@>=5.1.1 <5.2.0",
+ "_id": "read-package-tree@5.1.2",
+ "_inCache": true,
+ "_location": "/read-package-tree",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "2.13.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "read-package-tree",
+ "raw": "read-package-tree@~5.1.1",
+ "rawSpec": "~5.1.1",
+ "scope": null,
+ "spec": ">=5.1.1 <5.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_shasum": "e3a488792f40cf470819f01a610e719d64f09094",
+ "_shrinkwrap": null,
+ "_spec": "read-package-tree@~5.1.1",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/read-package-tree/issues"
+ },
+ "dependencies": {
+ "debuglog": "^1.0.1",
+ "dezalgo": "^1.0.0",
+ "once": "^1.3.0",
+ "read-package-json": "^2.0.0",
+ "readdir-scoped-modules": "^1.0.0"
+ },
+ "description": "Read the contents of node_modules.",
+ "devDependencies": {
+ "archy": "0",
+ "tap": "^1.2.0"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "e3a488792f40cf470819f01a610e719d64f09094",
+ "tarball": "http://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.2.tgz"
+ },
+ "gitHead": "2ed40c4654804f2a5ddb7b0b2c509080731eea6b",
+ "homepage": "https://github.com/npm/read-package-tree",
+ "installable": true,
+ "license": "ISC",
+ "main": "rpt.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "read-package-tree",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/read-package-tree.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "5.1.2"
+}
diff --git a/deps/npm/node_modules/read-package-tree/rpt.js b/deps/npm/node_modules/read-package-tree/rpt.js
new file mode 100644
index 0000000000..acd91bd8c0
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/rpt.js
@@ -0,0 +1,190 @@
+var fs = require('fs')
+var rpj = require('read-package-json')
+var path = require('path')
+var dz = require('dezalgo')
+var once = require('once')
+var readdir = require('readdir-scoped-modules')
+var debug = require('debuglog')('rpt')
+
+function dpath (p) {
+ if (!p) return ''
+ if (p.indexOf(process.cwd()) === 0) {
+ p = p.substr(process.cwd().length + 1)
+ }
+ return p
+}
+
+module.exports = rpt
+
+rpt.Node = Node
+rpt.Link = Link
+
+var ID = 0
+function Node (pkg, logical, physical, er, cache) {
+ if (cache[physical]) return cache[physical]
+
+ if (!(this instanceof Node)) {
+ return new Node(pkg, logical, physical, er, cache)
+ }
+
+ cache[physical] = this
+
+ debug(this.constructor.name, dpath(physical), pkg && pkg._id)
+
+ this.id = ID++
+ this.package = pkg || {}
+ this.path = logical
+ this.realpath = physical
+ this.parent = null
+ this.isLink = false
+ this.children = []
+ this.error = er
+}
+
+Node.prototype.package = null
+Node.prototype.path = ''
+Node.prototype.realpath = ''
+Node.prototype.children = null
+Node.prototype.error = null
+
+function Link (pkg, logical, physical, realpath, er, cache) {
+ if (cache[physical]) return cache[physical]
+
+ if (!(this instanceof Link)) {
+ return new Link(pkg, logical, physical, realpath, er, cache)
+ }
+
+ cache[physical] = this
+
+ debug(this.constructor.name, dpath(physical), pkg && pkg._id)
+
+ this.id = ID++
+ this.path = logical
+ this.realpath = realpath
+ this.package = pkg || {}
+ this.parent = null
+ this.target = new Node(this.package, logical, realpath, er, cache)
+ this.isLink = true
+ this.children = this.target.children
+ this.error = er
+}
+
+Link.prototype = Object.create(Node.prototype, {
+ constructor: { value: Link }
+})
+Link.prototype.target = null
+Link.prototype.realpath = ''
+
+function loadNode (logical, physical, cache, cb) {
+ debug('loadNode', dpath(logical))
+ fs.realpath(physical, function (er, real) {
+ if (er) return cb(er)
+ debug('realpath l=%j p=%j real=%j', dpath(logical), dpath(physical), dpath(real))
+ var pj = path.resolve(real, 'package.json')
+ rpj(pj, function (er, pkg) {
+ pkg = pkg || null
+ var node
+ if (physical === real) {
+ node = new Node(pkg, logical, physical, er, cache)
+ } else {
+ node = new Link(pkg, logical, physical, real, er, cache)
+ }
+
+ cb(null, node)
+ })
+ })
+}
+
+function loadChildren (node, cache, filterWith, cb) {
+ debug('loadChildren', dpath(node.path))
+ // don't let it be called more than once
+ cb = once(cb)
+ var nm = path.resolve(node.path, 'node_modules')
+ readdir(nm, function (er, kids) {
+ // If there are no children, that's fine, just return
+ if (er) return cb(null, node)
+
+ kids = kids.filter(function (kid) {
+ return kid[0] !== '.' && (!filterWith || filterWith(node, kid))
+ })
+
+ var l = kids . length
+ if (l === 0) return cb(null, node)
+
+ kids.forEach(function (kid) {
+ var kidPath = path.resolve(nm, kid)
+ var kidRealPath = path.resolve(node.realpath,'node_modules',kid)
+ loadNode(kidPath, kidRealPath, cache, then)
+ })
+
+ function then (er, kid) {
+ if (er) return cb(er)
+
+ node.children.push(kid)
+ kid.parent = node
+ if (--l === 0) {
+ sortChildren(node)
+ return cb(null, node)
+ }
+ }
+ })
+}
+
+function sortChildren (node) {
+ node.children = node.children.sort(function (a, b) {
+ a = a.package.name ? a.package.name.toLowerCase() : a.path
+ b = b.package.name ? b.package.name.toLowerCase() : b.path
+ return a > b ? 1 : -1
+ })
+}
+
+function loadTree (node, did, cache, filterWith, cb) {
+ debug('loadTree', dpath(node.path), !!cache[node.path])
+
+ if (did[node.realpath]) {
+ return dz(cb)(null, node)
+ }
+
+ did[node.realpath] = true
+
+ cb = once(cb)
+ loadChildren(node, cache, filterWith, function (er, node) {
+ if (er) return cb(er)
+
+ var kids = node.children.filter(function (kid) {
+ return !did[kid.realpath]
+ })
+
+ var l = kids.length
+ if (l === 0) return cb(null, node)
+
+ kids.forEach(function (kid, index) {
+ loadTree(kid, did, cache, filterWith, then)
+ })
+
+ function then (er, kid) {
+ if (er) return cb(er)
+
+ if (--l === 0) cb(null, node)
+ }
+ })
+}
+
+function rpt (root, filterWith, cb) {
+ if (!cb) {
+ cb = filterWith
+ filterWith = null
+ }
+ fs.realpath(root, function (er, realRoot) {
+ if (er) return cb(er)
+ debug('rpt', dpath(realRoot))
+ var cache = Object.create(null)
+ loadNode(root, realRoot, cache, function (er, node) {
+ // if there's an error, it's fine, as long as we got a node
+ if (!node) return cb(er)
+ loadTree(node, {}, cache, filterWith, function (lter, tree) {
+ cb(er && er.code !== 'ENOENT' ? er : lter, tree)
+ })
+ })
+ })
+}
diff --git a/deps/npm/node_modules/read-package-tree/test/basic.js b/deps/npm/node_modules/read-package-tree/test/basic.js
new file mode 100644
index 0000000000..0dcb538911
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/basic.js
@@ -0,0 +1,155 @@
+var test = require('tap').test
+var rpt = require('../rpt.js')
+var path = require('path')
+var fs = require('fs')
+var archy = require('archy')
+var fixtures = path.resolve(__dirname, 'fixtures')
+var roots = [ 'root', 'other', 'selflink', 'noname' ]
+var cwd = path.resolve(__dirname, '..')
+
+var symlinks = {
+ 'selflink/node_modules/@scope/z/node_modules/glob':
+ '../../../foo/node_modules/glob',
+ 'other/node_modules/glob':
+ '../../root/node_modules/@scope/x/node_modules/glob',
+ 'linkedroot':
+ 'root',
+ 'deep/root':
+ '../root',
+ 'deeproot':
+ 'deep'
+}
+
+function cleanup () {
+ Object.keys(symlinks).forEach(function (s) {
+ var p = path.resolve(cwd, 'test/fixtures', s)
+ try {
+ fs.unlinkSync(p)
+ } catch (er) {}
+ })
+}
+
+test('setup symlinks', function (t) {
+ cleanup()
+
+ Object.keys(symlinks).forEach(function (s) {
+ var p = path.resolve(cwd, 'test/fixtures', s)
+ fs.symlinkSync(symlinks [ s ], p, 'dir')
+ })
+
+ t.end()
+})
+
+roots.forEach(function (root) {
+ var dir = path.resolve(fixtures, root)
+ var expectedtxt = path.resolve(dir, 'archy.txt')
+ var expectedre = path.resolve(dir, 'archy.re')
+
+ test(root, function (t) {
+ rpt(dir, function (er, d) {
+ if (er && er.code !== 'ENOENT') throw er
+
+ var actual = archy(archyize(d)).trim()
+ // console . log ('----', dir)
+ console.log(actual)
+ // console . log (require ('util') . inspect (d, {
+ // depth: Infinity
+ // }))
+ try {
+ var expect = fs.readFileSync(expectedtxt, 'utf8').trim()
+ t.equal(actual, expect, root + ' tree')
+ } catch (e) {
+ var expect = new RegExp(fs.readFileSync(expectedre, 'utf8').trim())
+ t.like(actual, expect, root + ' tree')
+ }
+ t.end()
+ })
+ })
+})
+
+test('linkedroot', function (t) {
+ var dir = path.resolve(fixtures, 'linkedroot')
+ var out = dir + '-archy.txt'
+ rpt(dir, function (er, d) {
+ if (er && er.code !== 'ENOENT') throw er
+
+ var actual = archy(archyize(d)).trim()
+ console.log(actual)
+ var expect = fs.readFileSync(out, 'utf8').trim()
+ t.equal(actual, expect, 'linkedroot tree')
+ t.end()
+ })
+})
+
+test('deeproot', function (t) {
+ var dir = path.resolve(fixtures, 'deeproot/root')
+ var out = path.resolve(fixtures, 'deep') + '-archy.txt'
+ rpt(dir, function (er, d) {
+ if (er && er.code !== 'ENOENT') throw er
+
+ var actual = archy(archyize(d)).trim()
+ console.log(actual)
+ var expect = fs.readFileSync(out, 'utf8').trim()
+ t.equal(actual, expect, 'deeproot tree')
+ t.end()
+ })
+})
+
+test('broken json', function (t) {
+ rpt(path.resolve(fixtures, 'bad'), function (er, d) {
+ t.ok(d.error, 'Got an error object')
+ t.equal(d.error && d.error.code, 'EJSONPARSE')
+ t.ok(d, 'Got a tree')
+ t.end()
+ })
+})
+
+test('missing json does not obscure deeper errors', function (t) {
+ rpt(path.resolve(fixtures, 'empty'), function (er, d) {
+ var error = d.error
+ t.ok(error, 'Error reading json of top level')
+ t.equal(error && error.code, 'ENOENT')
+ var childError = d.children.length===1 && d.children[0].error
+ t.ok(childError, 'Error parsing JSON of child node')
+ t.equal(childError && childError.code, 'EJSONPARSE')
+ t.end()
+ })
+})
+test('missing folder', function (t) {
+ rpt(path.resolve(fixtures, 'does-not-exist'), function (er, d) {
+ t.ok(er, 'Got an error object')
+ t.equal(er && er.code, 'ENOENT')
+ t.ok(!d, 'No tree on top level error')
+ t.end()
+ })
+})
+
+
+function archyize (d, seen) {
+ seen = seen || {}
+ var path = d.path
+ if (d.target) {
+ path = d.target.path
+ }
+
+ var label = d.package._id ? d.package._id + ' ' :
+ d.package.name ? d.package.name + (d.package.version ? '@' + d.package.version : '') + ' ' :
+ ''
+ label += path.substr(cwd.length + 1)
+
+ if (d . target) {
+ return { label: label + ' (symlink)', nodes: [] }
+ }
+
+ return {
+ label: label,
+ nodes: d.children.map(function (kid) {
+ return archyize(kid, seen)
+ })
+ }
+}
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/bad/package.json b/deps/npm/node_modules/read-package-tree/test/fixtures/bad/package.json
new file mode 100644
index 0000000000..21d815ec3b
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/bad/package.json
@@ -0,0 +1,2 @@
+{
+ "NOPE"
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/deep-archy.txt b/deps/npm/node_modules/read-package-tree/test/fixtures/deep-archy.txt
new file mode 100644
index 0000000000..630eab1a49
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/deep-archy.txt
@@ -0,0 +1,11 @@
+root@1.2.3 test/fixtures/deeproot/root
+├─┬ @scope/x@1.2.3 test/fixtures/deeproot/root/node_modules/@scope/x
+│ └─┬ glob@4.0.5 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob
+│ ├── graceful-fs@3.0.2 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob/node_modules/graceful-fs
+│ ├── inherits@2.0.1 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob/node_modules/inherits
+│ ├─┬ minimatch@1.0.0 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob/node_modules/minimatch
+│ │ ├── lru-cache@2.5.0 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
+│ │ └── sigmund@1.0.0 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob/node_modules/minimatch/node_modules/sigmund
+│ └── once@1.3.0 test/fixtures/deeproot/root/node_modules/@scope/x/node_modules/glob/node_modules/once
+├── @scope/y@1.2.3 test/fixtures/deeproot/root/node_modules/@scope/y
+└── foo@1.2.3 test/fixtures/deeproot/root/node_modules/foo \ No newline at end of file
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@org/x/.keep b/deps/npm/node_modules/read-package-tree/test/fixtures/deep/.keep
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@org/x/.keep
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/deep/.keep
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/empty/node_modules/foo/package.json b/deps/npm/node_modules/read-package-tree/test/fixtures/empty/node_modules/foo/package.json
new file mode 100644
index 0000000000..98232c64fc
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/empty/node_modules/foo/package.json
@@ -0,0 +1 @@
+{
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/linkedroot-archy.txt b/deps/npm/node_modules/read-package-tree/test/fixtures/linkedroot-archy.txt
new file mode 100644
index 0000000000..e34a460313
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/linkedroot-archy.txt
@@ -0,0 +1,11 @@
+root@1.2.3 test/fixtures/linkedroot
+├─┬ @scope/x@1.2.3 test/fixtures/linkedroot/node_modules/@scope/x
+│ └─┬ glob@4.0.5 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob
+│ ├── graceful-fs@3.0.2 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob/node_modules/graceful-fs
+│ ├── inherits@2.0.1 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob/node_modules/inherits
+│ ├─┬ minimatch@1.0.0 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob/node_modules/minimatch
+│ │ ├── lru-cache@2.5.0 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
+│ │ └── sigmund@1.0.0 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob/node_modules/minimatch/node_modules/sigmund
+│ └── once@1.3.0 test/fixtures/linkedroot/node_modules/@scope/x/node_modules/glob/node_modules/once
+├── @scope/y@1.2.3 test/fixtures/linkedroot/node_modules/@scope/y
+└── foo@1.2.3 test/fixtures/linkedroot/node_modules/foo \ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/noname/archy.txt b/deps/npm/node_modules/read-package-tree/test/fixtures/noname/archy.txt
new file mode 100644
index 0000000000..03d78dfc69
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/noname/archy.txt
@@ -0,0 +1,2 @@
+test/fixtures/noname
+└── test/fixtures/noname/node_modules/foo
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@org/y/.keep b/deps/npm/node_modules/read-package-tree/test/fixtures/noname/node_modules/foo/keep-alive
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@org/y/.keep
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/noname/node_modules/foo/keep-alive
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/other/archy.txt b/deps/npm/node_modules/read-package-tree/test/fixtures/other/archy.txt
new file mode 100644
index 0000000000..23666226c9
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/other/archy.txt
@@ -0,0 +1,2 @@
+test/fixtures/other
+└── glob@4.0.5 test/fixtures/other/node_modules/glob (symlink) \ No newline at end of file
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@scope/x/.keep b/deps/npm/node_modules/read-package-tree/test/fixtures/other/node_modules/.bin
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@scope/x/.keep
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/other/node_modules/.bin
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/root/archy.txt b/deps/npm/node_modules/read-package-tree/test/fixtures/root/archy.txt
new file mode 100644
index 0000000000..1aacd3f0b7
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/root/archy.txt
@@ -0,0 +1,11 @@
+root@1.2.3 test/fixtures/root
+├─┬ @scope/x@1.2.3 test/fixtures/root/node_modules/@scope/x
+│ └─┬ glob@4.0.5 test/fixtures/root/node_modules/@scope/x/node_modules/glob
+│ ├── graceful-fs@3.0.2 test/fixtures/root/node_modules/@scope/x/node_modules/glob/node_modules/graceful-fs
+│ ├── inherits@2.0.1 test/fixtures/root/node_modules/@scope/x/node_modules/glob/node_modules/inherits
+│ ├─┬ minimatch@1.0.0 test/fixtures/root/node_modules/@scope/x/node_modules/glob/node_modules/minimatch
+│ │ ├── lru-cache@2.5.0 test/fixtures/root/node_modules/@scope/x/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
+│ │ └── sigmund@1.0.0 test/fixtures/root/node_modules/@scope/x/node_modules/glob/node_modules/minimatch/node_modules/sigmund
+│ └── once@1.3.0 test/fixtures/root/node_modules/@scope/x/node_modules/glob/node_modules/once
+├── @scope/y@1.2.3 test/fixtures/root/node_modules/@scope/y
+└── foo@1.2.3 test/fixtures/root/node_modules/foo \ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/root/package.json b/deps/npm/node_modules/read-package-tree/test/fixtures/root/package.json
new file mode 100644
index 0000000000..010347cee6
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/root/package.json
@@ -0,0 +1,2 @@
+{"name":"root",
+ "version":"1.2.3"} \ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/selflink/archy.re b/deps/npm/node_modules/read-package-tree/test/fixtures/selflink/archy.re
new file mode 100644
index 0000000000..22e18109b1
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/selflink/archy.re
@@ -0,0 +1,13 @@
+selflink@1[.]2[.]3 test/fixtures/selflink
+├── @scope/y@1[.]2[.]3 test/fixtures/selflink/node_modules/@scope/y
+├─┬ @scope/z@1[.]2[.]3 test/fixtures/selflink/node_modules/@scope/z
+│ └── glob@4[.]0[.]5 test/fixtures/selflink/node_modules/foo/node_modules/glob [(]symlink[)]
+└─┬ foo@1[.]2[.]3 test/fixtures/selflink/node_modules/foo
+ ├─┬ glob@4[.]0[.]5 test/fixtures/selflink/node_modules/foo/node_modules/glob
+ │ ├── graceful-fs@3[.]0[.]2 test/fixtures/selflink/node_modules/(foo|@scope/z)/node_modules/glob/node_modules/graceful-fs
+ │ ├── inherits@2[.]0[.]1 test/fixtures/selflink/node_modules/(foo|@scope/z)/node_modules/glob/node_modules/inherits
+ │ ├─┬ minimatch@1[.]0[.]0 test/fixtures/selflink/node_modules/(foo|@scope/z)/node_modules/glob/node_modules/minimatch
+ │ │ ├── lru-cache@2[.]5[.]0 test/fixtures/selflink/node_modules/(foo|@scope/z)/node_modules/glob/node_modules/minimatch/node_modules/lru-cache
+ │ │ └── sigmund@1[.]0[.]0 test/fixtures/selflink/node_modules/(foo|@scope/z)/node_modules/glob/node_modules/minimatch/node_modules/sigmund
+ │ └── once@1[.]3[.]0 test/fixtures/selflink/node_modules/(foo|@scope/z)/node_modules/glob/node_modules/once
+ └── selflink@1[.]2[.]3 test/fixtures/selflink [(]symlink[)]
diff --git a/deps/npm/node_modules/read-package-tree/test/fixtures/selflink/package.json b/deps/npm/node_modules/read-package-tree/test/fixtures/selflink/package.json
new file mode 100644
index 0000000000..5bbf35e55b
--- /dev/null
+++ b/deps/npm/node_modules/read-package-tree/test/fixtures/selflink/package.json
@@ -0,0 +1,2 @@
+{"name":"selflink",
+ "version":"1.2.3"}
diff --git a/deps/npm/node_modules/read/package.json b/deps/npm/node_modules/read/package.json
index b8357c6315..04f8459555 100644
--- a/deps/npm/node_modules/read/package.json
+++ b/deps/npm/node_modules/read/package.json
@@ -1,57 +1,84 @@
{
- "name": "read",
- "version": "1.0.7",
- "main": "lib/read.js",
- "dependencies": {
- "mute-stream": "~0.0.4"
- },
- "devDependencies": {
- "tap": "^1.2.0"
+ "_args": [
+ [
+ "read@1.0.7",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "read@1.0.7",
+ "_id": "read@1.0.7",
+ "_inCache": true,
+ "_location": "/read",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "engines": {
- "node": ">=0.8"
+ "_npmVersion": "3.2.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "read",
+ "raw": "read@1.0.7",
+ "rawSpec": "1.0.7",
+ "scope": null,
+ "spec": "1.0.7",
+ "type": "version"
},
+ "_requiredBy": [
+ "/",
+ "/init-package-json",
+ "/promzard"
+ ],
+ "_resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+ "_shasum": "b3da19bd052431a97671d44a42634adf710b40c4",
+ "_shrinkwrap": null,
+ "_spec": "read@1.0.7",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "description": "read(1) for node programs",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/read.git"
- },
- "license": "ISC",
- "scripts": {
- "test": "tap test/*.js"
- },
- "files": [
- "lib/read.js"
- ],
- "gitHead": "b14516b9236c40140fd0666567f5d0c588a09a62",
"bugs": {
"url": "https://github.com/isaacs/read/issues"
},
- "homepage": "https://github.com/isaacs/read#readme",
- "_id": "read@1.0.7",
- "_shasum": "b3da19bd052431a97671d44a42634adf710b40c4",
- "_from": "read@1.0.7",
- "_npmVersion": "3.2.2",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {
+ "mute-stream": "~0.0.4"
},
+ "description": "read(1) for node programs",
+ "devDependencies": {
+ "tap": "^1.2.0"
+ },
+ "directories": {},
"dist": {
"shasum": "b3da19bd052431a97671d44a42634adf710b40c4",
"tarball": "http://registry.npmjs.org/read/-/read-1.0.7.tgz"
},
+ "engines": {
+ "node": ">=0.8"
+ },
+ "files": [
+ "lib/read.js"
+ ],
+ "gitHead": "b14516b9236c40140fd0666567f5d0c588a09a62",
+ "homepage": "https://github.com/isaacs/read#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "lib/read.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz"
+ "name": "read",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/read.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.7"
}
diff --git a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/README.md b/deps/npm/node_modules/readable-stream/node_modules/core-util-is/README.md
deleted file mode 100644
index 5a76b4149c..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# core-util-is
-
-The `util.is*` functions introduced in Node v0.12.
diff --git a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/float.patch b/deps/npm/node_modules/readable-stream/node_modules/core-util-is/float.patch
deleted file mode 100644
index a06d5c05f7..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/float.patch
+++ /dev/null
@@ -1,604 +0,0 @@
-diff --git a/lib/util.js b/lib/util.js
-index a03e874..9074e8e 100644
---- a/lib/util.js
-+++ b/lib/util.js
-@@ -19,430 +19,6 @@
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
--var formatRegExp = /%[sdj%]/g;
--exports.format = function(f) {
-- if (!isString(f)) {
-- var objects = [];
-- for (var i = 0; i < arguments.length; i++) {
-- objects.push(inspect(arguments[i]));
-- }
-- return objects.join(' ');
-- }
--
-- var i = 1;
-- var args = arguments;
-- var len = args.length;
-- var str = String(f).replace(formatRegExp, function(x) {
-- if (x === '%%') return '%';
-- if (i >= len) return x;
-- switch (x) {
-- case '%s': return String(args[i++]);
-- case '%d': return Number(args[i++]);
-- case '%j':
-- try {
-- return JSON.stringify(args[i++]);
-- } catch (_) {
-- return '[Circular]';
-- }
-- default:
-- return x;
-- }
-- });
-- for (var x = args[i]; i < len; x = args[++i]) {
-- if (isNull(x) || !isObject(x)) {
-- str += ' ' + x;
-- } else {
-- str += ' ' + inspect(x);
-- }
-- }
-- return str;
--};
--
--
--// Mark that a method should not be used.
--// Returns a modified function which warns once by default.
--// If --no-deprecation is set, then it is a no-op.
--exports.deprecate = function(fn, msg) {
-- // Allow for deprecating things in the process of starting up.
-- if (isUndefined(global.process)) {
-- return function() {
-- return exports.deprecate(fn, msg).apply(this, arguments);
-- };
-- }
--
-- if (process.noDeprecation === true) {
-- return fn;
-- }
--
-- var warned = false;
-- function deprecated() {
-- if (!warned) {
-- if (process.throwDeprecation) {
-- throw new Error(msg);
-- } else if (process.traceDeprecation) {
-- console.trace(msg);
-- } else {
-- console.error(msg);
-- }
-- warned = true;
-- }
-- return fn.apply(this, arguments);
-- }
--
-- return deprecated;
--};
--
--
--var debugs = {};
--var debugEnviron;
--exports.debuglog = function(set) {
-- if (isUndefined(debugEnviron))
-- debugEnviron = process.env.NODE_DEBUG || '';
-- set = set.toUpperCase();
-- if (!debugs[set]) {
-- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
-- var pid = process.pid;
-- debugs[set] = function() {
-- var msg = exports.format.apply(exports, arguments);
-- console.error('%s %d: %s', set, pid, msg);
-- };
-- } else {
-- debugs[set] = function() {};
-- }
-- }
-- return debugs[set];
--};
--
--
--/**
-- * Echos the value of a value. Trys to print the value out
-- * in the best way possible given the different types.
-- *
-- * @param {Object} obj The object to print out.
-- * @param {Object} opts Optional options object that alters the output.
-- */
--/* legacy: obj, showHidden, depth, colors*/
--function inspect(obj, opts) {
-- // default options
-- var ctx = {
-- seen: [],
-- stylize: stylizeNoColor
-- };
-- // legacy...
-- if (arguments.length >= 3) ctx.depth = arguments[2];
-- if (arguments.length >= 4) ctx.colors = arguments[3];
-- if (isBoolean(opts)) {
-- // legacy...
-- ctx.showHidden = opts;
-- } else if (opts) {
-- // got an "options" object
-- exports._extend(ctx, opts);
-- }
-- // set default options
-- if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
-- if (isUndefined(ctx.depth)) ctx.depth = 2;
-- if (isUndefined(ctx.colors)) ctx.colors = false;
-- if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
-- if (ctx.colors) ctx.stylize = stylizeWithColor;
-- return formatValue(ctx, obj, ctx.depth);
--}
--exports.inspect = inspect;
--
--
--// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
--inspect.colors = {
-- 'bold' : [1, 22],
-- 'italic' : [3, 23],
-- 'underline' : [4, 24],
-- 'inverse' : [7, 27],
-- 'white' : [37, 39],
-- 'grey' : [90, 39],
-- 'black' : [30, 39],
-- 'blue' : [34, 39],
-- 'cyan' : [36, 39],
-- 'green' : [32, 39],
-- 'magenta' : [35, 39],
-- 'red' : [31, 39],
-- 'yellow' : [33, 39]
--};
--
--// Don't use 'blue' not visible on cmd.exe
--inspect.styles = {
-- 'special': 'cyan',
-- 'number': 'yellow',
-- 'boolean': 'yellow',
-- 'undefined': 'grey',
-- 'null': 'bold',
-- 'string': 'green',
-- 'date': 'magenta',
-- // "name": intentionally not styling
-- 'regexp': 'red'
--};
--
--
--function stylizeWithColor(str, styleType) {
-- var style = inspect.styles[styleType];
--
-- if (style) {
-- return '\u001b[' + inspect.colors[style][0] + 'm' + str +
-- '\u001b[' + inspect.colors[style][1] + 'm';
-- } else {
-- return str;
-- }
--}
--
--
--function stylizeNoColor(str, styleType) {
-- return str;
--}
--
--
--function arrayToHash(array) {
-- var hash = {};
--
-- array.forEach(function(val, idx) {
-- hash[val] = true;
-- });
--
-- return hash;
--}
--
--
--function formatValue(ctx, value, recurseTimes) {
-- // Provide a hook for user-specified inspect functions.
-- // Check that value is an object with an inspect function on it
-- if (ctx.customInspect &&
-- value &&
-- isFunction(value.inspect) &&
-- // Filter out the util module, it's inspect function is special
-- value.inspect !== exports.inspect &&
-- // Also filter out any prototype objects using the circular check.
-- !(value.constructor && value.constructor.prototype === value)) {
-- var ret = value.inspect(recurseTimes, ctx);
-- if (!isString(ret)) {
-- ret = formatValue(ctx, ret, recurseTimes);
-- }
-- return ret;
-- }
--
-- // Primitive types cannot have properties
-- var primitive = formatPrimitive(ctx, value);
-- if (primitive) {
-- return primitive;
-- }
--
-- // Look up the keys of the object.
-- var keys = Object.keys(value);
-- var visibleKeys = arrayToHash(keys);
--
-- if (ctx.showHidden) {
-- keys = Object.getOwnPropertyNames(value);
-- }
--
-- // Some type of object without properties can be shortcutted.
-- if (keys.length === 0) {
-- if (isFunction(value)) {
-- var name = value.name ? ': ' + value.name : '';
-- return ctx.stylize('[Function' + name + ']', 'special');
-- }
-- if (isRegExp(value)) {
-- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
-- }
-- if (isDate(value)) {
-- return ctx.stylize(Date.prototype.toString.call(value), 'date');
-- }
-- if (isError(value)) {
-- return formatError(value);
-- }
-- }
--
-- var base = '', array = false, braces = ['{', '}'];
--
-- // Make Array say that they are Array
-- if (isArray(value)) {
-- array = true;
-- braces = ['[', ']'];
-- }
--
-- // Make functions say that they are functions
-- if (isFunction(value)) {
-- var n = value.name ? ': ' + value.name : '';
-- base = ' [Function' + n + ']';
-- }
--
-- // Make RegExps say that they are RegExps
-- if (isRegExp(value)) {
-- base = ' ' + RegExp.prototype.toString.call(value);
-- }
--
-- // Make dates with properties first say the date
-- if (isDate(value)) {
-- base = ' ' + Date.prototype.toUTCString.call(value);
-- }
--
-- // Make error with message first say the error
-- if (isError(value)) {
-- base = ' ' + formatError(value);
-- }
--
-- if (keys.length === 0 && (!array || value.length == 0)) {
-- return braces[0] + base + braces[1];
-- }
--
-- if (recurseTimes < 0) {
-- if (isRegExp(value)) {
-- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
-- } else {
-- return ctx.stylize('[Object]', 'special');
-- }
-- }
--
-- ctx.seen.push(value);
--
-- var output;
-- if (array) {
-- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
-- } else {
-- output = keys.map(function(key) {
-- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
-- });
-- }
--
-- ctx.seen.pop();
--
-- return reduceToSingleString(output, base, braces);
--}
--
--
--function formatPrimitive(ctx, value) {
-- if (isUndefined(value))
-- return ctx.stylize('undefined', 'undefined');
-- if (isString(value)) {
-- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
-- .replace(/'/g, "\\'")
-- .replace(/\\"/g, '"') + '\'';
-- return ctx.stylize(simple, 'string');
-- }
-- if (isNumber(value)) {
-- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0,
-- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 .
-- if (value === 0 && 1 / value < 0)
-- return ctx.stylize('-0', 'number');
-- return ctx.stylize('' + value, 'number');
-- }
-- if (isBoolean(value))
-- return ctx.stylize('' + value, 'boolean');
-- // For some reason typeof null is "object", so special case here.
-- if (isNull(value))
-- return ctx.stylize('null', 'null');
--}
--
--
--function formatError(value) {
-- return '[' + Error.prototype.toString.call(value) + ']';
--}
--
--
--function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
-- var output = [];
-- for (var i = 0, l = value.length; i < l; ++i) {
-- if (hasOwnProperty(value, String(i))) {
-- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
-- String(i), true));
-- } else {
-- output.push('');
-- }
-- }
-- keys.forEach(function(key) {
-- if (!key.match(/^\d+$/)) {
-- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
-- key, true));
-- }
-- });
-- return output;
--}
--
--
--function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
-- var name, str, desc;
-- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
-- if (desc.get) {
-- if (desc.set) {
-- str = ctx.stylize('[Getter/Setter]', 'special');
-- } else {
-- str = ctx.stylize('[Getter]', 'special');
-- }
-- } else {
-- if (desc.set) {
-- str = ctx.stylize('[Setter]', 'special');
-- }
-- }
-- if (!hasOwnProperty(visibleKeys, key)) {
-- name = '[' + key + ']';
-- }
-- if (!str) {
-- if (ctx.seen.indexOf(desc.value) < 0) {
-- if (isNull(recurseTimes)) {
-- str = formatValue(ctx, desc.value, null);
-- } else {
-- str = formatValue(ctx, desc.value, recurseTimes - 1);
-- }
-- if (str.indexOf('\n') > -1) {
-- if (array) {
-- str = str.split('\n').map(function(line) {
-- return ' ' + line;
-- }).join('\n').substr(2);
-- } else {
-- str = '\n' + str.split('\n').map(function(line) {
-- return ' ' + line;
-- }).join('\n');
-- }
-- }
-- } else {
-- str = ctx.stylize('[Circular]', 'special');
-- }
-- }
-- if (isUndefined(name)) {
-- if (array && key.match(/^\d+$/)) {
-- return str;
-- }
-- name = JSON.stringify('' + key);
-- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
-- name = name.substr(1, name.length - 2);
-- name = ctx.stylize(name, 'name');
-- } else {
-- name = name.replace(/'/g, "\\'")
-- .replace(/\\"/g, '"')
-- .replace(/(^"|"$)/g, "'");
-- name = ctx.stylize(name, 'string');
-- }
-- }
--
-- return name + ': ' + str;
--}
--
--
--function reduceToSingleString(output, base, braces) {
-- var numLinesEst = 0;
-- var length = output.reduce(function(prev, cur) {
-- numLinesEst++;
-- if (cur.indexOf('\n') >= 0) numLinesEst++;
-- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
-- }, 0);
--
-- if (length > 60) {
-- return braces[0] +
-- (base === '' ? '' : base + '\n ') +
-- ' ' +
-- output.join(',\n ') +
-- ' ' +
-- braces[1];
-- }
--
-- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
--}
--
--
- // NOTE: These type checking functions intentionally don't use `instanceof`
- // because it is fragile and can be easily faked with `Object.create()`.
- function isArray(ar) {
-@@ -522,166 +98,10 @@ function isPrimitive(arg) {
- exports.isPrimitive = isPrimitive;
-
- function isBuffer(arg) {
-- return arg instanceof Buffer;
-+ return Buffer.isBuffer(arg);
- }
- exports.isBuffer = isBuffer;
-
- function objectToString(o) {
- return Object.prototype.toString.call(o);
--}
--
--
--function pad(n) {
-- return n < 10 ? '0' + n.toString(10) : n.toString(10);
--}
--
--
--var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
-- 'Oct', 'Nov', 'Dec'];
--
--// 26 Feb 16:19:34
--function timestamp() {
-- var d = new Date();
-- var time = [pad(d.getHours()),
-- pad(d.getMinutes()),
-- pad(d.getSeconds())].join(':');
-- return [d.getDate(), months[d.getMonth()], time].join(' ');
--}
--
--
--// log is just a thin wrapper to console.log that prepends a timestamp
--exports.log = function() {
-- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
--};
--
--
--/**
-- * Inherit the prototype methods from one constructor into another.
-- *
-- * The Function.prototype.inherits from lang.js rewritten as a standalone
-- * function (not on Function.prototype). NOTE: If this file is to be loaded
-- * during bootstrapping this function needs to be rewritten using some native
-- * functions as prototype setup using normal JavaScript does not work as
-- * expected during bootstrapping (see mirror.js in r114903).
-- *
-- * @param {function} ctor Constructor function which needs to inherit the
-- * prototype.
-- * @param {function} superCtor Constructor function to inherit prototype from.
-- */
--exports.inherits = function(ctor, superCtor) {
-- ctor.super_ = superCtor;
-- ctor.prototype = Object.create(superCtor.prototype, {
-- constructor: {
-- value: ctor,
-- enumerable: false,
-- writable: true,
-- configurable: true
-- }
-- });
--};
--
--exports._extend = function(origin, add) {
-- // Don't do anything if add isn't an object
-- if (!add || !isObject(add)) return origin;
--
-- var keys = Object.keys(add);
-- var i = keys.length;
-- while (i--) {
-- origin[keys[i]] = add[keys[i]];
-- }
-- return origin;
--};
--
--function hasOwnProperty(obj, prop) {
-- return Object.prototype.hasOwnProperty.call(obj, prop);
--}
--
--
--// Deprecated old stuff.
--
--exports.p = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- console.error(exports.inspect(arguments[i]));
-- }
--}, 'util.p: Use console.error() instead');
--
--
--exports.exec = exports.deprecate(function() {
-- return require('child_process').exec.apply(this, arguments);
--}, 'util.exec is now called `child_process.exec`.');
--
--
--exports.print = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stdout.write(String(arguments[i]));
-- }
--}, 'util.print: Use console.log instead');
--
--
--exports.puts = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stdout.write(arguments[i] + '\n');
-- }
--}, 'util.puts: Use console.log instead');
--
--
--exports.debug = exports.deprecate(function(x) {
-- process.stderr.write('DEBUG: ' + x + '\n');
--}, 'util.debug: Use console.error instead');
--
--
--exports.error = exports.deprecate(function(x) {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stderr.write(arguments[i] + '\n');
-- }
--}, 'util.error: Use console.error instead');
--
--
--exports.pump = exports.deprecate(function(readStream, writeStream, callback) {
-- var callbackCalled = false;
--
-- function call(a, b, c) {
-- if (callback && !callbackCalled) {
-- callback(a, b, c);
-- callbackCalled = true;
-- }
-- }
--
-- readStream.addListener('data', function(chunk) {
-- if (writeStream.write(chunk) === false) readStream.pause();
-- });
--
-- writeStream.addListener('drain', function() {
-- readStream.resume();
-- });
--
-- readStream.addListener('end', function() {
-- writeStream.end();
-- });
--
-- readStream.addListener('close', function() {
-- call();
-- });
--
-- readStream.addListener('error', function(err) {
-- writeStream.end();
-- call(err);
-- });
--
-- writeStream.addListener('error', function(err) {
-- readStream.destroy();
-- call(err);
-- });
--}, 'util.pump(): Use readableStream.pipe() instead');
--
--
--var uv;
--exports._errnoException = function(err, syscall) {
-- if (isUndefined(uv)) uv = process.binding('uv');
-- var errname = uv.errname(err);
-- var e = new Error(syscall + ' ' + errname);
-- e.code = errname;
-- e.errno = errname;
-- e.syscall = syscall;
-- return e;
--};
-+} \ No newline at end of file
diff --git a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/lib/util.js b/deps/npm/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
deleted file mode 100644
index 9074e8ebcb..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) &&
- (objectToString(e) === '[object Error]' || e instanceof Error);
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return Buffer.isBuffer(arg);
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/package.json b/deps/npm/node_modules/readable-stream/node_modules/core-util-is/package.json
deleted file mode 100644
index b67333380c..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/package.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "name": "core-util-is",
- "version": "1.0.1",
- "description": "The `util.is*` functions introduced in Node v0.12.",
- "main": "lib/util.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/core-util-is.git"
- },
- "keywords": [
- "util",
- "isBuffer",
- "isArray",
- "isNumber",
- "isString",
- "isRegExp",
- "isThis",
- "isThat",
- "polyfill"
- ],
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/isaacs/core-util-is/issues"
- },
- "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
- "readmeFilename": "README.md",
- "homepage": "https://github.com/isaacs/core-util-is#readme",
- "_id": "core-util-is@1.0.1",
- "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz",
- "_from": "core-util-is@>=1.0.0 <1.1.0"
-}
diff --git a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/util.js b/deps/npm/node_modules/readable-stream/node_modules/core-util-is/util.js
deleted file mode 100644
index 007fa10575..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/core-util-is/util.js
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) && objectToString(e) === '[object Error]';
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return arg instanceof Buffer;
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-}
diff --git a/deps/npm/node_modules/readable-stream/node_modules/isarray/README.md b/deps/npm/node_modules/readable-stream/node_modules/isarray/README.md
deleted file mode 100644
index 052a62b8d7..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/isarray/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-
-# isarray
-
-`Array#isArray` for older browsers.
-
-## Usage
-
-```js
-var isArray = require('isarray');
-
-console.log(isArray([])); // => true
-console.log(isArray({})); // => false
-```
-
-## Installation
-
-With [npm](http://npmjs.org) do
-
-```bash
-$ npm install isarray
-```
-
-Then bundle for the browser with
-[browserify](https://github.com/substack/browserify).
-
-With [component](http://component.io) do
-
-```bash
-$ component install juliangruber/isarray
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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/readable-stream/node_modules/isarray/build/build.js b/deps/npm/node_modules/readable-stream/node_modules/isarray/build/build.js
deleted file mode 100644
index ec58596aee..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/isarray/build/build.js
+++ /dev/null
@@ -1,209 +0,0 @@
-
-/**
- * Require the given path.
- *
- * @param {String} path
- * @return {Object} exports
- * @api public
- */
-
-function require(path, parent, orig) {
- var resolved = require.resolve(path);
-
- // lookup failed
- if (null == resolved) {
- orig = orig || path;
- parent = parent || 'root';
- var err = new Error('Failed to require "' + orig + '" from "' + parent + '"');
- err.path = orig;
- err.parent = parent;
- err.require = true;
- throw err;
- }
-
- var module = require.modules[resolved];
-
- // perform real require()
- // by invoking the module's
- // registered function
- if (!module.exports) {
- module.exports = {};
- module.client = module.component = true;
- module.call(this, module.exports, require.relative(resolved), module);
- }
-
- return module.exports;
-}
-
-/**
- * Registered modules.
- */
-
-require.modules = {};
-
-/**
- * Registered aliases.
- */
-
-require.aliases = {};
-
-/**
- * Resolve `path`.
- *
- * Lookup:
- *
- * - PATH/index.js
- * - PATH.js
- * - PATH
- *
- * @param {String} path
- * @return {String} path or null
- * @api private
- */
-
-require.resolve = function(path) {
- if (path.charAt(0) === '/') path = path.slice(1);
- var index = path + '/index.js';
-
- var paths = [
- path,
- path + '.js',
- path + '.json',
- path + '/index.js',
- path + '/index.json'
- ];
-
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- if (require.modules.hasOwnProperty(path)) return path;
- }
-
- if (require.aliases.hasOwnProperty(index)) {
- return require.aliases[index];
- }
-};
-
-/**
- * Normalize `path` relative to the current path.
- *
- * @param {String} curr
- * @param {String} path
- * @return {String}
- * @api private
- */
-
-require.normalize = function(curr, path) {
- var segs = [];
-
- if ('.' != path.charAt(0)) return path;
-
- curr = curr.split('/');
- path = path.split('/');
-
- for (var i = 0; i < path.length; ++i) {
- if ('..' == path[i]) {
- curr.pop();
- } else if ('.' != path[i] && '' != path[i]) {
- segs.push(path[i]);
- }
- }
-
- return curr.concat(segs).join('/');
-};
-
-/**
- * Register module at `path` with callback `definition`.
- *
- * @param {String} path
- * @param {Function} definition
- * @api private
- */
-
-require.register = function(path, definition) {
- require.modules[path] = definition;
-};
-
-/**
- * Alias a module definition.
- *
- * @param {String} from
- * @param {String} to
- * @api private
- */
-
-require.alias = function(from, to) {
- if (!require.modules.hasOwnProperty(from)) {
- throw new Error('Failed to alias "' + from + '", it does not exist');
- }
- require.aliases[to] = from;
-};
-
-/**
- * Return a require function relative to the `parent` path.
- *
- * @param {String} parent
- * @return {Function}
- * @api private
- */
-
-require.relative = function(parent) {
- var p = require.normalize(parent, '..');
-
- /**
- * lastIndexOf helper.
- */
-
- function lastIndexOf(arr, obj) {
- var i = arr.length;
- while (i--) {
- if (arr[i] === obj) return i;
- }
- return -1;
- }
-
- /**
- * The relative require() itself.
- */
-
- function localRequire(path) {
- var resolved = localRequire.resolve(path);
- return require(resolved, parent, path);
- }
-
- /**
- * Resolve relative to the parent.
- */
-
- localRequire.resolve = function(path) {
- var c = path.charAt(0);
- if ('/' == c) return path.slice(1);
- if ('.' == c) return require.normalize(p, path);
-
- // resolve deps by returning
- // the dep in the nearest "deps"
- // directory
- var segs = parent.split('/');
- var i = lastIndexOf(segs, 'deps') + 1;
- if (!i) i = 0;
- path = segs.slice(0, i + 1).join('/') + '/deps/' + path;
- return path;
- };
-
- /**
- * Check if module is defined at `path`.
- */
-
- localRequire.exists = function(path) {
- return require.modules.hasOwnProperty(localRequire.resolve(path));
- };
-
- return localRequire;
-};
-require.register("isarray/index.js", function(exports, require, module){
-module.exports = Array.isArray || function (arr) {
- return Object.prototype.toString.call(arr) == '[object Array]';
-};
-
-});
-require.alias("isarray/index.js", "isarray/index.js");
-
diff --git a/deps/npm/node_modules/readable-stream/node_modules/isarray/component.json b/deps/npm/node_modules/readable-stream/node_modules/isarray/component.json
deleted file mode 100644
index 9e31b68388..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/isarray/component.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name" : "isarray",
- "description" : "Array#isArray for older browsers",
- "version" : "0.0.1",
- "repository" : "juliangruber/isarray",
- "homepage": "https://github.com/juliangruber/isarray",
- "main" : "index.js",
- "scripts" : [
- "index.js"
- ],
- "dependencies" : {},
- "keywords": ["browser","isarray","array"],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT"
-}
diff --git a/deps/npm/node_modules/readable-stream/node_modules/isarray/index.js b/deps/npm/node_modules/readable-stream/node_modules/isarray/index.js
deleted file mode 100644
index 5f5ad45d46..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/isarray/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = Array.isArray || function (arr) {
- return Object.prototype.toString.call(arr) == '[object Array]';
-};
diff --git a/deps/npm/node_modules/readable-stream/node_modules/isarray/package.json b/deps/npm/node_modules/readable-stream/node_modules/isarray/package.json
deleted file mode 100644
index fb1eb3786d..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/isarray/package.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "name": "isarray",
- "description": "Array#isArray for older browsers",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/isarray.git"
- },
- "homepage": "https://github.com/juliangruber/isarray",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "*"
- },
- "keywords": [
- "browser",
- "isarray",
- "array"
- ],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT",
- "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
- "readmeFilename": "README.md",
- "bugs": {
- "url": "https://github.com/juliangruber/isarray/issues"
- },
- "_id": "isarray@0.0.1",
- "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "_from": "isarray@0.0.1"
-}
diff --git a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/.npmignore b/deps/npm/node_modules/readable-stream/node_modules/string_decoder/.npmignore
deleted file mode 100644
index 206320cc1d..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build
-test
diff --git a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/LICENSE b/deps/npm/node_modules/readable-stream/node_modules/string_decoder/LICENSE
deleted file mode 100644
index 6de584a48f..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright Joyent, Inc. and other Node contributors.
-
-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/readable-stream/node_modules/string_decoder/README.md b/deps/npm/node_modules/readable-stream/node_modules/string_decoder/README.md
deleted file mode 100644
index 4d2aa00150..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-**string_decoder.js** (`require('string_decoder')`) from Node.js core
-
-Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details.
-
-Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**
-
-The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. \ No newline at end of file
diff --git a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/index.js b/deps/npm/node_modules/readable-stream/node_modules/string_decoder/index.js
deleted file mode 100644
index b00e54fb79..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/index.js
+++ /dev/null
@@ -1,221 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-var Buffer = require('buffer').Buffer;
-
-var isBufferEncoding = Buffer.isEncoding
- || function(encoding) {
- switch (encoding && encoding.toLowerCase()) {
- case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
- default: return false;
- }
- }
-
-
-function assertEncoding(encoding) {
- if (encoding && !isBufferEncoding(encoding)) {
- throw new Error('Unknown encoding: ' + encoding);
- }
-}
-
-// StringDecoder provides an interface for efficiently splitting a series of
-// buffers into a series of JS strings without breaking apart multi-byte
-// characters. CESU-8 is handled as part of the UTF-8 encoding.
-//
-// @TODO Handling all encodings inside a single object makes it very difficult
-// to reason about this code, so it should be split up in the future.
-// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
-// points as used by CESU-8.
-var StringDecoder = exports.StringDecoder = function(encoding) {
- this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
- assertEncoding(encoding);
- switch (this.encoding) {
- case 'utf8':
- // CESU-8 represents each of Surrogate Pair by 3-bytes
- this.surrogateSize = 3;
- break;
- case 'ucs2':
- case 'utf16le':
- // UTF-16 represents each of Surrogate Pair by 2-bytes
- this.surrogateSize = 2;
- this.detectIncompleteChar = utf16DetectIncompleteChar;
- break;
- case 'base64':
- // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
- this.surrogateSize = 3;
- this.detectIncompleteChar = base64DetectIncompleteChar;
- break;
- default:
- this.write = passThroughWrite;
- return;
- }
-
- // Enough space to store all bytes of a single character. UTF-8 needs 4
- // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
- this.charBuffer = new Buffer(6);
- // Number of bytes received for the current incomplete multi-byte character.
- this.charReceived = 0;
- // Number of bytes expected for the current incomplete multi-byte character.
- this.charLength = 0;
-};
-
-
-// write decodes the given buffer and returns it as JS string that is
-// guaranteed to not contain any partial multi-byte characters. Any partial
-// character found at the end of the buffer is buffered up, and will be
-// returned when calling write again with the remaining bytes.
-//
-// Note: Converting a Buffer containing an orphan surrogate to a String
-// currently works, but converting a String to a Buffer (via `new Buffer`, or
-// Buffer#write) will replace incomplete surrogates with the unicode
-// replacement character. See https://codereview.chromium.org/121173009/ .
-StringDecoder.prototype.write = function(buffer) {
- var charStr = '';
- // if our last write ended with an incomplete multibyte character
- while (this.charLength) {
- // determine how many remaining bytes this buffer has to offer for this char
- var available = (buffer.length >= this.charLength - this.charReceived) ?
- this.charLength - this.charReceived :
- buffer.length;
-
- // add the new bytes to the char buffer
- buffer.copy(this.charBuffer, this.charReceived, 0, available);
- this.charReceived += available;
-
- if (this.charReceived < this.charLength) {
- // still not enough chars in this buffer? wait for more ...
- return '';
- }
-
- // remove bytes belonging to the current character from the buffer
- buffer = buffer.slice(available, buffer.length);
-
- // get the character that was split
- charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
-
- // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
- var charCode = charStr.charCodeAt(charStr.length - 1);
- if (charCode >= 0xD800 && charCode <= 0xDBFF) {
- this.charLength += this.surrogateSize;
- charStr = '';
- continue;
- }
- this.charReceived = this.charLength = 0;
-
- // if there are no more bytes in this buffer, just emit our char
- if (buffer.length === 0) {
- return charStr;
- }
- break;
- }
-
- // determine and set charLength / charReceived
- this.detectIncompleteChar(buffer);
-
- var end = buffer.length;
- if (this.charLength) {
- // buffer the incomplete character bytes we got
- buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
- end -= this.charReceived;
- }
-
- charStr += buffer.toString(this.encoding, 0, end);
-
- var end = charStr.length - 1;
- var charCode = charStr.charCodeAt(end);
- // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
- if (charCode >= 0xD800 && charCode <= 0xDBFF) {
- var size = this.surrogateSize;
- this.charLength += size;
- this.charReceived += size;
- this.charBuffer.copy(this.charBuffer, size, 0, size);
- buffer.copy(this.charBuffer, 0, 0, size);
- return charStr.substring(0, end);
- }
-
- // or just emit the charStr
- return charStr;
-};
-
-// detectIncompleteChar determines if there is an incomplete UTF-8 character at
-// the end of the given buffer. If so, it sets this.charLength to the byte
-// length that character, and sets this.charReceived to the number of bytes
-// that are available for this character.
-StringDecoder.prototype.detectIncompleteChar = function(buffer) {
- // determine how many bytes we have to check at the end of this buffer
- var i = (buffer.length >= 3) ? 3 : buffer.length;
-
- // Figure out if one of the last i bytes of our buffer announces an
- // incomplete char.
- for (; i > 0; i--) {
- var c = buffer[buffer.length - i];
-
- // See http://en.wikipedia.org/wiki/UTF-8#Description
-
- // 110XXXXX
- if (i == 1 && c >> 5 == 0x06) {
- this.charLength = 2;
- break;
- }
-
- // 1110XXXX
- if (i <= 2 && c >> 4 == 0x0E) {
- this.charLength = 3;
- break;
- }
-
- // 11110XXX
- if (i <= 3 && c >> 3 == 0x1E) {
- this.charLength = 4;
- break;
- }
- }
- this.charReceived = i;
-};
-
-StringDecoder.prototype.end = function(buffer) {
- var res = '';
- if (buffer && buffer.length)
- res = this.write(buffer);
-
- if (this.charReceived) {
- var cr = this.charReceived;
- var buf = this.charBuffer;
- var enc = this.encoding;
- res += buf.slice(0, cr).toString(enc);
- }
-
- return res;
-};
-
-function passThroughWrite(buffer) {
- return buffer.toString(this.encoding);
-}
-
-function utf16DetectIncompleteChar(buffer) {
- this.charReceived = buffer.length % 2;
- this.charLength = this.charReceived ? 2 : 0;
-}
-
-function base64DetectIncompleteChar(buffer) {
- this.charReceived = buffer.length % 3;
- this.charLength = this.charReceived ? 3 : 0;
-}
diff --git a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/package.json b/deps/npm/node_modules/readable-stream/node_modules/string_decoder/package.json
deleted file mode 100644
index ee70702359..0000000000
--- a/deps/npm/node_modules/readable-stream/node_modules/string_decoder/package.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "name": "string_decoder",
- "version": "0.10.31",
- "description": "The string_decoder module from Node core",
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {
- "tap": "~0.4.8"
- },
- "scripts": {
- "test": "tap test/simple/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/rvagg/string_decoder.git"
- },
- "homepage": "https://github.com/rvagg/string_decoder",
- "keywords": [
- "string",
- "decoder",
- "browser",
- "browserify"
- ],
- "license": "MIT",
- "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.",
- "readmeFilename": "README.md",
- "bugs": {
- "url": "https://github.com/rvagg/string_decoder/issues"
- },
- "_id": "string_decoder@0.10.31",
- "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "_from": "string_decoder@>=0.10.0 <0.11.0"
-}
diff --git a/deps/npm/node_modules/readable-stream/package.json b/deps/npm/node_modules/readable-stream/package.json
index fbc5e7fa49..a82d55fa24 100644
--- a/deps/npm/node_modules/readable-stream/package.json
+++ b/deps/npm/node_modules/readable-stream/package.json
@@ -1,51 +1,72 @@
{
- "name": "readable-stream",
- "version": "1.1.13",
- "description": "Streams3, a user-land copy of the stream library from Node.js v0.11.x",
- "main": "readable.js",
+ "_args": [
+ [
+ "readable-stream@^1.1.13",
+ "/Users/rebecca/code/npm/node_modules/are-we-there-yet"
+ ]
+ ],
+ "_from": "readable-stream@>=1.1.13 <2.0.0",
+ "_id": "readable-stream@1.1.13",
+ "_inCache": true,
+ "_location": "/readable-stream",
+ "_npmUser": {
+ "email": "rod@vagg.org",
+ "name": "rvagg"
+ },
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "readable-stream",
+ "raw": "readable-stream@^1.1.13",
+ "rawSpec": "^1.1.13",
+ "scope": null,
+ "spec": ">=1.1.13 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/are-we-there-yet",
+ "/sha"
+ ],
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz",
+ "_shasum": "f6eef764f514c89e2b9e23146a75ba106756d23e",
+ "_shrinkwrap": null,
+ "_spec": "readable-stream@^1.1.13",
+ "_where": "/Users/rebecca/code/npm/node_modules/are-we-there-yet",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "browser": {
+ "util": false
+ },
+ "bugs": {
+ "url": "https://github.com/isaacs/readable-stream/issues"
+ },
"dependencies": {
"core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
"isarray": "0.0.1",
- "string_decoder": "~0.10.x",
- "inherits": "~2.0.1"
+ "string_decoder": "~0.10.x"
},
+ "description": "Streams3, a user-land copy of the stream library from Node.js v0.11.x",
"devDependencies": {
"tap": "~0.2.6"
},
- "scripts": {
- "test": "tap test/simple/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/readable-stream.git"
+ "directories": {},
+ "dist": {
+ "shasum": "f6eef764f514c89e2b9e23146a75ba106756d23e",
+ "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz"
},
+ "gitHead": "3b672fd7ae92acf5b4ffdbabf74b372a0a56b051",
+ "homepage": "https://github.com/isaacs/readable-stream",
"keywords": [
+ "pipe",
"readable",
- "stream",
- "pipe"
+ "stream"
],
- "browser": {
- "util": false
- },
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
"license": "MIT",
- "gitHead": "3b672fd7ae92acf5b4ffdbabf74b372a0a56b051",
- "bugs": {
- "url": "https://github.com/isaacs/readable-stream/issues"
- },
- "homepage": "https://github.com/isaacs/readable-stream",
- "_id": "readable-stream@1.1.13",
- "_shasum": "f6eef764f514c89e2b9e23146a75ba106756d23e",
- "_from": "readable-stream@>=1.1.13 <1.2.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
- },
+ "main": "readable.js",
"maintainers": [
{
"name": "isaacs",
@@ -60,11 +81,14 @@
"email": "rod@vagg.org"
}
],
- "dist": {
- "shasum": "f6eef764f514c89e2b9e23146a75ba106756d23e",
- "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz"
+ "name": "readable-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/readable-stream"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/simple/*.js"
+ },
+ "version": "1.1.13"
}
diff --git a/deps/npm/node_modules/readdir-scoped-modules/.travis.yml b/deps/npm/node_modules/readdir-scoped-modules/.travis.yml
new file mode 100644
index 0000000000..e1bcee1acd
--- /dev/null
+++ b/deps/npm/node_modules/readdir-scoped-modules/.travis.yml
@@ -0,0 +1,7 @@
+language: node_js
+before_script: npm install -g npm@latest
+node_js:
+ - '0.8'
+ - '0.10'
+ - '0.12'
+ - 'iojs'
diff --git a/deps/npm/node_modules/read/node_modules/mute-stream/LICENSE b/deps/npm/node_modules/readdir-scoped-modules/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/read/node_modules/mute-stream/LICENSE
+++ b/deps/npm/node_modules/readdir-scoped-modules/LICENSE
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/README.md b/deps/npm/node_modules/readdir-scoped-modules/README.md
index ade57a186d..ade57a186d 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/README.md
+++ b/deps/npm/node_modules/readdir-scoped-modules/README.md
diff --git a/deps/npm/node_modules/readdir-scoped-modules/package.json b/deps/npm/node_modules/readdir-scoped-modules/package.json
new file mode 100644
index 0000000000..ba44304f44
--- /dev/null
+++ b/deps/npm/node_modules/readdir-scoped-modules/package.json
@@ -0,0 +1,90 @@
+{
+ "_args": [
+ [
+ "readdir-scoped-modules@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/read-installed"
+ ]
+ ],
+ "_from": "readdir-scoped-modules@>=1.0.0 <2.0.0",
+ "_id": "readdir-scoped-modules@1.0.2",
+ "_inCache": true,
+ "_location": "/readdir-scoped-modules",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "readdir-scoped-modules",
+ "raw": "readdir-scoped-modules@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/read-installed",
+ "/read-package-tree"
+ ],
+ "_resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz",
+ "_shasum": "9fafa37d286be5d92cbaebdee030dc9b5f406747",
+ "_shrinkwrap": null,
+ "_spec": "readdir-scoped-modules@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/read-installed",
+ "author": {
+ "email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/readdir-scoped-modules/issues"
+ },
+ "dependencies": {
+ "debuglog": "^1.0.1",
+ "dezalgo": "^1.0.0",
+ "graceful-fs": "^4.1.2",
+ "once": "^1.3.0"
+ },
+ "description": "Like `fs.readdir` but handling `@org/module` dirs as if they were a single entry.",
+ "devDependencies": {
+ "tap": "^1.2.0"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "9fafa37d286be5d92cbaebdee030dc9b5f406747",
+ "tarball": "http://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz"
+ },
+ "gitHead": "d41d5de877cb4e9e3f14b92913132680af73d1b4",
+ "homepage": "https://github.com/npm/readdir-scoped-modules",
+ "installable": true,
+ "license": "ISC",
+ "main": "readdir.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "readdir-scoped-modules",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/readdir-scoped-modules.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.2"
+}
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/readdir.js b/deps/npm/node_modules/readdir-scoped-modules/readdir.js
index efbe5526d8..efbe5526d8 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/readdir.js
+++ b/deps/npm/node_modules/readdir-scoped-modules/readdir.js
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/basic.js b/deps/npm/node_modules/readdir-scoped-modules/test/basic.js
index 715c40d584..715c40d584 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/basic.js
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/basic.js
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@scope/y/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@org/x/.keep
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/@scope/y/.keep
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@org/x/.keep
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/a/x/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@org/y/.keep
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/a/x/.keep
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@org/y/.keep
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@scope/x/.keep
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@scope/x/.keep
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@scope/y/.keep
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/@scope/y/.keep
diff --git a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/x/.keep
index e69de29bb2..e69de29bb2 100644
--- a/deps/npm/node_modules/read-installed/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/x/.keep
diff --git a/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/a/y/.keep
diff --git a/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/x/.keep
diff --git a/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/deps/npm/node_modules/readdir-scoped-modules/test/fixtures/b/y/.keep
diff --git a/deps/npm/node_modules/realize-package-specifier/package.json b/deps/npm/node_modules/realize-package-specifier/package.json
index b14b24beff..d87b7d9ef5 100644
--- a/deps/npm/node_modules/realize-package-specifier/package.json
+++ b/deps/npm/node_modules/realize-package-specifier/package.json
@@ -1,47 +1,63 @@
{
- "name": "realize-package-specifier",
- "version": "3.0.1",
- "description": "Like npm-package-arg, but more so, producing full file paths and differentiating local tar and directory sources.",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "realize-package-specifier@~3.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "realize-package-specifier@>=3.0.1 <3.1.0",
+ "_id": "realize-package-specifier@3.0.1",
+ "_inCache": true,
+ "_location": "/realize-package-specifier",
+ "_nodeVersion": "2.0.2",
+ "_npmUser": {
+ "email": "ogd@aoaioxxysz.net",
+ "name": "othiym23"
},
- "license": "ISC",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/realize-package-specifier.git"
+ "_npmVersion": "2.10.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "realize-package-specifier",
+ "raw": "realize-package-specifier@~3.0.1",
+ "rawSpec": "~3.0.1",
+ "scope": null,
+ "spec": ">=3.0.1 <3.1.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz",
+ "_shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f",
+ "_shrinkwrap": null,
+ "_spec": "realize-package-specifier@~3.0.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Rebecca Turner",
"email": "me@re-becca.org",
+ "name": "Rebecca Turner",
"url": "http://re-becca.org"
},
- "homepage": "https://github.com/npm/realize-package-specifier",
+ "bugs": {
+ "url": "https://github.com/npm/realize-package-specifier/issues"
+ },
"dependencies": {
"dezalgo": "^1.0.1",
"npm-package-arg": "^4.0.0"
},
+ "description": "Like npm-package-arg, but more so, producing full file paths and differentiating local tar and directory sources.",
"devDependencies": {
"require-inject": "^1.1.0",
"tap": "^0.4.12"
},
- "gitHead": "4f50130fa6b5e80954a90ea12bab382f53d890b1",
- "bugs": {
- "url": "https://github.com/npm/realize-package-specifier/issues"
- },
- "_id": "realize-package-specifier@3.0.1",
- "_shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f",
- "_from": "realize-package-specifier@>=3.0.0 <3.1.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.2",
- "_npmUser": {
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
- },
+ "directories": {},
"dist": {
"shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f",
"tarball": "http://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz"
},
+ "gitHead": "4f50130fa6b5e80954a90ea12bab382f53d890b1",
+ "homepage": "https://github.com/npm/realize-package-specifier",
+ "license": "ISC",
+ "main": "index.js",
"maintainers": [
{
"name": "iarna",
@@ -52,6 +68,14 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz"
+ "name": "realize-package-specifier",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/realize-package-specifier.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "3.0.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/README.md b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/README.md
deleted file mode 100644
index 5a76b4149c..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# core-util-is
-
-The `util.is*` functions introduced in Node v0.12.
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/float.patch b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/float.patch
deleted file mode 100644
index a06d5c05f7..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/float.patch
+++ /dev/null
@@ -1,604 +0,0 @@
-diff --git a/lib/util.js b/lib/util.js
-index a03e874..9074e8e 100644
---- a/lib/util.js
-+++ b/lib/util.js
-@@ -19,430 +19,6 @@
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
--var formatRegExp = /%[sdj%]/g;
--exports.format = function(f) {
-- if (!isString(f)) {
-- var objects = [];
-- for (var i = 0; i < arguments.length; i++) {
-- objects.push(inspect(arguments[i]));
-- }
-- return objects.join(' ');
-- }
--
-- var i = 1;
-- var args = arguments;
-- var len = args.length;
-- var str = String(f).replace(formatRegExp, function(x) {
-- if (x === '%%') return '%';
-- if (i >= len) return x;
-- switch (x) {
-- case '%s': return String(args[i++]);
-- case '%d': return Number(args[i++]);
-- case '%j':
-- try {
-- return JSON.stringify(args[i++]);
-- } catch (_) {
-- return '[Circular]';
-- }
-- default:
-- return x;
-- }
-- });
-- for (var x = args[i]; i < len; x = args[++i]) {
-- if (isNull(x) || !isObject(x)) {
-- str += ' ' + x;
-- } else {
-- str += ' ' + inspect(x);
-- }
-- }
-- return str;
--};
--
--
--// Mark that a method should not be used.
--// Returns a modified function which warns once by default.
--// If --no-deprecation is set, then it is a no-op.
--exports.deprecate = function(fn, msg) {
-- // Allow for deprecating things in the process of starting up.
-- if (isUndefined(global.process)) {
-- return function() {
-- return exports.deprecate(fn, msg).apply(this, arguments);
-- };
-- }
--
-- if (process.noDeprecation === true) {
-- return fn;
-- }
--
-- var warned = false;
-- function deprecated() {
-- if (!warned) {
-- if (process.throwDeprecation) {
-- throw new Error(msg);
-- } else if (process.traceDeprecation) {
-- console.trace(msg);
-- } else {
-- console.error(msg);
-- }
-- warned = true;
-- }
-- return fn.apply(this, arguments);
-- }
--
-- return deprecated;
--};
--
--
--var debugs = {};
--var debugEnviron;
--exports.debuglog = function(set) {
-- if (isUndefined(debugEnviron))
-- debugEnviron = process.env.NODE_DEBUG || '';
-- set = set.toUpperCase();
-- if (!debugs[set]) {
-- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
-- var pid = process.pid;
-- debugs[set] = function() {
-- var msg = exports.format.apply(exports, arguments);
-- console.error('%s %d: %s', set, pid, msg);
-- };
-- } else {
-- debugs[set] = function() {};
-- }
-- }
-- return debugs[set];
--};
--
--
--/**
-- * Echos the value of a value. Trys to print the value out
-- * in the best way possible given the different types.
-- *
-- * @param {Object} obj The object to print out.
-- * @param {Object} opts Optional options object that alters the output.
-- */
--/* legacy: obj, showHidden, depth, colors*/
--function inspect(obj, opts) {
-- // default options
-- var ctx = {
-- seen: [],
-- stylize: stylizeNoColor
-- };
-- // legacy...
-- if (arguments.length >= 3) ctx.depth = arguments[2];
-- if (arguments.length >= 4) ctx.colors = arguments[3];
-- if (isBoolean(opts)) {
-- // legacy...
-- ctx.showHidden = opts;
-- } else if (opts) {
-- // got an "options" object
-- exports._extend(ctx, opts);
-- }
-- // set default options
-- if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
-- if (isUndefined(ctx.depth)) ctx.depth = 2;
-- if (isUndefined(ctx.colors)) ctx.colors = false;
-- if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
-- if (ctx.colors) ctx.stylize = stylizeWithColor;
-- return formatValue(ctx, obj, ctx.depth);
--}
--exports.inspect = inspect;
--
--
--// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
--inspect.colors = {
-- 'bold' : [1, 22],
-- 'italic' : [3, 23],
-- 'underline' : [4, 24],
-- 'inverse' : [7, 27],
-- 'white' : [37, 39],
-- 'grey' : [90, 39],
-- 'black' : [30, 39],
-- 'blue' : [34, 39],
-- 'cyan' : [36, 39],
-- 'green' : [32, 39],
-- 'magenta' : [35, 39],
-- 'red' : [31, 39],
-- 'yellow' : [33, 39]
--};
--
--// Don't use 'blue' not visible on cmd.exe
--inspect.styles = {
-- 'special': 'cyan',
-- 'number': 'yellow',
-- 'boolean': 'yellow',
-- 'undefined': 'grey',
-- 'null': 'bold',
-- 'string': 'green',
-- 'date': 'magenta',
-- // "name": intentionally not styling
-- 'regexp': 'red'
--};
--
--
--function stylizeWithColor(str, styleType) {
-- var style = inspect.styles[styleType];
--
-- if (style) {
-- return '\u001b[' + inspect.colors[style][0] + 'm' + str +
-- '\u001b[' + inspect.colors[style][1] + 'm';
-- } else {
-- return str;
-- }
--}
--
--
--function stylizeNoColor(str, styleType) {
-- return str;
--}
--
--
--function arrayToHash(array) {
-- var hash = {};
--
-- array.forEach(function(val, idx) {
-- hash[val] = true;
-- });
--
-- return hash;
--}
--
--
--function formatValue(ctx, value, recurseTimes) {
-- // Provide a hook for user-specified inspect functions.
-- // Check that value is an object with an inspect function on it
-- if (ctx.customInspect &&
-- value &&
-- isFunction(value.inspect) &&
-- // Filter out the util module, it's inspect function is special
-- value.inspect !== exports.inspect &&
-- // Also filter out any prototype objects using the circular check.
-- !(value.constructor && value.constructor.prototype === value)) {
-- var ret = value.inspect(recurseTimes, ctx);
-- if (!isString(ret)) {
-- ret = formatValue(ctx, ret, recurseTimes);
-- }
-- return ret;
-- }
--
-- // Primitive types cannot have properties
-- var primitive = formatPrimitive(ctx, value);
-- if (primitive) {
-- return primitive;
-- }
--
-- // Look up the keys of the object.
-- var keys = Object.keys(value);
-- var visibleKeys = arrayToHash(keys);
--
-- if (ctx.showHidden) {
-- keys = Object.getOwnPropertyNames(value);
-- }
--
-- // Some type of object without properties can be shortcutted.
-- if (keys.length === 0) {
-- if (isFunction(value)) {
-- var name = value.name ? ': ' + value.name : '';
-- return ctx.stylize('[Function' + name + ']', 'special');
-- }
-- if (isRegExp(value)) {
-- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
-- }
-- if (isDate(value)) {
-- return ctx.stylize(Date.prototype.toString.call(value), 'date');
-- }
-- if (isError(value)) {
-- return formatError(value);
-- }
-- }
--
-- var base = '', array = false, braces = ['{', '}'];
--
-- // Make Array say that they are Array
-- if (isArray(value)) {
-- array = true;
-- braces = ['[', ']'];
-- }
--
-- // Make functions say that they are functions
-- if (isFunction(value)) {
-- var n = value.name ? ': ' + value.name : '';
-- base = ' [Function' + n + ']';
-- }
--
-- // Make RegExps say that they are RegExps
-- if (isRegExp(value)) {
-- base = ' ' + RegExp.prototype.toString.call(value);
-- }
--
-- // Make dates with properties first say the date
-- if (isDate(value)) {
-- base = ' ' + Date.prototype.toUTCString.call(value);
-- }
--
-- // Make error with message first say the error
-- if (isError(value)) {
-- base = ' ' + formatError(value);
-- }
--
-- if (keys.length === 0 && (!array || value.length == 0)) {
-- return braces[0] + base + braces[1];
-- }
--
-- if (recurseTimes < 0) {
-- if (isRegExp(value)) {
-- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
-- } else {
-- return ctx.stylize('[Object]', 'special');
-- }
-- }
--
-- ctx.seen.push(value);
--
-- var output;
-- if (array) {
-- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
-- } else {
-- output = keys.map(function(key) {
-- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
-- });
-- }
--
-- ctx.seen.pop();
--
-- return reduceToSingleString(output, base, braces);
--}
--
--
--function formatPrimitive(ctx, value) {
-- if (isUndefined(value))
-- return ctx.stylize('undefined', 'undefined');
-- if (isString(value)) {
-- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
-- .replace(/'/g, "\\'")
-- .replace(/\\"/g, '"') + '\'';
-- return ctx.stylize(simple, 'string');
-- }
-- if (isNumber(value)) {
-- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0,
-- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 .
-- if (value === 0 && 1 / value < 0)
-- return ctx.stylize('-0', 'number');
-- return ctx.stylize('' + value, 'number');
-- }
-- if (isBoolean(value))
-- return ctx.stylize('' + value, 'boolean');
-- // For some reason typeof null is "object", so special case here.
-- if (isNull(value))
-- return ctx.stylize('null', 'null');
--}
--
--
--function formatError(value) {
-- return '[' + Error.prototype.toString.call(value) + ']';
--}
--
--
--function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
-- var output = [];
-- for (var i = 0, l = value.length; i < l; ++i) {
-- if (hasOwnProperty(value, String(i))) {
-- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
-- String(i), true));
-- } else {
-- output.push('');
-- }
-- }
-- keys.forEach(function(key) {
-- if (!key.match(/^\d+$/)) {
-- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
-- key, true));
-- }
-- });
-- return output;
--}
--
--
--function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
-- var name, str, desc;
-- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
-- if (desc.get) {
-- if (desc.set) {
-- str = ctx.stylize('[Getter/Setter]', 'special');
-- } else {
-- str = ctx.stylize('[Getter]', 'special');
-- }
-- } else {
-- if (desc.set) {
-- str = ctx.stylize('[Setter]', 'special');
-- }
-- }
-- if (!hasOwnProperty(visibleKeys, key)) {
-- name = '[' + key + ']';
-- }
-- if (!str) {
-- if (ctx.seen.indexOf(desc.value) < 0) {
-- if (isNull(recurseTimes)) {
-- str = formatValue(ctx, desc.value, null);
-- } else {
-- str = formatValue(ctx, desc.value, recurseTimes - 1);
-- }
-- if (str.indexOf('\n') > -1) {
-- if (array) {
-- str = str.split('\n').map(function(line) {
-- return ' ' + line;
-- }).join('\n').substr(2);
-- } else {
-- str = '\n' + str.split('\n').map(function(line) {
-- return ' ' + line;
-- }).join('\n');
-- }
-- }
-- } else {
-- str = ctx.stylize('[Circular]', 'special');
-- }
-- }
-- if (isUndefined(name)) {
-- if (array && key.match(/^\d+$/)) {
-- return str;
-- }
-- name = JSON.stringify('' + key);
-- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
-- name = name.substr(1, name.length - 2);
-- name = ctx.stylize(name, 'name');
-- } else {
-- name = name.replace(/'/g, "\\'")
-- .replace(/\\"/g, '"')
-- .replace(/(^"|"$)/g, "'");
-- name = ctx.stylize(name, 'string');
-- }
-- }
--
-- return name + ': ' + str;
--}
--
--
--function reduceToSingleString(output, base, braces) {
-- var numLinesEst = 0;
-- var length = output.reduce(function(prev, cur) {
-- numLinesEst++;
-- if (cur.indexOf('\n') >= 0) numLinesEst++;
-- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
-- }, 0);
--
-- if (length > 60) {
-- return braces[0] +
-- (base === '' ? '' : base + '\n ') +
-- ' ' +
-- output.join(',\n ') +
-- ' ' +
-- braces[1];
-- }
--
-- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
--}
--
--
- // NOTE: These type checking functions intentionally don't use `instanceof`
- // because it is fragile and can be easily faked with `Object.create()`.
- function isArray(ar) {
-@@ -522,166 +98,10 @@ function isPrimitive(arg) {
- exports.isPrimitive = isPrimitive;
-
- function isBuffer(arg) {
-- return arg instanceof Buffer;
-+ return Buffer.isBuffer(arg);
- }
- exports.isBuffer = isBuffer;
-
- function objectToString(o) {
- return Object.prototype.toString.call(o);
--}
--
--
--function pad(n) {
-- return n < 10 ? '0' + n.toString(10) : n.toString(10);
--}
--
--
--var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
-- 'Oct', 'Nov', 'Dec'];
--
--// 26 Feb 16:19:34
--function timestamp() {
-- var d = new Date();
-- var time = [pad(d.getHours()),
-- pad(d.getMinutes()),
-- pad(d.getSeconds())].join(':');
-- return [d.getDate(), months[d.getMonth()], time].join(' ');
--}
--
--
--// log is just a thin wrapper to console.log that prepends a timestamp
--exports.log = function() {
-- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
--};
--
--
--/**
-- * Inherit the prototype methods from one constructor into another.
-- *
-- * The Function.prototype.inherits from lang.js rewritten as a standalone
-- * function (not on Function.prototype). NOTE: If this file is to be loaded
-- * during bootstrapping this function needs to be rewritten using some native
-- * functions as prototype setup using normal JavaScript does not work as
-- * expected during bootstrapping (see mirror.js in r114903).
-- *
-- * @param {function} ctor Constructor function which needs to inherit the
-- * prototype.
-- * @param {function} superCtor Constructor function to inherit prototype from.
-- */
--exports.inherits = function(ctor, superCtor) {
-- ctor.super_ = superCtor;
-- ctor.prototype = Object.create(superCtor.prototype, {
-- constructor: {
-- value: ctor,
-- enumerable: false,
-- writable: true,
-- configurable: true
-- }
-- });
--};
--
--exports._extend = function(origin, add) {
-- // Don't do anything if add isn't an object
-- if (!add || !isObject(add)) return origin;
--
-- var keys = Object.keys(add);
-- var i = keys.length;
-- while (i--) {
-- origin[keys[i]] = add[keys[i]];
-- }
-- return origin;
--};
--
--function hasOwnProperty(obj, prop) {
-- return Object.prototype.hasOwnProperty.call(obj, prop);
--}
--
--
--// Deprecated old stuff.
--
--exports.p = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- console.error(exports.inspect(arguments[i]));
-- }
--}, 'util.p: Use console.error() instead');
--
--
--exports.exec = exports.deprecate(function() {
-- return require('child_process').exec.apply(this, arguments);
--}, 'util.exec is now called `child_process.exec`.');
--
--
--exports.print = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stdout.write(String(arguments[i]));
-- }
--}, 'util.print: Use console.log instead');
--
--
--exports.puts = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stdout.write(arguments[i] + '\n');
-- }
--}, 'util.puts: Use console.log instead');
--
--
--exports.debug = exports.deprecate(function(x) {
-- process.stderr.write('DEBUG: ' + x + '\n');
--}, 'util.debug: Use console.error instead');
--
--
--exports.error = exports.deprecate(function(x) {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stderr.write(arguments[i] + '\n');
-- }
--}, 'util.error: Use console.error instead');
--
--
--exports.pump = exports.deprecate(function(readStream, writeStream, callback) {
-- var callbackCalled = false;
--
-- function call(a, b, c) {
-- if (callback && !callbackCalled) {
-- callback(a, b, c);
-- callbackCalled = true;
-- }
-- }
--
-- readStream.addListener('data', function(chunk) {
-- if (writeStream.write(chunk) === false) readStream.pause();
-- });
--
-- writeStream.addListener('drain', function() {
-- readStream.resume();
-- });
--
-- readStream.addListener('end', function() {
-- writeStream.end();
-- });
--
-- readStream.addListener('close', function() {
-- call();
-- });
--
-- readStream.addListener('error', function(err) {
-- writeStream.end();
-- call(err);
-- });
--
-- writeStream.addListener('error', function(err) {
-- readStream.destroy();
-- call(err);
-- });
--}, 'util.pump(): Use readableStream.pipe() instead');
--
--
--var uv;
--exports._errnoException = function(err, syscall) {
-- if (isUndefined(uv)) uv = process.binding('uv');
-- var errname = uv.errname(err);
-- var e = new Error(syscall + ' ' + errname);
-- e.code = errname;
-- e.errno = errname;
-- e.syscall = syscall;
-- return e;
--};
-+} \ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
deleted file mode 100644
index 9074e8ebcb..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) &&
- (objectToString(e) === '[object Error]' || e instanceof Error);
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return Buffer.isBuffer(arg);
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json
deleted file mode 100644
index 466dfdfe01..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "core-util-is",
- "version": "1.0.1",
- "description": "The `util.is*` functions introduced in Node v0.12.",
- "main": "lib/util.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/core-util-is.git"
- },
- "keywords": [
- "util",
- "isBuffer",
- "isArray",
- "isNumber",
- "isString",
- "isRegExp",
- "isThis",
- "isThat",
- "polyfill"
- ],
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/isaacs/core-util-is/issues"
- },
- "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
- "readmeFilename": "README.md",
- "homepage": "https://github.com/isaacs/core-util-is",
- "_id": "core-util-is@1.0.1",
- "dist": {
- "shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "tarball": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
- },
- "_from": "core-util-is@>=1.0.0 <1.1.0",
- "_npmVersion": "1.3.23",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "directories": {},
- "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js
deleted file mode 100644
index 007fa10575..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/util.js
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) && objectToString(e) === '[object Error]';
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return arg instanceof Buffer;
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/README.md b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/README.md
deleted file mode 100644
index 052a62b8d7..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-
-# isarray
-
-`Array#isArray` for older browsers.
-
-## Usage
-
-```js
-var isArray = require('isarray');
-
-console.log(isArray([])); // => true
-console.log(isArray({})); // => false
-```
-
-## Installation
-
-With [npm](http://npmjs.org) do
-
-```bash
-$ npm install isarray
-```
-
-Then bundle for the browser with
-[browserify](https://github.com/substack/browserify).
-
-With [component](http://component.io) do
-
-```bash
-$ component install juliangruber/isarray
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/build/build.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/build/build.js
deleted file mode 100644
index e1856ef094..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/build/build.js
+++ /dev/null
@@ -1,208 +0,0 @@
-
-/**
- * Require the given path.
- *
- * @param {String} path
- * @return {Object} exports
- * @api public
- */
-
-function require(path, parent, orig) {
- var resolved = require.resolve(path);
-
- // lookup failed
- if (null == resolved) {
- orig = orig || path;
- parent = parent || 'root';
- var err = new Error('Failed to require "' + orig + '" from "' + parent + '"');
- err.path = orig;
- err.parent = parent;
- err.require = true;
- throw err;
- }
-
- var module = require.modules[resolved];
-
- // perform real require()
- // by invoking the module's
- // registered function
- if (!module.exports) {
- module.exports = {};
- module.client = module.component = true;
- module.call(this, module.exports, require.relative(resolved), module);
- }
-
- return module.exports;
-}
-
-/**
- * Registered modules.
- */
-
-require.modules = {};
-
-/**
- * Registered aliases.
- */
-
-require.aliases = {};
-
-/**
- * Resolve `path`.
- *
- * Lookup:
- *
- * - PATH/index.js
- * - PATH.js
- * - PATH
- *
- * @param {String} path
- * @return {String} path or null
- * @api private
- */
-
-require.resolve = function(path) {
- if (path.charAt(0) === '/') path = path.slice(1);
- var index = path + '/index.js';
-
- var paths = [
- path,
- path + '.js',
- path + '.json',
- path + '/index.js',
- path + '/index.json'
- ];
-
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- if (require.modules.hasOwnProperty(path)) return path;
- }
-
- if (require.aliases.hasOwnProperty(index)) {
- return require.aliases[index];
- }
-};
-
-/**
- * Normalize `path` relative to the current path.
- *
- * @param {String} curr
- * @param {String} path
- * @return {String}
- * @api private
- */
-
-require.normalize = function(curr, path) {
- var segs = [];
-
- if ('.' != path.charAt(0)) return path;
-
- curr = curr.split('/');
- path = path.split('/');
-
- for (var i = 0; i < path.length; ++i) {
- if ('..' == path[i]) {
- curr.pop();
- } else if ('.' != path[i] && '' != path[i]) {
- segs.push(path[i]);
- }
- }
-
- return curr.concat(segs).join('/');
-};
-
-/**
- * Register module at `path` with callback `definition`.
- *
- * @param {String} path
- * @param {Function} definition
- * @api private
- */
-
-require.register = function(path, definition) {
- require.modules[path] = definition;
-};
-
-/**
- * Alias a module definition.
- *
- * @param {String} from
- * @param {String} to
- * @api private
- */
-
-require.alias = function(from, to) {
- if (!require.modules.hasOwnProperty(from)) {
- throw new Error('Failed to alias "' + from + '", it does not exist');
- }
- require.aliases[to] = from;
-};
-
-/**
- * Return a require function relative to the `parent` path.
- *
- * @param {String} parent
- * @return {Function}
- * @api private
- */
-
-require.relative = function(parent) {
- var p = require.normalize(parent, '..');
-
- /**
- * lastIndexOf helper.
- */
-
- function lastIndexOf(arr, obj) {
- var i = arr.length;
- while (i--) {
- if (arr[i] === obj) return i;
- }
- return -1;
- }
-
- /**
- * The relative require() itself.
- */
-
- function localRequire(path) {
- var resolved = localRequire.resolve(path);
- return require(resolved, parent, path);
- }
-
- /**
- * Resolve relative to the parent.
- */
-
- localRequire.resolve = function(path) {
- var c = path.charAt(0);
- if ('/' == c) return path.slice(1);
- if ('.' == c) return require.normalize(p, path);
-
- // resolve deps by returning
- // the dep in the nearest "deps"
- // directory
- var segs = parent.split('/');
- var i = lastIndexOf(segs, 'deps') + 1;
- if (!i) i = 0;
- path = segs.slice(0, i + 1).join('/') + '/deps/' + path;
- return path;
- };
-
- /**
- * Check if module is defined at `path`.
- */
-
- localRequire.exists = function(path) {
- return require.modules.hasOwnProperty(localRequire.resolve(path));
- };
-
- return localRequire;
-};
-require.register("isarray/index.js", function(exports, require, module){
-module.exports = Array.isArray || function (arr) {
- return Object.prototype.toString.call(arr) == '[object Array]';
-};
-
-});
-require.alias("isarray/index.js", "isarray/index.js");
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json
deleted file mode 100644
index 9e31b68388..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/component.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name" : "isarray",
- "description" : "Array#isArray for older browsers",
- "version" : "0.0.1",
- "repository" : "juliangruber/isarray",
- "homepage": "https://github.com/juliangruber/isarray",
- "main" : "index.js",
- "scripts" : [
- "index.js"
- ],
- "dependencies" : {},
- "keywords": ["browser","isarray","array"],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT"
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js
deleted file mode 100644
index 5f5ad45d46..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = Array.isArray || function (arr) {
- return Object.prototype.toString.call(arr) == '[object Array]';
-};
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json
deleted file mode 100644
index 19228ab6fd..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/isarray/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "isarray",
- "description": "Array#isArray for older browsers",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/isarray.git"
- },
- "homepage": "https://github.com/juliangruber/isarray",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "*"
- },
- "keywords": [
- "browser",
- "isarray",
- "array"
- ],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT",
- "_id": "isarray@0.0.1",
- "dist": {
- "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "tarball": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
- },
- "_from": "isarray@0.0.1",
- "_npmVersion": "1.2.18",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
- "maintainers": [
- {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- }
- ],
- "directories": {},
- "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "bugs": {
- "url": "https://github.com/juliangruber/isarray/issues"
- },
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml
deleted file mode 100644
index 5ac9885534..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-language: node_js
-node_js:
- - "0.8"
- - "0.10"
- - "0.11"
- - "0.12"
- - "iojs"
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/index.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/index.js
deleted file mode 100644
index 049521cad7..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-module.exports = nextTick;
-
-function nextTick(fn) {
- var args = new Array(arguments.length - 1);
- var i = 0;
- while (i < args.length) {
- args[i++] = arguments[i];
- }
- process.nextTick(function afterTick() {
- fn.apply(null, args);
- });
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/package.json b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/package.json
deleted file mode 100644
index 087586e8f8..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/package.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "name": "process-nextick-args",
- "version": "1.0.3",
- "description": "process.nextTick but always with args",
- "main": "index.js",
- "scripts": {
- "test": "node test.js"
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/calvinmetcalf/process-nextick-args.git"
- },
- "author": "",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/calvinmetcalf/process-nextick-args/issues"
- },
- "homepage": "https://github.com/calvinmetcalf/process-nextick-args",
- "devDependencies": {
- "tap": "~0.2.6"
- },
- "gitHead": "e855846a69662b9489f1ad3dde1ebf2ccc4370b8",
- "_id": "process-nextick-args@1.0.3",
- "_shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
- "_from": "process-nextick-args@>=1.0.0 <1.1.0",
- "_npmVersion": "2.9.0",
- "_nodeVersion": "2.5.0",
- "_npmUser": {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- },
- "dist": {
- "shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
- "tarball": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"
- },
- "maintainers": [
- {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/readme.md b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/readme.md
deleted file mode 100644
index 78e7cfaeb7..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-process-nextick-args
-=====
-
-[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args)
-
-```bash
-npm install --save process-nextick-args
-```
-
-Always be able to pass arguments to process.nextTick, no matter the platform
-
-```js
-var nextTick = require('process-nextick-args');
-
-nextTick(function (a, b, c) {
- console.log(a, b, c);
-}, 'step', 3, 'profit');
-```
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/test.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/test.js
deleted file mode 100644
index ef15721584..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/test.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var test = require("tap").test;
-var nextTick = require('./');
-
-test('should work', function (t) {
- t.plan(5);
- nextTick(function (a) {
- t.ok(a);
- nextTick(function (thing) {
- t.equals(thing, 7);
- }, 7);
- }, true);
- nextTick(function (a, b, c) {
- t.equals(a, 'step');
- t.equals(b, 3);
- t.equals(c, 'profit');
- }, 'step', 3, 'profit');
-});
-
-test('correct number of arguments', function (t) {
- t.plan(1);
- nextTick(function () {
- t.equals(2, arguments.length, 'correct number');
- }, 1, 2);
-});
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/.npmignore b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/.npmignore
deleted file mode 100644
index 206320cc1d..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build
-test
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE
deleted file mode 100644
index 6de584a48f..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright Joyent, Inc. and other Node contributors.
-
-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/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/README.md b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/README.md
deleted file mode 100644
index 4d2aa00150..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-**string_decoder.js** (`require('string_decoder')`) from Node.js core
-
-Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details.
-
-Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**
-
-The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. \ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/index.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/index.js
deleted file mode 100644
index b00e54fb79..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/index.js
+++ /dev/null
@@ -1,221 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-var Buffer = require('buffer').Buffer;
-
-var isBufferEncoding = Buffer.isEncoding
- || function(encoding) {
- switch (encoding && encoding.toLowerCase()) {
- case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
- default: return false;
- }
- }
-
-
-function assertEncoding(encoding) {
- if (encoding && !isBufferEncoding(encoding)) {
- throw new Error('Unknown encoding: ' + encoding);
- }
-}
-
-// StringDecoder provides an interface for efficiently splitting a series of
-// buffers into a series of JS strings without breaking apart multi-byte
-// characters. CESU-8 is handled as part of the UTF-8 encoding.
-//
-// @TODO Handling all encodings inside a single object makes it very difficult
-// to reason about this code, so it should be split up in the future.
-// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
-// points as used by CESU-8.
-var StringDecoder = exports.StringDecoder = function(encoding) {
- this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
- assertEncoding(encoding);
- switch (this.encoding) {
- case 'utf8':
- // CESU-8 represents each of Surrogate Pair by 3-bytes
- this.surrogateSize = 3;
- break;
- case 'ucs2':
- case 'utf16le':
- // UTF-16 represents each of Surrogate Pair by 2-bytes
- this.surrogateSize = 2;
- this.detectIncompleteChar = utf16DetectIncompleteChar;
- break;
- case 'base64':
- // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
- this.surrogateSize = 3;
- this.detectIncompleteChar = base64DetectIncompleteChar;
- break;
- default:
- this.write = passThroughWrite;
- return;
- }
-
- // Enough space to store all bytes of a single character. UTF-8 needs 4
- // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
- this.charBuffer = new Buffer(6);
- // Number of bytes received for the current incomplete multi-byte character.
- this.charReceived = 0;
- // Number of bytes expected for the current incomplete multi-byte character.
- this.charLength = 0;
-};
-
-
-// write decodes the given buffer and returns it as JS string that is
-// guaranteed to not contain any partial multi-byte characters. Any partial
-// character found at the end of the buffer is buffered up, and will be
-// returned when calling write again with the remaining bytes.
-//
-// Note: Converting a Buffer containing an orphan surrogate to a String
-// currently works, but converting a String to a Buffer (via `new Buffer`, or
-// Buffer#write) will replace incomplete surrogates with the unicode
-// replacement character. See https://codereview.chromium.org/121173009/ .
-StringDecoder.prototype.write = function(buffer) {
- var charStr = '';
- // if our last write ended with an incomplete multibyte character
- while (this.charLength) {
- // determine how many remaining bytes this buffer has to offer for this char
- var available = (buffer.length >= this.charLength - this.charReceived) ?
- this.charLength - this.charReceived :
- buffer.length;
-
- // add the new bytes to the char buffer
- buffer.copy(this.charBuffer, this.charReceived, 0, available);
- this.charReceived += available;
-
- if (this.charReceived < this.charLength) {
- // still not enough chars in this buffer? wait for more ...
- return '';
- }
-
- // remove bytes belonging to the current character from the buffer
- buffer = buffer.slice(available, buffer.length);
-
- // get the character that was split
- charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
-
- // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
- var charCode = charStr.charCodeAt(charStr.length - 1);
- if (charCode >= 0xD800 && charCode <= 0xDBFF) {
- this.charLength += this.surrogateSize;
- charStr = '';
- continue;
- }
- this.charReceived = this.charLength = 0;
-
- // if there are no more bytes in this buffer, just emit our char
- if (buffer.length === 0) {
- return charStr;
- }
- break;
- }
-
- // determine and set charLength / charReceived
- this.detectIncompleteChar(buffer);
-
- var end = buffer.length;
- if (this.charLength) {
- // buffer the incomplete character bytes we got
- buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
- end -= this.charReceived;
- }
-
- charStr += buffer.toString(this.encoding, 0, end);
-
- var end = charStr.length - 1;
- var charCode = charStr.charCodeAt(end);
- // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
- if (charCode >= 0xD800 && charCode <= 0xDBFF) {
- var size = this.surrogateSize;
- this.charLength += size;
- this.charReceived += size;
- this.charBuffer.copy(this.charBuffer, size, 0, size);
- buffer.copy(this.charBuffer, 0, 0, size);
- return charStr.substring(0, end);
- }
-
- // or just emit the charStr
- return charStr;
-};
-
-// detectIncompleteChar determines if there is an incomplete UTF-8 character at
-// the end of the given buffer. If so, it sets this.charLength to the byte
-// length that character, and sets this.charReceived to the number of bytes
-// that are available for this character.
-StringDecoder.prototype.detectIncompleteChar = function(buffer) {
- // determine how many bytes we have to check at the end of this buffer
- var i = (buffer.length >= 3) ? 3 : buffer.length;
-
- // Figure out if one of the last i bytes of our buffer announces an
- // incomplete char.
- for (; i > 0; i--) {
- var c = buffer[buffer.length - i];
-
- // See http://en.wikipedia.org/wiki/UTF-8#Description
-
- // 110XXXXX
- if (i == 1 && c >> 5 == 0x06) {
- this.charLength = 2;
- break;
- }
-
- // 1110XXXX
- if (i <= 2 && c >> 4 == 0x0E) {
- this.charLength = 3;
- break;
- }
-
- // 11110XXX
- if (i <= 3 && c >> 3 == 0x1E) {
- this.charLength = 4;
- break;
- }
- }
- this.charReceived = i;
-};
-
-StringDecoder.prototype.end = function(buffer) {
- var res = '';
- if (buffer && buffer.length)
- res = this.write(buffer);
-
- if (this.charReceived) {
- var cr = this.charReceived;
- var buf = this.charBuffer;
- var enc = this.encoding;
- res += buf.slice(0, cr).toString(enc);
- }
-
- return res;
-};
-
-function passThroughWrite(buffer) {
- return buffer.toString(this.encoding);
-}
-
-function utf16DetectIncompleteChar(buffer) {
- this.charReceived = buffer.length % 2;
- this.charLength = this.charReceived ? 2 : 0;
-}
-
-function base64DetectIncompleteChar(buffer) {
- this.charReceived = buffer.length % 3;
- this.charLength = this.charReceived ? 3 : 0;
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/History.md b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/History.md
deleted file mode 100644
index ec010299b1..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/History.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-1.0.1 / 2014-11-25
-==================
-
- * browser: use `console.warn()` for deprecation calls
- * browser: more jsdocs
-
-1.0.0 / 2014-04-30
-==================
-
- * initial commit
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/LICENSE b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/LICENSE
deleted file mode 100644
index 6a60e8c225..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
-
-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/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/README.md b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/README.md
deleted file mode 100644
index 75622fa7c2..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-util-deprecate
-==============
-### The Node.js `util.deprecate()` function with browser support
-
-In Node.js, this module simply re-exports the `util.deprecate()` function.
-
-In the web browser (i.e. via browserify), a browser-specific implementation
-of the `util.deprecate()` function is used.
-
-
-## API
-
-A `deprecate()` function is the only thing exposed by this module.
-
-``` javascript
-// setup:
-exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');
-
-
-// users see:
-foo();
-// foo() is deprecated, use bar() instead
-foo();
-foo();
-```
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
-
-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/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/browser.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/browser.js
deleted file mode 100644
index 55fa5a4bc6..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/browser.js
+++ /dev/null
@@ -1,62 +0,0 @@
-
-/**
- * Module exports.
- */
-
-module.exports = deprecate;
-
-/**
- * Mark that a method should not be used.
- * Returns a modified function which warns once by default.
- *
- * If `localStorage.noDeprecation = true` is set, then it is a no-op.
- *
- * If `localStorage.throwDeprecation = true` is set, then deprecated functions
- * will throw an Error when invoked.
- *
- * If `localStorage.traceDeprecation = true` is set, then deprecated functions
- * will invoke `console.trace()` instead of `console.error()`.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
- if (config('noDeprecation')) {
- return fn;
- }
-
- var warned = false;
- function deprecated() {
- if (!warned) {
- if (config('throwDeprecation')) {
- throw new Error(msg);
- } else if (config('traceDeprecation')) {
- console.trace(msg);
- } else {
- console.warn(msg);
- }
- warned = true;
- }
- return fn.apply(this, arguments);
- }
-
- return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
- if (!global.localStorage) return false;
- var val = global.localStorage[name];
- if (null == val) return false;
- return String(val).toLowerCase() === 'true';
-}
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/node.js b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/node.js
deleted file mode 100644
index 5e6fcff5dd..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/node.js
+++ /dev/null
@@ -1,6 +0,0 @@
-
-/**
- * For Node.js, simply re-export the core `util.deprecate` function.
- */
-
-module.exports = require('util').deprecate;
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/package.json b/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/package.json
deleted file mode 100644
index ea487da0e4..0000000000
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "util-deprecate",
- "version": "1.0.1",
- "description": "The Node.js `util.deprecate()` function with browser support",
- "main": "node.js",
- "browser": "browser.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/util-deprecate.git"
- },
- "keywords": [
- "util",
- "deprecate",
- "browserify",
- "browser",
- "node"
- ],
- "author": {
- "name": "Nathan Rajlich",
- "email": "nathan@tootallnate.net",
- "url": "http://n8.io/"
- },
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/TooTallNate/util-deprecate/issues"
- },
- "homepage": "https://github.com/TooTallNate/util-deprecate",
- "gitHead": "6e923f7d98a0afbe5b9c7db9d0f0029c1936746c",
- "_id": "util-deprecate@1.0.1",
- "_shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
- "_from": "util-deprecate@>=1.0.1 <1.1.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- },
- "maintainers": [
- {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
- }
- ],
- "dist": {
- "shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
- "tarball": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
deleted file mode 100644
index 4906755bc9..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-module.exports = function () {
- return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
-};
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
deleted file mode 100644
index 7fc07677a0..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "name": "ansi-regex",
- "version": "2.0.0",
- "description": "Regular expression for matching ANSI escape codes",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/ansi-regex.git"
- },
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "mocha test/test.js",
- "view-supported": "node test/viewCodes.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "text",
- "regex",
- "regexp",
- "re",
- "match",
- "test",
- "find",
- "pattern"
- ],
- "devDependencies": {
- "mocha": "*"
- },
- "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
- "bugs": {
- "url": "https://github.com/sindresorhus/ansi-regex/issues"
- },
- "homepage": "https://github.com/sindresorhus/ansi-regex",
- "_id": "ansi-regex@2.0.0",
- "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "_from": "ansi-regex@>=2.0.0 <3.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
deleted file mode 100644
index 1a4894ec11..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex)
-
-> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install --save ansi-regex
-```
-
-
-## Usage
-
-```js
-var ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001b[4mcake\u001b[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001b[4mcake\u001b[0m'.match(ansiRegex());
-//=> ['\u001b[4m', '\u001b[0m']
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/index.js b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/index.js
deleted file mode 100644
index 099480fbfc..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var ansiRegex = require('ansi-regex')();
-
-module.exports = function (str) {
- return typeof str === 'string' ? str.replace(ansiRegex, '') : str;
-};
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.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/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
deleted file mode 100644
index 4906755bc9..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-module.exports = function () {
- return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
-};
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.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/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
deleted file mode 100644
index 7fc07677a0..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "name": "ansi-regex",
- "version": "2.0.0",
- "description": "Regular expression for matching ANSI escape codes",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/ansi-regex.git"
- },
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "mocha test/test.js",
- "view-supported": "node test/viewCodes.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "text",
- "regex",
- "regexp",
- "re",
- "match",
- "test",
- "find",
- "pattern"
- ],
- "devDependencies": {
- "mocha": "*"
- },
- "gitHead": "57c3f2941a73079fa8b081e02a522e3d29913e2f",
- "bugs": {
- "url": "https://github.com/sindresorhus/ansi-regex/issues"
- },
- "homepage": "https://github.com/sindresorhus/ansi-regex",
- "_id": "ansi-regex@2.0.0",
- "_shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "_from": "ansi-regex@>=2.0.0 <3.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- "dist": {
- "shasum": "c5061b6e0ef8a81775e50f5d66151bf6bf371107",
- "tarball": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
deleted file mode 100644
index 1a4894ec11..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# ansi-regex [![Build Status](https://travis-ci.org/sindresorhus/ansi-regex.svg?branch=master)](https://travis-ci.org/sindresorhus/ansi-regex)
-
-> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install --save ansi-regex
-```
-
-
-## Usage
-
-```js
-var ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001b[4mcake\u001b[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001b[4mcake\u001b[0m'.match(ansiRegex());
-//=> ['\u001b[4m', '\u001b[0m']
-```
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/readme.md
deleted file mode 100644
index 76091512df..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/readme.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# strip-ansi [![Build Status](https://travis-ci.org/sindresorhus/strip-ansi.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-ansi)
-
-> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install --save strip-ansi
-```
-
-
-## Usage
-
-```js
-var stripAnsi = require('strip-ansi');
-
-stripAnsi('\u001b[4mcake\u001b[0m');
-//=> 'cake'
-```
-
-
-## Related
-
-- [strip-ansi-cli](https://github.com/sindresorhus/strip-ansi-cli) - CLI for this module
-- [has-ansi](https://github.com/sindresorhus/has-ansi) - Check if a string has ANSI escape codes
-- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes
-- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.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/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.travis.yml b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.travis.yml
deleted file mode 100644
index 6e5919de39..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-function/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.travis.yml b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.travis.yml
deleted file mode 100644
index 6e5919de39..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json
deleted file mode 100644
index 4b0677650b..0000000000
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/package.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "name": "jsonpointer",
- "description": "Simple JSON Addressing.",
- "tags": [
- "util",
- "simple",
- "util",
- "utility"
- ],
- "version": "2.0.0",
- "author": {
- "name": "Jan Lehnardt",
- "email": "jan@apache.org"
- },
- "contributors": [
- {
- "name": "Joe Hildebrand",
- "email": "joe-github@cursive.net"
- }
- ],
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/janl/node-jsonpointer.git"
- },
- "bugs": {
- "url": "http://github.com/janl/node-jsonpointer/issues"
- },
- "engines": {
- "node": ">=0.6.0"
- },
- "main": "./jsonpointer",
- "scripts": {
- "test": "node test.js"
- },
- "license": "MIT",
- "gitHead": "26ea4a5c0fcb6d9a2e87f733403791dd05637af8",
- "homepage": "https://github.com/janl/node-jsonpointer#readme",
- "_id": "jsonpointer@2.0.0",
- "_shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
- "_from": "jsonpointer@2.0.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "0.10.36",
- "_npmUser": {
- "name": "marcbachmann",
- "email": "marc.brookman@gmail.com"
- },
- "maintainers": [
- {
- "name": "jan",
- "email": "jan@apache.org"
- },
- {
- "name": "marcbachmann",
- "email": "marc.brookman@gmail.com"
- }
- ],
- "dist": {
- "shasum": "3af1dd20fe85463910d469a385e33017d2a030d9",
- "tarball": "http://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json b/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json
deleted file mode 100644
index c33f8a5742..0000000000
--- a/deps/npm/node_modules/request/node_modules/http-signature/node_modules/ctype/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "ctype",
- "version": "0.5.3",
- "description": "read and write binary structures and data types",
- "homepage": "https://github.com/rmustacc/node-ctype",
- "author": {
- "name": "Robert Mustacchi",
- "email": "rm@fingolfin.org"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "main": "ctype.js",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/rmustacc/node-ctype.git"
- },
- "_id": "ctype@0.5.3",
- "dist": {
- "shasum": "82c18c2461f74114ef16c135224ad0b9144ca12f",
- "tarball": "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
- },
- "_npmVersion": "1.1.59",
- "_npmUser": {
- "name": "rm",
- "email": "rm@fingolfin.org"
- },
- "maintainers": [
- {
- "name": "rm",
- "email": "rm@fingolfin.org"
- }
- ],
- "directories": {},
- "_shasum": "82c18c2461f74114ef16c135224ad0b9144ca12f",
- "_resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
- "_from": "ctype@0.5.3",
- "bugs": {
- "url": "https://github.com/rmustacc/node-ctype/issues"
- },
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json b/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json
deleted file mode 100644
index 2e3337b7cc..0000000000
--- a/deps/npm/node_modules/request/node_modules/mime-types/node_modules/mime-db/package.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "name": "mime-db",
- "description": "Media Type Database",
- "version": "1.19.0",
- "contributors": [
- {
- "name": "Douglas Christopher Wilson",
- "email": "doug@somethingdoug.com"
- },
- {
- "name": "Jonathan Ong",
- "email": "me@jongleberry.com",
- "url": "http://jongleberry.com"
- },
- {
- "name": "Robert Kieffer",
- "email": "robert@broofa.com",
- "url": "http://github.com/broofa"
- }
- ],
- "license": "MIT",
- "keywords": [
- "mime",
- "db",
- "type",
- "types",
- "database",
- "charset",
- "charsets"
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/jshttp/mime-db.git"
- },
- "devDependencies": {
- "bluebird": "2.10.0",
- "co": "4.6.0",
- "cogent": "1.0.1",
- "csv-parse": "1.0.0",
- "gnode": "0.1.1",
- "istanbul": "0.3.20",
- "mocha": "1.21.5",
- "raw-body": "2.1.3",
- "stream-to-array": "2"
- },
- "files": [
- "HISTORY.md",
- "LICENSE",
- "README.md",
- "db.json",
- "index.js"
- ],
- "engines": {
- "node": ">= 0.6"
- },
- "scripts": {
- "build": "node scripts/build",
- "fetch": "gnode scripts/fetch-apache && gnode scripts/fetch-iana && gnode scripts/fetch-nginx",
- "test": "mocha --reporter spec --bail --check-leaks test/",
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
- "update": "npm run fetch && npm run build"
- },
- "gitHead": "46a40f0524a01fb3075a7ecde92e8e04fc93d599",
- "bugs": {
- "url": "https://github.com/jshttp/mime-db/issues"
- },
- "homepage": "https://github.com/jshttp/mime-db",
- "_id": "mime-db@1.19.0",
- "_shasum": "496a18198a7ce8244534e25bb102b74fb420fd56",
- "_from": "mime-db@>=1.19.0 <1.20.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "dougwilson",
- "email": "doug@somethingdoug.com"
- },
- "maintainers": [
- {
- "name": "jongleberry",
- "email": "jonathanrichardong@gmail.com"
- },
- {
- "name": "dougwilson",
- "email": "doug@somethingdoug.com"
- }
- ],
- "dist": {
- "shasum": "496a18198a7ce8244534e25bb102b74fb420fd56",
- "tarball": "http://registry.npmjs.org/mime-db/-/mime-db-1.19.0.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.19.0.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/request/node_modules/node-uuid/.npmignore b/deps/npm/node_modules/request/node_modules/node-uuid/.npmignore
deleted file mode 100644
index fd4f2b066b..0000000000
--- a/deps/npm/node_modules/request/node_modules/node-uuid/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-.DS_Store
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/.jshintrc b/deps/npm/node_modules/request/node_modules/tough-cookie/.jshintrc
deleted file mode 100644
index fb11913a41..0000000000
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/.jshintrc
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- "passfail" : false,
- "maxerr" : 100,
-
- "browser" : false,
- "node" : true,
- "rhino" : false,
- "couch" : false,
- "wsh" : false,
-
- "jquery" : false,
- "prototypejs" : false,
- "mootools" : false,
- "dojo" : false,
-
- "debug" : false,
- "devel" : false,
-
- "esnext" : true,
- "strict" : true,
- "globalstrict" : true,
-
- "asi" : false,
- "laxbreak" : false,
- "bitwise" : true,
- "boss" : false,
- "curly" : true,
- "eqeqeq" : false,
- "eqnull" : true,
- "evil" : false,
- "expr" : false,
- "forin" : false,
- "immed" : true,
- "lastsemic" : true,
- "latedef" : false,
- "loopfunc" : false,
- "noarg" : true,
- "regexp" : false,
- "regexdash" : false,
- "scripturl" : false,
- "shadow" : false,
- "supernew" : false,
- "undef" : true,
- "unused" : true,
-
- "newcap" : true,
- "noempty" : true,
- "nonew" : true,
- "nomen" : false,
- "onevar" : false,
- "onecase" : true,
- "plusplus" : false,
- "proto" : false,
- "sub" : true,
- "trailing" : true,
- "white" : false,
-
- "predef": [
- "describe",
- "it",
- "before",
- "beforeEach",
- "after",
- "afterEach",
- "expect",
- "setTimeout",
- "clearTimeout"
- ],
- "maxlen": 0
-}
diff --git a/deps/npm/node_modules/request/package.json b/deps/npm/node_modules/request/package.json
index 0700cd724f..3653b72c6e 100644
--- a/deps/npm/node_modules/request/package.json
+++ b/deps/npm/node_modules/request/package.json
@@ -1,58 +1,69 @@
{
- "name": "request",
- "description": "Simplified HTTP request client.",
- "tags": [
- "http",
- "simple",
- "util",
- "utility"
+ "_args": [
+ [
+ "request@2",
+ "/Users/rebecca/code/npm/node_modules/node-gyp"
+ ]
],
- "version": "2.64.0",
- "author": {
- "name": "Mikeal Rogers",
- "email": "mikeal.rogers@gmail.com"
+ "_from": "request@>=2.0.0 <3.0.0",
+ "_id": "request@2.64.0",
+ "_inCache": true,
+ "_location": "/request",
+ "_nodeVersion": "4.1.0",
+ "_npmUser": {
+ "email": "simeonvelichkov@gmail.com",
+ "name": "simov"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/request/request.git"
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "request",
+ "raw": "request@2",
+ "rawSpec": "2",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp",
+ "/npm-registry-client"
+ ],
+ "_resolved": "https://registry.npmjs.org/request/-/request-2.64.0.tgz",
+ "_shasum": "96a582423ce9b4b5c34e9b232e480173f14ba608",
+ "_shrinkwrap": null,
+ "_spec": "request@2",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
+ "author": {
+ "email": "mikeal.rogers@gmail.com",
+ "name": "Mikeal Rogers"
},
"bugs": {
"url": "http://github.com/request/request/issues"
},
- "license": "Apache-2.0",
- "engines": {
- "node": ">=0.8.0"
- },
- "main": "index.js",
"dependencies": {
+ "aws-sign2": "~0.5.0",
"bl": "~1.0.0",
"caseless": "~0.11.0",
+ "combined-stream": "~1.0.1",
"extend": "~3.0.0",
"forever-agent": "~0.6.0",
"form-data": "~1.0.0-rc1",
+ "har-validator": "^1.6.1",
+ "hawk": "~3.1.0",
+ "http-signature": "~0.11.0",
+ "isstream": "~0.1.1",
"json-stringify-safe": "~5.0.0",
"mime-types": "~2.1.2",
"node-uuid": "~1.4.0",
- "qs": "~5.1.0",
- "tunnel-agent": "~0.4.0",
- "tough-cookie": ">=0.12.0",
- "http-signature": "~0.11.0",
"oauth-sign": "~0.8.0",
- "hawk": "~3.1.0",
- "aws-sign2": "~0.5.0",
+ "qs": "~5.1.0",
"stringstream": "~0.0.4",
- "combined-stream": "~1.0.1",
- "isstream": "~0.1.1",
- "har-validator": "^1.6.1"
- },
- "scripts": {
- "test": "npm run lint && npm run test-ci && npm run test-browser",
- "test-ci": "taper tests/test-*.js",
- "test-cov": "istanbul cover tape tests/test-*.js",
- "test-browser": "node tests/browser/start.js",
- "lint": "eslint lib/ *.js tests/ && echo Lint passed."
+ "tough-cookie": ">=0.12.0",
+ "tunnel-agent": "~0.4.0"
},
+ "description": "Simplified HTTP request client.",
"devDependencies": {
+ "bluebird": "~2.9.21",
"browserify": "~5.9.1",
"browserify-istanbul": "~0.1.3",
"buffer-equal": "0.0.1",
@@ -70,20 +81,21 @@
"rimraf": "~2.2.8",
"server-destroy": "~1.0.0",
"tape": "~3.0.0",
- "taper": "~0.4.0",
- "bluebird": "~2.9.21"
+ "taper": "~0.4.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "96a582423ce9b4b5c34e9b232e480173f14ba608",
+ "tarball": "http://registry.npmjs.org/request/-/request-2.64.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.8.0"
},
"gitHead": "ca364485249f13c4810bb9b3952fb0fb886a93ee",
"homepage": "https://github.com/request/request#readme",
- "_id": "request@2.64.0",
- "_shasum": "96a582423ce9b4b5c34e9b232e480173f14ba608",
- "_from": "request@2.64.0",
- "_npmVersion": "2.14.3",
- "_nodeVersion": "4.1.0",
- "_npmUser": {
- "name": "simov",
- "email": "simeonvelichkov@gmail.com"
- },
+ "installable": true,
+ "license": "Apache-2.0",
+ "main": "index.js",
"maintainers": [
{
"name": "mikeal",
@@ -102,11 +114,26 @@
"email": "simeonvelichkov@gmail.com"
}
],
- "dist": {
- "shasum": "96a582423ce9b4b5c34e9b232e480173f14ba608",
- "tarball": "http://registry.npmjs.org/request/-/request-2.64.0.tgz"
+ "name": "request",
+ "optionalDependencies": {},
+ "readme": "\n# Request - Simplified HTTP client\n\n[![npm package](https://nodei.co/npm/request.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/request/)\n\n[![Build status](https://img.shields.io/travis/request/request.svg?style=flat-square)](https://travis-ci.org/request/request)\n[![Coverage](https://img.shields.io/codecov/c/github/request/request.svg?style=flat-square)](https://codecov.io/github/request/request?branch=master)\n[![Coverage](https://img.shields.io/coveralls/request/request.svg?style=flat-square)](https://coveralls.io/r/request/request)\n[![Dependency Status](https://img.shields.io/david/request/request.svg?style=flat-square)](https://david-dm.org/request/request)\n[![Gitter](https://img.shields.io/badge/gitter-join_chat-blue.svg?style=flat-square)](https://gitter.im/request/request?utm_source=badge)\n\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```js\nvar request = require('request');\nrequest('http://www.google.com', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Show the HTML for the Google homepage.\n }\n})\n```\n\n\n## Table of contents\n\n- [Streaming](#streaming)\n- [Forms](#forms)\n- [HTTP Authentication](#http-authentication)\n- [Custom HTTP Headers](#custom-http-headers)\n- [OAuth Signing](#oauth-signing)\n- [Proxies](#proxies)\n- [Unix Domain Sockets](#unix-domain-sockets)\n- [TLS/SSL Protocol](#tlsssl-protocol)\n- [Support for HAR 1.2](#support-for-har-12)\n- [**All Available Options**](#requestoptions-callback)\n\nRequest also offers [convenience methods](#convenience-methods) like\n`request.defaults` and `request.post`, and there are\nlots of [usage examples](#examples) and several\n[debugging techniques](#debugging).\n\n\n---\n\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```js\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 the headers don’t already provide one).\n\n```js\nfs.createReadStream('file.json').pipe(request.put('http://mysite.com/obj.json'))\n```\n\nRequest can also `pipe` to itself. When doing so, `content-type` and `content-length` are preserved in the PUT headers.\n\n```js\nrequest.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))\n```\n\nRequest emits a \"response\" event when a response is received. The `response` argument will be an instance of [http.IncomingMessage](http://nodejs.org/api/http.html#http_http_incomingmessage).\n\n```js\nrequest\n .get('http://google.com/img.png')\n .on('response', function(response) {\n console.log(response.statusCode) // 200\n console.log(response.headers['content-type']) // 'image/png'\n })\n .pipe(request.put('http://mysite.com/img.png'))\n```\n\nTo easily handle errors when streaming requests, listen to the `error` event before piping:\n\n```js\nrequest\n .get('http://mysite.com/doodle.png')\n .on('error', function(err) {\n console.log(err)\n })\n .pipe(fs.createWriteStream('doodle.png'))\n```\n\nNow let’s get fancy.\n\n```js\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 `http.ServerRequest` instances, as well as to `http.ServerResponse` instances. The HTTP method, headers, and entity-body data will be sent. Which means that, if you don't really care about security, you can do:\n\n```js\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```js\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```js\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```\n\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n[back to top](#table-of-contents)\n\n\n---\n\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\n\n#### application/x-www-form-urlencoded (URL-Encoded Forms)\n\nURL-encoded forms are simple.\n\n```js\nrequest.post('http://service.com/upload', {form:{key:'value'}})\n// or\nrequest.post('http://service.com/upload').form({key:'value'})\n// or\nrequest.post({url:'http://service.com/upload', form: {key:'value'}}, function(err,httpResponse,body){ /* ... */ })\n```\n\n\n#### multipart/form-data (Multipart Form Uploads)\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). For the most cases, you can pass your upload form data via the `formData` option.\n\n\n```js\nvar formData = {\n // Pass a simple key-value pair\n my_field: 'my_value',\n // Pass data via Buffers\n my_buffer: new Buffer([1, 2, 3]),\n // Pass data via Streams\n my_file: fs.createReadStream(__dirname + '/unicycle.jpg'),\n // Pass multiple values /w an Array\n attachments: [\n fs.createReadStream(__dirname + '/attachment1.jpg'),\n fs.createReadStream(__dirname + '/attachment2.jpg')\n ],\n // Pass optional meta-data with an 'options' object with style: {value: DATA, options: OPTIONS}\n // Use case: for some types of streams, you'll need to provide \"file\"-related information manually.\n // See the `form-data` README for more information about options: https://github.com/felixge/node-form-data\n custom_file: {\n value: fs.createReadStream('/dev/urandom'),\n options: {\n filename: 'topsecret.jpg',\n contentType: 'image/jpg'\n }\n }\n};\nrequest.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) {\n if (err) {\n return console.error('upload failed:', err);\n }\n console.log('Upload successful! Server responded with:', body);\n});\n```\n\nFor advanced cases, you can access the form-data object itself via `r.form()`. This can be modified until the request is fired on the next cycle of the event-loop. (Note that this calling `form()` will clear the currently set form data for that request.)\n\n```js\n// NOTE: Advanced use-case, for normal use see 'formData' usage above\nvar r = request.post('http://service.com/upload', function optionalCallback(err, httpResponse, body) {...})\nvar form = r.form();\nform.append('my_field', 'my_value');\nform.append('my_buffer', new Buffer([1, 2, 3]));\nform.append('custom_file', fs.createReadStream(__dirname + '/unicycle.jpg'), {filename: 'unicycle.jpg'});\n```\nSee the [form-data README](https://github.com/felixge/node-form-data) for more information & examples.\n\n\n#### multipart/related\n\nSome variations in different HTTP implementations require a newline/CRLF before, after, or both before and after the boundary of a `multipart/related` request (using the multipart option). This has been observed in the .NET WebAPI version 4.0. You can turn on a boundary preambleCRLF or postamble by passing them as `true` to your request options.\n\n```js\n request({\n method: 'PUT',\n preambleCRLF: true,\n postambleCRLF: true,\n uri: 'http://service.com/upload',\n multipart: [\n {\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 { body: fs.createReadStream('image.png') }\n ],\n // alternatively pass an object containing additional options\n multipart: {\n chunked: false,\n data: [\n {\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 },\n function (error, response, body) {\n if (error) {\n return console.error('upload failed:', error);\n }\n console.log('Upload successful! Server responded with:', body);\n })\n```\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## HTTP Authentication\n\n```js\nrequest.get('http://some.server.com/').auth('username', 'password', false);\n// or\nrequest.get('http://some.server.com/', {\n 'auth': {\n 'user': 'username',\n 'pass': 'password',\n 'sendImmediately': false\n }\n});\n// or\nrequest.get('http://some.server.com/').auth(null, null, true, 'bearerToken');\n// or\nrequest.get('http://some.server.com/', {\n 'auth': {\n 'bearer': 'bearerToken'\n }\n});\n```\n\nIf passed as an option, `auth` should be a hash containing values:\n\n- `user` || `username`\n- `pass` || `password`\n- `sendImmediately` (optional)\n- `bearer` (optional)\n\nThe method form takes parameters\n`auth(username, password, sendImmediately, bearer)`.\n\n`sendImmediately` defaults to `true`, which causes a basic or bearer\nauthentication header to be sent. If `sendImmediately` is `false`, then\n`request` will retry with a proper authentication header after receiving a\n`401` response from the server (which must contain a `WWW-Authenticate` header\nindicating the required authentication method).\n\nNote that you can also specify basic authentication using the URL itself, as\ndetailed in [RFC 1738](http://www.ietf.org/rfc/rfc1738.txt). Simply pass the\n`user:password` before the host with an `@` sign:\n\n```js\nvar username = 'username',\n password = 'password',\n url = 'http://' + username + ':' + password + '@some.server.com';\n\nrequest({url: url}, function (error, response, body) {\n // Do more stuff with 'body' here\n});\n```\n\nDigest authentication is supported, but it only works with `sendImmediately`\nset to `false`; otherwise `request` will send basic authentication on the\ninitial request, which will probably cause the request to fail.\n\nBearer authentication is supported, and is activated when the `bearer` value is\navailable. The value may be either a `String` or a `Function` returning a\n`String`. Using a function to supply the bearer token is particularly useful if\nused in conjunction with `defaults` to allow a single function to supply the\nlast known token at the time of sending a request, or to compute one on the fly.\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## Custom HTTP Headers\n\nHTTP Headers, such as `User-Agent`, can be set in the `options` object.\nIn the example below, we call the github API to find out the number\nof stars and forks for the request repository. This requires a\ncustom `User-Agent` header as well as https.\n\n```js\nvar request = require('request');\n\nvar options = {\n url: 'https://api.github.com/repos/request/request',\n headers: {\n 'User-Agent': 'request'\n }\n};\n\nfunction callback(error, response, body) {\n if (!error && response.statusCode == 200) {\n var info = JSON.parse(body);\n console.log(info.stargazers_count + \" Stars\");\n console.log(info.forks_count + \" Forks\");\n }\n}\n\nrequest(options, callback);\n```\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## OAuth Signing\n\n[OAuth version 1.0](https://tools.ietf.org/html/rfc5849) is supported. The\ndefault signing algorithm is\n[HMAC-SHA1](https://tools.ietf.org/html/rfc5849#section-3.4.2):\n\n```js\n// OAuth1.0 - 3-legged server side flow (Twitter example)\n// step 1\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 // Ideally, you would take the body in the response\n // and construct a URL that a user clicks on (like a sign in button).\n // The verifier is only available in the response after a user has\n // verified with twitter that they are authorizing your app.\n\n // step 2\n var req_data = qs.parse(body)\n var uri = 'https://api.twitter.com/oauth/authenticate'\n + '?' + qs.stringify({oauth_token: req_data.oauth_token})\n // redirect the user to the authorize uri\n\n // step 3\n // after the user is redirected back to your server\n var auth_data = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: auth_data.oauth_token\n , token_secret: req_data.oauth_token_secret\n , verifier: auth_data.oauth_verifier\n }\n , url = 'https://api.twitter.com/oauth/access_token'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n // ready to make signed requests on behalf of the user\n var perm_data = qs.parse(body)\n , oauth =\n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_data.oauth_token\n , token_secret: perm_data.oauth_token_secret\n }\n , url = 'https://api.twitter.com/1.1/users/show.json'\n , qs =\n { screen_name: perm_data.screen_name\n , user_id: perm_data.user_id\n }\n ;\n request.get({url:url, oauth:oauth, qs:qs, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\nFor [RSA-SHA1 signing](https://tools.ietf.org/html/rfc5849#section-3.4.3), make\nthe following changes to the OAuth options object:\n* Pass `signature_method : 'RSA-SHA1'`\n* Instead of `consumer_secret`, specify a `private_key` string in\n [PEM format](http://how2ssl.com/articles/working_with_pem_files/)\n\nFor [PLAINTEXT signing](http://oauth.net/core/1.0/#anchor22), make\nthe following changes to the OAuth options object:\n* Pass `signature_method : 'PLAINTEXT'`\n\nTo send OAuth parameters via query params or in a post body as described in The\n[Consumer Request Parameters](http://oauth.net/core/1.0/#consumer_req_param)\nsection of the oauth1 spec:\n* Pass `transport_method : 'query'` or `transport_method : 'body'` in the OAuth\n options object.\n* `transport_method` defaults to `'header'`\n\nTo use [Request Body Hash](https://oauth.googlecode.com/svn/spec/ext/body_hash/1.0/oauth-bodyhash.html) you can either\n* Manually generate the body hash and pass it as a string `body_hash: '...'`\n* Automatically generate the body hash by passing `body_hash: true`\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## Proxies\n\nIf you specify a `proxy` option, then the request (and any subsequent\nredirects) will be sent via a connection to the proxy server.\n\nIf your endpoint is an `https` url, and you are using a proxy, then\nrequest will send a `CONNECT` request to the proxy server *first*, and\nthen use the supplied connection to connect to the endpoint.\n\nThat is, first it will make a request like:\n\n```\nHTTP/1.1 CONNECT endpoint-server.com:80\nHost: proxy-server.com\nUser-Agent: whatever user agent you specify\n```\n\nand then the proxy server make a TCP connection to `endpoint-server`\non port `80`, and return a response that looks like:\n\n```\nHTTP/1.1 200 OK\n```\n\nAt this point, the connection is left open, and the client is\ncommunicating directly with the `endpoint-server.com` machine.\n\nSee [the wikipedia page on HTTP Tunneling](http://en.wikipedia.org/wiki/HTTP_tunnel)\nfor more information.\n\nBy default, when proxying `http` traffic, request will simply make a\nstandard proxied `http` request. This is done by making the `url`\nsection of the initial line of the request a fully qualified url to\nthe endpoint.\n\nFor example, it will make a single request that looks like:\n\n```\nHTTP/1.1 GET http://endpoint-server.com/some-url\nHost: proxy-server.com\nOther-Headers: all go here\n\nrequest body or whatever\n```\n\nBecause a pure \"http over http\" tunnel offers no additional security\nor other features, it is generally simpler to go with a\nstraightforward HTTP proxy in this case. However, if you would like\nto force a tunneling proxy, you may set the `tunnel` option to `true`.\n\nYou can also make a standard proxied `http` request by explicitly setting\n`tunnel : false`, but **note that this will allow the proxy to see the traffic\nto/from the destination server**.\n\nIf you are using a tunneling proxy, you may set the\n`proxyHeaderWhiteList` to share certain headers with the proxy.\n\nYou can also set the `proxyHeaderExclusiveList` to share certain\nheaders only with the proxy and not with destination host.\n\nBy default, this set is:\n\n```\naccept\naccept-charset\naccept-encoding\naccept-language\naccept-ranges\ncache-control\ncontent-encoding\ncontent-language\ncontent-length\ncontent-location\ncontent-md5\ncontent-range\ncontent-type\nconnection\ndate\nexpect\nmax-forwards\npragma\nproxy-authorization\nreferer\nte\ntransfer-encoding\nuser-agent\nvia\n```\n\nNote that, when using a tunneling proxy, the `proxy-authorization`\nheader and any headers from custom `proxyHeaderExclusiveList` are\n*never* sent to the endpoint server, but only to the proxy server.\n\n\n### Controlling proxy behaviour using environment variables\n\nThe following environment variables are respected by `request`:\n\n * `HTTP_PROXY` / `http_proxy`\n * `HTTPS_PROXY` / `https_proxy`\n * `NO_PROXY` / `no_proxy`\n\nWhen `HTTP_PROXY` / `http_proxy` are set, they will be used to proxy non-SSL requests that do not have an explicit `proxy` configuration option present. Similarly, `HTTPS_PROXY` / `https_proxy` will be respected for SSL requests that do not have an explicit `proxy` configuration option. It is valid to define a proxy in one of the environment variables, but then override it for a specific request, using the `proxy` configuration option. Furthermore, the `proxy` configuration option can be explicitly set to false / null to opt out of proxying altogether for that request.\n\n`request` is also aware of the `NO_PROXY`/`no_proxy` environment variables. These variables provide a granular way to opt out of proxying, on a per-host basis. It should contain a comma separated list of hosts to opt out of proxying. It is also possible to opt of proxying when a particular destination port is used. Finally, the variable may be set to `*` to opt out of the implicit proxy configuration of the other environment variables.\n\nHere's some examples of valid `no_proxy` values:\n\n * `google.com` - don't proxy HTTP/HTTPS requests to Google.\n * `google.com:443` - don't proxy HTTPS requests to Google, but *do* proxy HTTP requests to Google.\n * `google.com:443, yahoo.com:80` - don't proxy HTTPS requests to Google, and don't proxy HTTP requests to Yahoo!\n * `*` - ignore `https_proxy`/`http_proxy` environment variables altogether.\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## UNIX Domain Sockets\n\n`request` supports making requests to [UNIX Domain Sockets](http://en.wikipedia.org/wiki/Unix_domain_socket). To make one, use the following URL scheme:\n\n```js\n/* Pattern */ 'http://unix:SOCKET:PATH'\n/* Example */ request.get('http://unix:/absolute/path/to/unix.socket:/request/path')\n```\n\nNote: The `SOCKET` path is assumed to be absolute to the root of the host file system.\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## TLS/SSL Protocol\n\nTLS/SSL Protocol options, such as `cert`, `key` and `passphrase`, can be\nset directly in `options` object, in the `agentOptions` property of the `options` object, or even in `https.globalAgent.options`. Keep in mind that, although `agentOptions` allows for a slightly wider range of configurations, the recommended way is via `options` object directly, as using `agentOptions` or `https.globalAgent.options` would not be applied in the same way in proxied environments (as data travels through a TLS connection instead of an http/https agent).\n\n```js\nvar fs = require('fs')\n , path = require('path')\n , certFile = path.resolve(__dirname, 'ssl/client.crt')\n , keyFile = path.resolve(__dirname, 'ssl/client.key')\n , caFile = path.resolve(__dirname, 'ssl/ca.cert.pem')\n , request = require('request');\n\nvar options = {\n url: 'https://api.some-server.com/',\n cert: fs.readFileSync(certFile),\n key: fs.readFileSync(keyFile),\n passphrase: 'password',\n ca: fs.readFileSync(caFile)\n }\n};\n\nrequest.get(options);\n```\n\n### Using `options.agentOptions`\n\nIn the example below, we call an API requires client side SSL certificate\n(in PEM format) with passphrase protected private key (in PEM format) and disable the SSLv3 protocol:\n\n```js\nvar fs = require('fs')\n , path = require('path')\n , certFile = path.resolve(__dirname, 'ssl/client.crt')\n , keyFile = path.resolve(__dirname, 'ssl/client.key')\n , request = require('request');\n\nvar options = {\n url: 'https://api.some-server.com/',\n agentOptions: {\n cert: fs.readFileSync(certFile),\n key: fs.readFileSync(keyFile),\n // Or use `pfx` property replacing `cert` and `key` when using private key, certificate and CA certs in PFX or PKCS12 format:\n // pfx: fs.readFileSync(pfxFilePath),\n passphrase: 'password',\n securityOptions: 'SSL_OP_NO_SSLv3'\n }\n};\n\nrequest.get(options);\n```\n\nIt is able to force using SSLv3 only by specifying `secureProtocol`:\n\n```js\nrequest.get({\n url: 'https://api.some-server.com/',\n agentOptions: {\n secureProtocol: 'SSLv3_method'\n }\n});\n```\n\nIt is possible to accept other certificates than those signed by generally allowed Certificate Authorities (CAs).\nThis can be useful, for example, when using self-signed certificates.\nTo require a different root certificate, you can specify the signing CA by adding the contents of the CA's certificate file to the `agentOptions`.\nThe certificate the domain presents must be signed by the root certificate specified:\n\n```js\nrequest.get({\n url: 'https://api.some-server.com/',\n agentOptions: {\n ca: fs.readFileSync('ca.cert.pem')\n }\n});\n```\n\n[back to top](#table-of-contents)\n\n\n---\n\n## Support for HAR 1.2\n\nThe `options.har` property will override the values: `url`, `method`, `qs`, `headers`, `form`, `formData`, `body`, `json`, as well as construct multipart data and read files from disk when `request.postData.params[].fileName` is present without a matching `value`.\n\na validation step will check if the HAR Request format matches the latest spec (v1.2) and will skip parsing if not matching.\n\n```js\n var request = require('request')\n request({\n // will be ignored\n method: 'GET',\n uri: 'http://www.google.com',\n\n // HTTP Archive Request Object\n har: {\n url: 'http://www.mockbin.com/har',\n method: 'POST',\n headers: [\n {\n name: 'content-type',\n value: 'application/x-www-form-urlencoded'\n }\n ],\n postData: {\n mimeType: 'application/x-www-form-urlencoded',\n params: [\n {\n name: 'foo',\n value: 'bar'\n },\n {\n name: 'hello',\n value: 'world'\n }\n ]\n }\n }\n })\n\n // a POST request will be sent to http://www.mockbin.com\n // with body an application/x-www-form-urlencoded body:\n // foo=bar&hello=world\n```\n\n[back to top](#table-of-contents)\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- `baseUrl` - fully qualified uri string used as the base url. Most useful with `request.defaults`, for example when you want to do many requests to the same domain. If `baseUrl` is `https://example.com/api/`, then requesting `/end/point?test=true` will fetch `https://example.com/api/end/point?test=true`. When `baseUrl` is given, `uri` must also be a string.\n- `method` - http method (default: `\"GET\"`)\n- `headers` - http headers (default: `{}`)\n\n---\n\n- `qs` - object containing querystring values to be appended to the `uri`\n- `qsParseOptions` - object containing options to pass to the [qs.parse](https://github.com/hapijs/qs#parsing-objects) method. Alternatively pass options to the [querystring.parse](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_parse_str_sep_eq_options) method using this format `{sep:';', eq:':', options:{}}`\n- `qsStringifyOptions` - object containing options to pass to the [qs.stringify](https://github.com/hapijs/qs#stringifying) method. Alternatively pass options to the [querystring.stringify](https://nodejs.org/docs/v0.12.0/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options) method using this format `{sep:';', eq:':', options:{}}`. For example, to change the way arrays are converted to query strings using the `qs` module pass the `arrayFormat` option with one of `indices|brackets|repeat`\n- `useQuerystring` - If true, use `querystring` to stringify and parse\n querystrings, otherwise use `qs` (default: `false`). Set this option to\n `true` if you need arrays to be serialized as `foo=bar&foo=baz` instead of the\n default `foo[0]=bar&foo[1]=baz`.\n\n---\n\n- `body` - entity body for PATCH, POST and PUT requests. Must be a `Buffer` or `String`, unless `json` is `true`. If `json` is `true`, then `body` must be a JSON-serializable object.\n- `form` - when passed an object or a querystring, this sets `body` to a querystring representation of value, and adds `Content-type: application/x-www-form-urlencoded` header. When passed no options, a `FormData` instance is returned (and is piped to request). See \"Forms\" section above.\n- `formData` - Data to pass for a `multipart/form-data` request. See\n [Forms](#forms) section above.\n- `multipart` - array of objects which contain their own headers and `body`\n attributes. Sends a `multipart/related` request. See [Forms](#forms) section\n above.\n - Alternatively you can pass in an object `{chunked: false, data: []}` where\n `chunked` is used to specify whether the request is sent in\n [chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding)\n In non-chunked requests, data items with body streams are not allowed.\n- `preambleCRLF` - append a newline/CRLF before the boundary of your `multipart/form-data` request.\n- `postambleCRLF` - append a newline/CRLF at the end of the boundary of your `multipart/form-data` 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- `jsonReviver` - a [reviver function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) that will be passed to `JSON.parse()` when parsing a JSON response body.\n\n---\n\n- `auth` - A hash containing values `user` || `username`, `pass` || `password`, and `sendImmediately` (optional). See documentation above.\n- `oauth` - Options for OAuth HMAC-SHA1 signing. See documentation above.\n- `hawk` - Options for [Hawk signing](https://github.com/hueniverse/hawk). The `credentials` key must contain the necessary signing info, [see hawk docs for details](https://github.com/hueniverse/hawk#usage-example).\n- `aws` - `object` containing AWS signing information. Should have the properties `key`, `secret`. Also requires the property `bucket`, unless you’re specifying your `bucket` as part of the path, or the request doesn’t use a bucket (i.e. GET Services)\n- `httpSignature` - Options for the [HTTP Signature Scheme](https://github.com/joyent/node-http-signature/blob/master/http_signing.md) using [Joyent's library](https://github.com/joyent/node-http-signature). The `keyId` and `key` properties must be specified. See the docs for other options.\n\n---\n\n- `followRedirect` - follow HTTP 3xx responses as redirects (default: `true`). This property can also be implemented as function which gets `response` object as a single argument and should return `true` if redirects should continue or `false` otherwise.\n- `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects (default: `false`)\n- `maxRedirects` - the maximum number of redirects to follow (default: `10`)\n- `removeRefererHeader` - removes the referer header when a redirect happens (default: `false`).\n\n---\n\n- `encoding` - Encoding to be used on `setEncoding` of response data. If `null`, the `body` is returned as a `Buffer`. Anything else **(including the default value of `undefined`)** will be passed as the [encoding](http://nodejs.org/api/buffer.html#buffer_buffer) parameter to `toString()` (meaning this is effectively `utf8` by default). (**Note:** if you expect binary data, you should set `encoding: null`.)\n- `gzip` - If `true`, add an `Accept-Encoding` header to request compressed content encodings from the server (if not already present) and decode supported content encodings in the response. **Note:** Automatic decoding of the response content is performed on the body data returned through `request` (both through the `request` stream and passed to the callback function) but is not performed on the `response` stream (available from the `response` event) which is the unmodified `http.IncomingMessage` object which may contain compressed data. See example below.\n- `jar` - If `true`, remember cookies for future use (or define your custom cookie jar; see examples section)\n\n---\n\n- `agent` - `http(s).Agent` instance to use\n- `agentClass` - alternatively specify your agent's class name\n- `agentOptions` - and pass its options. **Note:** for HTTPS see [tls API doc for TLS/SSL options](http://nodejs.org/api/tls.html#tls_tls_connect_options_callback) and the [documentation above](#using-optionsagentoptions).\n- `forever` - set to `true` to use the [forever-agent](https://github.com/request/forever-agent) **Note:** Defaults to `http(s).Agent({keepAlive:true})` in node 0.12+\n- `pool` - An object describing which agents to use for the request. If this option is omitted the request will use the global agent (as long as your options allow for it). Otherwise, request will search the pool for your custom agent. If no custom agent is found, a new agent will be created and added to the pool. **Note:** `pool` is used only when the `agent` option is not specified.\n - A `maxSockets` property can also be provided on the `pool` object to set the max number of sockets for all agents created (ex: `pool: {maxSockets: Infinity}`).\n - Note that if you are sending multiple requests in a loop and creating\n multiple new `pool` objects, `maxSockets` will not work as intended. To\n work around this, either use [`request.defaults`](#requestdefaultsoptions)\n with your pool options or create the pool object with the `maxSockets`\n property outside of the loop.\n- `timeout` - Integer containing the number of milliseconds to wait for a\nserver to send response headers (and start the response body) before aborting\nthe request. Note that if the underlying TCP connection cannot be established,\nthe OS-wide TCP connection timeout will overrule the `timeout` option ([the\ndefault in Linux can be anywhere from 20-120 seconds][linux-timeout]).\n\n[linux-timeout]: http://www.sekuda.com/overriding_the_default_linux_kernel_20_second_tcp_socket_connect_timeout\n\n---\n\n- `localAddress` - Local interface to bind for network connections.\n- `proxy` - An HTTP proxy to be used. Supports proxy Auth with Basic Auth, identical to support for the `url` parameter (by embedding the auth info in the `uri`)\n- `strictSSL` - If `true`, requires 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- `tunnel` - controls the behavior of\n [HTTP `CONNECT` tunneling](https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_tunneling)\n as follows:\n - `undefined` (default) - `true` if the destination is `https` or a previous\n request in the redirect chain used a tunneling proxy, `false` otherwise\n - `true` - always tunnel to the destination by making a `CONNECT` request to\n the proxy\n - `false` - request the destination as a `GET` request.\n- `proxyHeaderWhiteList` - A whitelist of headers to send to a\n tunneling proxy.\n- `proxyHeaderExclusiveList` - A whitelist of headers to send\n exclusively to a tunneling proxy and not to destination.\n\n---\n\n- `time` - If `true`, the request-response cycle (including all redirects) is timed at millisecond resolution, and the result provided on the response's `elapsedTime` property.\n- `har` - A [HAR 1.2 Request Object](http://www.softwareishard.com/blog/har-12-spec/#request), will be processed from HAR format into options overwriting matching values *(see the [HAR 1.2 section](#support-for-har-1.2) for details)*\n\nThe callback argument gets 3 arguments:\n\n1. An `error` when applicable (usually from [`http.ClientRequest`](http://nodejs.org/api/http.html#http_class_http_clientrequest) object)\n2. An [`http.IncomingMessage`](http://nodejs.org/api/http.html#http_http_incomingmessage) object\n3. The third is the `response` body (`String` or `Buffer`, or JSON object if the `json` option is supplied)\n\n[back to top](#table-of-contents)\n\n\n---\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n\n### request.defaults(options)\n\nThis method **returns a wrapper** around the normal request API that defaults\nto whatever options you pass to it.\n\n**Note:** `request.defaults()` **does not** modify the global request API;\ninstead, it **returns a wrapper** that has your default settings applied to it.\n\n**Note:** You can call `.defaults()` on the wrapper that is returned from\n`request.defaults` to add/override defaults that were previously defaulted.\n\nFor example:\n```js\n//requests using baseRequest() will set the 'x-token' header\nvar baseRequest = request.defaults({\n headers: {x-token: 'my-token'}\n})\n\n//requests using specialRequest() will include the 'x-token' header set in\n//baseRequest and will also include the 'special' header\nvar specialRequest = baseRequest.defaults({\n headers: {special: 'special value'}\n})\n```\n\n### request.put\n\nSame as `request()`, but defaults to `method: \"PUT\"`.\n\n```js\nrequest.put(url)\n```\n\n### request.patch\n\nSame as `request()`, but defaults to `method: \"PATCH\"`.\n\n```js\nrequest.patch(url)\n```\n\n### request.post\n\nSame as `request()`, but defaults to `method: \"POST\"`.\n\n```js\nrequest.post(url)\n```\n\n### request.head\n\nSame as `request()`, but defaults to `method: \"HEAD\"`.\n\n```js\nrequest.head(url)\n```\n\n### request.del\n\nSame as `request()`, but defaults to `method: \"DELETE\"`.\n\n```js\nrequest.del(url)\n```\n\n### request.get\n\nSame as `request()` (for uniformity).\n\n```js\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```js\nrequest.cookie('key1=value1')\n```\n### request.jar()\n\nFunction that creates a new cookie jar.\n\n```js\nrequest.jar()\n```\n\n[back to top](#table-of-contents)\n\n\n---\n\n\n## Debugging\n\nThere are at least three ways to debug the operation of `request`:\n\n1. Launch the node process like `NODE_DEBUG=request node script.js`\n (`lib,request,otherlib` works too).\n\n2. Set `require('request').debug = true` at any time (this does the same thing\n as #1).\n\n3. Use the [request-debug module](https://github.com/nylen/request-debug) to\n view request and response headers and bodies.\n\n[back to top](#table-of-contents)\n\n\n---\n\n## Timeouts\n\nMost requests to external servers should have a timeout attached, in case the\nserver is not responding in a timely manner. Without a timeout, your code may\nhave a socket open/consume resources for minutes or more.\n\nThere are two main types of timeouts: **connection timeouts** and **read\ntimeouts**. A connect timeout occurs if the timeout is hit while your client is\nattempting to establish a connection to a remote machine (corresponding to the\n[connect() call][connect] on the socket). A read timeout occurs any time the\nserver is too slow to send back a part of the response.\n\nThese two situations have widely different implications for what went wrong\nwith the request, so it's useful to be able to distinguish them. You can detect\ntimeout errors by checking `err.code` for an 'ETIMEDOUT' value. Further, you\ncan detect whether the timeout was a connection timeout by checking if the\n`err.connect` property is set to `true`.\n\n```js\nrequest.get('http://10.255.255.1', {timeout: 1500}, function(err) {\n console.log(err.code === 'ETIMEDOUT');\n // Set to `true` if the timeout was a connection timeout, `false` or\n // `undefined` otherwise.\n console.log(err.connect === true);\n process.exit(0);\n});\n```\n\n[connect]: http://linux.die.net/man/2/connect\n\n## Examples:\n\n```js\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```\n\nFor backwards-compatibility, response compression is not supported by default.\nTo accept gzip-compressed responses, set the `gzip` option to `true`. Note\nthat the body data passed through `request` is automatically decompressed\nwhile the response object is unmodified and will contain compressed data if\nthe server sent a compressed response.\n\n```js\n var request = require('request')\n request(\n { method: 'GET'\n , uri: 'http://www.google.com'\n , gzip: true\n }\n , function (error, response, body) {\n // body is the decompressed response body\n console.log('server encoded the data as: ' + (response.headers['content-encoding'] || 'identity'))\n console.log('the decoded data is: ' + body)\n }\n ).on('data', function(data) {\n // decompressed data as it is received\n console.log('decoded chunk: ' + data)\n })\n .on('response', function(response) {\n // unmodified http.IncomingMessage object\n response.on('data', function(data) {\n // compressed data as it is received\n console.log('received ' + data.length + ' bytes of compressed data')\n })\n })\n```\n\nCookies are disabled by default (else, they would be used in subsequent requests). To enable cookies, set `jar` to `true` (either in `defaults` or `options`).\n\n```js\nvar request = request.defaults({jar: true})\nrequest('http://www.google.com', function () {\n request('http://images.google.com')\n})\n```\n\nTo use a custom cookie jar (instead of `request`’s global cookie jar), set `jar` to an instance of `request.jar()` (either in `defaults` or `options`)\n\n```js\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest('http://www.google.com', function () {\n request('http://images.google.com')\n})\n```\n\nOR\n\n```js\nvar j = request.jar();\nvar cookie = request.cookie('key1=value1');\nvar url = 'http://www.google.com';\nj.setCookie(cookie, url);\nrequest({url: url, jar: j}, function () {\n request('http://images.google.com')\n})\n```\n\nTo use a custom cookie store (such as a\n[`FileCookieStore`](https://github.com/mitsuru/tough-cookie-filestore)\nwhich supports saving to and restoring from JSON files), pass it as a parameter\nto `request.jar()`:\n\n```js\nvar FileCookieStore = require('tough-cookie-filestore');\n// NOTE - currently the 'cookies.json' file must already exist!\nvar j = request.jar(new FileCookieStore('cookies.json'));\nrequest = request.defaults({ jar : j })\nrequest('http://www.google.com', function() {\n request('http://images.google.com')\n})\n```\n\nThe cookie store must be a\n[`tough-cookie`](https://github.com/goinstant/tough-cookie)\nstore and it must support synchronous operations; see the\n[`CookieStore` API docs](https://github.com/goinstant/tough-cookie/#cookiestore-api)\nfor details.\n\nTo inspect your cookie jar after a request:\n\n```js\nvar j = request.jar()\nrequest({url: 'http://www.google.com', jar: j}, function () {\n var cookie_string = j.getCookieString(url); // \"key1=value1; key2=value2; ...\"\n var cookies = j.getCookies(url);\n // [{key: 'key1', value: 'value1', domain: \"www.google.com\", ...}, ...]\n})\n```\n\n[back to top](#table-of-contents)\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/request/request.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/request/-/request-2.64.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "lint": "eslint lib/ *.js tests/ && echo Lint passed.",
+ "test": "npm run lint && npm run test-ci && npm run test-browser",
+ "test-browser": "node tests/browser/start.js",
+ "test-ci": "taper tests/test-*.js",
+ "test-cov": "istanbul cover tape tests/test-*.js"
+ },
+ "tags": [
+ "http",
+ "simple",
+ "util",
+ "utility"
+ ],
+ "version": "2.64.0"
}
diff --git a/deps/npm/node_modules/retry/package.json b/deps/npm/node_modules/retry/package.json
index 75b9680d5a..4f4664e843 100644
--- a/deps/npm/node_modules/retry/package.json
+++ b/deps/npm/node_modules/retry/package.json
@@ -1,53 +1,78 @@
{
+ "_args": [
+ [
+ "retry@~0.8.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "retry@>=0.8.0 <0.9.0",
+ "_id": "retry@0.8.0",
+ "_inCache": true,
+ "_location": "/retry",
+ "_nodeVersion": "0.10.33",
+ "_npmUser": {
+ "email": "tim@debuggable.com",
+ "name": "tim-kos"
+ },
+ "_npmVersion": "2.1.7",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "retry",
+ "raw": "retry@~0.8.0",
+ "rawSpec": "~0.8.0",
+ "scope": null,
+ "spec": ">=0.8.0 <0.9.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/retry/-/retry-0.8.0.tgz",
+ "_shasum": "2367628dc0edb247b1eab649dc53ac8628ac2d5f",
+ "_shrinkwrap": null,
+ "_spec": "retry@~0.8.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Tim Koschützki",
"email": "tim@debuggable.com",
+ "name": "Tim Koschützki",
"url": "http://debuggable.com/"
},
- "name": "retry",
+ "bugs": {
+ "url": "https://github.com/tim-kos/node-retry/issues"
+ },
+ "dependencies": {},
"description": "Abstraction for exponential and custom retry strategies for failed operations.",
- "license": "MIT",
- "version": "0.8.0",
- "homepage": "https://github.com/tim-kos/node-retry",
- "repository": {
- "type": "git",
- "url": "git://github.com/tim-kos/node-retry.git"
+ "devDependencies": {
+ "fake": "0.2.0",
+ "far": "0.0.1"
},
"directories": {
"lib": "./lib"
},
- "main": "index",
+ "dist": {
+ "shasum": "2367628dc0edb247b1eab649dc53ac8628ac2d5f",
+ "tarball": "http://registry.npmjs.org/retry/-/retry-0.8.0.tgz"
+ },
"engines": {
"node": "*"
},
- "dependencies": {},
- "devDependencies": {
- "fake": "0.2.0",
- "far": "0.0.1"
- },
"gitHead": "9446e803d6a41ae08732a4a215ae5bf1ff1ccfdd",
- "bugs": {
- "url": "https://github.com/tim-kos/node-retry/issues"
- },
- "_id": "retry@0.8.0",
- "scripts": {},
- "_shasum": "2367628dc0edb247b1eab649dc53ac8628ac2d5f",
- "_from": "retry@0.8.0",
- "_npmVersion": "2.1.7",
- "_nodeVersion": "0.10.33",
- "_npmUser": {
- "name": "tim-kos",
- "email": "tim@debuggable.com"
- },
+ "homepage": "https://github.com/tim-kos/node-retry",
+ "installable": true,
+ "license": "MIT",
+ "main": "index",
"maintainers": [
{
"name": "tim-kos",
"email": "tim@debuggable.com"
}
],
- "dist": {
- "shasum": "2367628dc0edb247b1eab649dc53ac8628ac2d5f",
- "tarball": "http://registry.npmjs.org/retry/-/retry-0.8.0.tgz"
+ "name": "retry",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/tim-kos/node-retry.git"
},
- "_resolved": "https://registry.npmjs.org/retry/-/retry-0.8.0.tgz"
+ "scripts": {},
+ "version": "0.8.0"
}
diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json
index 7576f528f7..0f0f454ff3 100644
--- a/deps/npm/node_modules/rimraf/package.json
+++ b/deps/npm/node_modules/rimraf/package.json
@@ -1,61 +1,92 @@
{
- "name": "rimraf",
- "version": "2.4.3",
- "main": "rimraf.js",
- "description": "A deep deletion module for node (like `rm -rf`)",
+ "_args": [
+ [
+ "rimraf@2.4.3",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "rimraf@2.4.3",
+ "_id": "rimraf@2.4.3",
+ "_inCache": true,
+ "_location": "/rimraf",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.2.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "rimraf",
+ "raw": "rimraf@2.4.3",
+ "rawSpec": "2.4.3",
+ "scope": null,
+ "spec": "2.4.3",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/",
+ "/fs-vacuum",
+ "/fstream",
+ "/node-gyp",
+ "/npm-registry-client",
+ "/nyc",
+ "/spawn-wrap"
+ ],
+ "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz",
+ "_shasum": "e5b51c9437a4c582adb955e9f28cf8d945e272af",
+ "_shrinkwrap": null,
+ "_spec": "rimraf@2.4.3",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/rimraf.git"
- },
- "scripts": {
- "test": "tap test/*.js"
- },
"bin": {
"rimraf": "./bin.js"
},
+ "bugs": {
+ "url": "https://github.com/isaacs/rimraf/issues"
+ },
"dependencies": {
"glob": "^5.0.14"
},
- "files": [
- "LICENSE",
- "README.md",
- "bin.js",
- "rimraf.js"
- ],
+ "description": "A deep deletion module for node (like `rm -rf`)",
"devDependencies": {
"mkdirp": "^0.5.1",
"tap": "^1.3.1"
},
- "gitHead": "ec7050f8ca14c931b847414f18466e601ca7c02e",
- "bugs": {
- "url": "https://github.com/isaacs/rimraf/issues"
- },
- "homepage": "https://github.com/isaacs/rimraf#readme",
- "_id": "rimraf@2.4.3",
- "_shasum": "e5b51c9437a4c582adb955e9f28cf8d945e272af",
- "_from": "rimraf@2.4.3",
- "_npmVersion": "3.2.2",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "e5b51c9437a4c582adb955e9f28cf8d945e272af",
"tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz"
},
+ "files": [
+ "LICENSE",
+ "README.md",
+ "bin.js",
+ "rimraf.js"
+ ],
+ "gitHead": "ec7050f8ca14c931b847414f18466e601ca7c02e",
+ "homepage": "https://github.com/isaacs/rimraf#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "rimraf.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz"
+ "name": "rimraf",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/rimraf.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "2.4.3"
}
diff --git a/deps/npm/node_modules/semver/package.json b/deps/npm/node_modules/semver/package.json
index b3a540c164..d4235760dc 100644
--- a/deps/npm/node_modules/semver/package.json
+++ b/deps/npm/node_modules/semver/package.json
@@ -1,40 +1,65 @@
{
- "name": "semver",
- "version": "5.0.3",
- "description": "The semantic version parser used by npm.",
- "main": "semver.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "devDependencies": {
- "tap": "^1.3.4"
+ "_args": [
+ [
+ "semver@~5.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "semver@>=5.0.1 <5.1.0",
+ "_id": "semver@5.0.3",
+ "_inCache": true,
+ "_location": "/semver",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "license": "ISC",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/node-semver.git"
+ "_npmVersion": "3.3.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "semver",
+ "raw": "semver@~5.0.1",
+ "rawSpec": "~5.0.1",
+ "scope": null,
+ "spec": ">=5.0.1 <5.1.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/",
+ "/init-package-json",
+ "/node-gyp",
+ "/normalize-package-data",
+ "/npm-install-checks",
+ "/npm-package-arg",
+ "/npm-registry-client",
+ "/read-installed"
+ ],
+ "_resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "_shasum": "77466de589cd5d3c95f138aa78bc569a3cb5d27a",
+ "_shrinkwrap": null,
+ "_spec": "semver@~5.0.1",
+ "_where": "/Users/rebecca/code/npm",
"bin": {
"semver": "./bin/semver"
},
- "gitHead": "5f89ecbe78145ad0b501cf6279f602a23c89738d",
"bugs": {
"url": "https://github.com/npm/node-semver/issues"
},
- "homepage": "https://github.com/npm/node-semver#readme",
- "_id": "semver@5.0.3",
- "_shasum": "77466de589cd5d3c95f138aa78bc569a3cb5d27a",
- "_from": "semver@5.0.3",
- "_npmVersion": "3.3.2",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "The semantic version parser used by npm.",
+ "devDependencies": {
+ "tap": "^1.3.4"
},
+ "directories": {},
"dist": {
"shasum": "77466de589cd5d3c95f138aa78bc569a3cb5d27a",
"tarball": "http://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
},
+ "gitHead": "5f89ecbe78145ad0b501cf6279f602a23c89738d",
+ "homepage": "https://github.com/npm/node-semver#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "semver.js",
"maintainers": [
{
"name": "isaacs",
@@ -45,6 +70,14 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz"
+ "name": "semver",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/node-semver.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "5.0.3"
}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/README.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/README.md
deleted file mode 100644
index 5a76b4149c..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# core-util-is
-
-The `util.is*` functions introduced in Node v0.12.
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/float.patch b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/float.patch
deleted file mode 100644
index a06d5c05f7..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/float.patch
+++ /dev/null
@@ -1,604 +0,0 @@
-diff --git a/lib/util.js b/lib/util.js
-index a03e874..9074e8e 100644
---- a/lib/util.js
-+++ b/lib/util.js
-@@ -19,430 +19,6 @@
- // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- // USE OR OTHER DEALINGS IN THE SOFTWARE.
-
--var formatRegExp = /%[sdj%]/g;
--exports.format = function(f) {
-- if (!isString(f)) {
-- var objects = [];
-- for (var i = 0; i < arguments.length; i++) {
-- objects.push(inspect(arguments[i]));
-- }
-- return objects.join(' ');
-- }
--
-- var i = 1;
-- var args = arguments;
-- var len = args.length;
-- var str = String(f).replace(formatRegExp, function(x) {
-- if (x === '%%') return '%';
-- if (i >= len) return x;
-- switch (x) {
-- case '%s': return String(args[i++]);
-- case '%d': return Number(args[i++]);
-- case '%j':
-- try {
-- return JSON.stringify(args[i++]);
-- } catch (_) {
-- return '[Circular]';
-- }
-- default:
-- return x;
-- }
-- });
-- for (var x = args[i]; i < len; x = args[++i]) {
-- if (isNull(x) || !isObject(x)) {
-- str += ' ' + x;
-- } else {
-- str += ' ' + inspect(x);
-- }
-- }
-- return str;
--};
--
--
--// Mark that a method should not be used.
--// Returns a modified function which warns once by default.
--// If --no-deprecation is set, then it is a no-op.
--exports.deprecate = function(fn, msg) {
-- // Allow for deprecating things in the process of starting up.
-- if (isUndefined(global.process)) {
-- return function() {
-- return exports.deprecate(fn, msg).apply(this, arguments);
-- };
-- }
--
-- if (process.noDeprecation === true) {
-- return fn;
-- }
--
-- var warned = false;
-- function deprecated() {
-- if (!warned) {
-- if (process.throwDeprecation) {
-- throw new Error(msg);
-- } else if (process.traceDeprecation) {
-- console.trace(msg);
-- } else {
-- console.error(msg);
-- }
-- warned = true;
-- }
-- return fn.apply(this, arguments);
-- }
--
-- return deprecated;
--};
--
--
--var debugs = {};
--var debugEnviron;
--exports.debuglog = function(set) {
-- if (isUndefined(debugEnviron))
-- debugEnviron = process.env.NODE_DEBUG || '';
-- set = set.toUpperCase();
-- if (!debugs[set]) {
-- if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
-- var pid = process.pid;
-- debugs[set] = function() {
-- var msg = exports.format.apply(exports, arguments);
-- console.error('%s %d: %s', set, pid, msg);
-- };
-- } else {
-- debugs[set] = function() {};
-- }
-- }
-- return debugs[set];
--};
--
--
--/**
-- * Echos the value of a value. Trys to print the value out
-- * in the best way possible given the different types.
-- *
-- * @param {Object} obj The object to print out.
-- * @param {Object} opts Optional options object that alters the output.
-- */
--/* legacy: obj, showHidden, depth, colors*/
--function inspect(obj, opts) {
-- // default options
-- var ctx = {
-- seen: [],
-- stylize: stylizeNoColor
-- };
-- // legacy...
-- if (arguments.length >= 3) ctx.depth = arguments[2];
-- if (arguments.length >= 4) ctx.colors = arguments[3];
-- if (isBoolean(opts)) {
-- // legacy...
-- ctx.showHidden = opts;
-- } else if (opts) {
-- // got an "options" object
-- exports._extend(ctx, opts);
-- }
-- // set default options
-- if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
-- if (isUndefined(ctx.depth)) ctx.depth = 2;
-- if (isUndefined(ctx.colors)) ctx.colors = false;
-- if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
-- if (ctx.colors) ctx.stylize = stylizeWithColor;
-- return formatValue(ctx, obj, ctx.depth);
--}
--exports.inspect = inspect;
--
--
--// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
--inspect.colors = {
-- 'bold' : [1, 22],
-- 'italic' : [3, 23],
-- 'underline' : [4, 24],
-- 'inverse' : [7, 27],
-- 'white' : [37, 39],
-- 'grey' : [90, 39],
-- 'black' : [30, 39],
-- 'blue' : [34, 39],
-- 'cyan' : [36, 39],
-- 'green' : [32, 39],
-- 'magenta' : [35, 39],
-- 'red' : [31, 39],
-- 'yellow' : [33, 39]
--};
--
--// Don't use 'blue' not visible on cmd.exe
--inspect.styles = {
-- 'special': 'cyan',
-- 'number': 'yellow',
-- 'boolean': 'yellow',
-- 'undefined': 'grey',
-- 'null': 'bold',
-- 'string': 'green',
-- 'date': 'magenta',
-- // "name": intentionally not styling
-- 'regexp': 'red'
--};
--
--
--function stylizeWithColor(str, styleType) {
-- var style = inspect.styles[styleType];
--
-- if (style) {
-- return '\u001b[' + inspect.colors[style][0] + 'm' + str +
-- '\u001b[' + inspect.colors[style][1] + 'm';
-- } else {
-- return str;
-- }
--}
--
--
--function stylizeNoColor(str, styleType) {
-- return str;
--}
--
--
--function arrayToHash(array) {
-- var hash = {};
--
-- array.forEach(function(val, idx) {
-- hash[val] = true;
-- });
--
-- return hash;
--}
--
--
--function formatValue(ctx, value, recurseTimes) {
-- // Provide a hook for user-specified inspect functions.
-- // Check that value is an object with an inspect function on it
-- if (ctx.customInspect &&
-- value &&
-- isFunction(value.inspect) &&
-- // Filter out the util module, it's inspect function is special
-- value.inspect !== exports.inspect &&
-- // Also filter out any prototype objects using the circular check.
-- !(value.constructor && value.constructor.prototype === value)) {
-- var ret = value.inspect(recurseTimes, ctx);
-- if (!isString(ret)) {
-- ret = formatValue(ctx, ret, recurseTimes);
-- }
-- return ret;
-- }
--
-- // Primitive types cannot have properties
-- var primitive = formatPrimitive(ctx, value);
-- if (primitive) {
-- return primitive;
-- }
--
-- // Look up the keys of the object.
-- var keys = Object.keys(value);
-- var visibleKeys = arrayToHash(keys);
--
-- if (ctx.showHidden) {
-- keys = Object.getOwnPropertyNames(value);
-- }
--
-- // Some type of object without properties can be shortcutted.
-- if (keys.length === 0) {
-- if (isFunction(value)) {
-- var name = value.name ? ': ' + value.name : '';
-- return ctx.stylize('[Function' + name + ']', 'special');
-- }
-- if (isRegExp(value)) {
-- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
-- }
-- if (isDate(value)) {
-- return ctx.stylize(Date.prototype.toString.call(value), 'date');
-- }
-- if (isError(value)) {
-- return formatError(value);
-- }
-- }
--
-- var base = '', array = false, braces = ['{', '}'];
--
-- // Make Array say that they are Array
-- if (isArray(value)) {
-- array = true;
-- braces = ['[', ']'];
-- }
--
-- // Make functions say that they are functions
-- if (isFunction(value)) {
-- var n = value.name ? ': ' + value.name : '';
-- base = ' [Function' + n + ']';
-- }
--
-- // Make RegExps say that they are RegExps
-- if (isRegExp(value)) {
-- base = ' ' + RegExp.prototype.toString.call(value);
-- }
--
-- // Make dates with properties first say the date
-- if (isDate(value)) {
-- base = ' ' + Date.prototype.toUTCString.call(value);
-- }
--
-- // Make error with message first say the error
-- if (isError(value)) {
-- base = ' ' + formatError(value);
-- }
--
-- if (keys.length === 0 && (!array || value.length == 0)) {
-- return braces[0] + base + braces[1];
-- }
--
-- if (recurseTimes < 0) {
-- if (isRegExp(value)) {
-- return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
-- } else {
-- return ctx.stylize('[Object]', 'special');
-- }
-- }
--
-- ctx.seen.push(value);
--
-- var output;
-- if (array) {
-- output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
-- } else {
-- output = keys.map(function(key) {
-- return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
-- });
-- }
--
-- ctx.seen.pop();
--
-- return reduceToSingleString(output, base, braces);
--}
--
--
--function formatPrimitive(ctx, value) {
-- if (isUndefined(value))
-- return ctx.stylize('undefined', 'undefined');
-- if (isString(value)) {
-- var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
-- .replace(/'/g, "\\'")
-- .replace(/\\"/g, '"') + '\'';
-- return ctx.stylize(simple, 'string');
-- }
-- if (isNumber(value)) {
-- // Format -0 as '-0'. Strict equality won't distinguish 0 from -0,
-- // so instead we use the fact that 1 / -0 < 0 whereas 1 / 0 > 0 .
-- if (value === 0 && 1 / value < 0)
-- return ctx.stylize('-0', 'number');
-- return ctx.stylize('' + value, 'number');
-- }
-- if (isBoolean(value))
-- return ctx.stylize('' + value, 'boolean');
-- // For some reason typeof null is "object", so special case here.
-- if (isNull(value))
-- return ctx.stylize('null', 'null');
--}
--
--
--function formatError(value) {
-- return '[' + Error.prototype.toString.call(value) + ']';
--}
--
--
--function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
-- var output = [];
-- for (var i = 0, l = value.length; i < l; ++i) {
-- if (hasOwnProperty(value, String(i))) {
-- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
-- String(i), true));
-- } else {
-- output.push('');
-- }
-- }
-- keys.forEach(function(key) {
-- if (!key.match(/^\d+$/)) {
-- output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
-- key, true));
-- }
-- });
-- return output;
--}
--
--
--function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
-- var name, str, desc;
-- desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
-- if (desc.get) {
-- if (desc.set) {
-- str = ctx.stylize('[Getter/Setter]', 'special');
-- } else {
-- str = ctx.stylize('[Getter]', 'special');
-- }
-- } else {
-- if (desc.set) {
-- str = ctx.stylize('[Setter]', 'special');
-- }
-- }
-- if (!hasOwnProperty(visibleKeys, key)) {
-- name = '[' + key + ']';
-- }
-- if (!str) {
-- if (ctx.seen.indexOf(desc.value) < 0) {
-- if (isNull(recurseTimes)) {
-- str = formatValue(ctx, desc.value, null);
-- } else {
-- str = formatValue(ctx, desc.value, recurseTimes - 1);
-- }
-- if (str.indexOf('\n') > -1) {
-- if (array) {
-- str = str.split('\n').map(function(line) {
-- return ' ' + line;
-- }).join('\n').substr(2);
-- } else {
-- str = '\n' + str.split('\n').map(function(line) {
-- return ' ' + line;
-- }).join('\n');
-- }
-- }
-- } else {
-- str = ctx.stylize('[Circular]', 'special');
-- }
-- }
-- if (isUndefined(name)) {
-- if (array && key.match(/^\d+$/)) {
-- return str;
-- }
-- name = JSON.stringify('' + key);
-- if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
-- name = name.substr(1, name.length - 2);
-- name = ctx.stylize(name, 'name');
-- } else {
-- name = name.replace(/'/g, "\\'")
-- .replace(/\\"/g, '"')
-- .replace(/(^"|"$)/g, "'");
-- name = ctx.stylize(name, 'string');
-- }
-- }
--
-- return name + ': ' + str;
--}
--
--
--function reduceToSingleString(output, base, braces) {
-- var numLinesEst = 0;
-- var length = output.reduce(function(prev, cur) {
-- numLinesEst++;
-- if (cur.indexOf('\n') >= 0) numLinesEst++;
-- return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
-- }, 0);
--
-- if (length > 60) {
-- return braces[0] +
-- (base === '' ? '' : base + '\n ') +
-- ' ' +
-- output.join(',\n ') +
-- ' ' +
-- braces[1];
-- }
--
-- return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
--}
--
--
- // NOTE: These type checking functions intentionally don't use `instanceof`
- // because it is fragile and can be easily faked with `Object.create()`.
- function isArray(ar) {
-@@ -522,166 +98,10 @@ function isPrimitive(arg) {
- exports.isPrimitive = isPrimitive;
-
- function isBuffer(arg) {
-- return arg instanceof Buffer;
-+ return Buffer.isBuffer(arg);
- }
- exports.isBuffer = isBuffer;
-
- function objectToString(o) {
- return Object.prototype.toString.call(o);
--}
--
--
--function pad(n) {
-- return n < 10 ? '0' + n.toString(10) : n.toString(10);
--}
--
--
--var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
-- 'Oct', 'Nov', 'Dec'];
--
--// 26 Feb 16:19:34
--function timestamp() {
-- var d = new Date();
-- var time = [pad(d.getHours()),
-- pad(d.getMinutes()),
-- pad(d.getSeconds())].join(':');
-- return [d.getDate(), months[d.getMonth()], time].join(' ');
--}
--
--
--// log is just a thin wrapper to console.log that prepends a timestamp
--exports.log = function() {
-- console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
--};
--
--
--/**
-- * Inherit the prototype methods from one constructor into another.
-- *
-- * The Function.prototype.inherits from lang.js rewritten as a standalone
-- * function (not on Function.prototype). NOTE: If this file is to be loaded
-- * during bootstrapping this function needs to be rewritten using some native
-- * functions as prototype setup using normal JavaScript does not work as
-- * expected during bootstrapping (see mirror.js in r114903).
-- *
-- * @param {function} ctor Constructor function which needs to inherit the
-- * prototype.
-- * @param {function} superCtor Constructor function to inherit prototype from.
-- */
--exports.inherits = function(ctor, superCtor) {
-- ctor.super_ = superCtor;
-- ctor.prototype = Object.create(superCtor.prototype, {
-- constructor: {
-- value: ctor,
-- enumerable: false,
-- writable: true,
-- configurable: true
-- }
-- });
--};
--
--exports._extend = function(origin, add) {
-- // Don't do anything if add isn't an object
-- if (!add || !isObject(add)) return origin;
--
-- var keys = Object.keys(add);
-- var i = keys.length;
-- while (i--) {
-- origin[keys[i]] = add[keys[i]];
-- }
-- return origin;
--};
--
--function hasOwnProperty(obj, prop) {
-- return Object.prototype.hasOwnProperty.call(obj, prop);
--}
--
--
--// Deprecated old stuff.
--
--exports.p = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- console.error(exports.inspect(arguments[i]));
-- }
--}, 'util.p: Use console.error() instead');
--
--
--exports.exec = exports.deprecate(function() {
-- return require('child_process').exec.apply(this, arguments);
--}, 'util.exec is now called `child_process.exec`.');
--
--
--exports.print = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stdout.write(String(arguments[i]));
-- }
--}, 'util.print: Use console.log instead');
--
--
--exports.puts = exports.deprecate(function() {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stdout.write(arguments[i] + '\n');
-- }
--}, 'util.puts: Use console.log instead');
--
--
--exports.debug = exports.deprecate(function(x) {
-- process.stderr.write('DEBUG: ' + x + '\n');
--}, 'util.debug: Use console.error instead');
--
--
--exports.error = exports.deprecate(function(x) {
-- for (var i = 0, len = arguments.length; i < len; ++i) {
-- process.stderr.write(arguments[i] + '\n');
-- }
--}, 'util.error: Use console.error instead');
--
--
--exports.pump = exports.deprecate(function(readStream, writeStream, callback) {
-- var callbackCalled = false;
--
-- function call(a, b, c) {
-- if (callback && !callbackCalled) {
-- callback(a, b, c);
-- callbackCalled = true;
-- }
-- }
--
-- readStream.addListener('data', function(chunk) {
-- if (writeStream.write(chunk) === false) readStream.pause();
-- });
--
-- writeStream.addListener('drain', function() {
-- readStream.resume();
-- });
--
-- readStream.addListener('end', function() {
-- writeStream.end();
-- });
--
-- readStream.addListener('close', function() {
-- call();
-- });
--
-- readStream.addListener('error', function(err) {
-- writeStream.end();
-- call(err);
-- });
--
-- writeStream.addListener('error', function(err) {
-- readStream.destroy();
-- call(err);
-- });
--}, 'util.pump(): Use readableStream.pipe() instead');
--
--
--var uv;
--exports._errnoException = function(err, syscall) {
-- if (isUndefined(uv)) uv = process.binding('uv');
-- var errname = uv.errname(err);
-- var e = new Error(syscall + ' ' + errname);
-- e.code = errname;
-- e.errno = errname;
-- e.syscall = syscall;
-- return e;
--};
-+} \ No newline at end of file
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/lib/util.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
deleted file mode 100644
index 9074e8ebcb..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) &&
- (objectToString(e) === '[object Error]' || e instanceof Error);
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return Buffer.isBuffer(arg);
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-} \ No newline at end of file
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/util.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/util.js
deleted file mode 100644
index 007fa10575..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/core-util-is/util.js
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) && objectToString(e) === '[object Error]';
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return arg instanceof Buffer;
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/README.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/README.md
deleted file mode 100644
index 052a62b8d7..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-
-# isarray
-
-`Array#isArray` for older browsers.
-
-## Usage
-
-```js
-var isArray = require('isarray');
-
-console.log(isArray([])); // => true
-console.log(isArray({})); // => false
-```
-
-## Installation
-
-With [npm](http://npmjs.org) do
-
-```bash
-$ npm install isarray
-```
-
-Then bundle for the browser with
-[browserify](https://github.com/substack/browserify).
-
-With [component](http://component.io) do
-
-```bash
-$ component install juliangruber/isarray
-```
-
-## License
-
-(MIT)
-
-Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
-
-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/sha/node_modules/readable-stream/node_modules/isarray/build/build.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/build/build.js
deleted file mode 100644
index e1856ef094..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/build/build.js
+++ /dev/null
@@ -1,208 +0,0 @@
-
-/**
- * Require the given path.
- *
- * @param {String} path
- * @return {Object} exports
- * @api public
- */
-
-function require(path, parent, orig) {
- var resolved = require.resolve(path);
-
- // lookup failed
- if (null == resolved) {
- orig = orig || path;
- parent = parent || 'root';
- var err = new Error('Failed to require "' + orig + '" from "' + parent + '"');
- err.path = orig;
- err.parent = parent;
- err.require = true;
- throw err;
- }
-
- var module = require.modules[resolved];
-
- // perform real require()
- // by invoking the module's
- // registered function
- if (!module.exports) {
- module.exports = {};
- module.client = module.component = true;
- module.call(this, module.exports, require.relative(resolved), module);
- }
-
- return module.exports;
-}
-
-/**
- * Registered modules.
- */
-
-require.modules = {};
-
-/**
- * Registered aliases.
- */
-
-require.aliases = {};
-
-/**
- * Resolve `path`.
- *
- * Lookup:
- *
- * - PATH/index.js
- * - PATH.js
- * - PATH
- *
- * @param {String} path
- * @return {String} path or null
- * @api private
- */
-
-require.resolve = function(path) {
- if (path.charAt(0) === '/') path = path.slice(1);
- var index = path + '/index.js';
-
- var paths = [
- path,
- path + '.js',
- path + '.json',
- path + '/index.js',
- path + '/index.json'
- ];
-
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- if (require.modules.hasOwnProperty(path)) return path;
- }
-
- if (require.aliases.hasOwnProperty(index)) {
- return require.aliases[index];
- }
-};
-
-/**
- * Normalize `path` relative to the current path.
- *
- * @param {String} curr
- * @param {String} path
- * @return {String}
- * @api private
- */
-
-require.normalize = function(curr, path) {
- var segs = [];
-
- if ('.' != path.charAt(0)) return path;
-
- curr = curr.split('/');
- path = path.split('/');
-
- for (var i = 0; i < path.length; ++i) {
- if ('..' == path[i]) {
- curr.pop();
- } else if ('.' != path[i] && '' != path[i]) {
- segs.push(path[i]);
- }
- }
-
- return curr.concat(segs).join('/');
-};
-
-/**
- * Register module at `path` with callback `definition`.
- *
- * @param {String} path
- * @param {Function} definition
- * @api private
- */
-
-require.register = function(path, definition) {
- require.modules[path] = definition;
-};
-
-/**
- * Alias a module definition.
- *
- * @param {String} from
- * @param {String} to
- * @api private
- */
-
-require.alias = function(from, to) {
- if (!require.modules.hasOwnProperty(from)) {
- throw new Error('Failed to alias "' + from + '", it does not exist');
- }
- require.aliases[to] = from;
-};
-
-/**
- * Return a require function relative to the `parent` path.
- *
- * @param {String} parent
- * @return {Function}
- * @api private
- */
-
-require.relative = function(parent) {
- var p = require.normalize(parent, '..');
-
- /**
- * lastIndexOf helper.
- */
-
- function lastIndexOf(arr, obj) {
- var i = arr.length;
- while (i--) {
- if (arr[i] === obj) return i;
- }
- return -1;
- }
-
- /**
- * The relative require() itself.
- */
-
- function localRequire(path) {
- var resolved = localRequire.resolve(path);
- return require(resolved, parent, path);
- }
-
- /**
- * Resolve relative to the parent.
- */
-
- localRequire.resolve = function(path) {
- var c = path.charAt(0);
- if ('/' == c) return path.slice(1);
- if ('.' == c) return require.normalize(p, path);
-
- // resolve deps by returning
- // the dep in the nearest "deps"
- // directory
- var segs = parent.split('/');
- var i = lastIndexOf(segs, 'deps') + 1;
- if (!i) i = 0;
- path = segs.slice(0, i + 1).join('/') + '/deps/' + path;
- return path;
- };
-
- /**
- * Check if module is defined at `path`.
- */
-
- localRequire.exists = function(path) {
- return require.modules.hasOwnProperty(localRequire.resolve(path));
- };
-
- return localRequire;
-};
-require.register("isarray/index.js", function(exports, require, module){
-module.exports = Array.isArray || function (arr) {
- return Object.prototype.toString.call(arr) == '[object Array]';
-};
-
-});
-require.alias("isarray/index.js", "isarray/index.js");
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/component.json b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/component.json
deleted file mode 100644
index 9e31b68388..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/component.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name" : "isarray",
- "description" : "Array#isArray for older browsers",
- "version" : "0.0.1",
- "repository" : "juliangruber/isarray",
- "homepage": "https://github.com/juliangruber/isarray",
- "main" : "index.js",
- "scripts" : [
- "index.js"
- ],
- "dependencies" : {},
- "keywords": ["browser","isarray","array"],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT"
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/index.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/index.js
deleted file mode 100644
index 5f5ad45d46..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = Array.isArray || function (arr) {
- return Object.prototype.toString.call(arr) == '[object Array]';
-};
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/package.json b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/package.json
deleted file mode 100644
index 19228ab6fd..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/isarray/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "isarray",
- "description": "Array#isArray for older browsers",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/isarray.git"
- },
- "homepage": "https://github.com/juliangruber/isarray",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "*"
- },
- "keywords": [
- "browser",
- "isarray",
- "array"
- ],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
- "license": "MIT",
- "_id": "isarray@0.0.1",
- "dist": {
- "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "tarball": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
- },
- "_from": "isarray@0.0.1",
- "_npmVersion": "1.2.18",
- "_npmUser": {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- },
- "maintainers": [
- {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- }
- ],
- "directories": {},
- "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "bugs": {
- "url": "https://github.com/juliangruber/isarray/issues"
- },
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml
deleted file mode 100644
index 5ac9885534..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/.travis.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-language: node_js
-node_js:
- - "0.8"
- - "0.10"
- - "0.11"
- - "0.12"
- - "iojs"
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/index.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/index.js
deleted file mode 100644
index 049521cad7..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-module.exports = nextTick;
-
-function nextTick(fn) {
- var args = new Array(arguments.length - 1);
- var i = 0;
- while (i < args.length) {
- args[i++] = arguments[i];
- }
- process.nextTick(function afterTick() {
- fn.apply(null, args);
- });
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/license.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/license.md
deleted file mode 100644
index c67e3532b5..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/license.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (c) 2015 Calvin Metcalf
-
-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/sha/node_modules/readable-stream/node_modules/process-nextick-args/readme.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/readme.md
deleted file mode 100644
index 78e7cfaeb7..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-process-nextick-args
-=====
-
-[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args)
-
-```bash
-npm install --save process-nextick-args
-```
-
-Always be able to pass arguments to process.nextTick, no matter the platform
-
-```js
-var nextTick = require('process-nextick-args');
-
-nextTick(function (a, b, c) {
- console.log(a, b, c);
-}, 'step', 3, 'profit');
-```
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/test.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/test.js
deleted file mode 100644
index ef15721584..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/process-nextick-args/test.js
+++ /dev/null
@@ -1,24 +0,0 @@
-var test = require("tap").test;
-var nextTick = require('./');
-
-test('should work', function (t) {
- t.plan(5);
- nextTick(function (a) {
- t.ok(a);
- nextTick(function (thing) {
- t.equals(thing, 7);
- }, 7);
- }, true);
- nextTick(function (a, b, c) {
- t.equals(a, 'step');
- t.equals(b, 3);
- t.equals(c, 'profit');
- }, 'step', 3, 'profit');
-});
-
-test('correct number of arguments', function (t) {
- t.plan(1);
- nextTick(function () {
- t.equals(2, arguments.length, 'correct number');
- }, 1, 2);
-});
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/.npmignore b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/.npmignore
deleted file mode 100644
index 206320cc1d..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build
-test
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/LICENSE b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/LICENSE
deleted file mode 100644
index 6de584a48f..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright Joyent, Inc. and other Node contributors.
-
-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/sha/node_modules/readable-stream/node_modules/string_decoder/README.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/README.md
deleted file mode 100644
index 4d2aa00150..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-**string_decoder.js** (`require('string_decoder')`) from Node.js core
-
-Copyright Joyent, Inc. and other Node contributors. See LICENCE file for details.
-
-Version numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**
-
-The *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version. \ No newline at end of file
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/index.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/index.js
deleted file mode 100644
index b00e54fb79..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/index.js
+++ /dev/null
@@ -1,221 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-var Buffer = require('buffer').Buffer;
-
-var isBufferEncoding = Buffer.isEncoding
- || function(encoding) {
- switch (encoding && encoding.toLowerCase()) {
- case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
- default: return false;
- }
- }
-
-
-function assertEncoding(encoding) {
- if (encoding && !isBufferEncoding(encoding)) {
- throw new Error('Unknown encoding: ' + encoding);
- }
-}
-
-// StringDecoder provides an interface for efficiently splitting a series of
-// buffers into a series of JS strings without breaking apart multi-byte
-// characters. CESU-8 is handled as part of the UTF-8 encoding.
-//
-// @TODO Handling all encodings inside a single object makes it very difficult
-// to reason about this code, so it should be split up in the future.
-// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
-// points as used by CESU-8.
-var StringDecoder = exports.StringDecoder = function(encoding) {
- this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
- assertEncoding(encoding);
- switch (this.encoding) {
- case 'utf8':
- // CESU-8 represents each of Surrogate Pair by 3-bytes
- this.surrogateSize = 3;
- break;
- case 'ucs2':
- case 'utf16le':
- // UTF-16 represents each of Surrogate Pair by 2-bytes
- this.surrogateSize = 2;
- this.detectIncompleteChar = utf16DetectIncompleteChar;
- break;
- case 'base64':
- // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
- this.surrogateSize = 3;
- this.detectIncompleteChar = base64DetectIncompleteChar;
- break;
- default:
- this.write = passThroughWrite;
- return;
- }
-
- // Enough space to store all bytes of a single character. UTF-8 needs 4
- // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
- this.charBuffer = new Buffer(6);
- // Number of bytes received for the current incomplete multi-byte character.
- this.charReceived = 0;
- // Number of bytes expected for the current incomplete multi-byte character.
- this.charLength = 0;
-};
-
-
-// write decodes the given buffer and returns it as JS string that is
-// guaranteed to not contain any partial multi-byte characters. Any partial
-// character found at the end of the buffer is buffered up, and will be
-// returned when calling write again with the remaining bytes.
-//
-// Note: Converting a Buffer containing an orphan surrogate to a String
-// currently works, but converting a String to a Buffer (via `new Buffer`, or
-// Buffer#write) will replace incomplete surrogates with the unicode
-// replacement character. See https://codereview.chromium.org/121173009/ .
-StringDecoder.prototype.write = function(buffer) {
- var charStr = '';
- // if our last write ended with an incomplete multibyte character
- while (this.charLength) {
- // determine how many remaining bytes this buffer has to offer for this char
- var available = (buffer.length >= this.charLength - this.charReceived) ?
- this.charLength - this.charReceived :
- buffer.length;
-
- // add the new bytes to the char buffer
- buffer.copy(this.charBuffer, this.charReceived, 0, available);
- this.charReceived += available;
-
- if (this.charReceived < this.charLength) {
- // still not enough chars in this buffer? wait for more ...
- return '';
- }
-
- // remove bytes belonging to the current character from the buffer
- buffer = buffer.slice(available, buffer.length);
-
- // get the character that was split
- charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
-
- // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
- var charCode = charStr.charCodeAt(charStr.length - 1);
- if (charCode >= 0xD800 && charCode <= 0xDBFF) {
- this.charLength += this.surrogateSize;
- charStr = '';
- continue;
- }
- this.charReceived = this.charLength = 0;
-
- // if there are no more bytes in this buffer, just emit our char
- if (buffer.length === 0) {
- return charStr;
- }
- break;
- }
-
- // determine and set charLength / charReceived
- this.detectIncompleteChar(buffer);
-
- var end = buffer.length;
- if (this.charLength) {
- // buffer the incomplete character bytes we got
- buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
- end -= this.charReceived;
- }
-
- charStr += buffer.toString(this.encoding, 0, end);
-
- var end = charStr.length - 1;
- var charCode = charStr.charCodeAt(end);
- // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
- if (charCode >= 0xD800 && charCode <= 0xDBFF) {
- var size = this.surrogateSize;
- this.charLength += size;
- this.charReceived += size;
- this.charBuffer.copy(this.charBuffer, size, 0, size);
- buffer.copy(this.charBuffer, 0, 0, size);
- return charStr.substring(0, end);
- }
-
- // or just emit the charStr
- return charStr;
-};
-
-// detectIncompleteChar determines if there is an incomplete UTF-8 character at
-// the end of the given buffer. If so, it sets this.charLength to the byte
-// length that character, and sets this.charReceived to the number of bytes
-// that are available for this character.
-StringDecoder.prototype.detectIncompleteChar = function(buffer) {
- // determine how many bytes we have to check at the end of this buffer
- var i = (buffer.length >= 3) ? 3 : buffer.length;
-
- // Figure out if one of the last i bytes of our buffer announces an
- // incomplete char.
- for (; i > 0; i--) {
- var c = buffer[buffer.length - i];
-
- // See http://en.wikipedia.org/wiki/UTF-8#Description
-
- // 110XXXXX
- if (i == 1 && c >> 5 == 0x06) {
- this.charLength = 2;
- break;
- }
-
- // 1110XXXX
- if (i <= 2 && c >> 4 == 0x0E) {
- this.charLength = 3;
- break;
- }
-
- // 11110XXX
- if (i <= 3 && c >> 3 == 0x1E) {
- this.charLength = 4;
- break;
- }
- }
- this.charReceived = i;
-};
-
-StringDecoder.prototype.end = function(buffer) {
- var res = '';
- if (buffer && buffer.length)
- res = this.write(buffer);
-
- if (this.charReceived) {
- var cr = this.charReceived;
- var buf = this.charBuffer;
- var enc = this.encoding;
- res += buf.slice(0, cr).toString(enc);
- }
-
- return res;
-};
-
-function passThroughWrite(buffer) {
- return buffer.toString(this.encoding);
-}
-
-function utf16DetectIncompleteChar(buffer) {
- this.charReceived = buffer.length % 2;
- this.charLength = this.charReceived ? 2 : 0;
-}
-
-function base64DetectIncompleteChar(buffer) {
- this.charReceived = buffer.length % 3;
- this.charLength = this.charReceived ? 3 : 0;
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/package.json b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/package.json
deleted file mode 100644
index 0364d54ba4..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/string_decoder/package.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "name": "string_decoder",
- "version": "0.10.31",
- "description": "The string_decoder module from Node core",
- "main": "index.js",
- "dependencies": {},
- "devDependencies": {
- "tap": "~0.4.8"
- },
- "scripts": {
- "test": "tap test/simple/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/rvagg/string_decoder.git"
- },
- "homepage": "https://github.com/rvagg/string_decoder",
- "keywords": [
- "string",
- "decoder",
- "browser",
- "browserify"
- ],
- "license": "MIT",
- "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
- "bugs": {
- "url": "https://github.com/rvagg/string_decoder/issues"
- },
- "_id": "string_decoder@0.10.31",
- "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "_from": "string_decoder@>=0.10.0 <0.11.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
- },
- "maintainers": [
- {
- "name": "substack",
- "email": "mail@substack.net"
- },
- {
- "name": "rvagg",
- "email": "rod@vagg.org"
- }
- ],
- "dist": {
- "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/History.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/History.md
deleted file mode 100644
index ec010299b1..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/History.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-1.0.1 / 2014-11-25
-==================
-
- * browser: use `console.warn()` for deprecation calls
- * browser: more jsdocs
-
-1.0.0 / 2014-04-30
-==================
-
- * initial commit
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/LICENSE b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/LICENSE
deleted file mode 100644
index 6a60e8c225..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
-
-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/sha/node_modules/readable-stream/node_modules/util-deprecate/README.md b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/README.md
deleted file mode 100644
index 75622fa7c2..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-util-deprecate
-==============
-### The Node.js `util.deprecate()` function with browser support
-
-In Node.js, this module simply re-exports the `util.deprecate()` function.
-
-In the web browser (i.e. via browserify), a browser-specific implementation
-of the `util.deprecate()` function is used.
-
-
-## API
-
-A `deprecate()` function is the only thing exposed by this module.
-
-``` javascript
-// setup:
-exports.foo = deprecate(foo, 'foo() is deprecated, use bar() instead');
-
-
-// users see:
-foo();
-// foo() is deprecated, use bar() instead
-foo();
-foo();
-```
-
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2014 Nathan Rajlich <nathan@tootallnate.net>
-
-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/sha/node_modules/readable-stream/node_modules/util-deprecate/browser.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/browser.js
deleted file mode 100644
index 55fa5a4bc6..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/browser.js
+++ /dev/null
@@ -1,62 +0,0 @@
-
-/**
- * Module exports.
- */
-
-module.exports = deprecate;
-
-/**
- * Mark that a method should not be used.
- * Returns a modified function which warns once by default.
- *
- * If `localStorage.noDeprecation = true` is set, then it is a no-op.
- *
- * If `localStorage.throwDeprecation = true` is set, then deprecated functions
- * will throw an Error when invoked.
- *
- * If `localStorage.traceDeprecation = true` is set, then deprecated functions
- * will invoke `console.trace()` instead of `console.error()`.
- *
- * @param {Function} fn - the function to deprecate
- * @param {String} msg - the string to print to the console when `fn` is invoked
- * @returns {Function} a new "deprecated" version of `fn`
- * @api public
- */
-
-function deprecate (fn, msg) {
- if (config('noDeprecation')) {
- return fn;
- }
-
- var warned = false;
- function deprecated() {
- if (!warned) {
- if (config('throwDeprecation')) {
- throw new Error(msg);
- } else if (config('traceDeprecation')) {
- console.trace(msg);
- } else {
- console.warn(msg);
- }
- warned = true;
- }
- return fn.apply(this, arguments);
- }
-
- return deprecated;
-}
-
-/**
- * Checks `localStorage` for boolean values for the given `name`.
- *
- * @param {String} name
- * @returns {Boolean}
- * @api private
- */
-
-function config (name) {
- if (!global.localStorage) return false;
- var val = global.localStorage[name];
- if (null == val) return false;
- return String(val).toLowerCase() === 'true';
-}
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/node.js b/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/node.js
deleted file mode 100644
index 5e6fcff5dd..0000000000
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/node.js
+++ /dev/null
@@ -1,6 +0,0 @@
-
-/**
- * For Node.js, simply re-export the core `util.deprecate` function.
- */
-
-module.exports = require('util').deprecate;
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/package.json b/deps/npm/node_modules/sha/node_modules/readable-stream/package.json
index 7a333a98a3..edc90f8d7c 100644
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/package.json
+++ b/deps/npm/node_modules/sha/node_modules/readable-stream/package.json
@@ -1,8 +1,43 @@
{
- "name": "readable-stream",
- "version": "2.0.2",
- "description": "Streams3, a user-land copy of the stream library from iojs v2.x",
- "main": "readable.js",
+ "_args": [
+ [
+ "readable-stream@^2.0.2",
+ "/Users/rebecca/code/npm/node_modules/sha"
+ ]
+ ],
+ "_from": "readable-stream@>=2.0.2 <3.0.0",
+ "_id": "readable-stream@2.0.2",
+ "_inCache": true,
+ "_location": "/sha/readable-stream",
+ "_nodeVersion": "2.3.0",
+ "_npmUser": {
+ "email": "calvin.metcalf@gmail.com",
+ "name": "cwmma"
+ },
+ "_npmVersion": "2.11.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "readable-stream",
+ "raw": "readable-stream@^2.0.2",
+ "rawSpec": "^2.0.2",
+ "scope": null,
+ "spec": ">=2.0.2 <3.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/sha"
+ ],
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
+ "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
+ "_shrinkwrap": null,
+ "_spec": "readable-stream@^2.0.2",
+ "_where": "/Users/rebecca/code/npm/node_modules/sha",
+ "browser": {
+ "util": false
+ },
+ "bugs": {
+ "url": "https://github.com/nodejs/readable-stream/issues"
+ },
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
@@ -11,46 +46,27 @@
"string_decoder": "~0.10.x",
"util-deprecate": "~1.0.1"
},
+ "description": "Streams3, a user-land copy of the stream library from iojs v2.x",
"devDependencies": {
"tap": "~0.2.6",
"tape": "~4.0.0",
"zuul": "~3.0.0"
},
- "scripts": {
- "test": "tap test/parallel/*.js",
- "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/nodejs/readable-stream.git"
+ "directories": {},
+ "dist": {
+ "shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
+ "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"
},
+ "gitHead": "1a70134a71196eeabb5e27bc7580faaa68d30513",
+ "homepage": "https://github.com/nodejs/readable-stream#readme",
+ "installable": true,
"keywords": [
+ "pipe",
"readable",
- "stream",
- "pipe"
+ "stream"
],
- "browser": {
- "util": false
- },
"license": "MIT",
- "gitHead": "1a70134a71196eeabb5e27bc7580faaa68d30513",
- "bugs": {
- "url": "https://github.com/nodejs/readable-stream/issues"
- },
- "homepage": "https://github.com/nodejs/readable-stream#readme",
- "_id": "readable-stream@2.0.2",
- "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "_from": "readable-stream@>=2.0.2 <3.0.0",
- "_npmVersion": "2.11.1",
- "_nodeVersion": "2.3.0",
- "_npmUser": {
- "name": "cwmma",
- "email": "calvin.metcalf@gmail.com"
- },
- "dist": {
- "shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz"
- },
+ "main": "readable.js",
"maintainers": [
{
"name": "isaacs",
@@ -69,7 +85,15 @@
"email": "calvin.metcalf@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "readable-stream",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/nodejs/readable-stream.git"
+ },
+ "scripts": {
+ "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js",
+ "test": "tap test/parallel/*.js"
+ },
+ "version": "2.0.2"
}
diff --git a/deps/npm/node_modules/sha/package.json b/deps/npm/node_modules/sha/package.json
index 95e55e1389..0bd2cf7a1d 100644
--- a/deps/npm/node_modules/sha/package.json
+++ b/deps/npm/node_modules/sha/package.json
@@ -1,36 +1,64 @@
{
- "name": "sha",
- "version": "2.0.1",
- "description": "Check and get file hashes",
- "scripts": {
- "test": "mocha -R spec"
+ "_args": [
+ [
+ "sha@~2.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "sha@>=2.0.1 <2.1.0",
+ "_id": "sha@2.0.1",
+ "_inCache": true,
+ "_location": "/sha",
+ "_nodeVersion": "1.6.2",
+ "_npmUser": {
+ "email": "forbes@lindesay.co.uk",
+ "name": "forbeslindesay"
},
- "repository": {
- "type": "git",
- "url": "https://github.com/ForbesLindesay/sha.git"
+ "_npmVersion": "2.7.1",
+ "_phantomChildren": {
+ "core-util-is": "1.0.1",
+ "inherits": "2.0.1",
+ "isarray": "0.0.1",
+ "process-nextick-args": "1.0.3",
+ "string_decoder": "0.10.31",
+ "util-deprecate": "1.0.1"
+ },
+ "_requested": {
+ "name": "sha",
+ "raw": "sha@~2.0.1",
+ "rawSpec": "~2.0.1",
+ "scope": null,
+ "spec": ">=2.0.1 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz",
+ "_shasum": "6030822fbd2c9823949f8f72ed6411ee5cf25aae",
+ "_shrinkwrap": null,
+ "_spec": "sha@~2.0.1",
+ "_where": "/Users/rebecca/code/npm",
+ "bugs": {
+ "url": "https://github.com/ForbesLindesay/sha/issues"
},
- "license": "(BSD-2-Clause OR MIT)",
"dependencies": {
"graceful-fs": "^4.1.2",
"readable-stream": "^2.0.2"
},
+ "description": "Check and get file hashes",
"devDependencies": {
"mocha": "~1.9.0"
},
- "gitHead": "ce7c72ba753d886fb46c396cbadcbfc8eac25b4f",
- "bugs": {
- "url": "https://github.com/ForbesLindesay/sha/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "6030822fbd2c9823949f8f72ed6411ee5cf25aae",
+ "tarball": "http://registry.npmjs.org/sha/-/sha-2.0.1.tgz"
},
+ "gitHead": "ce7c72ba753d886fb46c396cbadcbfc8eac25b4f",
"homepage": "https://github.com/ForbesLindesay/sha",
- "_id": "sha@2.0.1",
- "_shasum": "6030822fbd2c9823949f8f72ed6411ee5cf25aae",
- "_from": "sha@2.0.1",
- "_npmVersion": "2.7.1",
- "_nodeVersion": "1.6.2",
- "_npmUser": {
- "name": "forbeslindesay",
- "email": "forbes@lindesay.co.uk"
- },
+ "installable": true,
+ "license": "(BSD-2-Clause OR MIT)",
"maintainers": [
{
"name": "forbeslindesay",
@@ -45,10 +73,14 @@
"email": "thechargingvolcano@gmail.com"
}
],
- "dist": {
- "shasum": "6030822fbd2c9823949f8f72ed6411ee5cf25aae",
- "tarball": "http://registry.npmjs.org/sha/-/sha-2.0.1.tgz"
+ "name": "sha",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/ForbesLindesay/sha.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz"
+ "scripts": {
+ "test": "mocha -R spec"
+ },
+ "version": "2.0.1"
}
diff --git a/deps/npm/node_modules/request/node_modules/json-stringify-safe/LICENSE b/deps/npm/node_modules/sigmund/LICENSE
index 19129e315f..19129e315f 100644
--- a/deps/npm/node_modules/request/node_modules/json-stringify-safe/LICENSE
+++ b/deps/npm/node_modules/sigmund/LICENSE
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md b/deps/npm/node_modules/sigmund/README.md
index 25a38a53fe..25a38a53fe 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md
+++ b/deps/npm/node_modules/sigmund/README.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js b/deps/npm/node_modules/sigmund/bench.js
index 5acfd6d90d..5acfd6d90d 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js
+++ b/deps/npm/node_modules/sigmund/bench.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json b/deps/npm/node_modules/sigmund/package.json
index 4255e77a93..61af1e0b73 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json
+++ b/deps/npm/node_modules/sigmund/package.json
@@ -1,60 +1,83 @@
{
- "name": "sigmund",
- "version": "1.0.1",
- "description": "Quick and dirty signatures for Objects.",
- "main": "sigmund.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "~0.3.0"
- },
- "scripts": {
- "test": "tap test/*.js",
- "bench": "node bench.js"
+ "_args": [
+ [
+ "sigmund@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch"
+ ]
+ ],
+ "_from": "sigmund@>=1.0.0 <1.1.0",
+ "_id": "sigmund@1.0.1",
+ "_inCache": true,
+ "_location": "/sigmund",
+ "_nodeVersion": "2.0.1",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/sigmund.git"
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "sigmund",
+ "raw": "sigmund@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
},
- "keywords": [
- "object",
- "signature",
- "key",
- "data",
- "psychoanalysis"
+ "_requiredBy": [
+ "/node-gyp/minimatch"
],
+ "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+ "_shasum": "3ff21f198cad2175f9f3b781853fd94d0d19b590",
+ "_shrinkwrap": null,
+ "_spec": "sigmund@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
- "gitHead": "527f97aa5bb253d927348698c0cd3bb267d098c6",
"bugs": {
"url": "https://github.com/isaacs/sigmund/issues"
},
- "homepage": "https://github.com/isaacs/sigmund#readme",
- "_id": "sigmund@1.0.1",
- "_shasum": "3ff21f198cad2175f9f3b781853fd94d0d19b590",
- "_from": "sigmund@>=1.0.0 <1.1.0",
- "_npmVersion": "2.10.0",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
+ "dependencies": {},
+ "description": "Quick and dirty signatures for Objects.",
+ "devDependencies": {
+ "tap": "~0.3.0"
+ },
+ "directories": {
+ "test": "test"
},
"dist": {
"shasum": "3ff21f198cad2175f9f3b781853fd94d0d19b590",
"tarball": "http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
},
+ "gitHead": "527f97aa5bb253d927348698c0cd3bb267d098c6",
+ "homepage": "https://github.com/isaacs/sigmund#readme",
+ "keywords": [
+ "data",
+ "key",
+ "object",
+ "psychoanalysis",
+ "signature"
+ ],
+ "license": "ISC",
+ "main": "sigmund.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "sigmund",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/sigmund.git"
+ },
+ "scripts": {
+ "bench": "node bench.js",
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js b/deps/npm/node_modules/sigmund/sigmund.js
index 82c7ab8ce9..82c7ab8ce9 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js
+++ b/deps/npm/node_modules/sigmund/sigmund.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js b/deps/npm/node_modules/sigmund/test/basic.js
index 50c53a13e9..6149a80239 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js
+++ b/deps/npm/node_modules/sigmund/test/basic.js
@@ -21,4 +21,3 @@ test('basic', function (t) {
t.equal(sigmund(obj3), cycleHash)
t.end()
})
-
diff --git a/deps/npm/node_modules/slide/package.json b/deps/npm/node_modules/slide/package.json
index 1c0b30bf2a..6ec642342c 100644
--- a/deps/npm/node_modules/slide/package.json
+++ b/deps/npm/node_modules/slide/package.json
@@ -1,11 +1,47 @@
{
- "name": "slide",
- "version": "1.1.6",
+ "_args": [
+ [
+ "slide@~1.1.6",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "slide@>=1.1.6 <1.2.0",
+ "_id": "slide@1.1.6",
+ "_inCache": true,
+ "_location": "/slide",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.0.0-beta.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "slide",
+ "raw": "slide@~1.1.6",
+ "rawSpec": "~1.1.6",
+ "scope": null,
+ "spec": ">=1.1.6 <1.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/npm-registry-client",
+ "/read-installed",
+ "/write-file-atomic"
+ ],
+ "_resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
+ "_shasum": "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707",
+ "_shrinkwrap": null,
+ "_spec": "slide@~1.1.6",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
+ "bugs": {
+ "url": "https://github.com/isaacs/slide-flow-control/issues"
+ },
"contributors": [
{
"name": "S. Sriram",
@@ -13,42 +49,33 @@
"url": "http://www.565labs.com"
}
],
- "description": "A flow control lib small enough to fit on in a slide presentation. Derived live at Oak.JS",
- "main": "./lib/slide.js",
"dependencies": {},
+ "description": "A flow control lib small enough to fit on in a slide presentation. Derived live at Oak.JS",
"devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707",
+ "tarball": "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
+ },
"engines": {
"node": "*"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/slide-flow-control.git"
- },
- "license": "ISC",
"gitHead": "8345e51ee41e35825abc1a40750ea11462f57028",
- "bugs": {
- "url": "https://github.com/isaacs/slide-flow-control/issues"
- },
"homepage": "https://github.com/isaacs/slide-flow-control",
- "_id": "slide@1.1.6",
- "scripts": {},
- "_shasum": "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707",
- "_from": "slide@>=1.1.6 <1.2.0",
- "_npmVersion": "2.0.0-beta.3",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "license": "ISC",
+ "main": "./lib/slide.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707",
- "tarball": "http://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
+ "name": "slide",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/slide-flow-control.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
+ "scripts": {},
+ "version": "1.1.6"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore b/deps/npm/node_modules/sntp/.npmignore
index 77ba16cb05..b0939eabe3 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/.npmignore
+++ b/deps/npm/node_modules/sntp/.npmignore
@@ -15,4 +15,3 @@ config.json
*/*/._*
coverage.*
lib-cov
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml b/deps/npm/node_modules/sntp/.travis.yml
index 047f7e3d5e..77795c6a9b 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/.travis.yml
+++ b/deps/npm/node_modules/sntp/.travis.yml
@@ -2,4 +2,3 @@ language: node_js
node_js:
- 0.10
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE b/deps/npm/node_modules/sntp/LICENSE
index b0d877439e..b0d877439e 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE
+++ b/deps/npm/node_modules/sntp/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile b/deps/npm/node_modules/sntp/Makefile
index 417fd93708..43189de8e3 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/Makefile
+++ b/deps/npm/node_modules/sntp/Makefile
@@ -1,9 +1,8 @@
test:
@node node_modules/lab/bin/lab
-test-cov:
+test-cov:
@node node_modules/lab/bin/lab -t 100 -m 3000
test-cov-html:
@node node_modules/lab/bin/lab -r html -o coverage.html
.PHONY: test test-cov test-cov-html
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/README.md b/deps/npm/node_modules/sntp/README.md
index 98a6e025db..ec5c1a14af 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/README.md
+++ b/deps/npm/node_modules/sntp/README.md
@@ -65,4 +65,3 @@ Sntp.start(function () {
Sntp.stop();
});
```
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js b/deps/npm/node_modules/sntp/examples/offset.js
index 0303f6dcfa..58f3cf93e0 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/offset.js
+++ b/deps/npm/node_modules/sntp/examples/offset.js
@@ -13,4 +13,3 @@ Sntp.offset(function (err, offset) {
console.log(offset); // Identical (served from cache)
});
});
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js b/deps/npm/node_modules/sntp/examples/time.js
index bd70d0e6a5..ff2589f75e 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/examples/time.js
+++ b/deps/npm/node_modules/sntp/examples/time.js
@@ -22,4 +22,3 @@ Sntp.time(options, function (err, time) {
console.log('Local clock is off by: ' + time.t + ' milliseconds');
process.exit(0);
});
-
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js b/deps/npm/node_modules/sntp/index.js
index 4cc88b3587..4cc88b3587 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/index.js
+++ b/deps/npm/node_modules/sntp/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js b/deps/npm/node_modules/sntp/lib/index.js
index e91718b4ff..e91718b4ff 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/lib/index.js
+++ b/deps/npm/node_modules/sntp/lib/index.js
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/package.json b/deps/npm/node_modules/sntp/package.json
index 8b664b60fc..263dc45954 100644
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/package.json
+++ b/deps/npm/node_modules/sntp/package.json
@@ -1,65 +1,88 @@
{
- "name": "sntp",
- "description": "SNTP Client",
- "version": "1.0.9",
+ "_args": [
+ [
+ "sntp@1.x.x",
+ "/Users/rebecca/code/npm/node_modules/hawk"
+ ]
+ ],
+ "_from": "sntp@>=1.0.0 <2.0.0",
+ "_id": "sntp@1.0.9",
+ "_inCache": true,
+ "_location": "/sntp",
+ "_npmUser": {
+ "email": "eran@hueniverse.com",
+ "name": "hueniverse"
+ },
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "sntp",
+ "raw": "sntp@1.x.x",
+ "rawSpec": "1.x.x",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/hawk"
+ ],
+ "_resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "_shasum": "6541184cc90aeea6c6e7b35e2659082443c66198",
+ "_shrinkwrap": null,
+ "_spec": "sntp@1.x.x",
+ "_where": "/Users/rebecca/code/npm/node_modules/hawk",
"author": {
- "name": "Eran Hammer",
"email": "eran@hammer.io",
+ "name": "Eran Hammer",
"url": "http://hueniverse.com"
},
- "contributors": [],
- "repository": {
- "type": "git",
- "url": "git://github.com/hueniverse/sntp.git"
- },
- "main": "index",
- "keywords": [
- "sntp",
- "ntp",
- "time"
- ],
- "engines": {
- "node": ">=0.8.0"
+ "bugs": {
+ "url": "https://github.com/hueniverse/sntp/issues"
},
+ "contributors": [],
"dependencies": {
"hoek": "2.x.x"
},
+ "description": "SNTP Client",
"devDependencies": {
"lab": "4.x.x"
},
- "scripts": {
- "test": "make test-cov"
+ "directories": {},
+ "dist": {
+ "shasum": "6541184cc90aeea6c6e7b35e2659082443c66198",
+ "tarball": "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
},
+ "engines": {
+ "node": ">=0.8.0"
+ },
+ "gitHead": "ee2e35284f684609990681734d39010cd356d7da",
+ "homepage": "https://github.com/hueniverse/sntp",
+ "keywords": [
+ "ntp",
+ "sntp",
+ "time"
+ ],
"licenses": [
{
"type": "BSD",
"url": "http://github.com/hueniverse/sntp/raw/master/LICENSE"
}
],
- "gitHead": "ee2e35284f684609990681734d39010cd356d7da",
- "bugs": {
- "url": "https://github.com/hueniverse/sntp/issues"
- },
- "homepage": "https://github.com/hueniverse/sntp",
- "_id": "sntp@1.0.9",
- "_shasum": "6541184cc90aeea6c6e7b35e2659082443c66198",
- "_from": "sntp@>=1.0.0 <2.0.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "hueniverse",
- "email": "eran@hueniverse.com"
- },
+ "main": "index",
"maintainers": [
{
"name": "hueniverse",
"email": "eran@hueniverse.com"
}
],
- "dist": {
- "shasum": "6541184cc90aeea6c6e7b35e2659082443c66198",
- "tarball": "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+ "name": "sntp",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/hueniverse/sntp"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "make test-cov"
+ },
+ "version": "1.0.9"
}
diff --git a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js b/deps/npm/node_modules/sntp/test/index.js
index f1d1cdabf5..2b8a1c256e 100755
--- a/deps/npm/node_modules/request/node_modules/hawk/node_modules/sntp/test/index.js
+++ b/deps/npm/node_modules/sntp/test/index.js
@@ -432,4 +432,3 @@ describe('SNTP', function () {
});
});
});
-
diff --git a/deps/npm/node_modules/sorted-object/package.json b/deps/npm/node_modules/sorted-object/package.json
index 5bd814207a..ea1e21dd2d 100644
--- a/deps/npm/node_modules/sorted-object/package.json
+++ b/deps/npm/node_modules/sorted-object/package.json
@@ -1,37 +1,78 @@
{
- "name": "sorted-object",
- "description": "Returns a copy of an object with its keys sorted",
- "keywords": [
- "sort",
- "keys",
- "object"
+ "_args": [
+ [
+ "sorted-object@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "sorted-object@>=1.0.0 <1.1.0",
+ "_id": "sorted-object@1.0.0",
+ "_inCache": true,
+ "_location": "/sorted-object",
+ "_npmUser": {
+ "email": "domenic@domenicdenicola.com",
+ "name": "domenic"
+ },
+ "_npmVersion": "1.3.25",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "sorted-object",
+ "raw": "sorted-object@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
],
- "version": "1.0.0",
+ "_resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz",
+ "_shasum": "5d1f4f9c1fb2cd48965967304e212eb44cfb6d05",
+ "_shrinkwrap": null,
+ "_spec": "sorted-object@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Domenic Denicola",
"email": "domenic@domenicdenicola.com",
+ "name": "Domenic Denicola",
"url": "http://domenic.me/"
},
- "license": "WTFPL",
- "repository": {
- "type": "git",
- "url": "git://github.com/domenic/sorted-object.git"
- },
"bugs": {
"url": "http://github.com/domenic/sorted-object/issues"
},
- "main": "lib/sorted-object.js",
- "scripts": {
- "test": "tape test/tests.js",
- "lint": "jshint lib && jshint test"
- },
+ "dependencies": {},
+ "description": "Returns a copy of an object with its keys sorted",
"devDependencies": {
"jshint": "~2.4.3",
"tape": "~2.4.2"
},
- "readme": "# Get a Version of an Object with Sorted Keys\n\nAlthough objects in JavaScript are theoretically unsorted, in practice most engines use insertion order—at least, ignoring numeric keys. This manifests itself most prominently when dealing with an object's JSON serialization.\n\nSo, for example, you might be trying to serialize some object to a JSON file. But every time you write it, it ends up being output in a different order, depending on how you created it in the first place! This makes for some ugly diffs.\n\n**sorted-object** gives you the answer. Just use this package to create a version of your object with its keys sorted before serializing, and you'll get a consistent order every time.\n\n```js\nvar sortedObject = require(\"sorted-object\");\n\nvar objectToSerialize = generateStuffNondeterministically();\n\n// Before:\nfs.writeFileSync(\"dest.json\", JSON.stringify(objectToSerialize));\n\n// After:\nvar sortedVersion = sortedObject(objectToSerialize);\nfs.writeFileSync(\"dest.json\", JSON.stringify(sortedVersion));\n```\n",
- "readmeFilename": "README.md",
+ "directories": {},
+ "dist": {
+ "shasum": "5d1f4f9c1fb2cd48965967304e212eb44cfb6d05",
+ "tarball": "http://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz"
+ },
"homepage": "https://github.com/domenic/sorted-object",
- "_id": "sorted-object@1.0.0",
- "_from": "sorted-object@"
+ "keywords": [
+ "keys",
+ "object",
+ "sort"
+ ],
+ "license": "WTFPL",
+ "main": "lib/sorted-object.js",
+ "maintainers": [
+ {
+ "name": "domenic",
+ "email": "domenic@domenicdenicola.com"
+ }
+ ],
+ "name": "sorted-object",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/domenic/sorted-object.git"
+ },
+ "scripts": {
+ "lint": "jshint lib && jshint test",
+ "test": "tape test/tests.js"
+ },
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/README.md b/deps/npm/node_modules/spdx-correct/README.md
index 4289e5cd8c..4289e5cd8c 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/README.md
+++ b/deps/npm/node_modules/spdx-correct/README.md
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js b/deps/npm/node_modules/spdx-correct/index.js
index 75b7a21afe..75b7a21afe 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/index.js
+++ b/deps/npm/node_modules/spdx-correct/index.js
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json b/deps/npm/node_modules/spdx-correct/package.json
index f1a85e2ea3..efaea02603 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json
+++ b/deps/npm/node_modules/spdx-correct/package.json
@@ -1,21 +1,63 @@
{
- "name": "spdx-correct",
- "description": "correct invalid SPDX identifiers",
- "version": "1.0.1",
+ "_args": [
+ [
+ "spdx-correct@~1.0.0",
+ "/Users/rebecca/code/npm/node_modules/validate-npm-package-license"
+ ]
+ ],
+ "_from": "spdx-correct@>=1.0.0 <1.1.0",
+ "_id": "spdx-correct@1.0.1",
+ "_inCache": true,
+ "_location": "/spdx-correct",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "kyle@kemitchell.com",
+ "name": "kemitchell"
+ },
+ "_npmVersion": "2.13.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "spdx-correct",
+ "raw": "spdx-correct@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/validate-npm-package-license"
+ ],
+ "_resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.1.tgz",
+ "_shasum": "ac075f5f2f6a06c0bfdd1c847eb3dde3dd8221ea",
+ "_shrinkwrap": null,
+ "_spec": "spdx-correct@~1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/validate-npm-package-license",
"author": {
- "name": "Kyle E. Mitchell",
"email": "kyle@kemitchell.com",
+ "name": "Kyle E. Mitchell",
"url": "https://kemitchell.com"
},
+ "bugs": {
+ "url": "https://github.com/kemitchell/spdx-correct.js/issues"
+ },
"dependencies": {
"spdx-license-ids": "^1.0.2"
},
+ "description": "correct invalid SPDX identifiers",
"devDependencies": {
"defence-cli": "^1.0.1",
"replace-require-self": "^1.0.0",
"spdx-expression-parse": "^1.0.0",
"tape": "~4.0.0"
},
+ "directories": {},
+ "dist": {
+ "shasum": "ac075f5f2f6a06c0bfdd1c847eb3dde3dd8221ea",
+ "tarball": "http://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.1.tgz"
+ },
+ "gitHead": "f3581dea1529d975851ceab7f86e646d8220608a",
+ "homepage": "https://github.com/kemitchell/spdx-correct.js#readme",
+ "installable": true,
"keywords": [
"SPDX",
"law",
@@ -24,31 +66,6 @@
"metadata"
],
"license": "Apache-2.0",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kemitchell/spdx-correct.js.git"
- },
- "scripts": {
- "test": "defence README.md | replace-require-self | node && tape *.test.js"
- },
- "gitHead": "f3581dea1529d975851ceab7f86e646d8220608a",
- "bugs": {
- "url": "https://github.com/kemitchell/spdx-correct.js/issues"
- },
- "homepage": "https://github.com/kemitchell/spdx-correct.js#readme",
- "_id": "spdx-correct@1.0.1",
- "_shasum": "ac075f5f2f6a06c0bfdd1c847eb3dde3dd8221ea",
- "_from": "spdx-correct@>=1.0.0 <1.1.0",
- "_npmVersion": "2.13.5",
- "_nodeVersion": "0.12.7",
- "_npmUser": {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- },
- "dist": {
- "shasum": "ac075f5f2f6a06c0bfdd1c847eb3dde3dd8221ea",
- "tarball": "http://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.1.tgz"
- },
"maintainers": [
{
"name": "kemitchell",
@@ -59,6 +76,14 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.1.tgz"
+ "name": "spdx-correct",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/kemitchell/spdx-correct.js.git"
+ },
+ "scripts": {
+ "test": "defence README.md | replace-require-self | node && tape *.test.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/.npmignore b/deps/npm/node_modules/spdx-exceptions/.npmignore
index 5825067776..5825067776 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/.npmignore
+++ b/deps/npm/node_modules/spdx-exceptions/.npmignore
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/LICENSE.md b/deps/npm/node_modules/spdx-exceptions/LICENSE.md
index 6c25558956..6c25558956 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/LICENSE.md
+++ b/deps/npm/node_modules/spdx-exceptions/LICENSE.md
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/README.md b/deps/npm/node_modules/spdx-exceptions/README.md
index ef377325ee..ef377325ee 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/README.md
+++ b/deps/npm/node_modules/spdx-exceptions/README.md
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/index.json b/deps/npm/node_modules/spdx-exceptions/index.json
index dd9277891e..dd9277891e 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/index.json
+++ b/deps/npm/node_modules/spdx-exceptions/index.json
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/package.json b/deps/npm/node_modules/spdx-exceptions/package.json
index 0824998934..0ed389b575 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-exceptions/package.json
+++ b/deps/npm/node_modules/spdx-exceptions/package.json
@@ -1,10 +1,43 @@
{
- "name": "spdx-exceptions",
- "description": "list of SPDX standard license exceptions",
- "version": "1.0.2",
+ "_args": [
+ [
+ "spdx-exceptions@^1.0.0",
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/spdx-expression-parse"
+ ]
+ ],
+ "_from": "spdx-exceptions@>=1.0.0 <2.0.0",
+ "_id": "spdx-exceptions@1.0.2",
+ "_inCache": true,
+ "_location": "/spdx-exceptions",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "kyle@kemitchell.com",
+ "name": "kemitchell"
+ },
+ "_npmVersion": "2.13.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "spdx-exceptions",
+ "raw": "spdx-exceptions@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/spdx-expression-parse"
+ ],
+ "_resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.2.tgz",
+ "_shasum": "c584a2875a1db1c8743266990af6e0c82e143a5b",
+ "_shrinkwrap": null,
+ "_spec": "spdx-exceptions@^1.0.0",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/spdx-expression-parse",
"author": {
"name": "The Linux Foundation"
},
+ "bugs": {
+ "url": "https://github.com/kemitchell/spdx-exceptions.js/issues"
+ },
"contributors": [
{
"name": "Kyle E. Mitchell",
@@ -12,41 +45,34 @@
"url": "https://kemitchell.com/"
}
],
+ "dependencies": {},
+ "description": "list of SPDX standard license exceptions",
"devDependencies": {
"defence-cli": "^1.0.1"
},
- "license": "CC-BY-3.0",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kemitchell/spdx-exceptions.js.git"
- },
- "scripts": {
- "test": "defence -i javascript README.md | sed 's!spdx-exceptions!./!' | node"
- },
- "gitHead": "a1e7b0595efee0e4436e9807dd36280791e44c82",
- "bugs": {
- "url": "https://github.com/kemitchell/spdx-exceptions.js/issues"
- },
- "homepage": "https://github.com/kemitchell/spdx-exceptions.js#readme",
- "_id": "spdx-exceptions@1.0.2",
- "_shasum": "c584a2875a1db1c8743266990af6e0c82e143a5b",
- "_from": "spdx-exceptions@>=1.0.0 <2.0.0",
- "_npmVersion": "2.13.3",
- "_nodeVersion": "0.12.7",
- "_npmUser": {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- },
+ "directories": {},
"dist": {
"shasum": "c584a2875a1db1c8743266990af6e0c82e143a5b",
"tarball": "http://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.2.tgz"
},
+ "gitHead": "a1e7b0595efee0e4436e9807dd36280791e44c82",
+ "homepage": "https://github.com/kemitchell/spdx-exceptions.js#readme",
+ "installable": true,
+ "license": "CC-BY-3.0",
"maintainers": [
{
"name": "kemitchell",
"email": "kyle@kemitchell.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.2.tgz"
+ "name": "spdx-exceptions",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/kemitchell/spdx-exceptions.js.git"
+ },
+ "scripts": {
+ "test": "defence -i javascript README.md | sed 's!spdx-exceptions!./!' | node"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/LICENSE b/deps/npm/node_modules/spdx-expression-parse/LICENSE
index 442142822d..442142822d 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/LICENSE
+++ b/deps/npm/node_modules/spdx-expression-parse/LICENSE
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/README.md b/deps/npm/node_modules/spdx-expression-parse/README.md
index 897aa43f33..897aa43f33 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/README.md
+++ b/deps/npm/node_modules/spdx-expression-parse/README.md
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js b/deps/npm/node_modules/spdx-expression-parse/index.js
index 3f38e3a749..3f38e3a749 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/index.js
+++ b/deps/npm/node_modules/spdx-expression-parse/index.js
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/package.json b/deps/npm/node_modules/spdx-expression-parse/package.json
index e38d0b5a96..79ab103509 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/package.json
+++ b/deps/npm/node_modules/spdx-expression-parse/package.json
@@ -1,20 +1,62 @@
{
- "name": "spdx-expression-parse",
- "description": "parse SPDX license expressions",
- "version": "1.0.0",
+ "_args": [
+ [
+ "spdx-expression-parse@~1.0.0",
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json/node_modules/validate-npm-package-license"
+ ]
+ ],
+ "_from": "spdx-expression-parse@>=1.0.0 <1.1.0",
+ "_id": "spdx-expression-parse@1.0.0",
+ "_inCache": true,
+ "_location": "/spdx-expression-parse",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "kyle@kemitchell.com",
+ "name": "kemitchell"
+ },
+ "_npmVersion": "2.13.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "spdx-expression-parse",
+ "raw": "spdx-expression-parse@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/init-package-json/validate-npm-package-license"
+ ],
+ "_resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.0.tgz",
+ "_shasum": "4fbb7e738c9e98fa0b0914dfd961ac6629fbcdef",
+ "_shrinkwrap": null,
+ "_spec": "spdx-expression-parse@~1.0.0",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json/node_modules/validate-npm-package-license",
"author": {
- "name": "Kyle E. Mitchell",
"email": "kyle@kemitchell.com",
+ "name": "Kyle E. Mitchell",
"url": "http://kemitchell.com"
},
+ "bugs": {
+ "url": "https://github.com/kemitchell/spdx-expression-parse.js/issues"
+ },
"dependencies": {
"spdx-exceptions": "^1.0.0",
"spdx-license-ids": "^1.0.0"
},
+ "description": "parse SPDX license expressions",
"devDependencies": {
"defence-cli": "^1.0.1",
"jison": "^0.4.15"
},
+ "directories": {},
+ "dist": {
+ "shasum": "4fbb7e738c9e98fa0b0914dfd961ac6629fbcdef",
+ "tarball": "http://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.0.tgz"
+ },
+ "gitHead": "213bc03808f709a4ceaadb8466740a8c96c1e896",
+ "homepage": "https://github.com/kemitchell/spdx-expression-parse.js#readme",
+ "installable": true,
"keywords": [
"SPDX",
"law",
@@ -26,6 +68,14 @@
"standards"
],
"license": "(MIT AND CC-BY-3.0)",
+ "maintainers": [
+ {
+ "name": "kemitchell",
+ "email": "kyle@kemitchell.com"
+ }
+ ],
+ "name": "spdx-expression-parse",
+ "optionalDependencies": {},
"repository": {
"type": "git",
"url": "git+https://github.com/kemitchell/spdx-expression-parse.js.git"
@@ -36,30 +86,5 @@
"pretest": "npm run generate",
"test": "defence -i javascript README.md | node"
},
- "gitHead": "213bc03808f709a4ceaadb8466740a8c96c1e896",
- "bugs": {
- "url": "https://github.com/kemitchell/spdx-expression-parse.js/issues"
- },
- "homepage": "https://github.com/kemitchell/spdx-expression-parse.js#readme",
- "_id": "spdx-expression-parse@1.0.0",
- "_shasum": "4fbb7e738c9e98fa0b0914dfd961ac6629fbcdef",
- "_from": "spdx-expression-parse@>=1.0.0 <1.1.0",
- "_npmVersion": "2.13.3",
- "_nodeVersion": "0.12.7",
- "_npmUser": {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- },
- "dist": {
- "shasum": "4fbb7e738c9e98fa0b0914dfd961ac6629fbcdef",
- "tarball": "http://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.0.tgz"
- },
- "maintainers": [
- {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.0.tgz"
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.generated.js b/deps/npm/node_modules/spdx-expression-parse/parser.generated.js
index 59747a3cf8..59747a3cf8 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/parser.generated.js
+++ b/deps/npm/node_modules/spdx-expression-parse/parser.generated.js
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/LICENSE b/deps/npm/node_modules/spdx-license-ids/LICENSE
index 68a49daad8..68a49daad8 100644
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/LICENSE
+++ b/deps/npm/node_modules/spdx-license-ids/LICENSE
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/README.md b/deps/npm/node_modules/spdx-license-ids/README.md
index 92523532b2..92523532b2 100755
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/README.md
+++ b/deps/npm/node_modules/spdx-license-ids/README.md
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/package.json b/deps/npm/node_modules/spdx-license-ids/package.json
index 62c5c37ba9..c2a1dbf2c6 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/package.json
+++ b/deps/npm/node_modules/spdx-license-ids/package.json
@@ -1,41 +1,46 @@
{
- "name": "spdx-license-ids",
- "version": "1.0.2",
- "description": "A list of SPDX license identifiers",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/shinnn/spdx-license-ids.git"
+ "_args": [
+ [
+ "spdx-license-ids@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/spdx"
+ ]
+ ],
+ "_from": "spdx-license-ids@>=1.0.0 <2.0.0",
+ "_id": "spdx-license-ids@1.0.2",
+ "_inCache": true,
+ "_location": "/spdx-license-ids",
+ "_nodeVersion": "2.3.3",
+ "_npmUser": {
+ "email": "snnskwtnb@gmail.com",
+ "name": "shinnn"
},
+ "_npmVersion": "2.12.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "spdx-license-ids",
+ "raw": "spdx-license-ids@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/spdx"
+ ],
+ "_resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.2.tgz",
+ "_shasum": "0674e9c9a230f980016b5b073a10aa165701677c",
+ "_shrinkwrap": null,
+ "_spec": "spdx-license-ids@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/spdx",
"author": {
"name": "Shinnosuke Watanabe",
"url": "https://github.com/shinnn"
},
- "scripts": {
- "build": "node --harmony_arrow_functions build.js",
- "lint": "eslint --config node_modules/@shinnn/eslintrc/rc.json --ignore-path .gitignore .",
- "pretest": "${npm_package_scripts_build} && ${npm_package_scripts_lint}",
- "test": "node --harmony_arrow_functions test.js",
- "coverage": "node --harmony_arrow_functions node_modules/.bin/istanbul cover test.js",
- "coveralls": "${npm_package_scripts_coverage} && istanbul-coveralls"
+ "bugs": {
+ "url": "https://github.com/shinnn/spdx-license-ids/issues"
},
- "license": "Unlicense",
- "main": "spdx-license-ids.json",
- "files": [
- "spdx-license-ids.json"
- ],
- "keywords": [
- "spdx",
- "license",
- "licenses",
- "id",
- "identifier",
- "identifiers",
- "json",
- "array",
- "oss",
- "browser",
- "client-side"
- ],
+ "dependencies": {},
+ "description": "A list of SPDX license identifiers",
"devDependencies": {
"@shinnn/eslintrc": "^1.0.0",
"each-async": "^1.1.1",
@@ -48,30 +53,50 @@
"stringify-object": "^2.2.0",
"tape": "^4.0.0"
},
- "gitHead": "df183ecdf1738f77b1e8e41f686ee56206a40693",
- "bugs": {
- "url": "https://github.com/shinnn/spdx-license-ids/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "0674e9c9a230f980016b5b073a10aa165701677c",
+ "tarball": "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.2.tgz"
},
+ "files": [
+ "spdx-license-ids.json"
+ ],
+ "gitHead": "df183ecdf1738f77b1e8e41f686ee56206a40693",
"homepage": "https://github.com/shinnn/spdx-license-ids#readme",
- "_id": "spdx-license-ids@1.0.2",
- "_shasum": "0674e9c9a230f980016b5b073a10aa165701677c",
- "_from": "spdx-license-ids@>=1.0.0 <2.0.0",
- "_npmVersion": "2.12.1",
- "_nodeVersion": "2.3.3",
- "_npmUser": {
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
- },
+ "keywords": [
+ "array",
+ "browser",
+ "client-side",
+ "id",
+ "identifier",
+ "identifiers",
+ "json",
+ "license",
+ "licenses",
+ "oss",
+ "spdx"
+ ],
+ "license": "Unlicense",
+ "main": "spdx-license-ids.json",
"maintainers": [
{
"name": "shinnn",
"email": "snnskwtnb@gmail.com"
}
],
- "dist": {
- "shasum": "0674e9c9a230f980016b5b073a10aa165701677c",
- "tarball": "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.2.tgz"
+ "name": "spdx-license-ids",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/shinnn/spdx-license-ids.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.2.tgz"
+ "scripts": {
+ "build": "node --harmony_arrow_functions build.js",
+ "coverage": "node --harmony_arrow_functions node_modules/.bin/istanbul cover test.js",
+ "coveralls": "${npm_package_scripts_coverage} && istanbul-coveralls",
+ "lint": "eslint --config node_modules/@shinnn/eslintrc/rc.json --ignore-path .gitignore .",
+ "pretest": "${npm_package_scripts_build} && ${npm_package_scripts_lint}",
+ "test": "node --harmony_arrow_functions test.js"
+ },
+ "version": "1.0.2"
}
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/spdx-license-ids.json b/deps/npm/node_modules/spdx-license-ids/spdx-license-ids.json
index 2a4a78f549..2a4a78f549 100644
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/spdx-license-ids.json
+++ b/deps/npm/node_modules/spdx-license-ids/spdx-license-ids.json
diff --git a/deps/npm/node_modules/spdx/LICENSE.md b/deps/npm/node_modules/spdx/LICENSE.md
deleted file mode 100644
index 2180a8c1a3..0000000000
--- a/deps/npm/node_modules/spdx/LICENSE.md
+++ /dev/null
@@ -1,7 +0,0 @@
-Copyright Kyle E. Mitchell
-
-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.
diff --git a/deps/npm/node_modules/spdx/README.md b/deps/npm/node_modules/spdx/README.md
deleted file mode 100644
index f373262474..0000000000
--- a/deps/npm/node_modules/spdx/README.md
+++ /dev/null
@@ -1,145 +0,0 @@
-spdx.js
-=======
-
-[![npm version](https://img.shields.io/npm/v/spdx.svg)](https://www.npmjs.com/package/spdx)
-[![SPDX License Expression Syntax version](https://img.shields.io/badge/SPDX-2.0-blue.svg)](http://spdx.org/SPDX-specifications/spdx-version-2.0)
-[![license](https://img.shields.io/badge/license-Apache--2.0-303284.svg)](http://www.apache.org/licenses/LICENSE-2.0)
-[![build status](https://img.shields.io/travis/kemitchell/spdx.js.svg)](http://travis-ci.org/kemitchell/spdx.js)
-
-SPDX License Expression Syntax parser
-
-<!--js
- // The fenced code blocks below are run as tests with `jsmd`.
- // The following `require` call brings the module.
- // Use `require ('spdx')` in your own code.
- var spdx = require('./');
- var package = require('./package.json');
--->
-
-Simple License Expressions
---------------------------
-```js
-spdx.valid('Invalid-Identifier'); // => null
-spdx.valid('GPL-2.0'); // => true
-spdx.valid('GPL-2.0+'); // => true
-spdx.valid('LicenseRef-23'); // => true
-spdx.valid('LicenseRef-MIT-Style-1'); // => true
-spdx.valid('DocumentRef-spdx-tool-1.2:LicenseRef-MIT-Style-2'); // => true
-```
-
-Composite License Expressions
------------------------------
-
-### Disjunctive `OR` Operator
-```js
-spdx.valid('(LGPL-2.1 OR MIT)'); // => true
-spdx.valid('(LGPL-2.1 OR MIT OR BSD-3-Clause)'); // => true
-```
-
-### Conjunctive `AND` Operator
-```js
-spdx.valid('(LGPL-2.1 AND MIT)'); // => true
-spdx.valid('(LGPL-2.1 AND MIT AND BSD-2-Clause)'); // => true
-```
-
-### Exception `WITH` Operator
-```js
-spdx.valid('(GPL-2.0+ WITH Bison-exception-2.2)'); // => true
-```
-
-### Order of Precedence and Parentheses
-```js
-var firstAST = {
- left: {license: 'LGPL-2.1'},
- conjunction: 'or',
- right: {
- left: {license: 'BSD-3-Clause'},
- conjunction: 'and',
- right: {license: 'MIT'}
- }
-};
-spdx.parse('(LGPL-2.1 OR BSD-3-Clause AND MIT)'); // => firstAST
-
-var secondAST = {
- left: {license: 'MIT'},
- conjunction: 'and',
- right: {
- left: {license: 'LGPL-2.1', plus: true},
- conjunction: 'and',
- right: {license: 'BSD-3-Clause'}
- }
-};
-spdx.parse('(MIT AND (LGPL-2.1+ AND BSD-3-Clause))'); // => secondAST
-```
-
-Strict Whitespace Rules
------------------------
-```js
-spdx.valid('MIT '); // => false
-spdx.valid(' MIT'); // => false
-spdx.valid('MIT AND BSD-3-Clause'); // => false
-```
-
-Identifier Lists
-----------------
-```js
-Array.isArray(spdx.licenses); // => true
-spdx.licenses.indexOf('ISC') > -1; // => true
-spdx.licenses.indexOf('Apache-1.7') > -1; // => false
-spdx.licenses.every(function(element) {
- return typeof element === 'string';
-}); // => true
-
-Array.isArray(spdx.exceptions); // => true
-spdx.exceptions.indexOf('GCC-exception-3.1') > -1; // => true
-spdx.exceptions.every(function(element) {
- return typeof element === 'string';
-}); // => true
-```
-
-Comparison
-----------
-```js
-spdx.gt('GPL-3.0', 'GPL-2.0'); // => true
-spdx.lt('MPL-1.0', 'MPL-2.0'); // => true
-
-spdx.gt('LPPL-1.3a', 'LPPL-1.0'); // => true
-spdx.gt('LPPL-1.3c', 'LPPL-1.3a'); // => true
-spdx.gt('MIT', 'ISC'); // => false
-spdx.gt('OSL-1.0', 'OPL-1.0'); // => false
-spdx.gt('AGPL-3.0', 'AGPL-1.0'); // => true
-
-try {
- spdx.gt('(MIT OR ISC)', 'GPL-3.0');
-} catch (error) {
- error.message; // => '"(MIT OR ISC)" is not a simple license identifier'
-}
-
-spdx.satisfies('MIT', 'MIT'); // => true
-spdx.satisfies('MIT', '(ISC OR MIT)'); // => true
-spdx.satisfies('Zlib', '(ISC OR (MIT OR Zlib))'); // => true
-spdx.satisfies('GPL-3.0', '(ISC OR MIT)'); // => false
-spdx.satisfies('GPL-2.0', 'GPL-2.0+'); // => true
-spdx.satisfies('GPL-3.0', 'GPL-2.0+'); // => true
-spdx.satisfies('GPL-1.0', 'GPL-2.0+'); // => false
-
-spdx.satisfies('GPL-2.0', 'GPL-2.0+ WITH Bison-exception-2.2'); // => false
-spdx.satisfies(
- 'GPL-3.0 WITH Bison-exception-2.2', 'GPL-2.0+ WITH Bison-exception-2.2'
-); // => true
-
-spdx.satisfies('(MIT OR GPL-2.0)', '(ISC OR MIT)'); // => true
-spdx.satisfies('(MIT AND GPL-2.0)', '(MIT OR GPL-2.0)'); // => true
-spdx.satisfies('(MIT AND GPL-2.0)', '(ISC OR GPL-2.0)'); // => false
-```
-
-Version Metadata
-----------------
-```js
-spdx.specificationVersion; // => '2.0'
-spdx.implementationVersion; // => package.version
-```
-
-The Specification
------------------
-[The Software Package Data Exchange (SPDX) specification](http://spdx.org) is the work of the [Linux Foundation](http://www.linuxfoundation.org) and its contributors, and is licensed under the terms of [the Creative Commons Attribution License 3.0 Unported (SPDX: "CC-BY-3.0")](http://spdx.org/licenses/CC-BY-3.0). "SPDX" is a United States federally registered trademark of the Linux Foundation.
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md
deleted file mode 100755
index 7ea6092d6c..0000000000
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/README.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# spdx-license-ids
-
-A list of [SPDX license](http://spdx.org/licenses/) identifiers
-
-[**Download JSON**](https://raw.githubusercontent.com/shinnn/spdx-license-ids/master/spdx-license-ids.json)
-
-## Use as a JavaScript Library
-
-[![NPM version](https://img.shields.io/npm/v/spdx-license-ids.svg)](https://www.npmjs.org/package/spdx-license-ids)
-[![Bower version](https://img.shields.io/bower/v/spdx-license-ids.svg)](https://github.com/shinnn/spdx-license-ids/releases)
-[![Build Status](https://travis-ci.org/shinnn/spdx-license-ids.svg?branch=master)](https://travis-ci.org/shinnn/spdx-license-ids)
-[![Coverage Status](https://img.shields.io/coveralls/shinnn/spdx-license-ids.svg)](https://coveralls.io/r/shinnn/spdx-license-ids)
-[![devDependency Status](https://david-dm.org/shinnn/spdx-license-ids/dev-status.svg)](https://david-dm.org/shinnn/spdx-license-ids#info=devDependencies)
-
-### Installation
-
-#### Package managers
-
-##### [npm](https://www.npmjs.com/)
-
-```sh
-npm install spdx-license-ids
-```
-
-##### [bower](http://bower.io/)
-
-```sh
-bower install spdx-license-ids
-```
-
-##### [Duo](http://duojs.org/)
-
-```javascript
-var spdxLicenseIds = require('shinnn/spdx-license-ids');
-```
-
-#### Standalone
-
-[Download the script file directly.](https://raw.githubusercontent.com/shinnn/spdx-license-ids/master/spdx-license-ids-browser.js)
-
-### API
-
-#### spdxLicenseIds
-
-Type: `Array` of `String`
-
-It returns an array of SPDX license identifiers.
-
-```javascript
-var spdxLicenseIds = require('spdx-license-ids'); //=> ['Glide', 'Abstyles', 'AFL-1.1', ... ]
-```
-
-## License
-
-[The Unlicense](./LICENSE).
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json
deleted file mode 100644
index e6e341b111..0000000000
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/package.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "name": "spdx-license-ids",
- "version": "1.0.1",
- "description": "A list of SPDX license identifiers",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/shinnn/spdx-license-ids.git"
- },
- "author": {
- "name": "Shinnosuke Watanabe",
- "url": "https://github.com/shinnn"
- },
- "scripts": {
- "build": "node --harmony_arrow_functions build.js",
- "lint": "eslint --config node_modules/@shinnn/eslintrc/rc.json --ignore-path .gitignore .",
- "pretest": "${npm_package_scripts_build} && ${npm_package_scripts_lint}",
- "test": "node --harmony_arrow_functions test.js",
- "coverage": "node --harmony_arrow_functions node_modules/.bin/istanbul cover test.js",
- "coveralls": "${npm_package_scripts_coverage} && istanbul-coveralls"
- },
- "license": "Unlicense",
- "main": "spdx-license-ids.json",
- "files": [
- "spdx-license-ids.json"
- ],
- "keywords": [
- "spdx",
- "license",
- "licenses",
- "id",
- "identifier",
- "identifiers",
- "json",
- "array",
- "oss",
- "browser",
- "client-side"
- ],
- "devDependencies": {
- "@shinnn/eslintrc": "^1.0.0",
- "each-async": "^1.1.1",
- "eslint": "^0.21.2",
- "got": "^3.2.0",
- "istanbul": "^0.3.14",
- "istanbul-coveralls": "^1.0.2",
- "require-bower-files": "^2.0.0",
- "rm-rf": "^0.1.0",
- "stringify-object": "^2.0.0",
- "tape": "^4.0.0"
- },
- "gitHead": "05c7466fcd62c8642006ef354c95064fcade3a03",
- "bugs": {
- "url": "https://github.com/shinnn/spdx-license-ids/issues"
- },
- "homepage": "https://github.com/shinnn/spdx-license-ids#readme",
- "_id": "spdx-license-ids@1.0.1",
- "_shasum": "8f7d365fbeb056f82d21d0c0e9c1ebbd676e6af4",
- "_from": "spdx-license-ids@>=1.0.0 <2.0.0",
- "_npmVersion": "2.10.1",
- "_nodeVersion": "2.0.2",
- "_npmUser": {
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
- },
- "maintainers": [
- {
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
- }
- ],
- "dist": {
- "shasum": "8f7d365fbeb056f82d21d0c0e9c1ebbd676e6af4",
- "tarball": "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.1.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json b/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json
deleted file mode 100644
index 3c5bdfcd0f..0000000000
--- a/deps/npm/node_modules/spdx/node_modules/spdx-license-ids/spdx-license-ids.json
+++ /dev/null
@@ -1,296 +0,0 @@
-[
- "Glide",
- "Abstyles",
- "AFL-1.1",
- "AFL-1.2",
- "AFL-2.0",
- "AFL-2.1",
- "AFL-3.0",
- "AMPAS",
- "APL-1.0",
- "Adobe-Glyph",
- "APAFML",
- "Adobe-2006",
- "AGPL-1.0",
- "Afmparse",
- "Aladdin",
- "ADSL",
- "AMDPLPA",
- "ANTLR-PD",
- "Apache-1.0",
- "Apache-1.1",
- "Apache-2.0",
- "AML",
- "APSL-1.0",
- "APSL-1.1",
- "APSL-1.2",
- "APSL-2.0",
- "Artistic-1.0",
- "Artistic-1.0-Perl",
- "Artistic-1.0-cl8",
- "Artistic-2.0",
- "AAL",
- "Bahyph",
- "Barr",
- "Beerware",
- "BitTorrent-1.0",
- "BitTorrent-1.1",
- "BSL-1.0",
- "Borceux",
- "BSD-2-Clause",
- "BSD-2-Clause-FreeBSD",
- "BSD-2-Clause-NetBSD",
- "BSD-3-Clause",
- "BSD-3-Clause-Clear",
- "BSD-4-Clause",
- "BSD-Protection",
- "BSD-3-Clause-Attribution",
- "BSD-4-Clause-UC",
- "bzip2-1.0.5",
- "bzip2-1.0.6",
- "Caldera",
- "CECILL-1.0",
- "CECILL-1.1",
- "CECILL-2.0",
- "CECILL-B",
- "CECILL-C",
- "ClArtistic",
- "MIT-CMU",
- "CNRI-Python",
- "CNRI-Python-GPL-Compatible",
- "CPOL-1.02",
- "CDDL-1.0",
- "CDDL-1.1",
- "CPAL-1.0",
- "CPL-1.0",
- "CATOSL-1.1",
- "Condor-1.1",
- "CC-BY-1.0",
- "CC-BY-2.0",
- "CC-BY-2.5",
- "CC-BY-3.0",
- "CC-BY-4.0",
- "CC-BY-ND-1.0",
- "CC-BY-ND-2.0",
- "CC-BY-ND-2.5",
- "CC-BY-ND-3.0",
- "CC-BY-ND-4.0",
- "CC-BY-NC-1.0",
- "CC-BY-NC-2.0",
- "CC-BY-NC-2.5",
- "CC-BY-NC-3.0",
- "CC-BY-NC-4.0",
- "CC-BY-NC-ND-1.0",
- "CC-BY-NC-ND-2.0",
- "CC-BY-NC-ND-2.5",
- "CC-BY-NC-ND-3.0",
- "CC-BY-NC-ND-4.0",
- "CC-BY-NC-SA-1.0",
- "CC-BY-NC-SA-2.0",
- "CC-BY-NC-SA-2.5",
- "CC-BY-NC-SA-3.0",
- "CC-BY-NC-SA-4.0",
- "CC-BY-SA-1.0",
- "CC-BY-SA-2.0",
- "CC-BY-SA-2.5",
- "CC-BY-SA-3.0",
- "CC-BY-SA-4.0",
- "CC0-1.0",
- "Crossword",
- "CUA-OPL-1.0",
- "Cube",
- "D-FSL-1.0",
- "diffmark",
- "WTFPL",
- "DOC",
- "Dotseqn",
- "DSDP",
- "dvipdfm",
- "EPL-1.0",
- "ECL-1.0",
- "ECL-2.0",
- "eGenix",
- "EFL-1.0",
- "EFL-2.0",
- "MIT-advertising",
- "MIT-enna",
- "Entessa",
- "ErlPL-1.1",
- "EUDatagrid",
- "EUPL-1.0",
- "EUPL-1.1",
- "Eurosym",
- "Fair",
- "MIT-feh",
- "Frameworx-1.0",
- "FreeImage",
- "FTL",
- "FSFUL",
- "FSFULLR",
- "Giftware",
- "GL2PS",
- "Glulxe",
- "AGPL-3.0",
- "GFDL-1.1",
- "GFDL-1.2",
- "GFDL-1.3",
- "GPL-1.0",
- "GPL-2.0",
- "GPL-3.0",
- "LGPL-2.1",
- "LGPL-3.0",
- "LGPL-2.0",
- "gnuplot",
- "gSOAP-1.3b",
- "HaskellReport",
- "HPND",
- "IBM-pibs",
- "IPL-1.0",
- "ImageMagick",
- "iMatix",
- "Imlib2",
- "IJG",
- "Intel-ACPI",
- "Intel",
- "IPA",
- "ISC",
- "JasPer-2.0",
- "JSON",
- "LPPL-1.3a",
- "LPPL-1.0",
- "LPPL-1.1",
- "LPPL-1.2",
- "LPPL-1.3c",
- "Latex2e",
- "BSD-3-Clause-LBNL",
- "Leptonica",
- "Libpng",
- "libtiff",
- "LPL-1.02",
- "LPL-1.0",
- "MakeIndex",
- "MTLL",
- "MS-PL",
- "MS-RL",
- "MirOS",
- "MITNFA",
- "MIT",
- "Motosoto",
- "MPL-1.0",
- "MPL-1.1",
- "MPL-2.0",
- "MPL-2.0-no-copyleft-exception",
- "mpich2",
- "Multics",
- "Mup",
- "NASA-1.3",
- "Naumen",
- "NBPL-1.0",
- "NetCDF",
- "NGPL",
- "NOSL",
- "NPL-1.0",
- "NPL-1.1",
- "Newsletr",
- "NLPL",
- "Nokia",
- "NPOSL-3.0",
- "Noweb",
- "NRL",
- "NTP",
- "Nunit",
- "OCLC-2.0",
- "ODbL-1.0",
- "PDDL-1.0",
- "OGTSL",
- "OLDAP-2.2.2",
- "OLDAP-1.1",
- "OLDAP-1.2",
- "OLDAP-1.3",
- "OLDAP-1.4",
- "OLDAP-2.0",
- "OLDAP-2.0.1",
- "OLDAP-2.1",
- "OLDAP-2.2",
- "OLDAP-2.2.1",
- "OLDAP-2.3",
- "OLDAP-2.4",
- "OLDAP-2.5",
- "OLDAP-2.6",
- "OLDAP-2.7",
- "OLDAP-2.8",
- "OML",
- "OPL-1.0",
- "OSL-1.0",
- "OSL-1.1",
- "OSL-2.0",
- "OSL-2.1",
- "OSL-3.0",
- "OpenSSL",
- "PHP-3.0",
- "PHP-3.01",
- "Plexus",
- "PostgreSQL",
- "psfrag",
- "psutils",
- "Python-2.0",
- "QPL-1.0",
- "Qhull",
- "Rdisc",
- "RPSL-1.0",
- "RPL-1.1",
- "RPL-1.5",
- "RHeCos-1.1",
- "RSCPL",
- "Ruby",
- "SAX-PD",
- "Saxpath",
- "SCEA",
- "SWL",
- "SGI-B-1.0",
- "SGI-B-1.1",
- "SGI-B-2.0",
- "OFL-1.0",
- "OFL-1.1",
- "SimPL-2.0",
- "Sleepycat",
- "SNIA",
- "SMLNJ",
- "SugarCRM-1.1.3",
- "SISSL",
- "SISSL-1.2",
- "SPL-1.0",
- "Watcom-1.0",
- "TCL",
- "Unlicense",
- "TMate",
- "TORQUE-1.1",
- "TOSL",
- "Unicode-TOU",
- "NCSA",
- "Vim",
- "VOSTROM",
- "VSL-1.0",
- "W3C",
- "W3C-19980720",
- "Wsuipa",
- "Xnet",
- "X11",
- "Xerox",
- "XFree86-1.1",
- "xinetd",
- "xpp",
- "XSkat",
- "YPL-1.0",
- "YPL-1.1",
- "Zed",
- "Zend-2.0",
- "Zimbra-1.3",
- "Zimbra-1.4",
- "Zlib",
- "zlib-acknowledgement",
- "ZPL-1.1",
- "ZPL-2.0",
- "ZPL-2.1",
- "ICU"
-]
diff --git a/deps/npm/node_modules/spdx/package.json b/deps/npm/node_modules/spdx/package.json
deleted file mode 100644
index d1601c6011..0000000000
--- a/deps/npm/node_modules/spdx/package.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "name": "spdx",
- "description": "SPDX License Expression Syntax parser",
- "version": "0.4.1",
- "author": {
- "name": "Kyle E. Mitchell",
- "email": "kyle@kemitchell.com",
- "url": "http://kemitchell.com"
- },
- "bugs": {
- "url": "https://github.com/kemitchell/spdx.js/issues"
- },
- "dependencies": {
- "spdx-license-ids": "^1.0.0"
- },
- "devDependencies": {
- "docco": "^0.7.0",
- "fixpack": "^2.2.0",
- "jison": "^0.4.15",
- "jscs": "^1.12.0",
- "jshint": "^2.7.0",
- "jsmd": "^0.3.0"
- },
- "homepage": "https://github.com/kemitchell/spdx.js",
- "keywords": [
- "SPDX",
- "law",
- "legal",
- "license",
- "metadata",
- "package",
- "package.json",
- "standards"
- ],
- "license": "Apache-2.0",
- "main": "source/spdx.js",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kemitchell/spdx.js.git"
- },
- "scripts": {
- "build": "node build/parser.js > source/parser.generated.js",
- "doc": "docco --output documentation source/spdx.js",
- "lint": "fixpack && jshint build source/spdx.js && jscs build source/spdx.js",
- "precommit": "npm run lint && npm run test",
- "prepublish": "npm run build",
- "pretest": "npm run build",
- "test": "jsmd README.md"
- },
- "gitHead": "e98233f7ebfa27ceec7d9f9bd77d7eb003ca3210",
- "_id": "spdx@0.4.1",
- "_shasum": "eb43a2d83483e7073d24184b5ca0d00f33e184ff",
- "_from": "spdx@>=0.4.0 <0.5.0",
- "_npmVersion": "2.11.0",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- },
- "maintainers": [
- {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- }
- ],
- "dist": {
- "shasum": "eb43a2d83483e7073d24184b5ca0d00f33e184ff",
- "tarball": "http://registry.npmjs.org/spdx/-/spdx-0.4.1.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx/-/spdx-0.4.1.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/spdx/source/exceptions.json b/deps/npm/node_modules/spdx/source/exceptions.json
deleted file mode 100644
index d588a1af7e..0000000000
--- a/deps/npm/node_modules/spdx/source/exceptions.json
+++ /dev/null
@@ -1,11 +0,0 @@
-[
- "Autoconf-exception-2.0",
- "Autoconf-exception-3.0",
- "Bison-exception-2.2",
- "Classpath-exception-2.0",
- "eCos-exception-2.0",
- "Font-exception-2.0",
- "GCC-exception-2.0",
- "GCC-exception-3.1",
- "WxWindows-exception-3.1"
-]
diff --git a/deps/npm/node_modules/spdx/source/parser.generated.js b/deps/npm/node_modules/spdx/source/parser.generated.js
deleted file mode 100644
index 380609339c..0000000000
--- a/deps/npm/node_modules/spdx/source/parser.generated.js
+++ /dev/null
@@ -1,1255 +0,0 @@
-/* parser generated by jison 0.4.15 */
-/*
- Returns a Parser object of the following structure:
-
- Parser: {
- yy: {}
- }
-
- Parser.prototype: {
- yy: {},
- trace: function(),
- symbols_: {associative list: name ==> number},
- terminals_: {associative list: number ==> name},
- productions_: [...],
- performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
- table: [...],
- defaultActions: {...},
- parseError: function(str, hash),
- parse: function(input),
-
- lexer: {
- EOF: 1,
- parseError: function(str, hash),
- setInput: function(input),
- input: function(),
- unput: function(str),
- more: function(),
- less: function(n),
- pastInput: function(),
- upcomingInput: function(),
- showPosition: function(),
- test_match: function(regex_match_array, rule_index),
- next: function(),
- lex: function(),
- begin: function(condition),
- popState: function(),
- _currentRules: function(),
- topState: function(),
- pushState: function(condition),
-
- options: {
- ranges: boolean (optional: true ==> token location info will include a .range[] member)
- flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
- backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
- },
-
- performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
- rules: [...],
- conditions: {associative list: name ==> set},
- }
- }
-
-
- token location info (@$, _$, etc.): {
- first_line: n,
- last_line: n,
- first_column: n,
- last_column: n,
- range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
- }
-
-
- the parseError function receives a 'hash' object with these members for lexer and parser errors: {
- text: (matched text)
- token: (the produced terminal token, if any)
- line: (yylineno)
- }
- while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
- loc: (yylloc)
- expected: (string describing the set of expected tokens)
- recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
- }
-*/
-var spdxparse = (function(){
-var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,5],$V1=[1,6],$V2=[1,7],$V3=[1,4],$V4=[1,9],$V5=[1,10],$V6=[5,14,15,17],$V7=[5,12,14,15,17];
-var parser = {trace: function trace() { },
-yy: {},
-symbols_: {"error":2,"start":3,"expression":4,"EOS":5,"simpleExpression":6,"LICENSE":7,"PLUS":8,"LICENSEREF":9,"DOCUMENTREF":10,"COLON":11,"WITH":12,"EXCEPTION":13,"AND":14,"OR":15,"OPEN":16,"CLOSE":17,"$accept":0,"$end":1},
-terminals_: {2:"error",5:"EOS",7:"LICENSE",8:"PLUS",9:"LICENSEREF",10:"DOCUMENTREF",11:"COLON",12:"WITH",13:"EXCEPTION",14:"AND",15:"OR",16:"OPEN",17:"CLOSE"},
-productions_: [0,[3,2],[6,1],[6,2],[6,1],[6,3],[4,1],[4,3],[4,3],[4,3],[4,3]],
-performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
-/* this == yyval */
-
-var $0 = $$.length - 1;
-switch (yystate) {
-case 1:
-return this.$ = $$[$0-1];
-break;
-case 2: case 4: case 5:
-this.$ = { license: yytext };
-break;
-case 3:
-this.$ = { license: $$[$0-1], plus: true };
-break;
-case 6:
-this.$ = $$[$0];
-break;
-case 7:
-this.$ = { exception: $$[$0] };
-this.$.license = $$[$0-2].license;
-if ($$[$0-2].hasOwnProperty('plus')) {
- this.$.plus = $$[$0-2].plus;
-}
-break;
-case 8:
-this.$ = { conjunction: 'and', left: $$[$0-2], right: $$[$0] };
-break;
-case 9:
-this.$ = { conjunction: 'or', left: $$[$0-2], right: $$[$0] };
-break;
-case 10:
-this.$ = $$[$0-1]
-break;
-}
-},
-table: [{3:1,4:2,6:3,7:$V0,9:$V1,10:$V2,16:$V3},{1:[3]},{5:[1,8],14:$V4,15:$V5},o($V6,[2,6],{12:[1,11]}),{4:12,6:3,7:$V0,9:$V1,10:$V2,16:$V3},o($V7,[2,2],{8:[1,13]}),o($V7,[2,4]),{11:[1,14]},{1:[2,1]},{4:15,6:3,7:$V0,9:$V1,10:$V2,16:$V3},{4:16,6:3,7:$V0,9:$V1,10:$V2,16:$V3},{13:[1,17]},{14:$V4,15:$V5,17:[1,18]},o($V7,[2,3]),{9:[1,19]},o($V6,[2,8]),o([5,15,17],[2,9],{14:$V4}),o($V6,[2,7]),o($V6,[2,10]),o($V7,[2,5])],
-defaultActions: {8:[2,1]},
-parseError: function parseError(str, hash) {
- if (hash.recoverable) {
- this.trace(str);
- } else {
- throw new Error(str);
- }
-},
-parse: function parse(input) {
- var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
- var args = lstack.slice.call(arguments, 1);
- var lexer = Object.create(this.lexer);
- var sharedState = { yy: {} };
- for (var k in this.yy) {
- if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
- sharedState.yy[k] = this.yy[k];
- }
- }
- lexer.setInput(input, sharedState.yy);
- sharedState.yy.lexer = lexer;
- sharedState.yy.parser = this;
- if (typeof lexer.yylloc == 'undefined') {
- lexer.yylloc = {};
- }
- var yyloc = lexer.yylloc;
- lstack.push(yyloc);
- var ranges = lexer.options && lexer.options.ranges;
- if (typeof sharedState.yy.parseError === 'function') {
- this.parseError = sharedState.yy.parseError;
- } else {
- this.parseError = Object.getPrototypeOf(this).parseError;
- }
- function popStack(n) {
- stack.length = stack.length - 2 * n;
- vstack.length = vstack.length - n;
- lstack.length = lstack.length - n;
- }
- _token_stack:
- function lex() {
- var token;
- token = lexer.lex() || EOF;
- if (typeof token !== 'number') {
- token = self.symbols_[token] || token;
- }
- return token;
- }
- var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
- while (true) {
- state = stack[stack.length - 1];
- if (this.defaultActions[state]) {
- action = this.defaultActions[state];
- } else {
- if (symbol === null || typeof symbol == 'undefined') {
- symbol = lex();
- }
- action = table[state] && table[state][symbol];
- }
- if (typeof action === 'undefined' || !action.length || !action[0]) {
- var errStr = '';
- expected = [];
- for (p in table[state]) {
- if (this.terminals_[p] && p > TERROR) {
- expected.push('\'' + this.terminals_[p] + '\'');
- }
- }
- if (lexer.showPosition) {
- errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
- } else {
- errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
- }
- this.parseError(errStr, {
- text: lexer.match,
- token: this.terminals_[symbol] || symbol,
- line: lexer.yylineno,
- loc: yyloc,
- expected: expected
- });
- }
- if (action[0] instanceof Array && action.length > 1) {
- throw new Error('Parse Error: multiple actions possible at state: ' + state + ', token: ' + symbol);
- }
- switch (action[0]) {
- case 1:
- stack.push(symbol);
- vstack.push(lexer.yytext);
- lstack.push(lexer.yylloc);
- stack.push(action[1]);
- symbol = null;
- if (!preErrorSymbol) {
- yyleng = lexer.yyleng;
- yytext = lexer.yytext;
- yylineno = lexer.yylineno;
- yyloc = lexer.yylloc;
- if (recovering > 0) {
- recovering--;
- }
- } else {
- symbol = preErrorSymbol;
- preErrorSymbol = null;
- }
- break;
- case 2:
- len = this.productions_[action[1]][1];
- yyval.$ = vstack[vstack.length - len];
- yyval._$ = {
- first_line: lstack[lstack.length - (len || 1)].first_line,
- last_line: lstack[lstack.length - 1].last_line,
- first_column: lstack[lstack.length - (len || 1)].first_column,
- last_column: lstack[lstack.length - 1].last_column
- };
- if (ranges) {
- yyval._$.range = [
- lstack[lstack.length - (len || 1)].range[0],
- lstack[lstack.length - 1].range[1]
- ];
- }
- r = this.performAction.apply(yyval, [
- yytext,
- yyleng,
- yylineno,
- sharedState.yy,
- action[1],
- vstack,
- lstack
- ].concat(args));
- if (typeof r !== 'undefined') {
- return r;
- }
- if (len) {
- stack = stack.slice(0, -1 * len * 2);
- vstack = vstack.slice(0, -1 * len);
- lstack = lstack.slice(0, -1 * len);
- }
- stack.push(this.productions_[action[1]][0]);
- vstack.push(yyval.$);
- lstack.push(yyval._$);
- newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
- stack.push(newState);
- break;
- case 3:
- return true;
- }
- }
- return true;
-}};
-/* generated by jison-lex 0.3.4 */
-var lexer = (function(){
-var lexer = ({
-
-EOF:1,
-
-parseError:function parseError(str, hash) {
- if (this.yy.parser) {
- this.yy.parser.parseError(str, hash);
- } else {
- throw new Error(str);
- }
- },
-
-// resets the lexer, sets new input
-setInput:function (input, yy) {
- this.yy = yy || this.yy || {};
- this._input = input;
- this._more = this._backtrack = this.done = false;
- this.yylineno = this.yyleng = 0;
- this.yytext = this.matched = this.match = '';
- this.conditionStack = ['INITIAL'];
- this.yylloc = {
- first_line: 1,
- first_column: 0,
- last_line: 1,
- last_column: 0
- };
- if (this.options.ranges) {
- this.yylloc.range = [0,0];
- }
- this.offset = 0;
- return this;
- },
-
-// consumes and returns one char from the input
-input:function () {
- var ch = this._input[0];
- this.yytext += ch;
- this.yyleng++;
- this.offset++;
- this.match += ch;
- this.matched += ch;
- var lines = ch.match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno++;
- this.yylloc.last_line++;
- } else {
- this.yylloc.last_column++;
- }
- if (this.options.ranges) {
- this.yylloc.range[1]++;
- }
-
- this._input = this._input.slice(1);
- return ch;
- },
-
-// unshifts one char (or a string) into the input
-unput:function (ch) {
- var len = ch.length;
- var lines = ch.split(/(?:\r\n?|\n)/g);
-
- this._input = ch + this._input;
- this.yytext = this.yytext.substr(0, this.yytext.length - len);
- //this.yyleng -= len;
- this.offset -= len;
- var oldLines = this.match.split(/(?:\r\n?|\n)/g);
- this.match = this.match.substr(0, this.match.length - 1);
- this.matched = this.matched.substr(0, this.matched.length - 1);
-
- if (lines.length - 1) {
- this.yylineno -= lines.length - 1;
- }
- var r = this.yylloc.range;
-
- this.yylloc = {
- first_line: this.yylloc.first_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.first_column,
- last_column: lines ?
- (lines.length === oldLines.length ? this.yylloc.first_column : 0)
- + oldLines[oldLines.length - lines.length].length - lines[0].length :
- this.yylloc.first_column - len
- };
-
- if (this.options.ranges) {
- this.yylloc.range = [r[0], r[0] + this.yyleng - len];
- }
- this.yyleng = this.yytext.length;
- return this;
- },
-
-// When called from action, caches matched text and appends it on next action
-more:function () {
- this._more = true;
- return this;
- },
-
-// When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
-reject:function () {
- if (this.options.backtrack_lexer) {
- this._backtrack = true;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
-
- }
- return this;
- },
-
-// retain first n characters of the match
-less:function (n) {
- this.unput(this.match.slice(n));
- },
-
-// displays already matched input, i.e. for error messages
-pastInput:function () {
- var past = this.matched.substr(0, this.matched.length - this.match.length);
- return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
- },
-
-// displays upcoming input, i.e. for error messages
-upcomingInput:function () {
- var next = this.match;
- if (next.length < 20) {
- next += this._input.substr(0, 20-next.length);
- }
- return (next.substr(0,20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
- },
-
-// displays the character position where the lexing error occurred, i.e. for error messages
-showPosition:function () {
- var pre = this.pastInput();
- var c = new Array(pre.length + 1).join("-");
- return pre + this.upcomingInput() + "\n" + c + "^";
- },
-
-// test the lexed token: return FALSE when not a match, otherwise return token
-test_match:function (match, indexed_rule) {
- var token,
- lines,
- backup;
-
- if (this.options.backtrack_lexer) {
- // save context
- backup = {
- yylineno: this.yylineno,
- yylloc: {
- first_line: this.yylloc.first_line,
- last_line: this.last_line,
- first_column: this.yylloc.first_column,
- last_column: this.yylloc.last_column
- },
- yytext: this.yytext,
- match: this.match,
- matches: this.matches,
- matched: this.matched,
- yyleng: this.yyleng,
- offset: this.offset,
- _more: this._more,
- _input: this._input,
- yy: this.yy,
- conditionStack: this.conditionStack.slice(0),
- done: this.done
- };
- if (this.options.ranges) {
- backup.yylloc.range = this.yylloc.range.slice(0);
- }
- }
-
- lines = match[0].match(/(?:\r\n?|\n).*/g);
- if (lines) {
- this.yylineno += lines.length;
- }
- this.yylloc = {
- first_line: this.yylloc.last_line,
- last_line: this.yylineno + 1,
- first_column: this.yylloc.last_column,
- last_column: lines ?
- lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length :
- this.yylloc.last_column + match[0].length
- };
- this.yytext += match[0];
- this.match += match[0];
- this.matches = match;
- this.yyleng = this.yytext.length;
- if (this.options.ranges) {
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
- }
- this._more = false;
- this._backtrack = false;
- this._input = this._input.slice(match[0].length);
- this.matched += match[0];
- token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
- if (this.done && this._input) {
- this.done = false;
- }
- if (token) {
- return token;
- } else if (this._backtrack) {
- // recover context
- for (var k in backup) {
- this[k] = backup[k];
- }
- return false; // rule action called reject() implying the next rule should be tested instead.
- }
- return false;
- },
-
-// return next match in input
-next:function () {
- if (this.done) {
- return this.EOF;
- }
- if (!this._input) {
- this.done = true;
- }
-
- var token,
- match,
- tempMatch,
- index;
- if (!this._more) {
- this.yytext = '';
- this.match = '';
- }
- var rules = this._currentRules();
- for (var i = 0; i < rules.length; i++) {
- tempMatch = this._input.match(this.rules[rules[i]]);
- if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
- match = tempMatch;
- index = i;
- if (this.options.backtrack_lexer) {
- token = this.test_match(tempMatch, rules[i]);
- if (token !== false) {
- return token;
- } else if (this._backtrack) {
- match = false;
- continue; // rule action called reject() implying a rule MISmatch.
- } else {
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- } else if (!this.options.flex) {
- break;
- }
- }
- }
- if (match) {
- token = this.test_match(match, rules[index]);
- if (token !== false) {
- return token;
- }
- // else: this is a lexer rule which consumes input without producing a token (e.g. whitespace)
- return false;
- }
- if (this._input === "") {
- return this.EOF;
- } else {
- return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
- text: "",
- token: null,
- line: this.yylineno
- });
- }
- },
-
-// return next match that has a token
-lex:function lex() {
- var r = this.next();
- if (r) {
- return r;
- } else {
- return this.lex();
- }
- },
-
-// activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
-begin:function begin(condition) {
- this.conditionStack.push(condition);
- },
-
-// pop the previously active lexer condition state off the condition stack
-popState:function popState() {
- var n = this.conditionStack.length - 1;
- if (n > 0) {
- return this.conditionStack.pop();
- } else {
- return this.conditionStack[0];
- }
- },
-
-// produce the lexer rule set which is active for the currently active lexer condition state
-_currentRules:function _currentRules() {
- if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
- return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
- } else {
- return this.conditions["INITIAL"].rules;
- }
- },
-
-// return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
-topState:function topState(n) {
- n = this.conditionStack.length - 1 - Math.abs(n || 0);
- if (n >= 0) {
- return this.conditionStack[n];
- } else {
- return "INITIAL";
- }
- },
-
-// alias for begin(condition)
-pushState:function pushState(condition) {
- this.begin(condition);
- },
-
-// return the number of states currently on the stack
-stateStackSize:function stateStackSize() {
- return this.conditionStack.length;
- },
-options: {},
-performAction: function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
-var YYSTATE=YY_START;
-switch($avoiding_name_collisions) {
-case 0:return 5;
-break;
-case 1:/* skip whitespace */
-break;
-case 2:return 8;
-break;
-case 3:return 16;
-break;
-case 4:return 17;
-break;
-case 5:return 11;
-break;
-case 6:return 10;
-break;
-case 7:return 9;
-break;
-case 8:return 14;
-break;
-case 9:return 15;
-break;
-case 10:return 12;
-break;
-case 11:return 7;
-break;
-case 12:return 7;
-break;
-case 13:return 7;
-break;
-case 14:return 7;
-break;
-case 15:return 7;
-break;
-case 16:return 7;
-break;
-case 17:return 7;
-break;
-case 18:return 7;
-break;
-case 19:return 7;
-break;
-case 20:return 7;
-break;
-case 21:return 7;
-break;
-case 22:return 7;
-break;
-case 23:return 7;
-break;
-case 24:return 7;
-break;
-case 25:return 7;
-break;
-case 26:return 7;
-break;
-case 27:return 7;
-break;
-case 28:return 7;
-break;
-case 29:return 7;
-break;
-case 30:return 7;
-break;
-case 31:return 7;
-break;
-case 32:return 7;
-break;
-case 33:return 7;
-break;
-case 34:return 7;
-break;
-case 35:return 7;
-break;
-case 36:return 7;
-break;
-case 37:return 7;
-break;
-case 38:return 7;
-break;
-case 39:return 7;
-break;
-case 40:return 7;
-break;
-case 41:return 7;
-break;
-case 42:return 7;
-break;
-case 43:return 7;
-break;
-case 44:return 7;
-break;
-case 45:return 7;
-break;
-case 46:return 7;
-break;
-case 47:return 7;
-break;
-case 48:return 7;
-break;
-case 49:return 7;
-break;
-case 50:return 7;
-break;
-case 51:return 7;
-break;
-case 52:return 7;
-break;
-case 53:return 7;
-break;
-case 54:return 7;
-break;
-case 55:return 7;
-break;
-case 56:return 7;
-break;
-case 57:return 7;
-break;
-case 58:return 7;
-break;
-case 59:return 7;
-break;
-case 60:return 7;
-break;
-case 61:return 7;
-break;
-case 62:return 7;
-break;
-case 63:return 7;
-break;
-case 64:return 7;
-break;
-case 65:return 7;
-break;
-case 66:return 7;
-break;
-case 67:return 7;
-break;
-case 68:return 7;
-break;
-case 69:return 7;
-break;
-case 70:return 7;
-break;
-case 71:return 7;
-break;
-case 72:return 7;
-break;
-case 73:return 7;
-break;
-case 74:return 7;
-break;
-case 75:return 7;
-break;
-case 76:return 7;
-break;
-case 77:return 7;
-break;
-case 78:return 7;
-break;
-case 79:return 7;
-break;
-case 80:return 7;
-break;
-case 81:return 7;
-break;
-case 82:return 7;
-break;
-case 83:return 7;
-break;
-case 84:return 7;
-break;
-case 85:return 7;
-break;
-case 86:return 7;
-break;
-case 87:return 7;
-break;
-case 88:return 7;
-break;
-case 89:return 7;
-break;
-case 90:return 7;
-break;
-case 91:return 7;
-break;
-case 92:return 7;
-break;
-case 93:return 7;
-break;
-case 94:return 7;
-break;
-case 95:return 7;
-break;
-case 96:return 7;
-break;
-case 97:return 7;
-break;
-case 98:return 7;
-break;
-case 99:return 7;
-break;
-case 100:return 7;
-break;
-case 101:return 7;
-break;
-case 102:return 7;
-break;
-case 103:return 7;
-break;
-case 104:return 7;
-break;
-case 105:return 7;
-break;
-case 106:return 7;
-break;
-case 107:return 7;
-break;
-case 108:return 7;
-break;
-case 109:return 7;
-break;
-case 110:return 7;
-break;
-case 111:return 7;
-break;
-case 112:return 7;
-break;
-case 113:return 7;
-break;
-case 114:return 7;
-break;
-case 115:return 7;
-break;
-case 116:return 7;
-break;
-case 117:return 7;
-break;
-case 118:return 7;
-break;
-case 119:return 7;
-break;
-case 120:return 7;
-break;
-case 121:return 7;
-break;
-case 122:return 7;
-break;
-case 123:return 7;
-break;
-case 124:return 7;
-break;
-case 125:return 7;
-break;
-case 126:return 7;
-break;
-case 127:return 7;
-break;
-case 128:return 7;
-break;
-case 129:return 7;
-break;
-case 130:return 7;
-break;
-case 131:return 7;
-break;
-case 132:return 7;
-break;
-case 133:return 7;
-break;
-case 134:return 7;
-break;
-case 135:return 7;
-break;
-case 136:return 7;
-break;
-case 137:return 7;
-break;
-case 138:return 7;
-break;
-case 139:return 7;
-break;
-case 140:return 7;
-break;
-case 141:return 7;
-break;
-case 142:return 7;
-break;
-case 143:return 7;
-break;
-case 144:return 7;
-break;
-case 145:return 7;
-break;
-case 146:return 7;
-break;
-case 147:return 7;
-break;
-case 148:return 7;
-break;
-case 149:return 7;
-break;
-case 150:return 7;
-break;
-case 151:return 7;
-break;
-case 152:return 7;
-break;
-case 153:return 7;
-break;
-case 154:return 7;
-break;
-case 155:return 7;
-break;
-case 156:return 7;
-break;
-case 157:return 7;
-break;
-case 158:return 7;
-break;
-case 159:return 7;
-break;
-case 160:return 7;
-break;
-case 161:return 7;
-break;
-case 162:return 7;
-break;
-case 163:return 7;
-break;
-case 164:return 7;
-break;
-case 165:return 7;
-break;
-case 166:return 7;
-break;
-case 167:return 7;
-break;
-case 168:return 7;
-break;
-case 169:return 7;
-break;
-case 170:return 7;
-break;
-case 171:return 7;
-break;
-case 172:return 7;
-break;
-case 173:return 7;
-break;
-case 174:return 7;
-break;
-case 175:return 7;
-break;
-case 176:return 7;
-break;
-case 177:return 7;
-break;
-case 178:return 7;
-break;
-case 179:return 7;
-break;
-case 180:return 7;
-break;
-case 181:return 7;
-break;
-case 182:return 7;
-break;
-case 183:return 7;
-break;
-case 184:return 7;
-break;
-case 185:return 7;
-break;
-case 186:return 7;
-break;
-case 187:return 7;
-break;
-case 188:return 7;
-break;
-case 189:return 7;
-break;
-case 190:return 7;
-break;
-case 191:return 7;
-break;
-case 192:return 7;
-break;
-case 193:return 7;
-break;
-case 194:return 7;
-break;
-case 195:return 7;
-break;
-case 196:return 7;
-break;
-case 197:return 7;
-break;
-case 198:return 7;
-break;
-case 199:return 7;
-break;
-case 200:return 7;
-break;
-case 201:return 7;
-break;
-case 202:return 7;
-break;
-case 203:return 7;
-break;
-case 204:return 7;
-break;
-case 205:return 7;
-break;
-case 206:return 7;
-break;
-case 207:return 7;
-break;
-case 208:return 7;
-break;
-case 209:return 7;
-break;
-case 210:return 7;
-break;
-case 211:return 7;
-break;
-case 212:return 7;
-break;
-case 213:return 7;
-break;
-case 214:return 7;
-break;
-case 215:return 7;
-break;
-case 216:return 7;
-break;
-case 217:return 7;
-break;
-case 218:return 7;
-break;
-case 219:return 7;
-break;
-case 220:return 7;
-break;
-case 221:return 7;
-break;
-case 222:return 7;
-break;
-case 223:return 7;
-break;
-case 224:return 7;
-break;
-case 225:return 7;
-break;
-case 226:return 7;
-break;
-case 227:return 7;
-break;
-case 228:return 7;
-break;
-case 229:return 7;
-break;
-case 230:return 7;
-break;
-case 231:return 7;
-break;
-case 232:return 7;
-break;
-case 233:return 7;
-break;
-case 234:return 7;
-break;
-case 235:return 7;
-break;
-case 236:return 7;
-break;
-case 237:return 7;
-break;
-case 238:return 7;
-break;
-case 239:return 7;
-break;
-case 240:return 7;
-break;
-case 241:return 7;
-break;
-case 242:return 7;
-break;
-case 243:return 7;
-break;
-case 244:return 7;
-break;
-case 245:return 7;
-break;
-case 246:return 7;
-break;
-case 247:return 7;
-break;
-case 248:return 7;
-break;
-case 249:return 7;
-break;
-case 250:return 7;
-break;
-case 251:return 7;
-break;
-case 252:return 7;
-break;
-case 253:return 7;
-break;
-case 254:return 7;
-break;
-case 255:return 7;
-break;
-case 256:return 7;
-break;
-case 257:return 7;
-break;
-case 258:return 7;
-break;
-case 259:return 7;
-break;
-case 260:return 7;
-break;
-case 261:return 7;
-break;
-case 262:return 7;
-break;
-case 263:return 7;
-break;
-case 264:return 7;
-break;
-case 265:return 7;
-break;
-case 266:return 7;
-break;
-case 267:return 7;
-break;
-case 268:return 7;
-break;
-case 269:return 7;
-break;
-case 270:return 7;
-break;
-case 271:return 7;
-break;
-case 272:return 7;
-break;
-case 273:return 7;
-break;
-case 274:return 7;
-break;
-case 275:return 7;
-break;
-case 276:return 7;
-break;
-case 277:return 7;
-break;
-case 278:return 7;
-break;
-case 279:return 7;
-break;
-case 280:return 7;
-break;
-case 281:return 7;
-break;
-case 282:return 7;
-break;
-case 283:return 7;
-break;
-case 284:return 7;
-break;
-case 285:return 7;
-break;
-case 286:return 7;
-break;
-case 287:return 7;
-break;
-case 288:return 7;
-break;
-case 289:return 7;
-break;
-case 290:return 7;
-break;
-case 291:return 7;
-break;
-case 292:return 7;
-break;
-case 293:return 7;
-break;
-case 294:return 7;
-break;
-case 295:return 7;
-break;
-case 296:return 7;
-break;
-case 297:return 7;
-break;
-case 298:return 7;
-break;
-case 299:return 7;
-break;
-case 300:return 7;
-break;
-case 301:return 7;
-break;
-case 302:return 7;
-break;
-case 303:return 7;
-break;
-case 304:return 7;
-break;
-case 305:return 7;
-break;
-case 306:return 7;
-break;
-case 307:return 7;
-break;
-case 308:return 13;
-break;
-case 309:return 13;
-break;
-case 310:return 13;
-break;
-case 311:return 13;
-break;
-case 312:return 13;
-break;
-case 313:return 13;
-break;
-case 314:return 13;
-break;
-case 315:return 13;
-break;
-case 316:return 13;
-break;
-}
-},
-rules: [/^(?:$)/,/^(?:\s+)/,/^(?:\+)/,/^(?:\()/,/^(?:\))/,/^(?::)/,/^(?:DocumentRef-([0-9A-Za-z-+.]+))/,/^(?:LicenseRef-([0-9A-Za-z-+.]+))/,/^(?:AND)/,/^(?:OR)/,/^(?:WITH)/,/^(?:Glide)/,/^(?:Abstyles)/,/^(?:AFL-1.1)/,/^(?:AFL-1.2)/,/^(?:AFL-2.0)/,/^(?:AFL-2.1)/,/^(?:AFL-3.0)/,/^(?:AMPAS)/,/^(?:APL-1.0)/,/^(?:Adobe-Glyph)/,/^(?:APAFML)/,/^(?:Adobe-2006)/,/^(?:AGPL-1.0)/,/^(?:Afmparse)/,/^(?:Aladdin)/,/^(?:ADSL)/,/^(?:AMDPLPA)/,/^(?:ANTLR-PD)/,/^(?:Apache-1.0)/,/^(?:Apache-1.1)/,/^(?:Apache-2.0)/,/^(?:AML)/,/^(?:APSL-1.0)/,/^(?:APSL-1.1)/,/^(?:APSL-1.2)/,/^(?:APSL-2.0)/,/^(?:Artistic-1.0)/,/^(?:Artistic-1.0-Perl)/,/^(?:Artistic-1.0-cl8)/,/^(?:Artistic-2.0)/,/^(?:AAL)/,/^(?:Bahyph)/,/^(?:Barr)/,/^(?:Beerware)/,/^(?:BitTorrent-1.0)/,/^(?:BitTorrent-1.1)/,/^(?:BSL-1.0)/,/^(?:Borceux)/,/^(?:BSD-2-Clause)/,/^(?:BSD-2-Clause-FreeBSD)/,/^(?:BSD-2-Clause-NetBSD)/,/^(?:BSD-3-Clause)/,/^(?:BSD-3-Clause-Clear)/,/^(?:BSD-4-Clause)/,/^(?:BSD-Protection)/,/^(?:BSD-3-Clause-Attribution)/,/^(?:BSD-4-Clause-UC)/,/^(?:bzip2-1.0.5)/,/^(?:bzip2-1.0.6)/,/^(?:Caldera)/,/^(?:CECILL-1.0)/,/^(?:CECILL-1.1)/,/^(?:CECILL-2.0)/,/^(?:CECILL-B)/,/^(?:CECILL-C)/,/^(?:ClArtistic)/,/^(?:MIT-CMU)/,/^(?:CNRI-Jython)/,/^(?:CNRI-Python)/,/^(?:CNRI-Python-GPL-Compatible)/,/^(?:CPOL-1.02)/,/^(?:CDDL-1.0)/,/^(?:CDDL-1.1)/,/^(?:CPAL-1.0)/,/^(?:CPL-1.0)/,/^(?:CATOSL-1.1)/,/^(?:Condor-1.1)/,/^(?:CC-BY-1.0)/,/^(?:CC-BY-2.0)/,/^(?:CC-BY-2.5)/,/^(?:CC-BY-3.0)/,/^(?:CC-BY-4.0)/,/^(?:CC-BY-ND-1.0)/,/^(?:CC-BY-ND-2.0)/,/^(?:CC-BY-ND-2.5)/,/^(?:CC-BY-ND-3.0)/,/^(?:CC-BY-ND-4.0)/,/^(?:CC-BY-NC-1.0)/,/^(?:CC-BY-NC-2.0)/,/^(?:CC-BY-NC-2.5)/,/^(?:CC-BY-NC-3.0)/,/^(?:CC-BY-NC-4.0)/,/^(?:CC-BY-NC-ND-1.0)/,/^(?:CC-BY-NC-ND-2.0)/,/^(?:CC-BY-NC-ND-2.5)/,/^(?:CC-BY-NC-ND-3.0)/,/^(?:CC-BY-NC-ND-4.0)/,/^(?:CC-BY-NC-SA-1.0)/,/^(?:CC-BY-NC-SA-2.0)/,/^(?:CC-BY-NC-SA-2.5)/,/^(?:CC-BY-NC-SA-3.0)/,/^(?:CC-BY-NC-SA-4.0)/,/^(?:CC-BY-SA-1.0)/,/^(?:CC-BY-SA-2.0)/,/^(?:CC-BY-SA-2.5)/,/^(?:CC-BY-SA-3.0)/,/^(?:CC-BY-SA-4.0)/,/^(?:CC0-1.0)/,/^(?:Crossword)/,/^(?:CUA-OPL-1.0)/,/^(?:Cube)/,/^(?:D-FSL-1.0)/,/^(?:diffmark)/,/^(?:WTFPL)/,/^(?:DOC)/,/^(?:Dotseqn)/,/^(?:DSDP)/,/^(?:dvipdfm)/,/^(?:EPL-1.0)/,/^(?:ECL-1.0)/,/^(?:ECL-2.0)/,/^(?:eGenix)/,/^(?:EFL-1.0)/,/^(?:EFL-2.0)/,/^(?:MIT-advertising)/,/^(?:MIT-enna)/,/^(?:Entessa)/,/^(?:ErlPL-1.1)/,/^(?:EUDatagrid)/,/^(?:EUPL-1.0)/,/^(?:EUPL-1.1)/,/^(?:Eurosym)/,/^(?:Fair)/,/^(?:MIT-feh)/,/^(?:Frameworx-1.0)/,/^(?:FreeImage)/,/^(?:FTL)/,/^(?:FSFUL)/,/^(?:FSFULLR)/,/^(?:Giftware)/,/^(?:GL2PS)/,/^(?:Glulxe)/,/^(?:AGPL-3.0)/,/^(?:GFDL-1.1)/,/^(?:GFDL-1.2)/,/^(?:GFDL-1.3)/,/^(?:GPL-1.0)/,/^(?:GPL-2.0)/,/^(?:GPL-3.0)/,/^(?:LGPL-2.1)/,/^(?:LGPL-3.0)/,/^(?:LGPL-2.0)/,/^(?:gnuplot)/,/^(?:gSOAP-1.3b)/,/^(?:HaskellReport)/,/^(?:HPND)/,/^(?:IBM-pibs)/,/^(?:IPL-1.0)/,/^(?:ICU)/,/^(?:ImageMagick)/,/^(?:iMatix)/,/^(?:Imlib2)/,/^(?:IJG)/,/^(?:Intel-ACPI)/,/^(?:Intel)/,/^(?:IPA)/,/^(?:ISC)/,/^(?:JasPer-2.0)/,/^(?:JSON)/,/^(?:LPPL-1.3a)/,/^(?:LPPL-1.0)/,/^(?:LPPL-1.1)/,/^(?:LPPL-1.2)/,/^(?:LPPL-1.3c)/,/^(?:Latex2e)/,/^(?:BSD-3-Clause-LBNL)/,/^(?:Leptonica)/,/^(?:Libpng)/,/^(?:libtiff)/,/^(?:LPL-1.02)/,/^(?:LPL-1.0)/,/^(?:MakeIndex)/,/^(?:MTLL)/,/^(?:MS-PL)/,/^(?:MS-RL)/,/^(?:MirOS)/,/^(?:MITNFA)/,/^(?:MIT)/,/^(?:Motosoto)/,/^(?:MPL-1.0)/,/^(?:MPL-1.1)/,/^(?:MPL-2.0)/,/^(?:MPL-2.0-no-copyleft-exception)/,/^(?:mpich2)/,/^(?:Multics)/,/^(?:Mup)/,/^(?:NASA-1.3)/,/^(?:Naumen)/,/^(?:NBPL-1.0)/,/^(?:NetCDF)/,/^(?:NGPL)/,/^(?:NOSL)/,/^(?:NPL-1.0)/,/^(?:NPL-1.1)/,/^(?:Newsletr)/,/^(?:NLPL)/,/^(?:Nokia)/,/^(?:NPOSL-3.0)/,/^(?:Noweb)/,/^(?:NRL)/,/^(?:NTP)/,/^(?:Nunit)/,/^(?:OCLC-2.0)/,/^(?:ODbL-1.0)/,/^(?:PDDL-1.0)/,/^(?:OGTSL)/,/^(?:OLDAP-2.2.2)/,/^(?:OLDAP-1.1)/,/^(?:OLDAP-1.2)/,/^(?:OLDAP-1.3)/,/^(?:OLDAP-1.4)/,/^(?:OLDAP-2.0)/,/^(?:OLDAP-2.0.1)/,/^(?:OLDAP-2.1)/,/^(?:OLDAP-2.2)/,/^(?:OLDAP-2.2.1)/,/^(?:OLDAP-2.3)/,/^(?:OLDAP-2.4)/,/^(?:OLDAP-2.5)/,/^(?:OLDAP-2.6)/,/^(?:OLDAP-2.7)/,/^(?:OLDAP-2.8)/,/^(?:OML)/,/^(?:OPL-1.0)/,/^(?:OSL-1.0)/,/^(?:OSL-1.1)/,/^(?:OSL-2.0)/,/^(?:OSL-2.1)/,/^(?:OSL-3.0)/,/^(?:OpenSSL)/,/^(?:PHP-3.0)/,/^(?:PHP-3.01)/,/^(?:Plexus)/,/^(?:PostgreSQL)/,/^(?:psfrag)/,/^(?:psutils)/,/^(?:Python-2.0)/,/^(?:QPL-1.0)/,/^(?:Qhull)/,/^(?:Rdisc)/,/^(?:RPSL-1.0)/,/^(?:RPL-1.1)/,/^(?:RPL-1.5)/,/^(?:RHeCos-1.1)/,/^(?:RSCPL)/,/^(?:RSA-MD)/,/^(?:Ruby)/,/^(?:SAX-PD)/,/^(?:Saxpath)/,/^(?:SCEA)/,/^(?:SWL)/,/^(?:SGI-B-1.0)/,/^(?:SGI-B-1.1)/,/^(?:SGI-B-2.0)/,/^(?:OFL-1.0)/,/^(?:OFL-1.1)/,/^(?:SimPL-2.0)/,/^(?:Sleepycat)/,/^(?:SNIA)/,/^(?:SMLNJ)/,/^(?:SugarCRM-1.1.3)/,/^(?:SISSL)/,/^(?:SISSL-1.2)/,/^(?:SPL-1.0)/,/^(?:Watcom-1.0)/,/^(?:TCL)/,/^(?:Unlicense)/,/^(?:TMate)/,/^(?:TORQUE-1.1)/,/^(?:TOSL)/,/^(?:Unicode-TOU)/,/^(?:UPL-1.0)/,/^(?:NCSA)/,/^(?:Vim)/,/^(?:VOSTROM)/,/^(?:VSL-1.0)/,/^(?:W3C-19980720)/,/^(?:W3C)/,/^(?:Wsuipa)/,/^(?:Xnet)/,/^(?:X11)/,/^(?:Xerox)/,/^(?:XFree86-1.1)/,/^(?:xinetd)/,/^(?:xpp)/,/^(?:XSkat)/,/^(?:YPL-1.0)/,/^(?:YPL-1.1)/,/^(?:Zed)/,/^(?:Zend-2.0)/,/^(?:Zimbra-1.3)/,/^(?:Zimbra-1.4)/,/^(?:Zlib)/,/^(?:zlib-acknowledgement)/,/^(?:ZPL-1.1)/,/^(?:ZPL-2.0)/,/^(?:ZPL-2.1)/,/^(?:Autoconf-exception-2.0)/,/^(?:Autoconf-exception-3.0)/,/^(?:Bison-exception-2.2)/,/^(?:Classpath-exception-2.0)/,/^(?:eCos-exception-2.0)/,/^(?:Font-exception-2.0)/,/^(?:GCC-exception-2.0)/,/^(?:GCC-exception-3.1)/,/^(?:WxWindows-exception-3.1)/],
-conditions: {"INITIAL":{"rules":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316],"inclusive":true}}
-});
-return lexer;
-})();
-parser.lexer = lexer;
-function Parser () {
- this.yy = {};
-}
-Parser.prototype = parser;parser.Parser = Parser;
-return new Parser;
-})();
-
-
-if (typeof require !== 'undefined' && typeof exports !== 'undefined') {
-exports.parser = spdxparse;
-exports.Parser = spdxparse.Parser;
-exports.parse = function () { return spdxparse.parse.apply(spdxparse, arguments); };
-exports.main = function commonjsMain(args) {
- if (!args[1]) {
- console.log('Usage: '+args[0]+' FILE');
- process.exit(1);
- }
- var source = require('fs').readFileSync(require('path').normalize(args[1]), "utf8");
- return exports.parser.parse(source);
-};
-if (typeof module !== 'undefined' && require.main === module) {
- exports.main(process.argv.slice(1));
-}
-}
diff --git a/deps/npm/node_modules/spdx/source/ranges.json b/deps/npm/node_modules/spdx/source/ranges.json
deleted file mode 100644
index 1f3c52b3e1..0000000000
--- a/deps/npm/node_modules/spdx/source/ranges.json
+++ /dev/null
@@ -1,194 +0,0 @@
-[
- [
- "AFL-1.1",
- "AFL-1.2",
- "AFL-2.0",
- "AFL-2.1",
- "AFL-3.0"
- ],
- [
- "AGPL-1.0",
- "AGPL-3.0"
- ],
- [
- "Apache-1.0",
- "Apache-1.1",
- "Apache-2.0"
- ],
- [
- "APSL-1.0",
- "APSL-1.1",
- "APSL-1.2",
- "APSL-2.0"
- ],
- [
- "Artistic-1.0",
- "Artistic-2.0"
- ],
- [
- "BitTorrent-1.0",
- "BitTorrent-1.1"
- ],
- [
- "CC-BY-1.0",
- "CC-BY-2.0",
- "CC-BY-2.5",
- "CC-BY-3.0",
- "CC-BY-4.0"
- ],
- [
- "CC-BY-NC-1.0",
- "CC-BY-NC-2.0",
- "CC-BY-NC-2.5",
- "CC-BY-NC-3.0",
- "CC-BY-NC-4.0"
- ],
- [
- "CC-BY-NC-ND-1.0",
- "CC-BY-NC-ND-2.0",
- "CC-BY-NC-ND-2.5",
- "CC-BY-NC-ND-3.0",
- "CC-BY-NC-ND-4.0"
- ],
- [
- "CC-BY-NC-SA-1.0",
- "CC-BY-NC-SA-2.0",
- "CC-BY-NC-SA-2.5",
- "CC-BY-NC-SA-3.0",
- "CC-BY-NC-SA-4.0"
- ],
- [
- "CC-BY-ND-1.0",
- "CC-BY-ND-2.0",
- "CC-BY-ND-2.5",
- "CC-BY-ND-3.0",
- "CC-BY-ND-4.0"
- ],
- [
- "CC-BY-SA-1.0",
- "CC-BY-SA-2.0",
- "CC-BY-SA-2.5",
- "CC-BY-SA-3.0",
- "CC-BY-SA-4.0"
- ],
- [
- "CDDL-1.0",
- "CDDL-1.1"
- ],
- [
- "CECILL-1.0",
- "CECILL-1.1",
- "CECILL-2.0"
- ],
- [
- "ECL-1.0",
- "ECL-2.0"
- ],
- [
- "EFL-1.0",
- "EFL-2.0"
- ],
- [
- "EUPL-1.0",
- "EUPL-1.1"
- ],
- [
- "GFDL-1.1",
- "GFDL-1.2",
- "GFDL-1.3"
- ],
- [
- "GPL-1.0",
- "GPL-2.0",
- "GPL-3.0"
- ],
- [
- "LGPL-2.0",
- "LGPL-2.1",
- "LGPL-3.0"
- ],
- [
- "LPL-1.0",
- "LPL-1.02"
- ],
- [
- "LPPL-1.0",
- "LPPL-1.1",
- "LPPL-1.2",
- "LPPL-1.3a",
- "LPPL-1.3c"
- ],
- [
- "MPL-1.0",
- "MPL-1.1",
- "MPL-2.0"
- ],
- [
- "MPL-1.0",
- "MPL-1.1",
- "MPL-2.0-no-copyleft-exception"
- ],
- [
- "NPL-1.0",
- "NPL-1.1"
- ],
- [
- "OFL-1.0",
- "OFL-1.1"
- ],
- [
- "OLDAP-1.1",
- "OLDAP-1.2",
- "OLDAP-1.3",
- "OLDAP-1.4",
- "OLDAP-2.0",
- "OLDAP-2.0.1",
- "OLDAP-2.1",
- "OLDAP-2.2",
- "OLDAP-2.2.1",
- "OLDAP-2.2.2",
- "OLDAP-2.3",
- "OLDAP-2.4",
- "OLDAP-2.5",
- "OLDAP-2.6",
- "OLDAP-2.7",
- "OLDAP-2.8"
- ],
- [
- "OSL-1.0",
- "OSL-1.1",
- "OSL-2.0",
- "OSL-2.1",
- "OSL-3.0"
- ],
- [
- "PHP-3.0",
- "PHP-3.01"
- ],
- [
- "RPL-1.1",
- "RPL-1.5"
- ],
- [
- "SGI-B-1.0",
- "SGI-B-1.1",
- "SGI-B-2.0"
- ],
- [
- "YPL-1.0",
- "YPL-1.1"
- ],
- [
- "ZPL-1.1",
- "ZPL-2.0",
- "ZPL-2.1"
- ],
- [
- "Zimbra-1.3",
- "Zimbra-1.4"
- ],
- [
- "bzip2-1.0.5",
- "bzip2-1.0.6"
- ]
-]
diff --git a/deps/npm/node_modules/spdx/source/spdx.js b/deps/npm/node_modules/spdx/source/spdx.js
deleted file mode 100644
index 5aece3d543..0000000000
--- a/deps/npm/node_modules/spdx/source/spdx.js
+++ /dev/null
@@ -1,161 +0,0 @@
-// spdx.js
-// =======
-// SPDX License Expression Syntax parser
-
-// Validation
-// ----------
-
-// Require the generated parser.
-var parser = require('./parser.generated.js').parser;
-
-exports.parse = function(argument) {
- return parser.parse(argument);
-};
-
-var containsRepeatedSpace = /\s{2,}/;
-
-exports.valid = function(argument) {
- if (
- argument.trim() !== argument ||
- containsRepeatedSpace.test(argument)
- ) {
- return false;
- }
- try {
- parser.parse(argument);
- return true;
- } catch (e) {
- // jison generates parsers that throw errors, while this function
- // mimics `semver.valid` by returning null.
- return null;
- }
-};
-
-// Comparison
-// ----------
-
-var ranges = require('./ranges.json');
-
-var notALicenseIdentifier = ' is not a simple license identifier';
-
-var rangeComparison = function(comparison) {
- return function(first, second) {
- var firstAST = exports.parse(first);
- if (!firstAST.hasOwnProperty('license')) {
- throw new Error('"' + first + '"' + notALicenseIdentifier);
- }
- var secondAST = exports.parse(second);
- if (!secondAST.hasOwnProperty('license')) {
- throw new Error('"' + second + '"' + notALicenseIdentifier);
- }
- return ranges.some(function(range) {
- var indexOfFirst = range.indexOf(firstAST.license);
- if (indexOfFirst < 0) {
- return false;
- }
- var indexOfSecond = range.indexOf(secondAST.license);
- if (indexOfSecond < 0) {
- return false;
- }
- return comparison(indexOfFirst, indexOfSecond);
- });
- };
-};
-
-exports.gt = rangeComparison(function(first, second) {
- return first > second;
-});
-
-exports.lt = rangeComparison(function(first, second) {
- return first < second;
-});
-
-exports.satisfies = (function() {
- var rangesAreCompatible = function(first, second) {
- return (
- first.license === second.license ||
- ranges.some(function(range) {
- return (
- range.indexOf(first.license) > -1 &&
- range.indexOf(second.license)
- );
- })
- );
- };
-
- var identifierInRange = function(identifier, range) {
- return (
- identifier.license === range.license ||
- exports.gt(identifier.license, range.license)
- );
- };
-
- var licensesAreCompatible = function(first, second) {
- if (first.exception !== second.exception) {
- return false;
- } else if (second.hasOwnProperty('license')) {
- if (second.hasOwnProperty('plus')) {
- if (first.hasOwnProperty('plus')) {
- // first+, second+
- return rangesAreCompatible(first, second);
- } else {
- // first, second+
- return identifierInRange(first, second);
- }
- } else {
- if (first.hasOwnProperty('plus')) {
- // first+, second
- return identifierInRange(second, first);
- } else {
- // first, second
- return first.license === second.license;
- }
- }
- }
- };
-
- var recurseLeftAndRight = function(first, second) {
- var firstConjunction = first.conjunction;
- if (firstConjunction === 'and') {
- return (
- recurse(first.left, second) &&
- recurse(first.right, second)
- );
- } else if (firstConjunction === 'or') {
- return (
- recurse(first.left, second) ||
- recurse(first.right, second)
- );
- }
- };
-
- var recurse = function(first, second) {
- if (first.hasOwnProperty('conjunction')) {
- return recurseLeftAndRight(first, second);
- } else if (second.hasOwnProperty('conjunction')) {
- return recurseLeftAndRight(second, first);
- } else {
- return licensesAreCompatible(first, second);
- }
- };
-
- return function(first, second) {
- return recurse(parser.parse(first), parser.parse(second));
- };
-})();
-
-// Reference Data
-// --------------
-
-// Require the same license and exception data used by the parser.
-exports.licenses = require('spdx-license-ids');
-exports.exceptions = require('./exceptions.json');
-
-// Version Metadata
-// ----------------
-
-// The License Expression Syntax version
-exports.specificationVersion = '2.0';
-
-// This module's semantic version
-exports.implementationVersion = '0.4.1';
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/.npmignore b/deps/npm/node_modules/string_decoder/.npmignore
index 206320cc1d..206320cc1d 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/.npmignore
+++ b/deps/npm/node_modules/string_decoder/.npmignore
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/LICENSE b/deps/npm/node_modules/string_decoder/LICENSE
index 6de584a48f..6de584a48f 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/LICENSE
+++ b/deps/npm/node_modules/string_decoder/LICENSE
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/README.md b/deps/npm/node_modules/string_decoder/README.md
index 4d2aa00150..4d2aa00150 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/README.md
+++ b/deps/npm/node_modules/string_decoder/README.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/index.js b/deps/npm/node_modules/string_decoder/index.js
index b00e54fb79..b00e54fb79 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/index.js
+++ b/deps/npm/node_modules/string_decoder/index.js
diff --git a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json b/deps/npm/node_modules/string_decoder/package.json
index 0364d54ba4..10772c834f 100644
--- a/deps/npm/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/package.json
+++ b/deps/npm/node_modules/string_decoder/package.json
@@ -1,39 +1,61 @@
{
- "name": "string_decoder",
- "version": "0.10.31",
- "description": "The string_decoder module from Node core",
- "main": "index.js",
+ "_args": [
+ [
+ "string_decoder@~0.10.x",
+ "/Users/rebecca/code/npm/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "string_decoder@>=0.10.0 <0.11.0",
+ "_id": "string_decoder@0.10.31",
+ "_inCache": true,
+ "_location": "/string_decoder",
+ "_npmUser": {
+ "email": "rod@vagg.org",
+ "name": "rvagg"
+ },
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "string_decoder",
+ "raw": "string_decoder@~0.10.x",
+ "rawSpec": "~0.10.x",
+ "scope": null,
+ "spec": ">=0.10.0 <0.11.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/bl/readable-stream",
+ "/concat-stream/readable-stream",
+ "/readable-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
+ "_shrinkwrap": null,
+ "_spec": "string_decoder@~0.10.x",
+ "_where": "/Users/rebecca/code/npm/node_modules/readable-stream",
+ "bugs": {
+ "url": "https://github.com/rvagg/string_decoder/issues"
+ },
"dependencies": {},
+ "description": "The string_decoder module from Node core",
"devDependencies": {
"tap": "~0.4.8"
},
- "scripts": {
- "test": "tap test/simple/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/rvagg/string_decoder.git"
+ "directories": {},
+ "dist": {
+ "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
+ "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
+ "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
"homepage": "https://github.com/rvagg/string_decoder",
"keywords": [
- "string",
- "decoder",
"browser",
- "browserify"
+ "browserify",
+ "decoder",
+ "string"
],
"license": "MIT",
- "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
- "bugs": {
- "url": "https://github.com/rvagg/string_decoder/issues"
- },
- "_id": "string_decoder@0.10.31",
- "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "_from": "string_decoder@>=0.10.0 <0.11.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "rvagg",
- "email": "rod@vagg.org"
- },
+ "main": "index.js",
"maintainers": [
{
"name": "substack",
@@ -44,11 +66,14 @@
"email": "rod@vagg.org"
}
],
- "dist": {
- "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ "name": "string_decoder",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/rvagg/string_decoder.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/simple/*.js"
+ },
+ "version": "0.10.31"
}
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/.npmignore b/deps/npm/node_modules/stringstream/.npmignore
index 7dccd97076..7dccd97076 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/.npmignore
+++ b/deps/npm/node_modules/stringstream/.npmignore
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml b/deps/npm/node_modules/stringstream/.travis.yml
index f1d0f13c8a..f1d0f13c8a 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml
+++ b/deps/npm/node_modules/stringstream/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/LICENSE.txt b/deps/npm/node_modules/stringstream/LICENSE.txt
index eac188156d..eac188156d 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/LICENSE.txt
+++ b/deps/npm/node_modules/stringstream/LICENSE.txt
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/README.md b/deps/npm/node_modules/stringstream/README.md
index 32fc982556..32fc982556 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/README.md
+++ b/deps/npm/node_modules/stringstream/README.md
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/example.js b/deps/npm/node_modules/stringstream/example.js
index f82b85edc7..f82b85edc7 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/example.js
+++ b/deps/npm/node_modules/stringstream/example.js
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/package.json b/deps/npm/node_modules/stringstream/package.json
index 3b1373bb58..890b0ae3d0 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/package.json
+++ b/deps/npm/node_modules/stringstream/package.json
@@ -1,48 +1,70 @@
{
- "name": "stringstream",
- "version": "0.0.4",
- "description": "Encode and decode streams into string streams",
- "author": {
- "name": "Michael Hart",
+ "_args": [
+ [
+ "stringstream@~0.0.4",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "stringstream@>=0.0.4 <0.1.0",
+ "_id": "stringstream@0.0.4",
+ "_inCache": true,
+ "_location": "/stringstream",
+ "_npmUser": {
"email": "michael.hart.au@gmail.com",
- "url": "http://github.com/mhart"
+ "name": "hichaelmart"
},
- "main": "stringstream.js",
- "keywords": [
- "string",
- "stream",
- "base64",
- "gzip"
+ "_npmVersion": "1.2.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "stringstream",
+ "raw": "stringstream@~0.0.4",
+ "rawSpec": "~0.0.4",
+ "scope": null,
+ "spec": ">=0.0.4 <0.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/mhart/StringStream.git"
+ "_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz",
+ "_shasum": "0f0e3423f942960b5692ac324a57dd093bc41a92",
+ "_shrinkwrap": null,
+ "_spec": "stringstream@~0.0.4",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "author": {
+ "email": "michael.hart.au@gmail.com",
+ "name": "Michael Hart",
+ "url": "http://github.com/mhart"
},
- "license": "MIT",
- "readme": "# Decode streams into strings The Right Way(tm)\n\n```javascript\nvar fs = require('fs')\nvar zlib = require('zlib')\nvar strs = require('stringstream')\n\nvar utf8Stream = fs.createReadStream('massiveLogFile.gz')\n .pipe(zlib.createGunzip())\n .pipe(strs('utf8'))\n```\n\nNo need to deal with `setEncoding()` weirdness, just compose streams\nlike they were supposed to be!\n\nHandles input and output encoding:\n\n```javascript\n// Stream from utf8 to hex to base64... Why not, ay.\nvar hex64Stream = fs.createReadStream('myFile')\n .pipe(strs('utf8', 'hex'))\n .pipe(strs('hex', 'base64'))\n```\n\nAlso deals with `base64` output correctly by aligning each emitted data\nchunk so that there are no dangling `=` characters:\n\n```javascript\nvar stream = fs.createReadStream('myFile').pipe(strs('base64'))\n\nvar base64Str = ''\n\nstream.on('data', function(data) { base64Str += data })\nstream.on('end', function() {\n console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding()\n console.log('Original file is: ' + new Buffer(base64Str, 'base64'))\n})\n```\n",
- "readmeFilename": "README.md",
- "_id": "stringstream@0.0.4",
+ "dependencies": {},
+ "description": "Encode and decode streams into string streams",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "0f0e3423f942960b5692ac324a57dd093bc41a92",
"tarball": "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
},
- "_npmVersion": "1.2.0",
- "_npmUser": {
- "name": "hichaelmart",
- "email": "michael.hart.au@gmail.com"
- },
+ "keywords": [
+ "base64",
+ "gzip",
+ "stream",
+ "string"
+ ],
+ "license": "MIT",
+ "main": "stringstream.js",
"maintainers": [
{
"name": "hichaelmart",
"email": "michael.hart.au@gmail.com"
}
],
- "directories": {},
- "_shasum": "0f0e3423f942960b5692ac324a57dd093bc41a92",
- "_resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz",
- "_from": "stringstream@>=0.0.4 <0.1.0",
- "bugs": {
- "url": "https://github.com/mhart/StringStream/issues"
+ "name": "stringstream",
+ "optionalDependencies": {},
+ "readme": "# Decode streams into strings The Right Way(tm)\n\n```javascript\nvar fs = require('fs')\nvar zlib = require('zlib')\nvar strs = require('stringstream')\n\nvar utf8Stream = fs.createReadStream('massiveLogFile.gz')\n .pipe(zlib.createGunzip())\n .pipe(strs('utf8'))\n```\n\nNo need to deal with `setEncoding()` weirdness, just compose streams\nlike they were supposed to be!\n\nHandles input and output encoding:\n\n```javascript\n// Stream from utf8 to hex to base64... Why not, ay.\nvar hex64Stream = fs.createReadStream('myFile')\n .pipe(strs('utf8', 'hex'))\n .pipe(strs('hex', 'base64'))\n```\n\nAlso deals with `base64` output correctly by aligning each emitted data\nchunk so that there are no dangling `=` characters:\n\n```javascript\nvar stream = fs.createReadStream('myFile').pipe(strs('base64'))\n\nvar base64Str = ''\n\nstream.on('data', function(data) { base64Str += data })\nstream.on('end', function() {\n console.log('My base64 encoded file is: ' + base64Str) // Wouldn't work with setEncoding()\n console.log('Original file is: ' + new Buffer(base64Str, 'base64'))\n})\n```\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/mhart/StringStream.git"
},
- "homepage": "https://github.com/mhart/StringStream#readme"
+ "version": "0.0.4"
}
diff --git a/deps/npm/node_modules/request/node_modules/stringstream/stringstream.js b/deps/npm/node_modules/stringstream/stringstream.js
index 4ece1275f4..4ece1275f4 100644
--- a/deps/npm/node_modules/request/node_modules/stringstream/stringstream.js
+++ b/deps/npm/node_modules/stringstream/stringstream.js
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js b/deps/npm/node_modules/strip-ansi/index.js
index 099480fbfc..099480fbfc 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js
+++ b/deps/npm/node_modules/strip-ansi/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license b/deps/npm/node_modules/strip-ansi/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license
+++ b/deps/npm/node_modules/strip-ansi/license
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json b/deps/npm/node_modules/strip-ansi/package.json
index 2871d03790..765c6921f4 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/package.json
+++ b/deps/npm/node_modules/strip-ansi/package.json
@@ -1,85 +1,111 @@
{
- "name": "strip-ansi",
- "version": "3.0.0",
- "description": "Strip ANSI escape codes",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/sindresorhus/strip-ansi.git"
+ "_args": [
+ [
+ "strip-ansi@^3.0.0",
+ "/Users/rebecca/code/npm/node_modules/chalk"
+ ]
+ ],
+ "_from": "strip-ansi@>=3.0.0 <4.0.0",
+ "_id": "strip-ansi@3.0.0",
+ "_inCache": true,
+ "_location": "/strip-ansi",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "strip-ansi",
+ "raw": "strip-ansi@^3.0.0",
+ "rawSpec": "^3.0.0",
+ "scope": null,
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/chalk",
+ "/columnify"
+ ],
+ "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
+ "_shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
+ "_shrinkwrap": null,
+ "_spec": "strip-ansi@^3.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/chalk",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
+ "bugs": {
+ "url": "https://github.com/sindresorhus/strip-ansi/issues"
+ },
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "description": "Strip ANSI escape codes",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
+ "tarball": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"
+ },
"engines": {
"node": ">=0.10.0"
},
- "scripts": {
- "test": "node test.js"
- },
"files": [
"index.js"
],
+ "gitHead": "3f05b9810e1438f946e2eb84ee854cc00b972e9e",
+ "homepage": "https://github.com/sindresorhus/strip-ansi",
"keywords": [
- "strip",
- "trim",
- "remove",
+ "256",
"ansi",
- "styles",
"color",
- "colour",
"colors",
- "terminal",
+ "colour",
+ "command-line",
"console",
- "string",
- "tty",
"escape",
"formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
"log",
"logging",
- "command-line",
- "text"
+ "remove",
+ "rgb",
+ "shell",
+ "string",
+ "strip",
+ "styles",
+ "terminal",
+ "text",
+ "trim",
+ "tty",
+ "xterm"
],
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "devDependencies": {
- "ava": "0.0.4"
- },
- "gitHead": "3f05b9810e1438f946e2eb84ee854cc00b972e9e",
- "bugs": {
- "url": "https://github.com/sindresorhus/strip-ansi/issues"
- },
- "homepage": "https://github.com/sindresorhus/strip-ansi",
- "_id": "strip-ansi@3.0.0",
- "_shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
- "_from": "strip-ansi@>=3.0.0 <4.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ }
+ ],
+ "name": "strip-ansi",
+ "optionalDependencies": {},
+ "readme": "# strip-ansi [![Build Status](https://travis-ci.org/sindresorhus/strip-ansi.svg?branch=master)](https://travis-ci.org/sindresorhus/strip-ansi)\n\n> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)\n\n\n## Install\n\n```\n$ npm install --save strip-ansi\n```\n\n\n## Usage\n\n```js\nvar stripAnsi = require('strip-ansi');\n\nstripAnsi('\\u001b[4mcake\\u001b[0m');\n//=> 'cake'\n```\n\n\n## Related\n\n- [strip-ansi-cli](https://github.com/sindresorhus/strip-ansi-cli) - CLI for this module\n- [has-ansi](https://github.com/sindresorhus/has-ansi) - Check if a string has ANSI escape codes\n- [ansi-regex](https://github.com/sindresorhus/ansi-regex) - Regular expression for matching ANSI escape codes\n- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right\n\n\n## License\n\nMIT © [Sindre Sorhus](http://sindresorhus.com)\n",
+ "readmeFilename": "readme.md",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/strip-ansi.git"
},
- "dist": {
- "shasum": "7510b665567ca914ccb5d7e072763ac968be3724",
- "tarball": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz"
+ "scripts": {
+ "test": "node test.js"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "3.0.0"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/strip-ansi/readme.md
index 76091512df..76091512df 100644
--- a/deps/npm/node_modules/columnify/node_modules/strip-ansi/readme.md
+++ b/deps/npm/node_modules/strip-ansi/readme.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/index.js b/deps/npm/node_modules/supports-color/index.js
index 4346e272e1..4346e272e1 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/index.js
+++ b/deps/npm/node_modules/supports-color/index.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license b/deps/npm/node_modules/supports-color/license
index 654d0bfe94..654d0bfe94 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license
+++ b/deps/npm/node_modules/supports-color/license
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json b/deps/npm/node_modules/supports-color/package.json
index 38a1ecb3ce..020a57ea52 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/package.json
+++ b/deps/npm/node_modules/supports-color/package.json
@@ -1,79 +1,103 @@
{
- "name": "supports-color",
- "version": "2.0.0",
- "description": "Detect whether a terminal supports color",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/chalk/supports-color.git"
+ "_args": [
+ [
+ "supports-color@^2.0.0",
+ "/Users/rebecca/code/npm/node_modules/chalk"
+ ]
+ ],
+ "_from": "supports-color@>=2.0.0 <3.0.0",
+ "_id": "supports-color@2.0.0",
+ "_inCache": true,
+ "_location": "/supports-color",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "sindresorhus@gmail.com",
+ "name": "sindresorhus"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "supports-color",
+ "raw": "supports-color@^2.0.0",
+ "rawSpec": "^2.0.0",
+ "scope": null,
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/chalk"
+ ],
+ "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "_shasum": "535d045ce6b6363fa40117084629995e9df324c7",
+ "_shrinkwrap": null,
+ "_spec": "supports-color@^2.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/chalk",
"author": {
- "name": "Sindre Sorhus",
"email": "sindresorhus@gmail.com",
+ "name": "Sindre Sorhus",
"url": "sindresorhus.com"
},
- "maintainers": [
- {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
- },
- {
- "name": "jbnicolai",
- "email": "jappelman@xebia.com"
- }
- ],
+ "bugs": {
+ "url": "https://github.com/chalk/supports-color/issues"
+ },
+ "dependencies": {},
+ "description": "Detect whether a terminal supports color",
+ "devDependencies": {
+ "mocha": "*",
+ "require-uncached": "^1.0.2"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "535d045ce6b6363fa40117084629995e9df324c7",
+ "tarball": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ },
"engines": {
"node": ">=0.8.0"
},
- "scripts": {
- "test": "mocha"
- },
"files": [
"index.js"
],
+ "gitHead": "8400d98ade32b2adffd50902c06d9e725a5c6588",
+ "homepage": "https://github.com/chalk/supports-color",
"keywords": [
+ "256",
+ "ansi",
+ "capability",
+ "cli",
"color",
- "colour",
"colors",
- "terminal",
+ "colour",
+ "command-line",
"console",
- "cli",
- "ansi",
- "styles",
- "tty",
+ "detect",
"rgb",
- "256",
"shell",
- "xterm",
- "command-line",
+ "styles",
"support",
"supports",
- "capability",
- "detect"
+ "terminal",
+ "tty",
+ "xterm"
],
- "devDependencies": {
- "mocha": "*",
- "require-uncached": "^1.0.2"
- },
- "gitHead": "8400d98ade32b2adffd50902c06d9e725a5c6588",
- "bugs": {
- "url": "https://github.com/chalk/supports-color/issues"
- },
- "homepage": "https://github.com/chalk/supports-color",
- "_id": "supports-color@2.0.0",
- "_shasum": "535d045ce6b6363fa40117084629995e9df324c7",
- "_from": "supports-color@>=2.0.0 <3.0.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "sindresorhus",
- "email": "sindresorhus@gmail.com"
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "jbnicolai",
+ "email": "jappelman@xebia.com"
+ }
+ ],
+ "name": "supports-color",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/chalk/supports-color"
},
- "dist": {
- "shasum": "535d045ce6b6363fa40117084629995e9df324c7",
- "tarball": "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ "scripts": {
+ "test": "mocha"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "2.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/readme.md b/deps/npm/node_modules/supports-color/readme.md
index b4761f1ecd..b4761f1ecd 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/readme.md
+++ b/deps/npm/node_modules/supports-color/readme.md
diff --git a/deps/npm/node_modules/tar/package.json b/deps/npm/node_modules/tar/package.json
index 2d0846a1fd..de38b24615 100644
--- a/deps/npm/node_modules/tar/package.json
+++ b/deps/npm/node_modules/tar/package.json
@@ -1,40 +1,93 @@
{
+ "_args": [
+ [
+ "tar@~2.2.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "tar@>=2.2.0 <2.3.0",
+ "_id": "tar@2.2.1",
+ "_inCache": true,
+ "_location": "/tar",
+ "_nodeVersion": "2.2.2",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "2.14.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "tar",
+ "raw": "tar@~2.2.0",
+ "rawSpec": "~2.2.0",
+ "scope": null,
+ "spec": ">=2.2.0 <2.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "_shasum": "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1",
+ "_shrinkwrap": null,
+ "_spec": "tar@~2.2.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "tar",
- "description": "tar for node",
- "version": "2.2.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-tar.git"
- },
- "main": "tar.js",
- "scripts": {
- "test": "tap test/*.js"
+ "bugs": {
+ "url": "https://github.com/isaacs/node-tar/issues"
},
"dependencies": {
"block-stream": "*",
"fstream": "^1.0.2",
"inherits": "2"
},
+ "description": "tar for node",
"devDependencies": {
"graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
"rimraf": "1.x",
- "tap": "0.x",
- "mkdirp": "^0.5.0"
+ "tap": "0.x"
},
- "license": "ISC",
- "readme": "# node-tar\n\nTar for Node.js.\n\n[![NPM](https://nodei.co/npm/tar.png)](https://nodei.co/npm/tar/)\n\n## API\n\nSee `examples/` for usage examples.\n\n### var tar = require('tar')\n\nReturns an object with `.Pack`, `.Extract` and `.Parse` methods.\n\n### tar.Pack([properties])\n\nReturns a through stream. Use\n[fstream](https://npmjs.org/package/fstream) to write files into the\npack stream and you will receive tar archive data from the pack\nstream.\n\nThis only works with directories, it does not work with individual files.\n\nThe optional `properties` object are used to set properties in the tar\n'Global Extended Header'. If the `fromBase` property is set to true,\nthe tar will contain files relative to the path passed, and not with\nthe path included.\n\n### tar.Extract([options])\n\nReturns a through stream. Write tar data to the stream and the files\nin the tarball will be extracted onto the filesystem.\n\n`options` can be:\n\n```js\n{\n path: '/path/to/extract/tar/into',\n strip: 0, // how many path segments to strip from the root when extracting\n}\n```\n\n`options` also get passed to the `fstream.Writer` instance that `tar`\nuses internally.\n\n### tar.Parse()\n\nReturns a writable stream. Write tar data to it and it will emit\n`entry` events for each entry parsed from the tarball. This is used by\n`tar.Extract`.\n",
- "readmeFilename": "README.md",
- "gitHead": "52237e39d2eb68d22a32d9a98f1d762189fe6a3d",
- "bugs": {
- "url": "https://github.com/isaacs/node-tar/issues"
+ "directories": {},
+ "dist": {
+ "shasum": "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1",
+ "tarball": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz"
},
+ "gitHead": "52237e39d2eb68d22a32d9a98f1d762189fe6a3d",
"homepage": "https://github.com/isaacs/node-tar#readme",
- "_id": "tar@2.2.1",
- "_shasum": "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1",
- "_from": "tar@2.2.1"
+ "installable": true,
+ "license": "ISC",
+ "main": "tar.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "soldair",
+ "email": "soldair@gmail.com"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "tar",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-tar.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "2.2.1"
}
diff --git a/deps/npm/node_modules/text-table/package.json b/deps/npm/node_modules/text-table/package.json
index 1eacd78e22..da8084b42b 100644
--- a/deps/npm/node_modules/text-table/package.json
+++ b/deps/npm/node_modules/text-table/package.json
@@ -1,52 +1,95 @@
{
- "name": "text-table",
- "version": "0.2.0",
+ "_args": [
+ [
+ "text-table@~0.2.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "text-table@>=0.2.0 <0.3.0",
+ "_id": "text-table@0.2.0",
+ "_inCache": true,
+ "_location": "/text-table",
+ "_npmUser": {
+ "email": "mail@substack.net",
+ "name": "substack"
+ },
+ "_npmVersion": "1.3.7",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "text-table",
+ "raw": "text-table@~0.2.0",
+ "rawSpec": "~0.2.0",
+ "scope": null,
+ "spec": ">=0.2.0 <0.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "_shasum": "7f5ee823ae805207c00af2df4a84ec3fcfa570b4",
+ "_shrinkwrap": null,
+ "_spec": "text-table@~0.2.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "mail@substack.net",
+ "name": "James Halliday",
+ "url": "http://substack.net"
+ },
+ "bugs": {
+ "url": "https://github.com/substack/text-table/issues"
+ },
+ "dependencies": {},
"description": "borderless text tables with alignment",
- "main": "index.js",
"devDependencies": {
+ "cli-color": "~0.2.3",
"tap": "~0.4.0",
- "tape": "~1.0.2",
- "cli-color": "~0.2.3"
+ "tape": "~1.0.2"
},
- "scripts": {
- "test": "tap test/*.js"
- },
- "testling": {
- "files": "test/*.js",
- "browsers": [
- "ie/6..latest",
- "chrome/20..latest",
- "firefox/10..latest",
- "safari/latest",
- "opera/11.0..latest",
- "iphone/6",
- "ipad/6"
- ]
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/substack/text-table.git"
+ "directories": {},
+ "dist": {
+ "shasum": "7f5ee823ae805207c00af2df4a84ec3fcfa570b4",
+ "tarball": "http://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
},
"homepage": "https://github.com/substack/text-table",
"keywords": [
- "text",
- "table",
"align",
"ascii",
"rows",
- "tabular"
+ "table",
+ "tabular",
+ "text"
],
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
"license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "substack",
+ "email": "mail@substack.net"
+ }
+ ],
+ "name": "text-table",
+ "optionalDependencies": {},
"readme": "# text-table\n\ngenerate borderless text table strings suitable for printing to stdout\n\n[![build status](https://secure.travis-ci.org/substack/text-table.png)](http://travis-ci.org/substack/text-table)\n\n[![browser support](https://ci.testling.com/substack/text-table.png)](http://ci.testling.com/substack/text-table)\n\n# example\n\n## default align\n\n``` js\nvar table = require('text-table');\nvar t = table([\n [ 'master', '0123456789abcdef' ],\n [ 'staging', 'fedcba9876543210' ]\n]);\nconsole.log(t);\n```\n\n```\nmaster 0123456789abcdef\nstaging fedcba9876543210\n```\n\n## left-right align\n\n``` js\nvar table = require('text-table');\nvar t = table([\n [ 'beep', '1024' ],\n [ 'boop', '33450' ],\n [ 'foo', '1006' ],\n [ 'bar', '45' ]\n], { align: [ 'l', 'r' ] });\nconsole.log(t);\n```\n\n```\nbeep 1024\nboop 33450\nfoo 1006\nbar 45\n```\n\n## dotted align\n\n``` js\nvar table = require('text-table');\nvar t = table([\n [ 'beep', '1024' ],\n [ 'boop', '334.212' ],\n [ 'foo', '1006' ],\n [ 'bar', '45.6' ],\n [ 'baz', '123.' ]\n], { align: [ 'l', '.' ] });\nconsole.log(t);\n```\n\n```\nbeep 1024\nboop 334.212\nfoo 1006\nbar 45.6\nbaz 123.\n```\n\n## centered\n\n``` js\nvar table = require('text-table');\nvar t = table([\n [ 'beep', '1024', 'xyz' ],\n [ 'boop', '3388450', 'tuv' ],\n [ 'foo', '10106', 'qrstuv' ],\n [ 'bar', '45', 'lmno' ]\n], { align: [ 'l', 'c', 'l' ] });\nconsole.log(t);\n```\n\n```\nbeep 1024 xyz\nboop 3388450 tuv\nfoo 10106 qrstuv\nbar 45 lmno\n```\n\n# methods\n\n``` js\nvar table = require('text-table')\n```\n\n## var s = table(rows, opts={})\n\nReturn a formatted table string `s` from an array of `rows` and some options\n`opts`.\n\n`rows` should be an array of arrays containing strings, numbers, or other\nprintable values.\n\noptions can be:\n\n* `opts.hsep` - separator to use between columns, default `' '`\n* `opts.align` - array of alignment types for each column, default `['l','l',...]`\n* `opts.stringLength` - callback function to use when calculating the string length\n\nalignment types are:\n\n* `'l'` - left\n* `'r'` - right\n* `'c'` - center\n* `'.'` - decimal\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install text-table\n```\n\n# Use with ANSI-colors\n\nSince the string length of ANSI color schemes does not equal the length\nJavaScript sees internally it is necessary to pass the a custom string length\ncalculator during the main function call.\n\nSee the `test/ansi-colors.js` file for an example.\n\n# license\n\nMIT\n",
"readmeFilename": "readme.markdown",
- "bugs": {
- "url": "https://github.com/substack/text-table/issues"
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/text-table.git"
},
- "_id": "text-table@0.2.0",
- "_from": "text-table@~0.2.0"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "testling": {
+ "browsers": [
+ "chrome/20..latest",
+ "firefox/10..latest",
+ "ie/6..latest",
+ "ipad/6",
+ "iphone/6",
+ "opera/11.0..latest",
+ "safari/latest"
+ ],
+ "files": "test/*.js"
+ },
+ "version": "0.2.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/.editorconfig b/deps/npm/node_modules/tough-cookie/.editorconfig
index e09b844f73..e09b844f73 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/.editorconfig
+++ b/deps/npm/node_modules/tough-cookie/.editorconfig
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/.npmignore b/deps/npm/node_modules/tough-cookie/.npmignore
index 5a8d2d853e..5a8d2d853e 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/.npmignore
+++ b/deps/npm/node_modules/tough-cookie/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/.travis.yml b/deps/npm/node_modules/tough-cookie/.travis.yml
index 02059d0d51..02059d0d51 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/.travis.yml
+++ b/deps/npm/node_modules/tough-cookie/.travis.yml
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/LICENSE b/deps/npm/node_modules/tough-cookie/LICENSE
index 84e0cad170..84e0cad170 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/LICENSE
+++ b/deps/npm/node_modules/tough-cookie/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/README.md b/deps/npm/node_modules/tough-cookie/README.md
index 419dd48d58..419dd48d58 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/README.md
+++ b/deps/npm/node_modules/tough-cookie/README.md
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js b/deps/npm/node_modules/tough-cookie/generate-pubsuffix.js
index ba054f4cb5..ba054f4cb5 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/generate-pubsuffix.js
+++ b/deps/npm/node_modules/tough-cookie/generate-pubsuffix.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/cookie.js b/deps/npm/node_modules/tough-cookie/lib/cookie.js
index 4f677c3878..4f677c3878 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/cookie.js
+++ b/deps/npm/node_modules/tough-cookie/lib/cookie.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/memstore.js b/deps/npm/node_modules/tough-cookie/lib/memstore.js
index 89ceb69000..89ceb69000 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/memstore.js
+++ b/deps/npm/node_modules/tough-cookie/lib/memstore.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/pathMatch.js b/deps/npm/node_modules/tough-cookie/lib/pathMatch.js
index 7c7a79f1f0..7c7a79f1f0 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/pathMatch.js
+++ b/deps/npm/node_modules/tough-cookie/lib/pathMatch.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/permuteDomain.js b/deps/npm/node_modules/tough-cookie/lib/permuteDomain.js
index 8af841b65e..8af841b65e 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/permuteDomain.js
+++ b/deps/npm/node_modules/tough-cookie/lib/permuteDomain.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js b/deps/npm/node_modules/tough-cookie/lib/pubsuffix.js
index f07aa2bf8e..f07aa2bf8e 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/pubsuffix.js
+++ b/deps/npm/node_modules/tough-cookie/lib/pubsuffix.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/store.js b/deps/npm/node_modules/tough-cookie/lib/store.js
index bce52925db..bce52925db 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/lib/store.js
+++ b/deps/npm/node_modules/tough-cookie/lib/store.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/package.json b/deps/npm/node_modules/tough-cookie/package.json
index 55605b3ee6..f808bccefe 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/package.json
+++ b/deps/npm/node_modules/tough-cookie/package.json
@@ -1,55 +1,72 @@
{
- "author": {
- "name": "Jeremy Stashewsky",
- "email": "jstashewsky@salesforce.com"
+ "_args": [
+ [
+ "tough-cookie@>=0.12.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "tough-cookie@>=0.12.0",
+ "_id": "tough-cookie@2.0.0",
+ "_inCache": true,
+ "_location": "/tough-cookie",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "jstash@gmail.com",
+ "name": "jstash"
},
- "license": "BSD-3-Clause",
- "name": "tough-cookie",
- "description": "RFC6265 Cookies and Cookie Jar for node.js",
- "keywords": [
- "HTTP",
- "cookie",
- "cookies",
- "set-cookie",
- "cookiejar",
- "jar",
- "RFC6265",
- "RFC2965"
+ "_npmVersion": "2.7.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "tough-cookie",
+ "raw": "tough-cookie@>=0.12.0",
+ "rawSpec": ">=0.12.0",
+ "scope": null,
+ "spec": ">=0.12.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
],
- "version": "2.0.0",
- "homepage": "https://github.com/SalesforceEng/tough-cookie",
- "repository": {
- "type": "git",
- "url": "git://github.com/SalesforceEng/tough-cookie.git"
+ "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.0.0.tgz",
+ "_shasum": "41ce08720b35cf90beb044dd2609fb19e928718f",
+ "_shrinkwrap": null,
+ "_spec": "tough-cookie@>=0.12.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "author": {
+ "email": "jstashewsky@salesforce.com",
+ "name": "Jeremy Stashewsky"
},
"bugs": {
"url": "https://github.com/SalesforceEng/tough-cookie/issues"
},
- "main": "./lib/cookie",
- "scripts": {
- "test": "vows test/*_test.js"
- },
- "engines": {
- "node": ">=0.10.0"
- },
+ "dependencies": {},
+ "description": "RFC6265 Cookies and Cookie Jar for node.js",
"devDependencies": {
- "vows": "0.7.0",
- "async": ">=0.1.12"
- },
- "gitHead": "a3af6104da7787c23bb98910109b0e0e8a10153c",
- "_id": "tough-cookie@2.0.0",
- "_shasum": "41ce08720b35cf90beb044dd2609fb19e928718f",
- "_from": "tough-cookie@>=0.12.0",
- "_npmVersion": "2.7.4",
- "_nodeVersion": "0.12.2",
- "_npmUser": {
- "name": "jstash",
- "email": "jstash@gmail.com"
+ "async": ">=0.1.12",
+ "vows": "0.7.0"
},
+ "directories": {},
"dist": {
"shasum": "41ce08720b35cf90beb044dd2609fb19e928718f",
"tarball": "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.0.0.tgz"
},
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "gitHead": "a3af6104da7787c23bb98910109b0e0e8a10153c",
+ "homepage": "https://github.com/SalesforceEng/tough-cookie",
+ "keywords": [
+ "HTTP",
+ "RFC2965",
+ "RFC6265",
+ "cookie",
+ "cookiejar",
+ "cookies",
+ "jar",
+ "set-cookie"
+ ],
+ "license": "BSD-3-Clause",
+ "main": "./lib/cookie",
"maintainers": [
{
"name": "jstash",
@@ -60,7 +77,14 @@
"email": "services@goinstant.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "tough-cookie",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/SalesforceEng/tough-cookie.git"
+ },
+ "scripts": {
+ "test": "vows test/*_test.js"
+ },
+ "version": "2.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/public-suffix.txt b/deps/npm/node_modules/tough-cookie/public-suffix.txt
index d5c9924ed5..d5c9924ed5 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/public-suffix.txt
+++ b/deps/npm/node_modules/tough-cookie/public-suffix.txt
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/api_test.js b/deps/npm/node_modules/tough-cookie/test/api_test.js
index b21326cdf0..b21326cdf0 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/api_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/api_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_jar_test.js b/deps/npm/node_modules/tough-cookie/test/cookie_jar_test.js
index 689407b0b1..689407b0b1 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_jar_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/cookie_jar_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_sorting_test.js b/deps/npm/node_modules/tough-cookie/test/cookie_sorting_test.js
index 826562a2b2..826562a2b2 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_sorting_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/cookie_sorting_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_to_json_test.js b/deps/npm/node_modules/tough-cookie/test/cookie_to_json_test.js
index 94a23d46eb..94a23d46eb 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_to_json_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/cookie_to_json_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_to_string_test.js b/deps/npm/node_modules/tough-cookie/test/cookie_to_string_test.js
index b7ad10da1c..b7ad10da1c 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/cookie_to_string_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/cookie_to_string_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/date_test.js b/deps/npm/node_modules/tough-cookie/test/date_test.js
index afd989c547..afd989c547 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/date_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/date_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/domain_and_path_test.js b/deps/npm/node_modules/tough-cookie/test/domain_and_path_test.js
index 175fa9f70b..175fa9f70b 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/domain_and_path_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/domain_and_path_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/dates/bsd-examples.json b/deps/npm/node_modules/tough-cookie/test/ietf_data/dates/bsd-examples.json
index bc43160da1..bc43160da1 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/dates/bsd-examples.json
+++ b/deps/npm/node_modules/tough-cookie/test/ietf_data/dates/bsd-examples.json
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/dates/examples.json b/deps/npm/node_modules/tough-cookie/test/ietf_data/dates/examples.json
index 61e674d447..61e674d447 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/dates/examples.json
+++ b/deps/npm/node_modules/tough-cookie/test/ietf_data/dates/examples.json
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/parser.json b/deps/npm/node_modules/tough-cookie/test/ietf_data/parser.json
index 783f660bfa..783f660bfa 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_data/parser.json
+++ b/deps/npm/node_modules/tough-cookie/test/ietf_data/parser.json
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_test.js b/deps/npm/node_modules/tough-cookie/test/ietf_test.js
index 8bd41dd654..8bd41dd654 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/ietf_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/ietf_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/jar_serialization_test.js b/deps/npm/node_modules/tough-cookie/test/jar_serialization_test.js
index 277c90c8f4..277c90c8f4 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/jar_serialization_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/jar_serialization_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/lifetime_test.js b/deps/npm/node_modules/tough-cookie/test/lifetime_test.js
index e66a22b266..e66a22b266 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/lifetime_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/lifetime_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/parsing_test.js b/deps/npm/node_modules/tough-cookie/test/parsing_test.js
index cb37c6367a..cb37c6367a 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/parsing_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/parsing_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tough-cookie/test/regression_test.js b/deps/npm/node_modules/tough-cookie/test/regression_test.js
index 4edb609724..4edb609724 100644
--- a/deps/npm/node_modules/request/node_modules/tough-cookie/test/regression_test.js
+++ b/deps/npm/node_modules/tough-cookie/test/regression_test.js
diff --git a/deps/npm/node_modules/request/node_modules/tunnel-agent/LICENSE b/deps/npm/node_modules/tunnel-agent/LICENSE
index a4a9aee0c2..a4a9aee0c2 100644
--- a/deps/npm/node_modules/request/node_modules/tunnel-agent/LICENSE
+++ b/deps/npm/node_modules/tunnel-agent/LICENSE
diff --git a/deps/npm/node_modules/request/node_modules/tunnel-agent/README.md b/deps/npm/node_modules/tunnel-agent/README.md
index bb533d56b1..bb533d56b1 100644
--- a/deps/npm/node_modules/request/node_modules/tunnel-agent/README.md
+++ b/deps/npm/node_modules/tunnel-agent/README.md
diff --git a/deps/npm/node_modules/request/node_modules/tunnel-agent/index.js b/deps/npm/node_modules/tunnel-agent/index.js
index da516ec43f..6a0d9642c9 100644
--- a/deps/npm/node_modules/request/node_modules/tunnel-agent/index.js
+++ b/deps/npm/node_modules/tunnel-agent/index.js
@@ -116,7 +116,7 @@ TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
var placeholder = {}
self.sockets.push(placeholder)
- var connectOptions = mergeOptions({}, self.proxyOptions,
+ var connectOptions = mergeOptions({}, self.proxyOptions,
{ method: 'CONNECT'
, path: options.host + ':' + options.port
, agent: false
@@ -181,7 +181,7 @@ TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
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()
@@ -196,7 +196,7 @@ 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,
+ var secureSocket = tls.connect(0, mergeOptions({}, self.options,
{ servername: options.host
, socket: socket
}
diff --git a/deps/npm/node_modules/request/node_modules/tunnel-agent/package.json b/deps/npm/node_modules/tunnel-agent/package.json
index 77c19da8d3..67f840442a 100644
--- a/deps/npm/node_modules/request/node_modules/tunnel-agent/package.json
+++ b/deps/npm/node_modules/tunnel-agent/package.json
@@ -1,41 +1,59 @@
{
+ "_args": [
+ [
+ "tunnel-agent@~0.4.0",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "tunnel-agent@>=0.4.0 <0.5.0",
+ "_id": "tunnel-agent@0.4.1",
+ "_inCache": true,
+ "_location": "/tunnel-agent",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "simeonvelichkov@gmail.com",
+ "name": "simov"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "tunnel-agent",
+ "raw": "tunnel-agent@~0.4.0",
+ "rawSpec": "~0.4.0",
+ "scope": null,
+ "spec": ">=0.4.0 <0.5.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz",
+ "_shasum": "bbeecff4d679ce753db9462761a88dfcec3c5ab3",
+ "_shrinkwrap": null,
+ "_spec": "tunnel-agent@~0.4.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
"author": {
- "name": "Mikeal Rogers",
"email": "mikeal.rogers@gmail.com",
+ "name": "Mikeal Rogers",
"url": "http://www.futurealoof.com"
},
- "name": "tunnel-agent",
- "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.",
- "version": "0.4.1",
- "repository": {
- "url": "git+https://github.com/mikeal/tunnel-agent.git"
+ "bugs": {
+ "url": "https://github.com/mikeal/tunnel-agent/issues"
},
- "main": "index.js",
"dependencies": {},
+ "description": "HTTP proxy tunneling agent. Formerly part of mikeal/request, now a standalone module.",
"devDependencies": {},
- "optionalDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "bbeecff4d679ce753db9462761a88dfcec3c5ab3",
+ "tarball": "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz"
+ },
"engines": {
"node": "*"
},
"gitHead": "912a7a6d00e10ec76baf9c9369de280fa5badef3",
- "bugs": {
- "url": "https://github.com/mikeal/tunnel-agent/issues"
- },
"homepage": "https://github.com/mikeal/tunnel-agent#readme",
- "_id": "tunnel-agent@0.4.1",
- "scripts": {},
- "_shasum": "bbeecff4d679ce753db9462761a88dfcec3c5ab3",
- "_from": "tunnel-agent@>=0.4.0 <0.5.0",
- "_npmVersion": "2.11.2",
- "_nodeVersion": "0.12.5",
- "_npmUser": {
- "name": "simov",
- "email": "simeonvelichkov@gmail.com"
- },
- "dist": {
- "shasum": "bbeecff4d679ce753db9462761a88dfcec3c5ab3",
- "tarball": "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz"
- },
+ "main": "index.js",
"maintainers": [
{
"name": "mikeal",
@@ -54,7 +72,11 @@
"email": "simeonvelichkov@gmail.com"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "tunnel-agent",
+ "optionalDependencies": {},
+ "repository": {
+ "url": "git+https://github.com/mikeal/tunnel-agent.git"
+ },
+ "scripts": {},
+ "version": "0.4.1"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/.travis.yml b/deps/npm/node_modules/typedarray/.travis.yml
index cc4dba29d9..cc4dba29d9 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/.travis.yml
+++ b/deps/npm/node_modules/typedarray/.travis.yml
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/LICENSE b/deps/npm/node_modules/typedarray/LICENSE
index 11adfaec9e..11adfaec9e 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/LICENSE
+++ b/deps/npm/node_modules/typedarray/LICENSE
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/example/tarray.js b/deps/npm/node_modules/typedarray/example/tarray.js
index 8423d7c9b1..8423d7c9b1 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/example/tarray.js
+++ b/deps/npm/node_modules/typedarray/example/tarray.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/index.js b/deps/npm/node_modules/typedarray/index.js
index 5e540841f4..5e540841f4 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/index.js
+++ b/deps/npm/node_modules/typedarray/index.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json b/deps/npm/node_modules/typedarray/package.json
index b8b59f5c30..3d8667a09c 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json
+++ b/deps/npm/node_modules/typedarray/package.json
@@ -1,17 +1,53 @@
{
- "name": "typedarray",
- "version": "0.0.6",
+ "_args": [
+ [
+ "typedarray@~0.0.5",
+ "/Users/rebecca/code/npm/node_modules/concat-stream"
+ ]
+ ],
+ "_from": "typedarray@>=0.0.5 <0.1.0",
+ "_id": "typedarray@0.0.6",
+ "_inCache": true,
+ "_location": "/typedarray",
+ "_npmUser": {
+ "email": "mail@substack.net",
+ "name": "substack"
+ },
+ "_npmVersion": "1.4.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "typedarray",
+ "raw": "typedarray@~0.0.5",
+ "rawSpec": "~0.0.5",
+ "scope": null,
+ "spec": ">=0.0.5 <0.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/concat-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "_shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
+ "_shrinkwrap": null,
+ "_spec": "typedarray@~0.0.5",
+ "_where": "/Users/rebecca/code/npm/node_modules/concat-stream",
+ "author": {
+ "email": "mail@substack.net",
+ "name": "James Halliday",
+ "url": "http://substack.net"
+ },
+ "bugs": {
+ "url": "https://github.com/substack/typedarray/issues"
+ },
+ "dependencies": {},
"description": "TypedArray polyfill for old browsers",
- "main": "index.js",
"devDependencies": {
"tape": "~2.3.2"
},
- "scripts": {
- "test": "tape test/*.js test/server/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/substack/typedarray.git"
+ "directories": {},
+ "dist": {
+ "shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
+ "tarball": "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
},
"homepage": "https://github.com/substack/typedarray",
"keywords": [
@@ -19,61 +55,49 @@
"DataView",
"Float32Array",
"Float64Array",
- "Int8Array",
"Int16Array",
"Int32Array",
- "Uint8Array",
- "Uint8ClampedArray",
+ "Int8Array",
"Uint16Array",
"Uint32Array",
- "typed",
+ "Uint8Array",
+ "Uint8ClampedArray",
"array",
- "polyfill"
+ "polyfill",
+ "typed"
],
- "author": {
- "name": "James Halliday",
- "email": "mail@substack.net",
- "url": "http://substack.net"
- },
"license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "substack",
+ "email": "mail@substack.net"
+ }
+ ],
+ "name": "typedarray",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/substack/typedarray.git"
+ },
+ "scripts": {
+ "test": "tape test/*.js test/server/*.js"
+ },
"testling": {
- "files": "test/*.js",
"browsers": [
- "ie/6..latest",
- "firefox/16..latest",
- "firefox/nightly",
+ "android-browser/4.2..latest",
"chrome/22..latest",
"chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
+ "firefox/16..latest",
+ "firefox/nightly",
+ "ie/6..latest",
"ipad/6.0..latest",
"iphone/6.0..latest",
- "android-browser/4.2..latest"
- ]
- },
- "bugs": {
- "url": "https://github.com/substack/typedarray/issues"
- },
- "_id": "typedarray@0.0.6",
- "dist": {
- "shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
- "tarball": "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
- },
- "_from": "typedarray@>=0.0.5 <0.1.0",
- "_npmVersion": "1.4.3",
- "_npmUser": {
- "name": "substack",
- "email": "mail@substack.net"
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest"
+ ],
+ "files": "test/*.js"
},
- "maintainers": [
- {
- "name": "substack",
- "email": "mail@substack.net"
- }
- ],
- "directories": {},
- "_shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
- "_resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "readme": "ERROR: No README data found!"
+ "version": "0.0.6"
}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/readme.markdown b/deps/npm/node_modules/typedarray/readme.markdown
index d18f6f7197..d18f6f7197 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/readme.markdown
+++ b/deps/npm/node_modules/typedarray/readme.markdown
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js b/deps/npm/node_modules/typedarray/test/server/undef_globals.js
index 425950f9fc..e57dabdceb 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/server/undef_globals.js
+++ b/deps/npm/node_modules/typedarray/test/server/undef_globals.js
@@ -11,7 +11,7 @@ test('u8a without globals', function (t) {
vm.runInNewContext(src, c);
var TA = c.module.exports;
var ua = new(TA.Uint8Array)(5);
-
+
t.equal(ua.length, 5);
ua[1] = 256 + 55;
t.equal(ua[1], 55);
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/tarray.js b/deps/npm/node_modules/typedarray/test/tarray.js
index df596a34f2..df596a34f2 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/test/tarray.js
+++ b/deps/npm/node_modules/typedarray/test/tarray.js
diff --git a/deps/npm/node_modules/uid-number/package.json b/deps/npm/node_modules/uid-number/package.json
index 8d416235f8..2d1af9ce8d 100644
--- a/deps/npm/node_modules/uid-number/package.json
+++ b/deps/npm/node_modules/uid-number/package.json
@@ -1,49 +1,72 @@
{
+ "_args": [
+ [
+ "uid-number@0.0.6",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "uid-number@0.0.6",
+ "_id": "uid-number@0.0.6",
+ "_inCache": true,
+ "_location": "/uid-number",
+ "_nodeVersion": "0.10.31",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
+ },
+ "_npmVersion": "2.1.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "uid-number",
+ "raw": "uid-number@0.0.6",
+ "rawSpec": "0.0.6",
+ "scope": null,
+ "spec": "0.0.6",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
+ "_shasum": "0ea10e8035e8eb5b8e4449f06da1c730663baa81",
+ "_shrinkwrap": null,
+ "_spec": "uid-number@0.0.6",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "name": "uid-number",
- "description": "Convert a username/group name to a uid/gid number",
- "version": "0.0.6",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/uid-number.git"
+ "bugs": {
+ "url": "https://github.com/isaacs/uid-number/issues"
},
- "main": "uid-number.js",
"dependencies": {},
+ "description": "Convert a username/group name to a uid/gid number",
"devDependencies": {},
- "optionalDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "0ea10e8035e8eb5b8e4449f06da1c730663baa81",
+ "tarball": "http://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
+ },
"engines": {
"node": "*"
},
- "license": "ISC",
"gitHead": "aab48f5d6bda85794946b26d945d2ee452e0e9ab",
- "bugs": {
- "url": "https://github.com/isaacs/uid-number/issues"
- },
"homepage": "https://github.com/isaacs/uid-number",
- "_id": "uid-number@0.0.6",
- "scripts": {},
- "_shasum": "0ea10e8035e8eb5b8e4449f06da1c730663baa81",
- "_from": "uid-number@>=0.0.6 <0.1.0",
- "_npmVersion": "2.1.3",
- "_nodeVersion": "0.10.31",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "license": "ISC",
+ "main": "uid-number.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "0ea10e8035e8eb5b8e4449f06da1c730663baa81",
- "tarball": "http://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
+ "name": "uid-number",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/uid-number.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
+ "scripts": {},
+ "version": "0.0.6"
}
diff --git a/deps/npm/node_modules/umask/package.json b/deps/npm/node_modules/umask/package.json
index ed84e346f1..c0c6fdc114 100644
--- a/deps/npm/node_modules/umask/package.json
+++ b/deps/npm/node_modules/umask/package.json
@@ -1,53 +1,78 @@
{
- "name": "umask",
- "version": "1.1.0",
- "description": "convert umask from string <-> number",
- "main": "index.js",
- "scripts": {
- "test": "lab -ct 100",
- "lint": "jslint --terse --latest *.js test/*.js"
+ "_args": [
+ [
+ "umask@~1.1.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "umask@>=1.1.0 <1.2.0",
+ "_id": "umask@1.1.0",
+ "_inCache": true,
+ "_location": "/umask",
+ "_nodeVersion": "0.10.35",
+ "_npmUser": {
+ "email": "smikes@cubane.com",
+ "name": "smikes"
},
- "repository": {
- "type": "git",
- "url": "https://github.com/smikes/umask.git"
+ "_npmVersion": "2.2.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "umask",
+ "raw": "umask@~1.1.0",
+ "rawSpec": "~1.1.0",
+ "scope": null,
+ "spec": ">=1.1.0 <1.2.0",
+ "type": "range"
},
- "keywords": [
- "umask"
+ "_requiredBy": [
+ "/"
],
+ "_resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz",
+ "_shasum": "f29cebf01df517912bb58ff9c4e50fde8e33320d",
+ "_shrinkwrap": null,
+ "_spec": "umask@~1.1.0",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Sam Mikes",
- "email": "smikes@cubane.com"
+ "email": "smikes@cubane.com",
+ "name": "Sam Mikes"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/smikes/umask/issues"
},
- "homepage": "https://github.com/smikes/umask",
+ "dependencies": {},
+ "description": "convert umask from string <-> number",
"devDependencies": {
"code": "^1.2.1",
"jslint": "^0.7.2",
"lab": "^5.2.0"
},
- "gitHead": "63d821e4d0b06ef9a4b727c5fbe5976e9534d76e",
- "_id": "umask@1.1.0",
- "_shasum": "f29cebf01df517912bb58ff9c4e50fde8e33320d",
- "_from": "umask@>=1.1.0 <1.2.0",
- "_npmVersion": "2.2.0",
- "_nodeVersion": "0.10.35",
- "_npmUser": {
- "name": "smikes",
- "email": "smikes@cubane.com"
+ "directories": {},
+ "dist": {
+ "shasum": "f29cebf01df517912bb58ff9c4e50fde8e33320d",
+ "tarball": "http://registry.npmjs.org/umask/-/umask-1.1.0.tgz"
},
+ "gitHead": "63d821e4d0b06ef9a4b727c5fbe5976e9534d76e",
+ "homepage": "https://github.com/smikes/umask",
+ "keywords": [
+ "umask"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "smikes",
"email": "smikes@cubane.com"
}
],
- "dist": {
- "shasum": "f29cebf01df517912bb58ff9c4e50fde8e33320d",
- "tarball": "http://registry.npmjs.org/umask/-/umask-1.1.0.tgz"
+ "name": "umask",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/smikes/umask.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz"
+ "scripts": {
+ "lint": "jslint --terse --latest *.js test/*.js",
+ "test": "lab -ct 100"
+ },
+ "version": "1.1.0"
}
diff --git a/deps/npm/node_modules/unique-filename/.npmignore b/deps/npm/node_modules/unique-filename/.npmignore
new file mode 100644
index 0000000000..1ab9fa63f5
--- /dev/null
+++ b/deps/npm/node_modules/unique-filename/.npmignore
@@ -0,0 +1,5 @@
+*~
+.#*
+DEADJOE
+
+node_modules
diff --git a/deps/npm/node_modules/unique-filename/README.md b/deps/npm/node_modules/unique-filename/README.md
new file mode 100644
index 0000000000..4b5b241eb9
--- /dev/null
+++ b/deps/npm/node_modules/unique-filename/README.md
@@ -0,0 +1,33 @@
+unique-filename
+===============
+
+Generate a unique filename for use in temporary directories or caches.
+
+```
+var uniqueFilename = require('unique-filename')
+
+// returns something like: /tmp/912ec803b2ce49e4a541068d495ab570
+var randomTmpfile = uniqueFilename(os.tmpdir())
+
+// returns something like: /tmp/my-test-912ec803b2ce49e4a541068d495ab570
+var randomPrefixedTmpfile = uniqueFilename(os.tmpdir(), 'my-test')
+
+var uniqueTmpfile = uniqueFilename('/tmp', 'testing', '/my/thing/to/uniq/on')
+```
+
+### uniqueFilename(*dir*, *fileprefix*, *uniqstr*) → String
+
+Returns the full path of a unique filename that looks like:
+`dir/prefix-912ec803b2ce49e4a541068d495ab570`
+or `dir/912ec803b2ce49e4a541068d495ab570`
+
+*dir* – The path you want the filename in. `os.tmpdir()` is a good choice for this.
+
+*fileprefix* – A string to append prior to the unique part of the filename.
+The parameter is required if *uniqstr* is also passed in but is otherwise
+optional and can be `undefined`/`null`/`''`. If present and not empty
+then this string plus a hyphen are prepended to the unique part.
+
+*uniqstr* – Optional, if not passed the unique part of the resulting
+filename will be random. If passed in it will be generated from this string
+in a reproducable way.
diff --git a/deps/npm/node_modules/unique-filename/index.js b/deps/npm/node_modules/unique-filename/index.js
new file mode 100644
index 0000000000..02bf1e2731
--- /dev/null
+++ b/deps/npm/node_modules/unique-filename/index.js
@@ -0,0 +1,8 @@
+'use strict'
+var path = require('path')
+
+var uniqueSlug = require('unique-slug')
+
+module.exports = function (filepath, prefix, uniq) {
+ return path.join(filepath, (prefix ? prefix + '-' : '') + uniqueSlug(uniq))
+}
diff --git a/deps/npm/node_modules/unique-filename/package.json b/deps/npm/node_modules/unique-filename/package.json
new file mode 100644
index 0000000000..2b3f9a1b6c
--- /dev/null
+++ b/deps/npm/node_modules/unique-filename/package.json
@@ -0,0 +1,76 @@
+{
+ "_args": [
+ [
+ "unique-filename@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "unique-filename@>=1.0.0 <1.1.0",
+ "_id": "unique-filename@1.0.0",
+ "_inCache": true,
+ "_location": "/unique-filename",
+ "_nodeVersion": "1.6.2",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "2.7.6",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "unique-filename",
+ "raw": "unique-filename@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_shasum": "0bee4219e192e86da3c4ffc0cc6e054d8634eab9",
+ "_shrinkwrap": null,
+ "_spec": "unique-filename@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "me@re-becca.org",
+ "name": "Rebecca Turner",
+ "url": "http://re-becca.org/"
+ },
+ "bugs": {
+ "url": "https://github.com/iarna/unique-filename/issues"
+ },
+ "dependencies": {
+ "unique-slug": "^1.0.0"
+ },
+ "description": "Generate a unique filename for use in temporary directories or caches.",
+ "devDependencies": {
+ "standard": "^3.7.3",
+ "tap": "^1.0.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "0bee4219e192e86da3c4ffc0cc6e054d8634eab9",
+ "tarball": "http://registry.npmjs.org/unique-filename/-/unique-filename-1.0.0.tgz"
+ },
+ "gitHead": "935739361f6ecc7b613c5daf66a57b67938796d4",
+ "homepage": "https://github.com/iarna/unique-filename",
+ "keywords": [],
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "unique-filename",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/iarna/unique-filename.git"
+ },
+ "scripts": {
+ "test": "standard && tap test"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/unique-filename/test/index.js b/deps/npm/node_modules/unique-filename/test/index.js
new file mode 100644
index 0000000000..b1a8fee5eb
--- /dev/null
+++ b/deps/npm/node_modules/unique-filename/test/index.js
@@ -0,0 +1,23 @@
+'sue strict'
+var t = require('tap')
+var uniqueFilename = require('../index.js')
+
+t.plan(6)
+
+var randomTmpfile = uniqueFilename('tmp')
+t.like(randomTmpfile, /^tmp.[a-f0-9]{32}$/, 'random tmp file')
+
+var randomAgain = uniqueFilename('tmp')
+t.notEqual(randomAgain, randomTmpfile, 'random tmp files are not the same')
+
+var randomPrefixedTmpfile = uniqueFilename('tmp', 'my-test')
+t.like(randomPrefixedTmpfile, /^tmp.my-test-[a-f0-9]{32}$/, 'random prefixed tmp file')
+
+var randomPrefixedAgain = uniqueFilename('tmp', 'my-test')
+t.notEqual(randomPrefixedAgain, randomPrefixedTmpfile, 'random prefixed tmp files are not the same')
+
+var uniqueTmpfile = uniqueFilename('tmp', 'testing', '/my/thing/to/uniq/on')
+t.like(uniqueTmpfile, /^tmp.testing-dd1ecbb112056bb8a7347e852ce3ddf9$/, 'unique filename')
+
+var uniqueAgain = uniqueFilename('tmp', 'testing', '/my/thing/to/uniq/on')
+t.is(uniqueTmpfile, uniqueAgain, 'same unique string component produces same filename')
diff --git a/deps/npm/node_modules/unique-slug/.npmignore b/deps/npm/node_modules/unique-slug/.npmignore
new file mode 100644
index 0000000000..1ab9fa63f5
--- /dev/null
+++ b/deps/npm/node_modules/unique-slug/.npmignore
@@ -0,0 +1,5 @@
+*~
+.#*
+DEADJOE
+
+node_modules
diff --git a/deps/npm/node_modules/unique-slug/README.md b/deps/npm/node_modules/unique-slug/README.md
new file mode 100644
index 0000000000..617735a986
--- /dev/null
+++ b/deps/npm/node_modules/unique-slug/README.md
@@ -0,0 +1,19 @@
+unique-slug
+===========
+
+Generate a unique character string suitible for use in files and URLs.
+
+```
+var uniqueSlug = require('unique-slug')
+
+var randomSlug = uniqueSlug()
+var fileSlug = uniqueSlug('/etc/passwd')
+```
+
+### uniqueSlug(*str*) → String (32 chars)
+
+If *str* is passed in then the return value will be its md5 digest in
+hex.
+
+If *str* is not passed in, it will be 16 bytes coverted into 32 hex
+characters, generated by `crypto.pseudoRandomBytes`.
diff --git a/deps/npm/node_modules/unique-slug/index.js b/deps/npm/node_modules/unique-slug/index.js
new file mode 100644
index 0000000000..747cf6d06a
--- /dev/null
+++ b/deps/npm/node_modules/unique-slug/index.js
@@ -0,0 +1,15 @@
+'use strict'
+var crypto = require('crypto')
+
+module.exports = function (uniq) {
+ if (uniq) {
+ var hash = crypto.createHash('md5')
+ hash.update(uniq)
+ return hash.digest('hex')
+ } else {
+ // Safe because w/o a callback because this interface can
+ // neither block nor error (by contrast with randomBytes
+ // which will throw an exception without enough entropy)
+ return crypto.pseudoRandomBytes(16).toString('hex')
+ }
+}
diff --git a/deps/npm/node_modules/unique-slug/package.json b/deps/npm/node_modules/unique-slug/package.json
new file mode 100644
index 0000000000..9592334821
--- /dev/null
+++ b/deps/npm/node_modules/unique-slug/package.json
@@ -0,0 +1,74 @@
+{
+ "_args": [
+ [
+ "unique-slug@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/unique-filename"
+ ]
+ ],
+ "_from": "unique-slug@>=1.0.0 <2.0.0",
+ "_id": "unique-slug@1.0.0",
+ "_inCache": true,
+ "_location": "/unique-slug",
+ "_nodeVersion": "1.6.2",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
+ },
+ "_npmVersion": "2.7.6",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "unique-slug",
+ "raw": "unique-slug@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/unique-filename"
+ ],
+ "_shasum": "4459d12416f576cc091a3deb19939ec99c735626",
+ "_shrinkwrap": null,
+ "_spec": "unique-slug@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/unique-filename",
+ "author": {
+ "email": "me@re-becca.org",
+ "name": "Rebecca Turner",
+ "url": "http://re-becca.org"
+ },
+ "bugs": {
+ "url": "https://github.com/iarna/unique-slug/issues"
+ },
+ "dependencies": {},
+ "description": "Generate a unique character string suitible for use in files and URLs.",
+ "devDependencies": {
+ "standard": "^3.7.3",
+ "tap": "^1.0.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "4459d12416f576cc091a3deb19939ec99c735626",
+ "tarball": "http://registry.npmjs.org/unique-slug/-/unique-slug-1.0.0.tgz"
+ },
+ "gitHead": "024b3bd3c0184550702c93f088822e3f38da5c17",
+ "homepage": "https://github.com/iarna/unique-slug",
+ "keywords": [],
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "unique-slug",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/iarna/unique-slug.git"
+ },
+ "scripts": {
+ "test": "standard && tap test"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/unique-slug/test/index.js b/deps/npm/node_modules/unique-slug/test/index.js
new file mode 100644
index 0000000000..6866678ed0
--- /dev/null
+++ b/deps/npm/node_modules/unique-slug/test/index.js
@@ -0,0 +1,13 @@
+'use strict'
+var t = require('tap')
+var uniqueSlug = require('../index.js')
+
+t.plan(5)
+var slugA = uniqueSlug()
+t.is(slugA.length, 32, 'random slugs are 32 chars')
+t.notEqual(slugA, uniqueSlug(), "two slugs aren't the same")
+var base = '/path/to/thingy'
+var slugB = uniqueSlug(base)
+t.is(slugB.length, 32, 'string based slugs are 32 chars')
+t.is(slugB, uniqueSlug(base), 'two string based slugs, from the same string are the same')
+t.notEqual(slugB, uniqueSlug(slugA), 'two string based slongs, from diff strings are different')
diff --git a/deps/npm/node_modules/unpipe/HISTORY.md b/deps/npm/node_modules/unpipe/HISTORY.md
new file mode 100644
index 0000000000..85e0f8d747
--- /dev/null
+++ b/deps/npm/node_modules/unpipe/HISTORY.md
@@ -0,0 +1,4 @@
+1.0.0 / 2015-06-14
+==================
+
+ * Initial release
diff --git a/deps/npm/node_modules/github-url-from-git/LICENSE b/deps/npm/node_modules/unpipe/LICENSE
index b7409302c4..aed0138278 100644
--- a/deps/npm/node_modules/github-url-from-git/LICENSE
+++ b/deps/npm/node_modules/unpipe/LICENSE
@@ -1,6 +1,6 @@
(The MIT License)
-Copyright (c) 2013 TJ Holowaychuk <tj@vision-media.ca>
+Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/deps/npm/node_modules/unpipe/README.md b/deps/npm/node_modules/unpipe/README.md
new file mode 100644
index 0000000000..e536ad2c04
--- /dev/null
+++ b/deps/npm/node_modules/unpipe/README.md
@@ -0,0 +1,43 @@
+# unpipe
+
+[![NPM Version][npm-image]][npm-url]
+[![NPM Downloads][downloads-image]][downloads-url]
+[![Node.js Version][node-image]][node-url]
+[![Build Status][travis-image]][travis-url]
+[![Test Coverage][coveralls-image]][coveralls-url]
+
+Unpipe a stream from all destinations.
+
+## Installation
+
+```sh
+$ npm install unpipe
+```
+
+## API
+
+```js
+var unpipe = require('unpipe')
+```
+
+### unpipe(stream)
+
+Unpipes all destinations from a given stream. With stream 2+, this is
+equivalent to `stream.unpipe()`. When used with streams 1 style streams
+(typically Node.js 0.8 and below), this module attempts to undo the
+actions done in `stream.pipe(dest)`.
+
+## License
+
+[MIT](LICENSE)
+
+[npm-image]: https://img.shields.io/npm/v/unpipe.svg
+[npm-url]: https://npmjs.org/package/unpipe
+[node-image]: https://img.shields.io/node/v/unpipe.svg
+[node-url]: http://nodejs.org/download/
+[travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg
+[travis-url]: https://travis-ci.org/stream-utils/unpipe
+[coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg
+[coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master
+[downloads-image]: https://img.shields.io/npm/dm/unpipe.svg
+[downloads-url]: https://npmjs.org/package/unpipe
diff --git a/deps/npm/node_modules/unpipe/index.js b/deps/npm/node_modules/unpipe/index.js
new file mode 100644
index 0000000000..15c3d97a12
--- /dev/null
+++ b/deps/npm/node_modules/unpipe/index.js
@@ -0,0 +1,69 @@
+/*!
+ * unpipe
+ * Copyright(c) 2015 Douglas Christopher Wilson
+ * MIT Licensed
+ */
+
+'use strict'
+
+/**
+ * Module exports.
+ * @public
+ */
+
+module.exports = unpipe
+
+/**
+ * Determine if there are Node.js pipe-like data listeners.
+ * @private
+ */
+
+function hasPipeDataListeners(stream) {
+ var listeners = stream.listeners('data')
+
+ for (var i = 0; i < listeners.length; i++) {
+ if (listeners[i].name === 'ondata') {
+ return true
+ }
+ }
+
+ return false
+}
+
+/**
+ * Unpipe a stream from all destinations.
+ *
+ * @param {object} stream
+ * @public
+ */
+
+function unpipe(stream) {
+ if (!stream) {
+ throw new TypeError('argument stream is required')
+ }
+
+ if (typeof stream.unpipe === 'function') {
+ // new-style
+ stream.unpipe()
+ return
+ }
+
+ // Node.js 0.8 hack
+ if (!hasPipeDataListeners(stream)) {
+ return
+ }
+
+ var listener
+ var listeners = stream.listeners('close')
+
+ for (var i = 0; i < listeners.length; i++) {
+ listener = listeners[i]
+
+ if (listener.name !== 'cleanup' && listener.name !== 'onclose') {
+ continue
+ }
+
+ // invoke the listener
+ listener.call(stream)
+ }
+}
diff --git a/deps/npm/node_modules/unpipe/package.json b/deps/npm/node_modules/unpipe/package.json
new file mode 100644
index 0000000000..8d270a91e0
--- /dev/null
+++ b/deps/npm/node_modules/unpipe/package.json
@@ -0,0 +1,83 @@
+{
+ "_args": [
+ [
+ "unpipe@~1.0.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "unpipe@>=1.0.0 <1.1.0",
+ "_id": "unpipe@1.0.0",
+ "_inCache": true,
+ "_location": "/unpipe",
+ "_npmUser": {
+ "email": "doug@somethingdoug.com",
+ "name": "dougwilson"
+ },
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "unpipe",
+ "raw": "unpipe@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "_shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec",
+ "_shrinkwrap": null,
+ "_spec": "unpipe@~1.0.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "email": "doug@somethingdoug.com",
+ "name": "Douglas Christopher Wilson"
+ },
+ "bugs": {
+ "url": "https://github.com/stream-utils/unpipe/issues"
+ },
+ "dependencies": {},
+ "description": "Unpipe a stream from all destinations",
+ "devDependencies": {
+ "istanbul": "0.3.15",
+ "mocha": "2.2.5",
+ "readable-stream": "1.1.13"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec",
+ "tarball": "http://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "files": [
+ "HISTORY.md",
+ "LICENSE",
+ "README.md",
+ "index.js"
+ ],
+ "gitHead": "d2df901c06487430e78dca62b6edb8bb2fc5e99d",
+ "homepage": "https://github.com/stream-utils/unpipe",
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "dougwilson",
+ "email": "doug@somethingdoug.com"
+ }
+ ],
+ "name": "unpipe",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/stream-utils/unpipe"
+ },
+ "scripts": {
+ "test": "mocha --reporter spec --bail --check-leaks test/",
+ "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
+ "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/History.md b/deps/npm/node_modules/util-deprecate/History.md
index ec010299b1..ec010299b1 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/History.md
+++ b/deps/npm/node_modules/util-deprecate/History.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/LICENSE b/deps/npm/node_modules/util-deprecate/LICENSE
index 6a60e8c225..6a60e8c225 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/LICENSE
+++ b/deps/npm/node_modules/util-deprecate/LICENSE
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/README.md b/deps/npm/node_modules/util-deprecate/README.md
index 75622fa7c2..75622fa7c2 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/README.md
+++ b/deps/npm/node_modules/util-deprecate/README.md
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/browser.js b/deps/npm/node_modules/util-deprecate/browser.js
index 55fa5a4bc6..55fa5a4bc6 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/browser.js
+++ b/deps/npm/node_modules/util-deprecate/browser.js
diff --git a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/node.js b/deps/npm/node_modules/util-deprecate/node.js
index 5e6fcff5dd..5e6fcff5dd 100644
--- a/deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/node.js
+++ b/deps/npm/node_modules/util-deprecate/node.js
diff --git a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/package.json b/deps/npm/node_modules/util-deprecate/package.json
index ea487da0e4..aa607316f7 100644
--- a/deps/npm/node_modules/sha/node_modules/readable-stream/node_modules/util-deprecate/package.json
+++ b/deps/npm/node_modules/util-deprecate/package.json
@@ -1,53 +1,78 @@
{
- "name": "util-deprecate",
- "version": "1.0.1",
- "description": "The Node.js `util.deprecate()` function with browser support",
- "main": "node.js",
- "browser": "browser.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
+ "_args": [
+ [
+ "util-deprecate@~1.0.1",
+ "/Users/rebecca/code/npm/node_modules/concat-stream/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "util-deprecate@>=1.0.1 <1.1.0",
+ "_id": "util-deprecate@1.0.1",
+ "_inCache": true,
+ "_location": "/util-deprecate",
+ "_npmUser": {
+ "email": "nathan@tootallnate.net",
+ "name": "tootallnate"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/util-deprecate.git"
+ "_npmVersion": "1.4.28",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "util-deprecate",
+ "raw": "util-deprecate@~1.0.1",
+ "rawSpec": "~1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <1.1.0",
+ "type": "range"
},
- "keywords": [
- "util",
- "deprecate",
- "browserify",
- "browser",
- "node"
+ "_requiredBy": [
+ "/concat-stream/readable-stream"
],
+ "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz",
+ "_shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
+ "_shrinkwrap": null,
+ "_spec": "util-deprecate@~1.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/concat-stream/node_modules/readable-stream",
"author": {
- "name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
+ "name": "Nathan Rajlich",
"url": "http://n8.io/"
},
- "license": "MIT",
+ "browser": "browser.js",
"bugs": {
"url": "https://github.com/TooTallNate/util-deprecate/issues"
},
- "homepage": "https://github.com/TooTallNate/util-deprecate",
- "gitHead": "6e923f7d98a0afbe5b9c7db9d0f0029c1936746c",
- "_id": "util-deprecate@1.0.1",
- "_shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
- "_from": "util-deprecate@>=1.0.1 <1.1.0",
- "_npmVersion": "1.4.28",
- "_npmUser": {
- "name": "tootallnate",
- "email": "nathan@tootallnate.net"
+ "dependencies": {},
+ "description": "The Node.js `util.deprecate()` function with browser support",
+ "devDependencies": {},
+ "directories": {},
+ "dist": {
+ "shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
+ "tarball": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
},
+ "gitHead": "6e923f7d98a0afbe5b9c7db9d0f0029c1936746c",
+ "homepage": "https://github.com/TooTallNate/util-deprecate",
+ "keywords": [
+ "browser",
+ "browserify",
+ "deprecate",
+ "node",
+ "util"
+ ],
+ "license": "MIT",
+ "main": "node.js",
"maintainers": [
{
"name": "tootallnate",
"email": "nathan@tootallnate.net"
}
],
- "dist": {
- "shasum": "3556a3d13c4c6aa7983d7e2425478197199b7881",
- "tarball": "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
+ "name": "util-deprecate",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/TooTallNate/util-deprecate.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/read-installed/node_modules/util-extend/README.md b/deps/npm/node_modules/util-extend/README.md
index be03922ab0..be03922ab0 100644
--- a/deps/npm/node_modules/read-installed/node_modules/util-extend/README.md
+++ b/deps/npm/node_modules/util-extend/README.md
diff --git a/deps/npm/node_modules/read-installed/node_modules/util-extend/extend.js b/deps/npm/node_modules/util-extend/extend.js
index de9fcf471a..de9fcf471a 100644
--- a/deps/npm/node_modules/read-installed/node_modules/util-extend/extend.js
+++ b/deps/npm/node_modules/util-extend/extend.js
diff --git a/deps/npm/node_modules/read-installed/node_modules/util-extend/package.json b/deps/npm/node_modules/util-extend/package.json
index 259d6c1049..90d27e158c 100644
--- a/deps/npm/node_modules/read-installed/node_modules/util-extend/package.json
+++ b/deps/npm/node_modules/util-extend/package.json
@@ -1,41 +1,66 @@
{
- "name": "util-extend",
- "version": "1.0.1",
- "description": "Node's internal object extension function",
- "main": "extend.js",
- "scripts": {
- "test": "node test.js"
+ "_args": [
+ [
+ "util-extend@^1.0.1",
+ "/Users/rebecca/code/npm/node_modules/read-installed"
+ ]
+ ],
+ "_from": "util-extend@>=1.0.1 <2.0.0",
+ "_id": "util-extend@1.0.1",
+ "_inCache": true,
+ "_location": "/util-extend",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/util-extend.git"
+ "_npmVersion": "1.3.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "util-extend",
+ "raw": "util-extend@^1.0.1",
+ "rawSpec": "^1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <2.0.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/read-installed"
+ ],
+ "_resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz",
+ "_shasum": "bb703b79480293ddcdcfb3c6a9fea20f483415bc",
+ "_shrinkwrap": null,
+ "_spec": "util-extend@^1.0.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/read-installed",
"author": "",
- "license": "MIT",
- "readmeFilename": "README.md",
- "readme": "# util-extend\n\nThe Node object extending function that Node uses for Node!\n\n## Usage\n\n```js\nvar extend = require('util-extend');\nfunction functionThatTakesOptions(options) {\n var options = extend(defaults, options);\n // now any unset options are set to the defaults.\n}\n```\n",
"bugs": {
"url": "https://github.com/isaacs/util-extend/issues"
},
- "_id": "util-extend@1.0.1",
+ "dependencies": {},
+ "description": "Node's internal object extension function",
+ "devDependencies": {},
+ "directories": {},
"dist": {
"shasum": "bb703b79480293ddcdcfb3c6a9fea20f483415bc",
"tarball": "http://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz"
},
- "_from": "util-extend@>=1.0.1 <2.0.0",
- "_npmVersion": "1.3.4",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
+ "license": "MIT",
+ "main": "extend.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_shasum": "bb703b79480293ddcdcfb3c6a9fea20f483415bc",
- "_resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz",
- "homepage": "https://github.com/isaacs/util-extend#readme"
+ "name": "util-extend",
+ "optionalDependencies": {},
+ "readme": "# util-extend\n\nThe Node object extending function that Node uses for Node!\n\n## Usage\n\n```js\nvar extend = require('util-extend');\nfunction functionThatTakesOptions(options) {\n var options = extend(defaults, options);\n // now any unset options are set to the defaults.\n}\n```\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/util-extend"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/read-installed/node_modules/util-extend/test.js b/deps/npm/node_modules/util-extend/test.js
index fbee2b1e1b..fbee2b1e1b 100644
--- a/deps/npm/node_modules/read-installed/node_modules/util-extend/test.js
+++ b/deps/npm/node_modules/util-extend/test.js
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/LICENSE b/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/LICENSE
deleted file mode 100644
index 68a49daad8..0000000000
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-correct/node_modules/spdx-license-ids/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-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.
-
-For more information, please refer to <http://unlicense.org/>
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/LICENSE b/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/LICENSE
deleted file mode 100644
index 68a49daad8..0000000000
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-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.
-
-For more information, please refer to <http://unlicense.org/>
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/README.md b/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/README.md
deleted file mode 100755
index 92523532b2..0000000000
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/README.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# spdx-license-ids
-
-A list of [SPDX license](https://spdx.org/licenses/) identifiers
-
-[**Download JSON**](https://raw.githubusercontent.com/shinnn/spdx-license-ids/master/spdx-license-ids.json)
-
-## Use as a JavaScript Library
-
-[![NPM version](https://img.shields.io/npm/v/spdx-license-ids.svg)](https://www.npmjs.org/package/spdx-license-ids)
-[![Bower version](https://img.shields.io/bower/v/spdx-license-ids.svg)](https://github.com/shinnn/spdx-license-ids/releases)
-[![Build Status](https://travis-ci.org/shinnn/spdx-license-ids.svg?branch=master)](https://travis-ci.org/shinnn/spdx-license-ids)
-[![Coverage Status](https://img.shields.io/coveralls/shinnn/spdx-license-ids.svg)](https://coveralls.io/r/shinnn/spdx-license-ids)
-[![devDependency Status](https://david-dm.org/shinnn/spdx-license-ids/dev-status.svg)](https://david-dm.org/shinnn/spdx-license-ids#info=devDependencies)
-
-### Installation
-
-#### Package managers
-
-##### [npm](https://www.npmjs.com/)
-
-```sh
-npm install spdx-license-ids
-```
-
-##### [bower](http://bower.io/)
-
-```sh
-bower install spdx-license-ids
-```
-
-##### [Duo](http://duojs.org/)
-
-```javascript
-const spdxLicenseIds = require('shinnn/spdx-license-ids');
-```
-
-#### Standalone
-
-[Download the script file directly.](https://raw.githubusercontent.com/shinnn/spdx-license-ids/master/spdx-license-ids-browser.js)
-
-### API
-
-#### spdxLicenseIds
-
-Type: `Array` of `String`
-
-It returns an array of SPDX license identifiers.
-
-```javascript
-const spdxLicenseIds = require('spdx-license-ids'); //=> ['Glide', 'Abstyles', 'AFL-1.1', ... ]
-```
-
-## License
-
-[The Unlicense](./LICENSE).
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/package.json b/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/package.json
deleted file mode 100644
index 62c5c37ba9..0000000000
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "name": "spdx-license-ids",
- "version": "1.0.2",
- "description": "A list of SPDX license identifiers",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/shinnn/spdx-license-ids.git"
- },
- "author": {
- "name": "Shinnosuke Watanabe",
- "url": "https://github.com/shinnn"
- },
- "scripts": {
- "build": "node --harmony_arrow_functions build.js",
- "lint": "eslint --config node_modules/@shinnn/eslintrc/rc.json --ignore-path .gitignore .",
- "pretest": "${npm_package_scripts_build} && ${npm_package_scripts_lint}",
- "test": "node --harmony_arrow_functions test.js",
- "coverage": "node --harmony_arrow_functions node_modules/.bin/istanbul cover test.js",
- "coveralls": "${npm_package_scripts_coverage} && istanbul-coveralls"
- },
- "license": "Unlicense",
- "main": "spdx-license-ids.json",
- "files": [
- "spdx-license-ids.json"
- ],
- "keywords": [
- "spdx",
- "license",
- "licenses",
- "id",
- "identifier",
- "identifiers",
- "json",
- "array",
- "oss",
- "browser",
- "client-side"
- ],
- "devDependencies": {
- "@shinnn/eslintrc": "^1.0.0",
- "each-async": "^1.1.1",
- "eslint": "^0.24.0",
- "got": "^3.3.0",
- "istanbul": "^0.3.17",
- "istanbul-coveralls": "^1.0.3",
- "require-bower-files": "^2.0.0",
- "rimraf": "^2.4.1",
- "stringify-object": "^2.2.0",
- "tape": "^4.0.0"
- },
- "gitHead": "df183ecdf1738f77b1e8e41f686ee56206a40693",
- "bugs": {
- "url": "https://github.com/shinnn/spdx-license-ids/issues"
- },
- "homepage": "https://github.com/shinnn/spdx-license-ids#readme",
- "_id": "spdx-license-ids@1.0.2",
- "_shasum": "0674e9c9a230f980016b5b073a10aa165701677c",
- "_from": "spdx-license-ids@>=1.0.0 <2.0.0",
- "_npmVersion": "2.12.1",
- "_nodeVersion": "2.3.3",
- "_npmUser": {
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
- },
- "maintainers": [
- {
- "name": "shinnn",
- "email": "snnskwtnb@gmail.com"
- }
- ],
- "dist": {
- "shasum": "0674e9c9a230f980016b5b073a10aa165701677c",
- "tarball": "http://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.2.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.2.tgz"
-}
diff --git a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/spdx-license-ids.json b/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/spdx-license-ids.json
deleted file mode 100644
index 2a4a78f549..0000000000
--- a/deps/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse/node_modules/spdx-license-ids/spdx-license-ids.json
+++ /dev/null
@@ -1,303 +0,0 @@
-[
- "Glide",
- "Abstyles",
- "AFL-1.1",
- "AFL-1.2",
- "AFL-2.0",
- "AFL-2.1",
- "AFL-3.0",
- "AMPAS",
- "APL-1.0",
- "Adobe-Glyph",
- "APAFML",
- "Adobe-2006",
- "AGPL-1.0",
- "Afmparse",
- "Aladdin",
- "ADSL",
- "AMDPLPA",
- "ANTLR-PD",
- "Apache-1.0",
- "Apache-1.1",
- "Apache-2.0",
- "AML",
- "APSL-1.0",
- "APSL-1.1",
- "APSL-1.2",
- "APSL-2.0",
- "Artistic-1.0",
- "Artistic-1.0-Perl",
- "Artistic-1.0-cl8",
- "Artistic-2.0",
- "AAL",
- "Bahyph",
- "Barr",
- "Beerware",
- "BitTorrent-1.0",
- "BitTorrent-1.1",
- "BSL-1.0",
- "Borceux",
- "BSD-2-Clause",
- "BSD-2-Clause-FreeBSD",
- "BSD-2-Clause-NetBSD",
- "BSD-3-Clause",
- "BSD-3-Clause-Clear",
- "BSD-4-Clause",
- "BSD-Protection",
- "BSD-3-Clause-Attribution",
- "BSD-4-Clause-UC",
- "bzip2-1.0.5",
- "bzip2-1.0.6",
- "Caldera",
- "CECILL-1.0",
- "CECILL-1.1",
- "CECILL-2.0",
- "CECILL-B",
- "CECILL-C",
- "ClArtistic",
- "MIT-CMU",
- "CNRI-Jython",
- "CNRI-Python",
- "CNRI-Python-GPL-Compatible",
- "CPOL-1.02",
- "CDDL-1.0",
- "CDDL-1.1",
- "CPAL-1.0",
- "CPL-1.0",
- "CATOSL-1.1",
- "Condor-1.1",
- "CC-BY-1.0",
- "CC-BY-2.0",
- "CC-BY-2.5",
- "CC-BY-3.0",
- "CC-BY-4.0",
- "CC-BY-ND-1.0",
- "CC-BY-ND-2.0",
- "CC-BY-ND-2.5",
- "CC-BY-ND-3.0",
- "CC-BY-ND-4.0",
- "CC-BY-NC-1.0",
- "CC-BY-NC-2.0",
- "CC-BY-NC-2.5",
- "CC-BY-NC-3.0",
- "CC-BY-NC-4.0",
- "CC-BY-NC-ND-1.0",
- "CC-BY-NC-ND-2.0",
- "CC-BY-NC-ND-2.5",
- "CC-BY-NC-ND-3.0",
- "CC-BY-NC-ND-4.0",
- "CC-BY-NC-SA-1.0",
- "CC-BY-NC-SA-2.0",
- "CC-BY-NC-SA-2.5",
- "CC-BY-NC-SA-3.0",
- "CC-BY-NC-SA-4.0",
- "CC-BY-SA-1.0",
- "CC-BY-SA-2.0",
- "CC-BY-SA-2.5",
- "CC-BY-SA-3.0",
- "CC-BY-SA-4.0",
- "CC0-1.0",
- "Crossword",
- "CUA-OPL-1.0",
- "Cube",
- "D-FSL-1.0",
- "diffmark",
- "WTFPL",
- "DOC",
- "Dotseqn",
- "DSDP",
- "dvipdfm",
- "EPL-1.0",
- "ECL-1.0",
- "ECL-2.0",
- "eGenix",
- "EFL-1.0",
- "EFL-2.0",
- "MIT-advertising",
- "MIT-enna",
- "Entessa",
- "ErlPL-1.1",
- "EUDatagrid",
- "EUPL-1.0",
- "EUPL-1.1",
- "Eurosym",
- "Fair",
- "MIT-feh",
- "Frameworx-1.0",
- "FreeImage",
- "FTL",
- "FSFUL",
- "FSFULLR",
- "Giftware",
- "GL2PS",
- "Glulxe",
- "AGPL-3.0",
- "GFDL-1.1",
- "GFDL-1.2",
- "GFDL-1.3",
- "GPL-1.0",
- "GPL-2.0",
- "GPL-3.0",
- "LGPL-2.1",
- "LGPL-3.0",
- "LGPL-2.0",
- "gnuplot",
- "gSOAP-1.3b",
- "HaskellReport",
- "HPND",
- "IBM-pibs",
- "IPL-1.0",
- "ICU",
- "ImageMagick",
- "iMatix",
- "Imlib2",
- "IJG",
- "Intel-ACPI",
- "Intel",
- "IPA",
- "ISC",
- "JasPer-2.0",
- "JSON",
- "LPPL-1.3a",
- "LPPL-1.0",
- "LPPL-1.1",
- "LPPL-1.2",
- "LPPL-1.3c",
- "Latex2e",
- "BSD-3-Clause-LBNL",
- "Leptonica",
- "LGPLLR",
- "Libpng",
- "libtiff",
- "LPL-1.02",
- "LPL-1.0",
- "MakeIndex",
- "MTLL",
- "MS-PL",
- "MS-RL",
- "MirOS",
- "MITNFA",
- "MIT",
- "Motosoto",
- "MPL-1.0",
- "MPL-1.1",
- "MPL-2.0",
- "MPL-2.0-no-copyleft-exception",
- "mpich2",
- "Multics",
- "Mup",
- "NASA-1.3",
- "Naumen",
- "NBPL-1.0",
- "NetCDF",
- "NGPL",
- "NOSL",
- "NPL-1.0",
- "NPL-1.1",
- "Newsletr",
- "NLPL",
- "Nokia",
- "NPOSL-3.0",
- "Noweb",
- "NRL",
- "NTP",
- "Nunit",
- "OCLC-2.0",
- "ODbL-1.0",
- "PDDL-1.0",
- "OGTSL",
- "OLDAP-2.2.2",
- "OLDAP-1.1",
- "OLDAP-1.2",
- "OLDAP-1.3",
- "OLDAP-1.4",
- "OLDAP-2.0",
- "OLDAP-2.0.1",
- "OLDAP-2.1",
- "OLDAP-2.2",
- "OLDAP-2.2.1",
- "OLDAP-2.3",
- "OLDAP-2.4",
- "OLDAP-2.5",
- "OLDAP-2.6",
- "OLDAP-2.7",
- "OLDAP-2.8",
- "OML",
- "OPL-1.0",
- "OSL-1.0",
- "OSL-1.1",
- "OSL-2.0",
- "OSL-2.1",
- "OSL-3.0",
- "OpenSSL",
- "PHP-3.0",
- "PHP-3.01",
- "Plexus",
- "PostgreSQL",
- "psfrag",
- "psutils",
- "Python-2.0",
- "QPL-1.0",
- "Qhull",
- "Rdisc",
- "RPSL-1.0",
- "RPL-1.1",
- "RPL-1.5",
- "RHeCos-1.1",
- "RSCPL",
- "RSA-MD",
- "Ruby",
- "SAX-PD",
- "Saxpath",
- "SCEA",
- "SWL",
- "SGI-B-1.0",
- "SGI-B-1.1",
- "SGI-B-2.0",
- "OFL-1.0",
- "OFL-1.1",
- "SimPL-2.0",
- "Sleepycat",
- "SNIA",
- "Spencer-86",
- "Spencer-94",
- "Spencer-99",
- "SMLNJ",
- "SugarCRM-1.1.3",
- "SISSL",
- "SISSL-1.2",
- "SPL-1.0",
- "Watcom-1.0",
- "TCL",
- "Unlicense",
- "TMate",
- "TORQUE-1.1",
- "TOSL",
- "Unicode-TOU",
- "UPL-1.0",
- "NCSA",
- "Vim",
- "VOSTROM",
- "VSL-1.0",
- "W3C-19980720",
- "W3C",
- "Wsuipa",
- "Xnet",
- "X11",
- "Xerox",
- "XFree86-1.1",
- "xinetd",
- "xpp",
- "XSkat",
- "YPL-1.0",
- "YPL-1.1",
- "Zed",
- "Zend-2.0",
- "Zimbra-1.3",
- "Zimbra-1.4",
- "Zlib",
- "zlib-acknowledgement",
- "ZPL-1.1",
- "ZPL-2.0",
- "ZPL-2.1"
-]
diff --git a/deps/npm/node_modules/validate-npm-package-license/package.json b/deps/npm/node_modules/validate-npm-package-license/package.json
index 00006cc390..94c1433c77 100644
--- a/deps/npm/node_modules/validate-npm-package-license/package.json
+++ b/deps/npm/node_modules/validate-npm-package-license/package.json
@@ -1,20 +1,63 @@
{
- "name": "validate-npm-package-license",
- "description": "Give me a string and I'll tell you if it's a valid npm package license string",
- "version": "3.0.1",
+ "_args": [
+ [
+ "validate-npm-package-license@^3.0.1",
+ "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json"
+ ]
+ ],
+ "_from": "validate-npm-package-license@>=3.0.1 <4.0.0",
+ "_id": "validate-npm-package-license@3.0.1",
+ "_inCache": true,
+ "_location": "/validate-npm-package-license",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "email": "kyle@kemitchell.com",
+ "name": "kemitchell"
+ },
+ "_npmVersion": "2.13.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "validate-npm-package-license",
+ "raw": "validate-npm-package-license@^3.0.1",
+ "rawSpec": "^3.0.1",
+ "scope": null,
+ "spec": ">=3.0.1 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/init-package-json",
+ "/normalize-package-data"
+ ],
+ "_resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
+ "_shasum": "2804babe712ad3379459acfbe24746ab2c303fbc",
+ "_shrinkwrap": null,
+ "_spec": "validate-npm-package-license@^3.0.1",
+ "_where": "/Users/ogd/Documents/projects/npm/npm/node_modules/init-package-json",
"author": {
- "name": "Kyle E. Mitchell",
"email": "kyle@kemitchell.com",
+ "name": "Kyle E. Mitchell",
"url": "https://kemitchell.com"
},
+ "bugs": {
+ "url": "https://github.com/kemitchell/validate-npm-package-license.js/issues"
+ },
"dependencies": {
"spdx-correct": "~1.0.0",
"spdx-expression-parse": "~1.0.0"
},
+ "description": "Give me a string and I'll tell you if it's a valid npm package license string",
"devDependencies": {
"defence-cli": "^1.0.1",
"replace-require-self": "^1.0.0"
},
+ "directories": {},
+ "dist": {
+ "shasum": "2804babe712ad3379459acfbe24746ab2c303fbc",
+ "tarball": "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
+ },
+ "gitHead": "00200d28f9960985f221bc1a8a71e4760daf39bf",
+ "homepage": "https://github.com/kemitchell/validate-npm-package-license.js#readme",
+ "installable": true,
"keywords": [
"license",
"npm",
@@ -22,31 +65,6 @@
"validation"
],
"license": "Apache-2.0",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/kemitchell/validate-npm-package-license.js.git"
- },
- "scripts": {
- "test": "defence README.md | replace-require-self | node"
- },
- "gitHead": "00200d28f9960985f221bc1a8a71e4760daf39bf",
- "bugs": {
- "url": "https://github.com/kemitchell/validate-npm-package-license.js/issues"
- },
- "homepage": "https://github.com/kemitchell/validate-npm-package-license.js#readme",
- "_id": "validate-npm-package-license@3.0.1",
- "_shasum": "2804babe712ad3379459acfbe24746ab2c303fbc",
- "_from": "validate-npm-package-license@3.0.1",
- "_npmVersion": "2.13.5",
- "_nodeVersion": "0.12.7",
- "_npmUser": {
- "name": "kemitchell",
- "email": "kyle@kemitchell.com"
- },
- "dist": {
- "shasum": "2804babe712ad3379459acfbe24746ab2c303fbc",
- "tarball": "http://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
- },
"maintainers": [
{
"name": "kemitchell",
@@ -57,6 +75,16 @@
"email": "ogd@aoaioxxysz.net"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz"
+ "name": "validate-npm-package-license",
+ "optionalDependencies": {},
+ "readme": "validate-npm-package-license\n============================\n\nGive me a string and I'll tell you if it's a valid npm package license string.\n\n```javascript\nvar valid = require('validate-npm-package-license');\n```\n\nSPDX license identifiers are valid license strings:\n\n```javascript\n\nvar assert = require('assert');\nvar validSPDXExpression = {\n validForNewPackages: true,\n validForOldPackages: true,\n spdx: true\n};\n\nassert.deepEqual(valid('MIT'), validSPDXExpression);\nassert.deepEqual(valid('BSD-2-Clause'), validSPDXExpression);\nassert.deepEqual(valid('Apache-2.0'), validSPDXExpression);\nassert.deepEqual(valid('ISC'), validSPDXExpression);\n```\nThe function will return a warning and suggestion for nearly-correct license identifiers:\n\n```javascript\nassert.deepEqual(\n valid('Apache 2.0'),\n {\n validForOldPackages: false,\n validForNewPackages: false,\n warnings: [\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN <filename>\"',\n 'license is similar to the valid expression \"Apache-2.0\"'\n ]\n }\n);\n```\n\nSPDX expressions are valid, too ...\n\n```javascript\n// Simple SPDX license expression for dual licensing\nassert.deepEqual(\n valid('(GPL-3.0 OR BSD-2-Clause)'),\n validSPDXExpression\n);\n```\n\n... except if they contain `LicenseRef`:\n\n```javascript\nvar warningAboutLicenseRef = {\n validForOldPackages: false,\n validForNewPackages: false,\n spdx: true,\n warnings: [\n 'license should be ' +\n 'a valid SPDX license expression (without \"LicenseRef\"), ' +\n '\"UNLICENSED\", or ' +\n '\"SEE LICENSE IN <filename>\"',\n ]\n};\n\nassert.deepEqual(\n valid('LicenseRef-Made-Up'),\n warningAboutLicenseRef\n);\n\nassert.deepEqual(\n valid('(MIT OR LicenseRef-Made-Up)'),\n warningAboutLicenseRef\n);\n```\n\nIf you can't describe your licensing terms with standardized SPDX identifiers, put the terms in a file in the package and point users there:\n\n```javascript\nassert.deepEqual(\n valid('SEE LICENSE IN LICENSE.txt'),\n {\n validForNewPackages: true,\n validForOldPackages: true,\n inFile: 'LICENSE.txt'\n }\n);\n\nassert.deepEqual(\n valid('SEE LICENSE IN license.md'),\n {\n validForNewPackages: true,\n validForOldPackages: true,\n inFile: 'license.md'\n }\n);\n```\n\nIf there aren't any licensing terms, use `UNLICENSED`:\n\n```javascript\nvar unlicensed = {\n validForNewPackages: true,\n validForOldPackages: true,\n unlicensed: true\n};\nassert.deepEqual(valid('UNLICENSED'), unlicensed);\nassert.deepEqual(valid('UNLICENCED'), unlicensed);\n```\n",
+ "readmeFilename": "README.md",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/kemitchell/validate-npm-package-license.js.git"
+ },
+ "scripts": {
+ "test": "defence README.md | replace-require-self | node"
+ },
+ "version": "3.0.1"
}
diff --git a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml
deleted file mode 100644
index cc4dba29d9..0000000000
--- a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
- - "0.8"
- - "0.10"
diff --git a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json b/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json
deleted file mode 100644
index 32b8c35069..0000000000
--- a/deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "builtins",
- "version": "0.0.7",
- "description": "List of node.js builtin modules",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/juliangruber/builtins.git"
- },
- "license": "MIT",
- "main": "builtins.json",
- "publishConfig": {
- "registry": "https://registry.npmjs.org"
- },
- "scripts": {
- "test": "node -e \"require('./builtins.json')\""
- },
- "readme": "\n# builtins\n\n List of node.js [builtin modules](http://nodejs.org/api/).\n\n [![build status](https://secure.travis-ci.org/juliangruber/builtins.svg)](http://travis-ci.org/juliangruber/builtins)\n\n## Example\n\n```js\nvar builtins = require('builtins');\n\nassert(builtins.indexOf('http') > -1);\n```\n\n## License\n\n MIT\n",
- "readmeFilename": "Readme.md",
- "bugs": {
- "url": "https://github.com/juliangruber/builtins/issues"
- },
- "homepage": "https://github.com/juliangruber/builtins",
- "_id": "builtins@0.0.7",
- "_from": "builtins@0.0.7"
-}
diff --git a/deps/npm/node_modules/validate-npm-package-name/package.json b/deps/npm/node_modules/validate-npm-package-name/package.json
index b2a6104af5..63cfacd941 100644
--- a/deps/npm/node_modules/validate-npm-package-name/package.json
+++ b/deps/npm/node_modules/validate-npm-package-name/package.json
@@ -1,42 +1,90 @@
{
- "name": "validate-npm-package-name",
- "version": "2.2.2",
- "description": "Give me a string and I'll tell you if it's a valid npm package name",
- "main": "index.js",
- "directories": {
- "test": "test"
+ "_args": [
+ [
+ "validate-npm-package-name@~2.2.0",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "validate-npm-package-name@>=2.2.0 <2.3.0",
+ "_id": "validate-npm-package-name@2.2.2",
+ "_inCache": true,
+ "_location": "/validate-npm-package-name",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "email": "kat@sykosomatic.org",
+ "name": "zkat"
+ },
+ "_npmVersion": "3.0.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "validate-npm-package-name",
+ "raw": "validate-npm-package-name@~2.2.0",
+ "rawSpec": "~2.2.0",
+ "scope": null,
+ "spec": ">=2.2.0 <2.3.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/init-package-json"
+ ],
+ "_resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz",
+ "_shasum": "f65695b22f7324442019a3c7fa39a6e7fd299085",
+ "_shrinkwrap": null,
+ "_spec": "validate-npm-package-name@~2.2.0",
+ "_where": "/Users/rebecca/code/npm",
+ "author": {
+ "name": "zeke"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/validate-npm-package-name/issues"
},
"dependencies": {
"builtins": "0.0.7"
},
+ "description": "Give me a string and I'll tell you if it's a valid npm package name",
"devDependencies": {
"tap": "^0.4.13"
},
- "scripts": {
- "test": "tap test/*.js"
+ "directories": {
+ "test": "test"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/validate-npm-package-name.git"
+ "dist": {
+ "shasum": "f65695b22f7324442019a3c7fa39a6e7fd299085",
+ "tarball": "http://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz"
},
+ "gitHead": "3af92c881549f1b96f05ab6bfb5768bba94ad72d",
+ "homepage": "https://github.com/npm/validate-npm-package-name",
"keywords": [
+ "names",
"npm",
"package",
- "names",
"validation"
],
- "author": {
- "name": "zeke"
- },
"license": "ISC",
- "bugs": {
- "url": "https://github.com/npm/validate-npm-package-name/issues"
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "zeke",
+ "email": "zeke@sikelianos.com"
+ },
+ {
+ "name": "bcoe",
+ "email": "ben@npmjs.com"
+ },
+ {
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
+ }
+ ],
+ "name": "validate-npm-package-name",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/validate-npm-package-name.git"
},
- "homepage": "https://github.com/npm/validate-npm-package-name",
- "readme": "# validate-npm-package-name\n\nGive me a string and I'll tell you if it's a valid `npm` package name.\n\nThis package exports a single synchronous function that takes a `string` as\ninput and returns an object with two properties:\n\n- `validForNewPackages` :: `Boolean`\n- `validForOldPackages` :: `Boolean`\n\n## Contents\n\n- [Naming rules](#naming-rules)\n- [Examples](#examples)\n + [Valid Names](#valid-names)\n + [Invalid Names](#invalid-names)\n- [Legacy Names](#legacy-names)\n- [Tests](#tests)\n- [License](#license)\n\n## Naming Rules\n\nBelow is a list of rules that valid `npm` package name should conform to.\n\n- package name length should be greater than zero\n- all the characters in the package name must be lowercase i.e., no uppercase or mixed case names are allowed\n- package name *can* consist of hyphens\n- package name must *not* contain any non-url-safe characters (since name ends up being part of a URL)\n- package name should not start with `.` or `_`\n- package name should *not* contain any leading or trailing spaces\n- package name *cannot* be the same as a node.js/io.js core module nor a reserved/blacklisted name. For example, the following names are invalid:\n + http\n + stream\n + node_modules\n + favicon.ico\n- package name length cannot exceed 214\n\n\n## Examples\n\n### Valid Names\n\n```js\nvar validate = require(\"validate-npm-package-name\")\n\nvalidate(\"some-package\")\nvalidate(\"example.com\")\nvalidate(\"under_score\")\nvalidate(\"123numeric\")\nvalidate(\"crazy!\")\nvalidate(\"@npm/thingy\")\nvalidate(\"@jane/foo.js\")\n```\n\nAll of the above names are valid, so you'll get this object back:\n\n```js\n{\n validForNewPackages: true,\n validForOldPackages: true\n}\n```\n\n### Invalid Names\n\n```js\nvalidate(\" leading-space:and:weirdchars\")\n```\n\nThat was never a valid package name, so you get this:\n\n```js\n{\n validForNewPackages: false,\n validForOldPackages: false,\n errors: [\n 'name cannot contain leading or trailing spaces',\n 'name can only contain URL-friendly characters'\n ]\n}\n```\n\n## Legacy Names\n\nIn the old days of npm, package names were wild. They could have capital\nletters in them. They could be really long. They could be the name of an\nexisting module in node core.\n\nIf you give this function a package name that **used to be valid**, you'll see\na change in the value of `validForNewPackages` property, and a warnings array\nwill be present:\n\n```js\nvalidate(\"cRaZY-paCkAgE-with-mixed-case-and-more-than-214-characters-----------------------------------------------------------------------------------------------------------------------------------------------------------\")\n```\n\nreturns:\n\n```js\n{\n validForNewPackages: false,\n validForOldPackages: true,\n warnings: [\n \"name can no longer contain capital letters\",\n \"name can no longer contain more than 214 characters\"\n ]\n}\n```\n\n## Tests\n\n```sh\nnpm install\nnpm test\n```\n\n## License\n\nISC\n",
- "readmeFilename": "README.md",
- "gitHead": "3af92c881549f1b96f05ab6bfb5768bba94ad72d",
- "_id": "validate-npm-package-name@2.2.2",
- "_shasum": "f65695b22f7324442019a3c7fa39a6e7fd299085",
- "_from": "validate-npm-package-name@2.2.2"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "2.2.2"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.npmignore b/deps/npm/node_modules/wcwidth/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/.npmignore
+++ b/deps/npm/node_modules/wcwidth/.npmignore
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/LICENSE b/deps/npm/node_modules/wcwidth/LICENSE
index 313ef1e888..14deaf94b8 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/LICENSE
+++ b/deps/npm/node_modules/wcwidth/LICENSE
@@ -27,4 +27,3 @@ 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/columnify/node_modules/wcwidth/Readme.md b/deps/npm/node_modules/wcwidth/Readme.md
index 0649a31987..0649a31987 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/Readme.md
+++ b/deps/npm/node_modules/wcwidth/Readme.md
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/combining.js b/deps/npm/node_modules/wcwidth/combining.js
index dac9789d35..dac9789d35 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/combining.js
+++ b/deps/npm/node_modules/wcwidth/combining.js
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/docs/index.md b/deps/npm/node_modules/wcwidth/docs/index.md
index 5c5126d032..64c1f3f7cd 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/docs/index.md
+++ b/deps/npm/node_modules/wcwidth/docs/index.md
@@ -60,6 +60,3 @@ for any purpose and without fee is hereby granted. The author
disclaims all warranties with regard to this software.
Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
-
-
-
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/index.js b/deps/npm/node_modules/wcwidth/index.js
index 48cbb6020a..48cbb6020a 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/index.js
+++ b/deps/npm/node_modules/wcwidth/index.js
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/package.json b/deps/npm/node_modules/wcwidth/package.json
index 4744d9dc3f..a950ab260c 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/package.json
+++ b/deps/npm/node_modules/wcwidth/package.json
@@ -1,7 +1,36 @@
{
- "name": "wcwidth",
- "version": "1.0.0",
- "description": "Port of C's wcwidth() and wcswidth()",
+ "_args": [
+ [
+ "wcwidth@^1.0.0",
+ "/Users/rebecca/code/npm/node_modules/columnify"
+ ]
+ ],
+ "_from": "wcwidth@>=1.0.0 <2.0.0",
+ "_id": "wcwidth@1.0.0",
+ "_inCache": true,
+ "_location": "/wcwidth",
+ "_npmUser": {
+ "email": "secoif@gmail.com",
+ "name": "timoxley"
+ },
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "wcwidth",
+ "raw": "wcwidth@^1.0.0",
+ "rawSpec": "^1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/columnify"
+ ],
+ "_resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz",
+ "_shasum": "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f",
+ "_shrinkwrap": null,
+ "_spec": "wcwidth@^1.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/columnify",
"author": {
"name": "Tim Oxley"
},
@@ -12,49 +41,44 @@
"url": "http://code.woong.org/"
}
],
- "main": "index.js",
"dependencies": {
"defaults": "^1.0.0"
},
+ "description": "Port of C's wcwidth() and wcswidth()",
"devDependencies": {
"tape": "^2.13.4"
},
- "license": "MIT",
- "keywords": [
- "wide character",
- "wc",
- "wide character string",
- "wcs",
- "terminal",
- "width",
- "wcwidth",
- "wcswidth"
- ],
"directories": {
"doc": "docs",
"test": "test"
},
- "scripts": {
- "test": "tape test/*.js"
+ "dist": {
+ "shasum": "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f",
+ "tarball": "http://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz"
},
"gitHead": "5bc3aafd45c89f233c27b9479c18a23ca91ba660",
- "_id": "wcwidth@1.0.0",
- "_shasum": "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f",
- "_from": "wcwidth@>=1.0.0 <2.0.0",
- "_npmVersion": "1.4.23",
- "_npmUser": {
- "name": "timoxley",
- "email": "secoif@gmail.com"
- },
+ "keywords": [
+ "terminal",
+ "wc",
+ "wcs",
+ "wcswidth",
+ "wcwidth",
+ "wide character",
+ "wide character string",
+ "width"
+ ],
+ "license": "MIT",
+ "main": "index.js",
"maintainers": [
{
"name": "timoxley",
"email": "secoif@gmail.com"
}
],
- "dist": {
- "shasum": "02d059ff7a8fc741e0f6b5da1e69b2b40daeca6f",
- "tarball": "http://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz"
+ "name": "wcwidth",
+ "optionalDependencies": {},
+ "scripts": {
+ "test": "tape test/*.js"
},
- "_resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz"
+ "version": "1.0.0"
}
diff --git a/deps/npm/node_modules/columnify/node_modules/wcwidth/test/index.js b/deps/npm/node_modules/wcwidth/test/index.js
index 5180599a2f..5180599a2f 100644
--- a/deps/npm/node_modules/columnify/node_modules/wcwidth/test/index.js
+++ b/deps/npm/node_modules/wcwidth/test/index.js
diff --git a/deps/npm/node_modules/which/package.json b/deps/npm/node_modules/which/package.json
index 0213e184e7..af78bbeb38 100644
--- a/deps/npm/node_modules/which/package.json
+++ b/deps/npm/node_modules/which/package.json
@@ -1,57 +1,82 @@
{
+ "_args": [
+ [
+ "which@~1.1.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "which@>=1.1.1 <1.2.0",
+ "_id": "which@1.1.2",
+ "_inCache": true,
+ "_location": "/which",
+ "_nodeVersion": "2.5.0",
+ "_npmUser": {
+ "email": "isaacs@npmjs.com",
+ "name": "isaacs"
+ },
+ "_npmVersion": "3.3.1",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "which",
+ "raw": "which@~1.1.1",
+ "rawSpec": "~1.1.1",
+ "scope": null,
+ "spec": ">=1.1.1 <1.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/",
+ "/node-gyp"
+ ],
+ "_resolved": "https://registry.npmjs.org/which/-/which-1.1.2.tgz",
+ "_shasum": "486c48af6dfecc7a7dcf9c655acf108d2dcbdf3d",
+ "_shrinkwrap": null,
+ "_spec": "which@~1.1.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me"
},
- "name": "which",
- "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.",
- "version": "1.1.2",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-which.git"
- },
- "main": "which.js",
"bin": {
"which": "./bin/which"
},
- "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/isaacs/node-which/issues"
+ },
"dependencies": {
"is-absolute": "^0.1.7"
},
+ "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.",
"devDependencies": {
"mkdirp": "^0.5.0",
"rimraf": "^2.3.3",
"tap": "^1.0.2"
},
- "scripts": {
- "test": "tap test/*.js"
- },
- "gitHead": "e576e42f0c377571884f844eec58b3ca4a331681",
- "bugs": {
- "url": "https://github.com/isaacs/node-which/issues"
- },
- "homepage": "https://github.com/isaacs/node-which#readme",
- "_id": "which@1.1.2",
- "_shasum": "486c48af6dfecc7a7dcf9c655acf108d2dcbdf3d",
- "_from": "which@1.1.2",
- "_npmVersion": "3.3.1",
- "_nodeVersion": "2.5.0",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
+ "directories": {},
"dist": {
"shasum": "486c48af6dfecc7a7dcf9c655acf108d2dcbdf3d",
"tarball": "http://registry.npmjs.org/which/-/which-1.1.2.tgz"
},
+ "gitHead": "e576e42f0c377571884f844eec58b3ca4a331681",
+ "homepage": "https://github.com/isaacs/node-which#readme",
+ "installable": true,
+ "license": "ISC",
+ "main": "which.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/which/-/which-1.1.2.tgz",
- "readme": "ERROR: No README data found!"
+ "name": "which",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/node-which.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.1.2"
}
diff --git a/deps/npm/node_modules/wrappy/package.json b/deps/npm/node_modules/wrappy/package.json
index b88e662832..3c4e03b037 100644
--- a/deps/npm/node_modules/wrappy/package.json
+++ b/deps/npm/node_modules/wrappy/package.json
@@ -1,52 +1,78 @@
{
- "name": "wrappy",
- "version": "1.0.1",
- "description": "Callback wrapping utility",
- "main": "wrappy.js",
- "directories": {
- "test": "test"
- },
- "dependencies": {},
- "devDependencies": {
- "tap": "^0.4.12"
- },
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "wrappy@~1.0.1",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "wrappy@>=1.0.1 <1.1.0",
+ "_id": "wrappy@1.0.1",
+ "_inCache": true,
+ "_location": "/wrappy",
+ "_nodeVersion": "0.10.31",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
},
- "repository": {
- "type": "git",
- "url": "https://github.com/npm/wrappy"
+ "_npmVersion": "2.0.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "wrappy",
+ "raw": "wrappy@~1.0.1",
+ "rawSpec": "~1.0.1",
+ "scope": null,
+ "spec": ">=1.0.1 <1.1.0",
+ "type": "range"
},
+ "_requiredBy": [
+ "/",
+ "/dezalgo",
+ "/inflight",
+ "/once"
+ ],
+ "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz",
+ "_shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
+ "_shrinkwrap": null,
+ "_spec": "wrappy@~1.0.1",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/npm/wrappy/issues"
},
- "homepage": "https://github.com/npm/wrappy",
- "gitHead": "006a8cbac6b99988315834c207896eed71fd069a",
- "_id": "wrappy@1.0.1",
- "_shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
- "_from": "wrappy@1.0.1",
- "_npmVersion": "2.0.0",
- "_nodeVersion": "0.10.31",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
+ "dependencies": {},
+ "description": "Callback wrapping utility",
+ "devDependencies": {
+ "tap": "^0.4.12"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
+ "tarball": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
},
+ "gitHead": "006a8cbac6b99988315834c207896eed71fd069a",
+ "homepage": "https://github.com/npm/wrappy",
+ "license": "ISC",
+ "main": "wrappy.js",
"maintainers": [
{
"name": "isaacs",
"email": "i@izs.me"
}
],
- "dist": {
- "shasum": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739",
- "tarball": "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
+ "name": "wrappy",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/npm/wrappy"
},
- "_resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.0.1"
}
diff --git a/deps/npm/node_modules/write-file-atomic/package.json b/deps/npm/node_modules/write-file-atomic/package.json
index 4fad94d3dd..1dbe79432b 100644
--- a/deps/npm/node_modules/write-file-atomic/package.json
+++ b/deps/npm/node_modules/write-file-atomic/package.json
@@ -1,57 +1,81 @@
{
- "name": "write-file-atomic",
- "version": "1.1.3",
- "description": "Write files in an atomic fashion w/configurable ownership",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_args": [
+ [
+ "write-file-atomic@~1.1.2",
+ "/Users/rebecca/code/npm"
+ ]
+ ],
+ "_from": "write-file-atomic@>=1.1.2 <1.2.0",
+ "_id": "write-file-atomic@1.1.3",
+ "_inCache": true,
+ "_location": "/write-file-atomic",
+ "_nodeVersion": "3.1.0",
+ "_npmUser": {
+ "email": "me@re-becca.org",
+ "name": "iarna"
},
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com/iarna/write-file-atomic.git"
+ "_npmVersion": "3.3.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "write-file-atomic",
+ "raw": "write-file-atomic@~1.1.2",
+ "rawSpec": "~1.1.2",
+ "scope": null,
+ "spec": ">=1.1.2 <1.2.0",
+ "type": "range"
},
- "keywords": [
- "writeFile",
- "atomic"
+ "_requiredBy": [
+ "/"
],
+ "_shasum": "60eaca258a0b559b37aca82b21d64a293b4b90d0",
+ "_shrinkwrap": null,
+ "_spec": "write-file-atomic@~1.1.2",
+ "_where": "/Users/rebecca/code/npm",
"author": {
- "name": "Rebecca Turner",
"email": "me@re-becca.org",
+ "name": "Rebecca Turner",
"url": "http://re-becca.org"
},
- "license": "ISC",
"bugs": {
"url": "https://github.com/iarna/write-file-atomic/issues"
},
- "homepage": "https://github.com/iarna/write-file-atomic",
"dependencies": {
"graceful-fs": "^4.1.2",
"slide": "^1.1.5"
},
+ "description": "Write files in an atomic fashion w/configurable ownership",
"devDependencies": {
"require-inject": "^1.1.0",
"tap": "^0.4.12"
},
- "gitHead": "65a1e2e156c0d0bfb7acac2e039b943d6ec9876d",
- "_id": "write-file-atomic@1.1.3",
- "_shasum": "60eaca258a0b559b37aca82b21d64a293b4b90d0",
- "_from": "write-file-atomic@1.1.3",
- "_npmVersion": "3.3.0",
- "_nodeVersion": "3.1.0",
- "_npmUser": {
- "name": "iarna",
- "email": "me@re-becca.org"
- },
+ "directories": {},
"dist": {
"shasum": "60eaca258a0b559b37aca82b21d64a293b4b90d0",
"tarball": "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.3.tgz"
},
+ "gitHead": "65a1e2e156c0d0bfb7acac2e039b943d6ec9876d",
+ "homepage": "https://github.com/iarna/write-file-atomic",
+ "installable": true,
+ "keywords": [
+ "atomic",
+ "writeFile"
+ ],
+ "license": "ISC",
+ "main": "index.js",
"maintainers": [
{
"name": "iarna",
"email": "me@re-becca.org"
}
],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.3.tgz"
+ "name": "write-file-atomic",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/iarna/write-file-atomic.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "1.1.3"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.npmignore b/deps/npm/node_modules/xtend/.npmignore
index 3c3629e647..3c3629e647 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.npmignore
+++ b/deps/npm/node_modules/xtend/.npmignore
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE b/deps/npm/node_modules/xtend/LICENCE
index 1a14b437e8..1a14b437e8 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE
+++ b/deps/npm/node_modules/xtend/LICENCE
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/Makefile b/deps/npm/node_modules/xtend/Makefile
index d583fcf49d..d583fcf49d 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/Makefile
+++ b/deps/npm/node_modules/xtend/Makefile
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/README.md b/deps/npm/node_modules/xtend/README.md
index 093cb2978e..093cb2978e 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/README.md
+++ b/deps/npm/node_modules/xtend/README.md
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/immutable.js b/deps/npm/node_modules/xtend/immutable.js
index 5b760152b7..5b760152b7 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/immutable.js
+++ b/deps/npm/node_modules/xtend/immutable.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/mutable.js b/deps/npm/node_modules/xtend/mutable.js
index a34475ebdd..a34475ebdd 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/mutable.js
+++ b/deps/npm/node_modules/xtend/mutable.js
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json b/deps/npm/node_modules/xtend/package.json
index 907a720da7..116a2797fc 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/package.json
+++ b/deps/npm/node_modules/xtend/package.json
@@ -1,32 +1,44 @@
{
- "name": "xtend",
- "version": "4.0.0",
- "description": "extend like a boss",
- "keywords": [
- "extend",
- "merge",
- "options",
- "opts",
- "object",
- "array"
+ "_args": [
+ [
+ "xtend@^4.0.0",
+ "/Users/rebecca/code/npm/node_modules/is-my-json-valid"
+ ]
],
- "author": {
- "name": "Raynos",
- "email": "raynos2@gmail.com"
+ "_from": "xtend@>=4.0.0 <5.0.0",
+ "_id": "xtend@4.0.0",
+ "_inCache": true,
+ "_location": "/xtend",
+ "_npmUser": {
+ "email": "raynos2@gmail.com",
+ "name": "raynos"
},
- "repository": {
- "type": "git",
- "url": "git://github.com/Raynos/xtend.git"
+ "_npmVersion": "1.4.15",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "xtend",
+ "raw": "xtend@^4.0.0",
+ "rawSpec": "^4.0.0",
+ "scope": null,
+ "spec": ">=4.0.0 <5.0.0",
+ "type": "range"
},
- "main": "immutable",
- "scripts": {
- "test": "node test"
+ "_requiredBy": [
+ "/is-my-json-valid"
+ ],
+ "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz",
+ "_shasum": "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f",
+ "_shrinkwrap": null,
+ "_spec": "xtend@^4.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/is-my-json-valid",
+ "author": {
+ "email": "raynos2@gmail.com",
+ "name": "Raynos"
},
- "dependencies": {},
- "devDependencies": {
- "tape": "~1.1.0"
+ "bugs": {
+ "email": "raynos2@gmail.com",
+ "url": "https://github.com/Raynos/xtend/issues"
},
- "homepage": "https://github.com/Raynos/xtend",
"contributors": [
{
"name": "Jake Verbaten"
@@ -35,54 +47,65 @@
"name": "Matt Esch"
}
],
- "bugs": {
- "url": "https://github.com/Raynos/xtend/issues",
- "email": "raynos2@gmail.com"
+ "dependencies": {},
+ "description": "extend like a boss",
+ "devDependencies": {
+ "tape": "~1.1.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f",
+ "tarball": "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.4"
},
+ "gitHead": "94a95d76154103290533b2c55ffa0fe4be16bfef",
+ "homepage": "https://github.com/Raynos/xtend",
+ "keywords": [
+ "array",
+ "extend",
+ "merge",
+ "object",
+ "options",
+ "opts"
+ ],
"licenses": [
{
"type": "MIT",
"url": "http://github.com/raynos/xtend/raw/master/LICENSE"
}
],
- "testling": {
- "files": "test.js",
- "browsers": [
- "ie/7..latest",
- "firefox/16..latest",
- "firefox/nightly",
- "chrome/22..latest",
- "chrome/canary",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest"
- ]
- },
- "engines": {
- "node": ">=0.4"
- },
- "gitHead": "94a95d76154103290533b2c55ffa0fe4be16bfef",
- "_id": "xtend@4.0.0",
- "_shasum": "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f",
- "_from": "xtend@>=4.0.0 <5.0.0",
- "_npmVersion": "1.4.15",
- "_npmUser": {
- "name": "raynos",
- "email": "raynos2@gmail.com"
- },
+ "main": "immutable",
"maintainers": [
{
"name": "raynos",
"email": "raynos2@gmail.com"
}
],
- "dist": {
- "shasum": "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f",
- "tarball": "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"
+ "name": "xtend",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/Raynos/xtend.git"
},
- "directories": {},
- "_resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz",
- "readme": "ERROR: No README data found!"
+ "scripts": {
+ "test": "node test"
+ },
+ "testling": {
+ "browsers": [
+ "chrome/22..latest",
+ "chrome/canary",
+ "firefox/16..latest",
+ "firefox/nightly",
+ "ie/7..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest"
+ ],
+ "files": "test.js"
+ },
+ "version": "4.0.0"
}
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/test.js b/deps/npm/node_modules/xtend/test.js
index 3369d79660..3369d79660 100644
--- a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/test.js
+++ b/deps/npm/node_modules/xtend/test.js
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 6d2f755d38..274a9f0cb8 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,11 +1,11 @@
{
- "version": "2.14.7",
+ "version": "3.3.6",
"name": "npm",
"description": "a package manager for JavaScript",
"keywords": [
- "package manager",
- "modules",
"install",
+ "modules",
+ "package manager",
"package.json"
],
"preferGlobal": true,
@@ -22,23 +22,20 @@
"url": "http://github.com/npm/npm/issues"
},
"directories": {
+ "bin": "./bin",
"doc": "./doc",
- "man": "./man",
"lib": "./lib",
- "bin": "./bin"
+ "man": "./man"
},
"main": "./lib/npm.js",
"bin": "./bin/npm-cli.js",
"dependencies": {
"abbrev": "~1.0.7",
- "ansi": "~0.3.0",
"ansicolors": "~0.3.2",
"ansistyles": "~0.1.3",
+ "aproba": "~1.0.1",
"archy": "~1.0.0",
"async-some": "~1.0.2",
- "block-stream": "0.0.8",
- "char-spinner": "~1.0.1",
- "chmodr": "~1.0.1",
"chownr": "~1.0.1",
"cmd-shim": "~2.0.1",
"columnify": "~1.5.2",
@@ -49,25 +46,27 @@
"fs-write-stream-atomic": "~1.0.4",
"fstream": "~1.0.8",
"fstream-npm": "~1.0.5",
- "github-url-from-git": "~1.4.0",
- "github-url-from-username-repo": "~1.0.2",
"glob": "~5.0.15",
"graceful-fs": "~4.1.2",
+ "has-unicode": "~1.0.0",
"hosted-git-info": "~2.1.4",
+ "iferr": "~0.1.5",
"inflight": "~1.0.4",
"inherits": "~2.0.1",
"ini": "~1.3.4",
"init-package-json": "~1.9.1",
"lockfile": "~1.0.1",
- "lru-cache": "~2.7.0",
- "minimatch": "~2.0.10",
+ "lodash.clonedeep": "~3.0.2",
+ "lodash.union": "~3.1.0",
+ "lodash.uniq": "~3.2.2",
+ "lodash.without": "~3.2.1",
"mkdirp": "~0.5.1",
"node-gyp": "~3.0.3",
"nopt": "~3.0.4",
"normalize-git-url": "~3.0.1",
"normalize-package-data": "~2.3.4",
"npm-cache-filename": "~1.0.2",
- "npm-install-checks": "~1.0.6",
+ "npm-install-checks": "~2.0.1",
"npm-package-arg": "~4.0.2",
"npm-registry-client": "~7.0.7",
"npm-user-validate": "~0.1.2",
@@ -75,25 +74,25 @@
"once": "~1.3.2",
"opener": "~1.4.1",
"osenv": "~0.1.3",
- "path-is-inside": "~1.0.0",
+ "path-is-inside": "~1.0.1",
"read": "~1.0.7",
+ "read-cmd-shim": "~1.0.1",
"read-installed": "~4.0.3",
"read-package-json": "~2.0.1",
- "readable-stream": "~1.1.13",
+ "read-package-tree": "~5.1.2",
"realize-package-specifier": "~3.0.1",
- "request": "~2.64.0",
"retry": "~0.8.0",
"rimraf": "~2.4.3",
"semver": "~5.0.3",
"sha": "~2.0.1",
"slide": "~1.1.6",
"sorted-object": "~1.0.0",
- "spdx": "~0.4.1",
"tar": "~2.2.1",
"text-table": "~0.2.0",
"uid-number": "0.0.6",
"umask": "~1.1.0",
- "validate-npm-package-license": "~3.0.1",
+ "unique-filename": "~1.0.0",
+ "unpipe": "~1.0.0",
"validate-npm-package-name": "~2.2.2",
"which": "~1.1.2",
"wrappy": "~1.0.1",
@@ -101,14 +100,11 @@
},
"bundleDependencies": [
"abbrev",
- "ansi",
"ansicolors",
"ansistyles",
+ "aproba",
"archy",
"async-some",
- "block-stream",
- "char-spinner",
- "chmodr",
"chownr",
"cmd-shim",
"columnify",
@@ -119,18 +115,20 @@
"fs-write-stream-atomic",
"fstream",
"fstream-npm",
- "github-url-from-git",
- "github-url-from-username-repo",
"glob",
"graceful-fs",
+ "has-unicode",
"hosted-git-info",
+ "iferr",
"inflight",
"inherits",
"ini",
"init-package-json",
"lockfile",
- "lru-cache",
- "minimatch",
+ "lodash.clonedeep",
+ "lodash.union",
+ "lodash.uniq",
+ "lodash.without",
"mkdirp",
"node-gyp",
"nopt",
@@ -147,23 +145,23 @@
"osenv",
"path-is-inside",
"read",
+ "read-cmd-shim",
"read-installed",
"read-package-json",
- "readable-stream",
+ "read-package-tree",
"realize-package-specifier",
- "request",
"retry",
"rimraf",
"semver",
"sha",
"slide",
"sorted-object",
- "spdx",
"tar",
"text-table",
"uid-number",
"umask",
- "validate-npm-package-license",
+ "unique-filename",
+ "unpipe",
"validate-npm-package-name",
"which",
"wrappy",
@@ -171,22 +169,23 @@
],
"devDependencies": {
"deep-equal": "~1.0.1",
- "marked": "~0.3.3",
+ "estraverse": "~4.1.0",
+ "marked": "~0.3.5",
"marked-man": "~0.1.5",
"nock": "~2.13.0",
- "npm-registry-couchapp": "~2.6.7",
- "npm-registry-mock": "~1.0.0",
- "require-inject": "~1.2.0",
- "sprintf-js": "~1.0.2",
- "tap": "~1.4.1"
+ "npm-registry-couchapp": "~2.6.11",
+ "npm-registry-mock": "~1.0.1",
+ "require-inject": "~1.2.1",
+ "standard": "~4.5.4",
+ "tap": "~2.0.0"
},
"scripts": {
"dumpconf": "env | grep npm | sort | uniq",
- "prepublish": "node bin/npm-cli.js prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc",
+ "prepublish": "bash scripts/installable.sh && node bin/npm-cli.js prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc",
"preversion": "bash scripts/update-authors.sh && git add AUTHORS && git commit -m \"update AUTHORS\" || true",
"tap": "tap --timeout 240",
- "test": "npm run test-tap",
- "test-all": "npm run test-legacy && npm run test-tap",
+ "test": "standard && npm run test-tap",
+ "test-all": "standard && npm run test-legacy && npm run test-tap",
"test-legacy": "node ./test/run.js",
"test-tap": "npm run tap -- \"test/tap/*.js\""
},
diff --git a/deps/npm/scripts/index-build.js b/deps/npm/scripts/index-build.js
index 21297cc93e..8fbbf8595d 100755
--- a/deps/npm/scripts/index-build.js
+++ b/deps/npm/scripts/index-build.js
@@ -1,63 +1,58 @@
#!/usr/bin/env node
-var fs = require("fs")
- , path = require("path")
- , 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
+var fs = require('fs')
+var path = require('path')
+var root = path.resolve(__dirname, '..')
+var glob = require('glob')
+var 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
+ 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 (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(7) -- Index of all npm documentation\n" +
- "==============================================\n")
+ 'npm-index(7) -- Index of all npm documentation\n' +
+ '==============================================\n')
writeLines(files, 0)
- writeLines(files, 1, "Command Line Documentation", "Using npm on the command line")
- writeLines(files, 3, "API Documentation", "Using npm in your Node programs")
- writeLines(files, 5, "Files", "File system structures npm uses")
- writeLines(files, 7, "Misc", "Various other bits and bobs")
+ writeLines(files, 1, 'Command Line Documentation', 'Using npm on the command line')
+ writeLines(files, 3, 'API Documentation', 'Using npm in your Node programs')
+ writeLines(files, 5, 'Files', 'File system structures npm uses')
+ writeLines(files, 7, 'Misc', 'Various other bits and bobs')
}
function writeLines (files, sxn, heading, desc) {
if (heading) {
- console.log("## %s\n\n%s\n", heading, desc)
+ console.log('## %s\n\n%s\n', heading, desc)
}
files.filter(function (f) {
return f[0] === sxn
}).forEach(writeLine)
}
-
function writeLine (sd) {
var sxn = sd[0] || 1
- , doc = sd[1]
- , d = path.basename(doc, ".md")
+ var doc = sd[1]
+ var d = path.basename(doc, '.md')
- var content = fs.readFileSync(doc, "utf8").split("\n")[0].split("-- ")[1]
+ var content = fs.readFileSync(doc, 'utf8').split('\n')[0].split('-- ')[1]
- console.log("### %s(%d)\n", d, sxn)
- console.log(content + "\n")
+ console.log('### %s(%d)\n', d, sxn)
+ console.log(content + '\n')
}
diff --git a/deps/npm/scripts/installable.sh b/deps/npm/scripts/installable.sh
new file mode 100644
index 0000000000..1d5a90c290
--- /dev/null
+++ b/deps/npm/scripts/installable.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+npmver=$(perl -E "say q{$npm_config_user_agent} =~ m{/(\S+)}")
+
+if semver -r ^3.0.0-0 $npmver > /dev/null; then
+ echo "Packaging with $npmver"
+else
+ echo "Packaging or installing npm@$npm_package_version with npm@$npmver is impossible." 1>&2
+ echo "Please install npm@^3.0.0-0 from the registry and use that or run your command with" 1>&2
+ echo "this version of npm with:" 1>&2
+ npmargs=$(node -e "a=$npm_config_argv; console.log(a.original.join(' '))")
+ echo " $npm_node_execpath $PWD $npmargs" 1>&2
+ exit 1
+fi
diff --git a/deps/npm/scripts/publish-tag.js b/deps/npm/scripts/publish-tag.js
index 046ec98881..d0c04556e1 100644
--- a/deps/npm/scripts/publish-tag.js
+++ b/deps/npm/scripts/publish-tag.js
@@ -1,3 +1,3 @@
-var semver = require("semver")
-var version = semver.parse(require("../package.json").version)
+var semver = require('semver')
+var version = semver.parse(require('../package.json').version)
console.log('v%s.%s-next', version.major, version.minor)
diff --git a/deps/npm/test/common.js b/deps/npm/test/common.js
deleted file mode 100644
index 2755056b1b..0000000000
--- a/deps/npm/test/common.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-// whatever, it's just tests.
-;["util","assert"].forEach(function (thing) {
- thing = require("thing")
- for (var i in thing) global[i] = thing[i]
-}
-
diff --git a/deps/npm/test/disabled/package-config/test.js b/deps/npm/test/disabled/package-config/test.js
index 7337b237b5..386891d312 100755
--- a/deps/npm/test/disabled/package-config/test.js
+++ b/deps/npm/test/disabled/package-config/test.js
@@ -1,17 +1,20 @@
#!/usr/bin/env node
var env = process.env
- , orig = require(process.env.npm_package_name+"/package.json").config
- , assert = require("assert")
+var orig = require(process.env.npm_package_name + '/package.json').config
+var assert = require('assert')
-console.log("Before running this test, do:\n"
- +" npm config set package-config:foo boo\n"
- +"or else it's about to fail.")
-assert.equal(env.npm_package_config_foo, "boo", "foo != boo")
-assert.equal(orig.foo, "bar", "original foo != bar")
-assert.equal(env["npm_config_package-config:foo"], "boo",
- "package-config:foo != boo")
-console.log({ foo: env.npm_package_config_foo
- , orig_foo: orig.foo
- , "package-config:foo": env["npm_config_package-config:foo"]
- })
+console.log(
+ 'Before running this test, do:\n' +
+ ' npm config set package-config:foo boo\n' +
+ "or else it's about to fail."
+)
+assert.equal(env.npm_package_config_foo, 'boo', 'foo != boo')
+assert.equal(orig.foo, 'bar', 'original foo != bar')
+assert.equal(env['npm_config_package-config:foo'], 'boo',
+ 'package-config:foo != boo')
+console.log({
+ foo: env.npm_package_config_foo,
+ orig_foo: orig.foo,
+ 'package-config:foo': env['npm_config_package-config:foo']
+})
diff --git a/deps/npm/test/fixtures/config/userconfig-with-gc b/deps/npm/test/fixtures/config/userconfig-with-gc
index 62ad80be11..ad4dd54c1e 100644
--- a/deps/npm/test/fixtures/config/userconfig-with-gc
+++ b/deps/npm/test/fixtures/config/userconfig-with-gc
@@ -1,22 +1,24 @@
-globalconfig=/Users/zkat/Documents/code/npm/test/fixtures/config/globalconfig
-email=i@izs.me
-env-thing=asdf
-init.author.name=Isaac Z. Schlueter
-init.author.email=i@izs.me
-init.author.url=http://blog.izs.me/
-init.version=1.2.3
-proprietary-attribs=false
-npm:publishtest=true
-_npmjs.org:couch=https://admin:password@localhost:5984/registry
-npm-www:nocache=1
-sign-git-tag=false
-message=v%s
-strict-ssl=false
-_auth="dXNlcm5hbWU6cGFzc3dvcmQ="
+globalconfig = /Users/rebecca/code/release/npm-3/test/fixtures/config/globalconfig
+email = i@izs.me
+env-thing = ${random_env_var}
+init.author.name = Isaac Z. Schlueter
+init.author.email = i@izs.me
+init.author.url = http://blog.izs.me/
+init.version = 1.2.3
+proprietary-attribs = false
+npm:publishtest = true
+_npmjs.org:couch = https://admin:password@localhost:5984/registry
+npm-www:nocache = 1
+nodedir = /Users/isaacs/dev/js/node-v0.8
+sign-git-tag = true
+message = v%s
+strict-ssl = false
+tmp = ~/.tmp
+_auth = dXNlcm5hbWU6cGFzc3dvcmQ=
[_token]
-AuthSession=yabba-dabba-doodle
-version=1
-expires=1345001053415
-path=/
-httponly=true
+AuthSession = yabba-dabba-doodle
+version = 1
+expires = 1345001053415
+path = /
+httponly = true
diff --git a/deps/npm/test/packages/npm-test-blerg/test.js b/deps/npm/test/packages/npm-test-blerg/test.js
index f548458ac0..cc8d2da546 100644
--- a/deps/npm/test/packages/npm-test-blerg/test.js
+++ b/deps/npm/test/packages/npm-test-blerg/test.js
@@ -1,5 +1,4 @@
-
-var assert = require("assert")
-assert.equal(undefined, process.env.npm_config__password, "password exposed!")
-assert.equal(undefined, process.env.npm_config__auth, "auth exposed!")
-assert.equal(undefined, process.env.npm_config__authCrypt, "authCrypt exposed!")
+var assert = require('assert')
+assert.equal(undefined, process.env.npm_config__password, 'password exposed!')
+assert.equal(undefined, process.env.npm_config__auth, 'auth exposed!')
+assert.equal(undefined, process.env.npm_config__authCrypt, 'authCrypt exposed!')
diff --git a/deps/npm/test/packages/npm-test-blerg3/test.js b/deps/npm/test/packages/npm-test-blerg3/test.js
index f548458ac0..cc8d2da546 100644
--- a/deps/npm/test/packages/npm-test-blerg3/test.js
+++ b/deps/npm/test/packages/npm-test-blerg3/test.js
@@ -1,5 +1,4 @@
-
-var assert = require("assert")
-assert.equal(undefined, process.env.npm_config__password, "password exposed!")
-assert.equal(undefined, process.env.npm_config__auth, "auth exposed!")
-assert.equal(undefined, process.env.npm_config__authCrypt, "authCrypt exposed!")
+var assert = require('assert')
+assert.equal(undefined, process.env.npm_config__password, 'password exposed!')
+assert.equal(undefined, process.env.npm_config__auth, 'auth exposed!')
+assert.equal(undefined, process.env.npm_config__authCrypt, 'authCrypt exposed!')
diff --git a/deps/npm/test/packages/npm-test-bundled-git/test.js b/deps/npm/test/packages/npm-test-bundled-git/test.js
index 4fcc54cafe..793cc55a88 100644
--- a/deps/npm/test/packages/npm-test-bundled-git/test.js
+++ b/deps/npm/test/packages/npm-test-bundled-git/test.js
@@ -1,4 +1,4 @@
-var a = require("./node_modules/glob/node_modules/minimatch/package.json")
-var e = require("./minimatch-expected.json")
-var assert = require("assert")
+var a = require('./node_modules/glob/node_modules/minimatch/package.json')
+var e = require('./minimatch-expected.json')
+var assert = require('assert')
assert.deepEqual(a, e, "didn't get expected minimatch/package.json")
diff --git a/deps/npm/test/packages/npm-test-ignore-nested-nm/test.js b/deps/npm/test/packages/npm-test-ignore-nested-nm/test.js
index 308c66b500..18a0f0b56b 100644
--- a/deps/npm/test/packages/npm-test-ignore-nested-nm/test.js
+++ b/deps/npm/test/packages/npm-test-ignore-nested-nm/test.js
@@ -1,2 +1,2 @@
-fs = require('fs')
+var fs = require('fs')
fs.statSync(__dirname + '/lib/node_modules/foo')
diff --git a/deps/npm/test/packages/npm-test-missing-bindir/test.js b/deps/npm/test/packages/npm-test-missing-bindir/test.js
index f548458ac0..cc8d2da546 100644
--- a/deps/npm/test/packages/npm-test-missing-bindir/test.js
+++ b/deps/npm/test/packages/npm-test-missing-bindir/test.js
@@ -1,5 +1,4 @@
-
-var assert = require("assert")
-assert.equal(undefined, process.env.npm_config__password, "password exposed!")
-assert.equal(undefined, process.env.npm_config__auth, "auth exposed!")
-assert.equal(undefined, process.env.npm_config__authCrypt, "authCrypt exposed!")
+var assert = require('assert')
+assert.equal(undefined, process.env.npm_config__password, 'password exposed!')
+assert.equal(undefined, process.env.npm_config__auth, 'auth exposed!')
+assert.equal(undefined, process.env.npm_config__authCrypt, 'authCrypt exposed!')
diff --git a/deps/npm/test/packages/npm-test-optional-deps/test.js b/deps/npm/test/packages/npm-test-optional-deps/test.js
index 2232906d64..b9dc2c79bb 100644
--- a/deps/npm/test/packages/npm-test-optional-deps/test.js
+++ b/deps/npm/test/packages/npm-test-optional-deps/test.js
@@ -1,9 +1,9 @@
-var fs = require("fs")
-var assert = require("assert")
-var path = require("path")
+var fs = require('fs')
+var assert = require('assert')
+var path = require('path')
// sax should be the only dep that ends up installed
-var dir = path.resolve(__dirname, "node_modules")
-assert.deepEqual(fs.readdirSync(dir), ["sax"])
-assert.equal(require("sax/package.json").version, "0.3.5")
+var dir = path.resolve(__dirname, 'node_modules')
+assert.deepEqual(fs.readdirSync(dir), ['sax'])
+assert.equal(require('sax/package.json').version, '0.3.5')
diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json b/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json
index 09a034141f..4f8b22d055 100644
--- a/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json
+++ b/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json
@@ -2,22 +2,11 @@
"name": "npm-test-shrinkwrap",
"version": "0.0.0",
"dependencies": {
- "npm-test-single-file": {
- "version": "1.2.3",
- "resolved": "https://gist.github.com/isaacs/1837112/raw/9ef57a59fc22aeb1d1ca346b68826dcb638b8416/index.js"
- },
"glob": {
"version": "3.1.5",
+ "from": "git://github.com/isaacs/node-glob.git#npm-test",
"resolved": "git://github.com/isaacs/node-glob.git#67bda227fd7a559cca5620307c7d30a6732a792f",
"dependencies": {
- "minimatch": {
- "version": "0.2.1",
- "dependencies": {
- "lru-cache": {
- "version": "1.0.5"
- }
- }
- },
"graceful-fs": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.5.tgz",
@@ -31,6 +20,14 @@
"inherits": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz"
+ },
+ "minimatch": {
+ "version": "0.2.1",
+ "dependencies": {
+ "lru-cache": {
+ "version": "1.0.5"
+ }
+ }
}
}
},
@@ -43,6 +40,10 @@
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-1.0.5.tgz"
}
}
+ },
+ "npm-test-single-file": {
+ "version": "1.2.3",
+ "resolved": "https://gist.github.com/isaacs/1837112/raw/9ef57a59fc22aeb1d1ca346b68826dcb638b8416/index.js"
}
}
}
diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/test.js b/deps/npm/test/packages/npm-test-shrinkwrap/test.js
index fba90ec651..34638c2ce5 100644
--- a/deps/npm/test/packages/npm-test-shrinkwrap/test.js
+++ b/deps/npm/test/packages/npm-test-shrinkwrap/test.js
@@ -1,5 +1,4 @@
-var path = require("path")
-var assert = require("assert")
+var assert = require('assert')
process.env.npm_config_prefix = process.cwd()
delete process.env.npm_config_global
@@ -7,13 +6,13 @@ delete process.env.npm_config_depth
var npm = process.env.npm_execpath
-require("child_process").execFile(process.execPath, [npm, "ls", "--json"], {
- stdio: "pipe", env: process.env, cwd: process.cwd() },
+require('child_process').execFile(process.execPath, [npm, 'ls', '--json'], {
+ stdio: 'pipe', env: process.env, cwd: process.cwd() },
function (err, stdout, stderr) {
if (err) throw err
var actual = JSON.parse(stdout)
- var expected = require("./npm-shrinkwrap.json")
+ var expected = require('./npm-shrinkwrap.json')
rmFrom(actual)
actual = actual.dependencies
rmFrom(expected)
@@ -26,10 +25,12 @@ require("child_process").execFile(process.execPath, [npm, "ls", "--json"], {
function rmFrom (obj) {
for (var i in obj) {
- if (i === "from")
+ if (i === 'from') {
delete obj[i]
- else if (i === "dependencies")
- for (var j in obj[i])
+ } else if (i === 'dependencies') {
+ for (var j in obj[i]) {
rmFrom(obj[i][j])
+ }
+ }
}
}
diff --git a/deps/npm/test/run.js b/deps/npm/test/run.js
index 5b33e68ab4..c9eb975690 100644
--- a/deps/npm/test/run.js
+++ b/deps/npm/test/run.js
@@ -1,35 +1,35 @@
// Everything in this file uses child processes, because we're
// testing a command line utility.
-var chain = require("slide").chain
-var child_process = require("child_process")
-var path = require("path")
- , testdir = __dirname
- , fs = require("graceful-fs")
- , npmpkg = path.dirname(testdir)
- , npmcli = path.resolve(npmpkg, "bin", "npm-cli.js")
-
-var temp = process.env.TMPDIR
- || process.env.TMP
- || process.env.TEMP
- || ( process.platform === "win32"
- ? "c:\\windows\\temp"
- : "/tmp" )
-
-temp = path.resolve(temp, "npm-test-" + process.pid)
-
-var root = path.resolve(temp, "root")
- , cache = path.resolve(temp, "npm_cache")
+var chain = require('slide').chain
+var child_process = require('child_process')
+var path = require('path')
+var testdir = __dirname
+var fs = require('graceful-fs')
+var npmpkg = path.dirname(testdir)
+var npmcli = path.resolve(npmpkg, 'bin', 'npm-cli.js')
+
+var temp = process.env.TMPDIR ||
+ process.env.TMP ||
+ process.env.TEMP ||
+ (process.platform === 'win32' ?
+ 'c:\\windows\\temp' :
+ '/tmp')
+
+temp = path.resolve(temp, 'npm-test-' + process.pid)
+
+var root = path.resolve(temp, 'root')
+var cache = path.resolve(temp, 'npm_cache')
var failures = 0
- , mkdir = require("mkdirp")
- , rimraf = require("rimraf")
+var mkdir = require('mkdirp')
+var rimraf = require('rimraf')
-var pathEnvSplit = process.platform === "win32" ? ";" : ":"
- , pathEnv = process.env.PATH.split(pathEnvSplit)
- , npmPath = process.platform === "win32" ? root : path.join(root, "bin")
+var pathEnvSplit = process.platform === 'win32' ? ';' : ':'
+var pathEnv = process.env.PATH.split(pathEnvSplit)
+var npmPath = process.platform === 'win32' ? root : path.join(root, 'bin')
-pathEnv.unshift(npmPath, path.join(root, "node_modules", ".bin"))
+pathEnv.unshift(npmPath, path.join(root, 'node_modules', '.bin'))
// lastly, make sure that we get the same node that is being used to do
// run this script. That's very important, especially when running this
@@ -42,66 +42,65 @@ Object.keys(process.env).forEach(function (i) {
env[i] = process.env[i]
})
env.npm_config_prefix = root
-env.npm_config_color = "always"
-env.npm_config_global = "true"
+env.npm_config_color = 'always'
+env.npm_config_global = 'true'
// have to set this to false, or it'll try to test itself forever
-env.npm_config_npat = "false"
+env.npm_config_npat = 'false'
env.PATH = pathEnv.join(pathEnvSplit)
-env.NODE_PATH = path.join(root, "node_modules")
+env.NODE_PATH = path.join(root, 'node_modules')
env.npm_config_cache = cache
-
-
function cleanup (cb) {
if (failures !== 0) return
rimraf(root, function (er) {
if (er) cb(er)
- mkdir(root, 0755, cb)
+ mkdir(root, parseInt('0755', 8), cb)
})
}
function prefix (content, pref) {
- return pref + (content.trim().split(/\r?\n/).join("\n" + pref))
+ return pref + (content.trim().split(/\r?\n/).join('\n' + pref))
}
var execCount = 0
function exec (cmd, cwd, shouldFail, cb) {
- if (typeof shouldFail === "function") {
- cb = shouldFail, shouldFail = false
+ if (typeof shouldFail === 'function') {
+ cb = shouldFail
+ shouldFail = false
}
- console.error("\n+"+cmd + (shouldFail ? " (expect failure)" : ""))
+ console.error('\n+' + cmd + (shouldFail ? ' (expect failure)' : ''))
// special: replace 'node' with the current execPath,
// and 'npm' with the thing we installed.
var cmdShow = cmd
- var npmReplace = path.resolve(npmPath, "npm")
+ var npmReplace = path.resolve(npmPath, 'npm')
var nodeReplace = process.execPath
- if (process.platform === "win32") {
+ if (process.platform === 'win32') {
npmReplace = '"' + npmReplace + '"'
nodeReplace = '"' + nodeReplace + '"'
}
- cmd = cmd.replace(/^npm /, npmReplace + " ")
- cmd = cmd.replace(/^node /, nodeReplace + " ")
+ cmd = cmd.replace(/^npm /, npmReplace + ' ')
+ cmd = cmd.replace(/^node /, nodeReplace + ' ')
- console.error("$$$$$$ cd %s; PATH=%s %s", cwd, env.PATH, cmd)
+ console.error('$$$$$$ cd %s; PATH=%s %s', cwd, env.PATH, cmd)
child_process.exec(cmd, {cwd: cwd, env: env}, function (er, stdout, stderr) {
- console.error("$$$$$$ after command", cmd, cwd)
+ console.error('$$$$$$ after command', cmd, cwd)
if (stdout) {
- console.error(prefix(stdout, " 1> "))
+ console.error(prefix(stdout, ' 1> '))
}
if (stderr) {
- console.error(prefix(stderr, " 2> "))
+ console.error(prefix(stderr, ' 2> '))
}
- execCount ++
+ execCount++
if (!shouldFail && !er || shouldFail && er) {
- // stdout = (""+stdout).trim()
- console.log("ok " + execCount + " " + cmdShow)
+ // stdout = (''+stdout).trim()
+ console.log('ok ' + execCount + ' ' + cmdShow)
return cb()
} else {
- console.log("not ok " + execCount + " " + cmdShow)
- cb(new Error("failed "+cmdShow))
+ console.log('not ok ' + execCount + ' ' + cmdShow)
+ cb(new Error('failed ' + cmdShow))
}
})
}
@@ -121,23 +120,21 @@ function flatten (arr) {
function setup (cb) {
cleanup(function (er) {
if (er) return cb(er)
- exec("node \""+npmcli+"\" install \""+npmpkg+"\"", root, false, cb)
+ exec('node \'' + npmcli + '\' install \'' + npmpkg + '\'', root, false, cb)
})
}
function main (cb) {
- console.log("# testing in %s", temp)
- console.log("# global prefix = %s", root)
-
-
+ console.log('# testing in %s', temp)
+ console.log('# global prefix = %s', root)
failures = 0
process.chdir(testdir)
- var base = path.resolve(root, path.join("lib", "node_modules"))
+ var base = path.resolve(root, path.join('lib', 'node_modules'))
// get the list of packages
- var packages = fs.readdirSync(path.resolve(testdir, "packages"))
+ var packages = fs.readdirSync(path.resolve(testdir, 'packages'))
packages = packages.filter(function (p) {
return p && !p.match(/^\./)
})
@@ -146,41 +143,44 @@ function main (cb) {
function installAllThenTestAll () {
var packagesToRm = packages.slice(0)
- if (process.platform !== "win32") {
+ if (process.platform !== 'win32') {
// Windows can't handle npm rm npm due to file-in-use issues.
- packagesToRm.push("npm")
+ packagesToRm.push('npm')
}
chain(
- [ setup
- , [ exec, "npm install "+npmpkg, testdir ]
- , [ execChain, packages.map(function (p) {
- return [ "npm install packages/"+p, testdir ]
- }) ]
- , [ execChain, packages.map(function (p) {
- return [ "npm test -ddd", path.resolve(base, p) ]
- }) ]
- , [ execChain, packagesToRm.map(function (p) {
- return [ "npm rm "+p, root ]
- }) ]
- , installAndTestEach
- ]
- , cb
- )
+ [
+ setup,
+ [exec, 'npm install ' + npmpkg, testdir],
+ [execChain, packages.map(function (p) {
+ return [ 'npm install packages/' + p, testdir ]
+ })],
+ [execChain, packages.map(function (p) {
+ return [ 'npm test -ddd', path.resolve(base, p) ]
+ })],
+ [execChain, packagesToRm.map(function (p) {
+ return [ 'npm rm ' + p, root ]
+ })],
+ installAndTestEach
+ ],
+ cb
+ )
}
function installAndTestEach (cb) {
var thingsToChain = [
- setup
- , [ execChain, flatten(packages.map(function (p) {
- return [ [ "npm install packages/"+p, testdir ]
- , [ "npm test", path.resolve(base, p) ]
- , [ "npm rm "+p, root ] ]
- })) ]
+ setup,
+ [execChain, flatten(packages.map(function (p) {
+ return [
+ ['npm install packages/' + p, testdir],
+ ['npm test', path.resolve(base, p)],
+ ['npm rm ' + p, root]
+ ]
+ }))]
]
- if (process.platform !== "win32") {
+ if (process.platform !== 'win32') {
// Windows can't handle npm rm npm due to file-in-use issues.
- thingsToChain.push([exec, "npm rm npm", testdir])
+ thingsToChain.push([exec, 'npm rm npm', testdir])
}
chain(thingsToChain, cb)
@@ -188,6 +188,6 @@ function main (cb) {
}
main(function (er) {
- console.log("1.." + execCount)
+ console.log('1..' + execCount)
if (er) throw er
})
diff --git a/deps/npm/test/tap/00-check-mock-dep.js b/deps/npm/test/tap/00-check-mock-dep.js
index 1c862317c9..cdc7af852b 100644
--- a/deps/npm/test/tap/00-check-mock-dep.js
+++ b/deps/npm/test/tap/00-check-mock-dep.js
@@ -1,17 +1,17 @@
-console.log("TAP Version 13")
+console.log('TAP Version 13')
-process.on("uncaughtException", function (er) {
+process.on('uncaughtException', function (er) {
if (er) { throw er }
- console.log("not ok - Failed checking mock registry dep. Expect much fail!")
- console.log("1..1")
+ console.log('not ok - Failed checking mock registry dep. Expect much fail!')
+ console.log('1..1')
process.exit(1)
})
-var assert = require("assert")
-var semver = require("semver")
-var mock = require("npm-registry-mock/package.json").version
-var req = require("../../package.json").devDependencies["npm-registry-mock"]
+var assert = require('assert')
+var semver = require('semver')
+var mock = require('npm-registry-mock/package.json').version
+var req = require('../../package.json').devDependencies['npm-registry-mock']
assert(semver.satisfies(mock, req))
-console.log("ok")
-console.log("1..1")
+console.log('ok')
+console.log('1..1')
diff --git a/deps/npm/test/tap/00-config-setup.js b/deps/npm/test/tap/00-config-setup.js
index 0daf0decd6..0d267851eb 100644
--- a/deps/npm/test/tap/00-config-setup.js
+++ b/deps/npm/test/tap/00-config-setup.js
@@ -1,33 +1,33 @@
-var fs = require("graceful-fs")
-var path = require("path")
-var userconfigSrc = path.resolve(__dirname, "..", "fixtures", "config", "userconfig")
-exports.userconfig = userconfigSrc + "-with-gc"
-exports.globalconfig = path.resolve(__dirname, "..", "fixtures", "config", "globalconfig")
-exports.builtin = path.resolve(__dirname, "..", "fixtures", "config", "builtin")
-exports.malformed = path.resolve(__dirname, "..", "fixtures", "config", "malformed")
+var fs = require('graceful-fs')
+var path = require('path')
+var userconfigSrc = path.resolve(__dirname, '..', 'fixtures', 'config', 'userconfig')
+exports.userconfig = userconfigSrc + '-with-gc'
+exports.globalconfig = path.resolve(__dirname, '..', 'fixtures', 'config', 'globalconfig')
+exports.builtin = path.resolve(__dirname, '..', 'fixtures', 'config', 'builtin')
+exports.malformed = path.resolve(__dirname, '..', 'fixtures', 'config', 'malformed')
exports.ucData =
{ globalconfig: exports.globalconfig,
- email: "i@izs.me",
- "env-thing": "asdf",
- "init.author.name": "Isaac Z. Schlueter",
- "init.author.email": "i@izs.me",
- "init.author.url": "http://blog.izs.me/",
- "init.version": "1.2.3",
- "proprietary-attribs": false,
- "npm:publishtest": true,
- "_npmjs.org:couch": "https://admin:password@localhost:5984/registry",
- "npm-www:nocache": "1",
- nodedir: "/Users/isaacs/dev/js/node-v0.8",
- "sign-git-tag": true,
- message: "v%s",
- "strict-ssl": false,
- "tmp": process.env.HOME + "/.tmp",
- _auth: "dXNlcm5hbWU6cGFzc3dvcmQ=",
+ email: 'i@izs.me',
+ 'env-thing': 'asdf',
+ 'init.author.name': 'Isaac Z. Schlueter',
+ 'init.author.email': 'i@izs.me',
+ 'init.author.url': 'http://blog.izs.me/',
+ 'init.version': '1.2.3',
+ 'proprietary-attribs': false,
+ 'npm:publishtest': true,
+ '_npmjs.org:couch': 'https://admin:password@localhost:5984/registry',
+ 'npm-www:nocache': '1',
+ nodedir: '/Users/isaacs/dev/js/node-v0.8',
+ 'sign-git-tag': true,
+ message: 'v%s',
+ 'strict-ssl': false,
+ 'tmp': process.env.HOME + '/.tmp',
+ _auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
_token:
- { AuthSession: "yabba-dabba-doodle",
- version: "1",
- expires: "1345001053415",
- path: "/",
+ { AuthSession: 'yabba-dabba-doodle',
+ version: '1',
+ expires: '1345001053415',
+ path: '/',
httponly: true } }
// set the userconfig in the env
@@ -39,21 +39,21 @@ Object.keys(process.env).forEach(function (k) {
})
process.env.npm_config_userconfig = exports.userconfig
process.env.npm_config_other_env_thing = 1000
-process.env.random_env_var = "asdf"
-process.env.npm_config__underbar_env_thing = "underful"
+process.env.random_env_var = 'asdf'
+process.env.npm_config__underbar_env_thing = 'underful'
process.env.NPM_CONFIG_UPPERCASE_ENV_THING = 42
exports.envData = {
userconfig: exports.userconfig,
- "_underbar-env-thing": "underful",
- "uppercase-env-thing": "42",
- "other-env-thing": "1000"
+ '_underbar-env-thing': 'underful',
+ 'uppercase-env-thing': '42',
+ 'other-env-thing': '1000'
}
exports.envDataFix = {
userconfig: exports.userconfig,
- "_underbar-env-thing": "underful",
- "uppercase-env-thing": 42,
- "other-env-thing": 1000
+ '_underbar-env-thing': 'underful',
+ 'uppercase-env-thing': 42,
+ 'other-env-thing': 1000
}
var projectConf = path.resolve(__dirname, '..', '..', '.npmrc')
@@ -75,9 +75,9 @@ try {
if (module === require.main) {
// set the globalconfig in the userconfig
var uc = fs.readFileSync(userconfigSrc)
- var gcini = "globalconfig = " + exports.globalconfig + "\n"
+ var gcini = 'globalconfig = ' + exports.globalconfig + '\n'
fs.writeFileSync(exports.userconfig, gcini + uc)
- console.log("1..1")
- console.log("ok 1 setup done")
+ console.log('1..1')
+ console.log('ok 1 setup done')
}
diff --git a/deps/npm/test/tap/00-verify-bundle-deps.js b/deps/npm/test/tap/00-verify-bundle-deps.js
index 9d16b2d3b1..75ea81c593 100644
--- a/deps/npm/test/tap/00-verify-bundle-deps.js
+++ b/deps/npm/test/tap/00-verify-bundle-deps.js
@@ -1,27 +1,16 @@
-var fs = require("fs")
-var path = require("path")
-var test = require("tap").test
+var test = require('tap').test
-var manifest = require("../../package.json")
+var manifest = require('../../package.json')
var deps = Object.keys(manifest.dependencies)
-var dev = Object.keys(manifest.devDependencies)
var bundled = manifest.bundleDependencies
-test("all deps are bundled deps or dev deps", function (t) {
+test('all deps are bundled deps or dev deps', function (t) {
deps.forEach(function (name) {
t.assert(
bundled.indexOf(name) !== -1,
- name + " is in bundledDependencies"
+ name + ' is in bundledDependencies'
)
})
- t.same(
- fs.readdirSync(path.resolve(__dirname, "../../node_modules")).filter(function (name) {
- return (dev.indexOf(name) === -1) && (name !== ".bin")
- }).sort(),
- bundled.sort(),
- "bundleDependencies matches what's in node_modules"
- )
-
t.end()
})
diff --git a/deps/npm/test/tap/00-verify-ls-ok.js b/deps/npm/test/tap/00-verify-ls-ok.js
index aa6acdbc56..2d20e500b7 100644
--- a/deps/npm/test/tap/00-verify-ls-ok.js
+++ b/deps/npm/test/tap/00-verify-ls-ok.js
@@ -1,18 +1,18 @@
-var common = require("../common-tap")
-var test = require("tap").test
-var path = require("path")
-var cwd = path.resolve(__dirname, "..", "..")
-var fs = require("fs")
+var common = require('../common-tap')
+var test = require('tap').test
+var path = require('path')
+var cwd = path.resolve(__dirname, '..', '..')
+var fs = require('fs')
-test("npm ls in npm", function (t) {
- t.ok(fs.existsSync(cwd), "ensure that the path we are calling ls within exists")
+test('npm ls in npm', function (t) {
+ t.ok(fs.existsSync(cwd), 'ensure that the path we are calling ls within exists')
var files = fs.readdirSync(cwd)
- t.notEqual(files.length, 0, "ensure there are files in the directory we are to ls")
+ t.notEqual(files.length, 0, 'ensure there are files in the directory we are to ls')
- var opt = { cwd: cwd, stdio: [ "ignore", "ignore", 2 ] }
- common.npm(["ls"], opt, function (err, code) {
- t.ifError(err, "error should not exist")
- t.equal(code, 0, "npm ls exited with code")
+ var opt = { cwd: cwd, stdio: [ 'ignore', 'ignore', 2 ] }
+ common.npm(['ls'], opt, function (err, code) {
+ t.ifError(err, 'error should not exist')
+ t.equal(code, 0, 'npm ls exited with code')
t.end()
})
})
diff --git a/deps/npm/test/tap/404-parent.js b/deps/npm/test/tap/404-parent.js
index eb8ae9bb15..a8bd951636 100644
--- a/deps/npm/test/tap/404-parent.js
+++ b/deps/npm/test/tap/404-parent.js
@@ -1,54 +1,57 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var npm = require("../../")
-var osenv = require("osenv")
-var path = require("path")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var pkg = path.resolve(__dirname, "404-parent")
-var mr = require("npm-registry-mock")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var pkg = path.resolve(__dirname, '404-parent')
+var mr = require('npm-registry-mock')
-test("404-parent: if parent exists, specify parent in error message", function (t) {
+test('404-parent: if parent exists, specify parent in error message', function (t) {
setup()
- rimraf.sync(path.resolve(pkg, "node_modules"))
+ rimraf.sync(path.resolve(pkg, 'node_modules'))
performInstall(function (err) {
- t.ok(err instanceof Error, "error was returned")
- t.ok(err.parent === "404-parent-test", "error's parent set")
+ t.ok(err instanceof Error, 'error was returned')
+ t.ok(err.parent === '404-parent-test', "error's parent set")
t.end()
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
t.end()
})
-function setup() {
+function setup () {
mkdirp.sync(pkg)
- mkdirp.sync(path.resolve(pkg, "cache"))
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify({
- author: "Evan Lucas",
- name: "404-parent-test",
- version: "0.0.0",
- description: "Test for 404-parent",
+ mkdirp.sync(path.resolve(pkg, 'cache'))
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
+ author: 'Evan Lucas',
+ name: '404-parent-test',
+ version: '0.0.0',
+ description: 'Test for 404-parent',
dependencies: {
- "test-npm-404-parent-test": "*"
+ 'test-npm-404-parent-test': '*'
}
- }), "utf8")
+ }), 'utf8')
process.chdir(pkg)
}
function plugin (server) {
- server.get("/test-npm-404-parent-test")
- .reply(404, {"error": "version not found"})
+ server.get('/test-npm-404-parent-test')
+ .reply(404, {'error': 'version not found'})
}
function performInstall (cb) {
- mr({port : common.port, plugin : plugin}, function (er, s) { // create mock registry.
+ mr({port: common.port, plugin: plugin}, function (er, s) { // create mock registry.
npm.load({registry: common.registry}, function () {
- npm.commands.install(pkg, [], function (err) {
+ var pwd = process.cwd()
+ process.chdir(pkg)
+ npm.commands.install([], function (err) {
+ process.chdir(pwd)
cb(err)
s.close() // shutdown mock npm server.
})
diff --git a/deps/npm/test/tap/404-private-registry.js b/deps/npm/test/tap/404-private-registry.js
index 698f5b8613..dfe893eb1c 100644
--- a/deps/npm/test/tap/404-private-registry.js
+++ b/deps/npm/test/tap/404-private-registry.js
@@ -4,7 +4,7 @@ var path = require('path')
var npm = require('../../')
var addNamed = require('../../lib/cache/add-named')
-var packageName = path.basename(__filename,'.js')
+var packageName = path.basename(__filename, '.js')
test('package names not mangled on error with non-root registry', function test404 (t) {
nock('http://localhost:1337')
diff --git a/deps/npm/test/tap/access.js b/deps/npm/test/tap/access.js
index c72ea5c898..5e13a23cd5 100644
--- a/deps/npm/test/tap/access.js
+++ b/deps/npm/test/tap/access.js
@@ -15,10 +15,6 @@ var scoped = {
version: '1.1.1'
}
-var body = {
- access: 'public'
-}
-
test('setup', function (t) {
mkdirp(pkg, function (er) {
t.ifError(er, pkg + ' made successfully')
@@ -385,7 +381,6 @@ test('npm access ls-collaborators on current w/user filter', function (t) {
)
})
-
test('npm access edit', function (t) {
common.npm(
[
diff --git a/deps/npm/test/tap/add-remote-git-fake-windows.js b/deps/npm/test/tap/add-remote-git-fake-windows.js
index c9c9dd446b..33b38781a8 100644
--- a/deps/npm/test/tap/add-remote-git-fake-windows.js
+++ b/deps/npm/test/tap/add-remote-git-fake-windows.js
@@ -29,7 +29,6 @@ var pjChild = JSON.stringify({
version: '1.0.3'
}, null, 2) + '\n'
-
test('setup', function (t) {
bootstrap()
setup(function (er, r) {
diff --git a/deps/npm/test/tap/add-remote-git-get-resolved.js b/deps/npm/test/tap/add-remote-git-get-resolved.js
index 0bd0f29eb1..3f31467285 100644
--- a/deps/npm/test/tap/add-remote-git-get-resolved.js
+++ b/deps/npm/test/tap/add-remote-git-get-resolved.js
@@ -11,7 +11,7 @@ var getResolved = null
* Note: This is here because `normalizeGitUrl` is usually called
* before getResolved is, and receives *that* URL.
*/
-function tryGetResolved(uri, treeish) {
+function tryGetResolved (uri, treeish) {
return getResolved(normalizeGitUrl(uri).url, treeish)
}
diff --git a/deps/npm/test/tap/adduser-always-auth.js b/deps/npm/test/tap/adduser-always-auth.js
index 6a451b451c..3ec8190006 100644
--- a/deps/npm/test/tap/adduser-always-auth.js
+++ b/deps/npm/test/tap/adduser-always-auth.js
@@ -1,142 +1,147 @@
-var fs = require("fs")
-var path = require("path")
-var rimraf = require("rimraf")
-var mr = require("npm-registry-mock")
+var fs = require('fs')
+var path = require('path')
+var rimraf = require('rimraf')
+var mr = require('npm-registry-mock')
-var test = require("tap").test
-var common = require("../common-tap.js")
+var test = require('tap').test
+var common = require('../common-tap.js')
-var opts = {cwd : __dirname}
-var outfile = path.resolve(__dirname, "_npmrc")
+var opts = {cwd: __dirname}
+var outfile = path.resolve(__dirname, '_npmrc')
var responses = {
- "Username" : "u\n",
- "Password" : "p\n",
- "Email" : "u@p.me\n"
+ 'Username': 'u\n',
+ 'Password': 'p\n',
+ 'Email': 'u@p.me\n'
}
-function mocks(server) {
+function mocks (server) {
server.filteringRequestBody(function (r) {
if (r.match(/\"_id\":\"org\.couchdb\.user:u\"/)) {
- return "auth"
+ return 'auth'
}
})
- server.put("/-/user/org.couchdb.user:u", "auth")
- .reply(201, {username : "u", password : "p", email : "u@p.me"})
+ server.put('/-/user/org.couchdb.user:u', 'auth')
+ .reply(201, { username: 'u', password: 'p', email: 'u@p.me' })
}
-test("npm login", function (t) {
- mr({port : common.port, plugin : mocks}, function (er, s) {
+test('npm login', function (t) {
+ mr({ port: common.port, plugin: mocks }, function (er, s) {
var runner = common.npm(
[
- "login",
- "--registry", common.registry,
- "--loglevel", "silent",
- "--userconfig", outfile
+ 'login',
+ '--registry', common.registry,
+ '--loglevel', 'silent',
+ '--userconfig', outfile
],
opts,
function (err, code) {
- t.notOk(code, "exited OK")
- t.notOk(err, "no error output")
- var config = fs.readFileSync(outfile, "utf8")
- t.like(config, /:always-auth=false/, "always-auth is scoped and false (by default)")
+ t.notOk(code, 'exited OK')
+ t.notOk(err, 'no error output')
+ var config = fs.readFileSync(outfile, 'utf8')
+ t.like(config, /:always-auth=false/, 'always-auth is scoped and false (by default)')
s.close()
rimraf(outfile, function (err) {
- t.ifError(err, "removed config file OK")
+ t.ifError(err, 'removed config file OK')
t.end()
})
})
- var o = "", e = "", remaining = Object.keys(responses).length
- runner.stdout.on("data", function (chunk) {
+ var o = ''
+ var e = ''
+ var remaining = Object.keys(responses).length
+ runner.stdout.on('data', function (chunk) {
remaining--
o += chunk
- var label = chunk.toString("utf8").split(":")[0]
+ var label = chunk.toString('utf8').split(':')[0]
runner.stdin.write(responses[label])
if (remaining === 0) runner.stdin.end()
})
- runner.stderr.on("data", function (chunk) { e += chunk })
+ runner.stderr.on('data', function (chunk) { e += chunk })
})
})
-test("npm login --always-auth", function (t) {
- mr({port : common.port, plugin : mocks}, function (er, s) {
+test('npm login --always-auth', function (t) {
+ mr({ port: common.port, plugin: mocks }, function (er, s) {
var runner = common.npm(
[
- "login",
- "--registry", common.registry,
- "--loglevel", "silent",
- "--userconfig", outfile,
- "--always-auth"
+ 'login',
+ '--registry', common.registry,
+ '--loglevel', 'silent',
+ '--userconfig', outfile,
+ '--always-auth'
],
opts,
function (err, code) {
- t.notOk(code, "exited OK")
- t.notOk(err, "no error output")
- var config = fs.readFileSync(outfile, "utf8")
- t.like(config, /:always-auth=true/, "always-auth is scoped and true")
+ t.notOk(code, 'exited OK')
+ t.notOk(err, 'no error output')
+ var config = fs.readFileSync(outfile, 'utf8')
+ t.like(config, /:always-auth=true/, 'always-auth is scoped and true')
s.close()
rimraf(outfile, function (err) {
- t.ifError(err, "removed config file OK")
+ t.ifError(err, 'removed config file OK')
t.end()
})
})
- var o = "", e = "", remaining = Object.keys(responses).length
- runner.stdout.on("data", function (chunk) {
+ var o = ''
+ var e = ''
+ var remaining = Object.keys(responses).length
+ runner.stdout.on('data', function (chunk) {
remaining--
o += chunk
- var label = chunk.toString("utf8").split(":")[0]
+ var label = chunk.toString('utf8').split(':')[0]
runner.stdin.write(responses[label])
if (remaining === 0) runner.stdin.end()
})
- runner.stderr.on("data", function (chunk) { e += chunk })
+ runner.stderr.on('data', function (chunk) { e += chunk })
})
})
-test("npm login --no-always-auth", function (t) {
- mr({port : common.port, plugin : mocks}, function (er, s) {
+test('npm login --no-always-auth', function (t) {
+ mr({ port: common.port, plugin: mocks }, function (er, s) {
var runner = common.npm(
[
- "login",
- "--registry", common.registry,
- "--loglevel", "silent",
- "--userconfig", outfile,
- "--no-always-auth"
+ 'login',
+ '--registry', common.registry,
+ '--loglevel', 'silent',
+ '--userconfig', outfile,
+ '--no-always-auth'
],
opts,
function (err, code) {
- t.notOk(code, "exited OK")
- t.notOk(err, "no error output")
- var config = fs.readFileSync(outfile, "utf8")
- t.like(config, /:always-auth=false/, "always-auth is scoped and false")
+ t.notOk(code, 'exited OK')
+ t.notOk(err, 'no error output')
+ var config = fs.readFileSync(outfile, 'utf8')
+ t.like(config, /:always-auth=false/, 'always-auth is scoped and false')
s.close()
rimraf(outfile, function (err) {
- t.ifError(err, "removed config file OK")
+ t.ifError(err, 'removed config file OK')
t.end()
})
})
- var o = "", e = "", remaining = Object.keys(responses).length
- runner.stdout.on("data", function (chunk) {
+ var o = ''
+ var e = ''
+ var remaining = Object.keys(responses).length
+ runner.stdout.on('data', function (chunk) {
remaining--
o += chunk
- var label = chunk.toString("utf8").split(":")[0]
+ var label = chunk.toString('utf8').split(':')[0]
runner.stdin.write(responses[label])
if (remaining === 0) runner.stdin.end()
})
- runner.stderr.on("data", function (chunk) { e += chunk })
+ runner.stderr.on('data', function (chunk) { e += chunk })
})
})
-
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(outfile)
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
diff --git a/deps/npm/test/tap/adduser-legacy-auth.js b/deps/npm/test/tap/adduser-legacy-auth.js
index f9829c618a..885a685b9d 100644
--- a/deps/npm/test/tap/adduser-legacy-auth.js
+++ b/deps/npm/test/tap/adduser-legacy-auth.js
@@ -73,7 +73,9 @@ test('npm login', function (t) {
})
})
- var o = '', e = '', remaining = Object.keys(responses).length
+ var o = ''
+ var e = ''
+ var remaining = Object.keys(responses).length
runner.stdout.on('data', function (chunk) {
remaining--
o += chunk
diff --git a/deps/npm/test/tap/bin.js b/deps/npm/test/tap/bin.js
index ee4e1ff28c..33320bc21f 100644
--- a/deps/npm/test/tap/bin.js
+++ b/deps/npm/test/tap/bin.js
@@ -1,17 +1,23 @@
-var path = require("path")
-var test = require("tap").test
-var common = require("../common-tap.js")
+var path = require('path')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var common = require('../common-tap.js')
var opts = { cwd: __dirname }
-var binDir = "../../node_modules/.bin"
+var binDir = '../../node_modules/.bin'
var fixture = path.resolve(__dirname, binDir)
+test('setup', function (t) {
+ rimraf.sync(path.join(__dirname, 'node_modules'))
+ t.end()
+})
+
test('npm bin', function (t) {
- common.npm(["bin"], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bin ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
+ common.npm(['bin'], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'bin ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
var res = path.resolve(stdout)
- t.equal(res, fixture + "\n")
+ t.equal(res, fixture + '\n')
t.end()
})
})
diff --git a/deps/npm/test/tap/bitbucket-https-url-with-creds.js b/deps/npm/test/tap/bitbucket-https-url-with-creds.js
index 3f39e3be45..4e9d14d7e0 100644
--- a/deps/npm/test/tap/bitbucket-https-url-with-creds.js
+++ b/deps/npm/test/tap/bitbucket-https-url-with-creds.js
@@ -38,7 +38,7 @@ test('bitbucket-https-url-with-creds', function (t) {
} else {
t.fail('too many attempts to clone')
}
- cb(new Error())
+ cb(new Error('execFile mock fails on purpose'))
})
}
}
diff --git a/deps/npm/test/tap/bitbucket-shortcut-package.js b/deps/npm/test/tap/bitbucket-shortcut-package.js
index bc38bd02fe..69cfe6c205 100644
--- a/deps/npm/test/tap/bitbucket-shortcut-package.js
+++ b/deps/npm/test/tap/bitbucket-shortcut-package.js
@@ -27,8 +27,8 @@ test('setup', function (t) {
test('bitbucket-shortcut', function (t) {
var cloneUrls = [
- ['git@bitbucket.org:foo/private.git', 'Bitbucket shortcuts try SSH first'],
- ['https://bitbucket.org/foo/private.git', 'Bitbucket shortcuts try HTTPS URLs second']
+ ['https://bitbucket.org/foo/private.git', 'Bitbucket shortcuts try HTTPS URLs first'],
+ ['git@bitbucket.org:foo/private.git', 'Bitbucket shortcuts try SSH second']
]
var npm = requireInject.installGlobally('../../lib/npm.js', {
diff --git a/deps/npm/test/tap/bitbucket-shortcut.js b/deps/npm/test/tap/bitbucket-shortcut.js
index 51afe19926..a9b60f8b56 100644
--- a/deps/npm/test/tap/bitbucket-shortcut.js
+++ b/deps/npm/test/tap/bitbucket-shortcut.js
@@ -24,8 +24,8 @@ test('setup', function (t) {
test('bitbucket-shortcut', function (t) {
var cloneUrls = [
- ['git@bitbucket.org:foo/private.git', 'Bitbucket shortcuts try SSH first'],
- ['https://bitbucket.org/foo/private.git', 'Bitbucket shortcuts try HTTPS URLs second']
+ ['https://bitbucket.org/foo/private.git', 'Bitbucket shortcuts try HTTPS URLs first'],
+ ['git@bitbucket.org:foo/private.git', 'Bitbucket shortcuts try SSH second']
]
var npm = requireInject.installGlobally('../../lib/npm.js', {
@@ -39,7 +39,7 @@ test('bitbucket-shortcut', function (t) {
} else {
t.fail('too many attempts to clone')
}
- cb(new Error())
+ cb(new Error('execFile mock fails on purpose'))
})
}
}
diff --git a/deps/npm/test/tap/bugs.js b/deps/npm/test/tap/bugs.js
index 51ba5d3fe1..a0a3be1b8d 100644
--- a/deps/npm/test/tap/bugs.js
+++ b/deps/npm/test/tap/bugs.js
@@ -1,151 +1,151 @@
-if (process.platform === "win32") {
- console.error("skipping test, because windows and shebangs")
- return
+if (process.platform === 'win32') {
+ console.error('skipping test, because windows and shebangs')
+ process.exit(0)
}
-var common = require("../common-tap.js")
-var mr = require("npm-registry-mock")
+var common = require('../common-tap.js')
+var mr = require('npm-registry-mock')
-var test = require("tap").test
-var rimraf = require("rimraf")
-var fs = require("fs")
-var path = require("path")
+var test = require('tap').test
+var rimraf = require('rimraf')
+var fs = require('fs')
+var path = require('path')
var join = path.join
-var outFile = path.join(__dirname, "/_output")
+var outFile = path.join(__dirname, '/_output')
var opts = { cwd: __dirname }
-test("setup", function (t) {
- var s = "#!/usr/bin/env bash\n" +
- "echo \"$@\" > " + JSON.stringify(__dirname) + "/_output\n"
- fs.writeFileSync(join(__dirname, "/_script.sh"), s, "ascii")
- fs.chmodSync(join(__dirname, "/_script.sh"), "0755")
- t.pass("made script")
+test('setup', function (t) {
+ var s = '#!/usr/bin/env bash\n' +
+ 'echo \"$@\" > ' + JSON.stringify(__dirname) + '/_output\n'
+ fs.writeFileSync(join(__dirname, '/_script.sh'), s, 'ascii')
+ fs.chmodSync(join(__dirname, '/_script.sh'), '0755')
+ t.pass('made script')
t.end()
})
-test("npm bugs underscore", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm bugs underscore', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
- "bugs", "underscore",
- "--registry=" + common.registry,
- "--loglevel=silent",
- "--browser=" + join(__dirname, "/_script.sh")
+ 'bugs', 'underscore',
+ '--registry=' + common.registry,
+ '--loglevel=silent',
+ '--browser=' + join(__dirname, '/_script.sh')
], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bugs ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
- var res = fs.readFileSync(outFile, "ascii")
+ t.ifError(err, 'bugs ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
+ var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://github.com/jashkenas/underscore/issues\n")
+ t.equal(res, 'https://github.com/jashkenas/underscore/issues\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm bugs optimist - github (https://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm bugs optimist - github (https://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
- "bugs", "optimist",
- "--registry=" + common.registry,
- "--loglevel=silent",
- "--browser=" + join(__dirname, "/_script.sh")
+ 'bugs', 'optimist',
+ '--registry=' + common.registry,
+ '--loglevel=silent',
+ '--browser=' + join(__dirname, '/_script.sh')
], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bugs ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
- var res = fs.readFileSync(outFile, "ascii")
+ t.ifError(err, 'bugs ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
+ var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://github.com/substack/node-optimist/issues\n")
+ t.equal(res, 'https://github.com/substack/node-optimist/issues\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm bugs npm-test-peer-deps - no repo", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm bugs npm-test-peer-deps - no repo', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
- "bugs", "npm-test-peer-deps",
- "--registry=" + common.registry,
- "--loglevel=silent",
- "--browser=" + join(__dirname, "/_script.sh")
+ 'bugs', 'npm-test-peer-deps',
+ '--registry=' + common.registry,
+ '--loglevel=silent',
+ '--browser=' + join(__dirname, '/_script.sh')
], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bugs ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
- var res = fs.readFileSync(outFile, "ascii")
+ t.ifError(err, 'bugs ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
+ var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://www.npmjs.org/package/npm-test-peer-deps\n")
+ t.equal(res, 'https://www.npmjs.org/package/npm-test-peer-deps\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm bugs test-repo-url-http - non-github (http://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm bugs test-repo-url-http - non-github (http://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
- "bugs", "test-repo-url-http",
- "--registry=" + common.registry,
- "--loglevel=silent",
- "--browser=" + join(__dirname, "/_script.sh")
+ 'bugs', 'test-repo-url-http',
+ '--registry=' + common.registry,
+ '--loglevel=silent',
+ '--browser=' + join(__dirname, '/_script.sh')
], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bugs ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
- var res = fs.readFileSync(outFile, "ascii")
+ t.ifError(err, 'bugs ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
+ var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://www.npmjs.org/package/test-repo-url-http\n")
+ t.equal(res, 'https://www.npmjs.org/package/test-repo-url-http\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm bugs test-repo-url-https - non-github (https://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm bugs test-repo-url-https - non-github (https://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
- "bugs", "test-repo-url-https",
- "--registry=" + common.registry,
- "--loglevel=silent",
- "--browser=" + join(__dirname, "/_script.sh")
+ 'bugs', 'test-repo-url-https',
+ '--registry=' + common.registry,
+ '--loglevel=silent',
+ '--browser=' + join(__dirname, '/_script.sh')
], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bugs ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
- var res = fs.readFileSync(outFile, "ascii")
+ t.ifError(err, 'bugs ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
+ var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://www.npmjs.org/package/test-repo-url-https\n")
+ t.equal(res, 'https://www.npmjs.org/package/test-repo-url-https\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm bugs test-repo-url-ssh - non-github (ssh://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm bugs test-repo-url-ssh - non-github (ssh://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
- "bugs", "test-repo-url-ssh",
- "--registry=" + common.registry,
- "--loglevel=silent",
- "--browser=" + join(__dirname, "/_script.sh")
+ 'bugs', 'test-repo-url-ssh',
+ '--registry=' + common.registry,
+ '--loglevel=silent',
+ '--browser=' + join(__dirname, '/_script.sh')
], opts, function (err, code, stdout, stderr) {
- t.ifError(err, "bugs ran without issue")
- t.notOk(stderr, "should have no stderr")
- t.equal(code, 0, "exit ok")
- var res = fs.readFileSync(outFile, "ascii")
+ t.ifError(err, 'bugs ran without issue')
+ t.notOk(stderr, 'should have no stderr')
+ t.equal(code, 0, 'exit ok')
+ var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://www.npmjs.org/package/test-repo-url-ssh\n")
+ t.equal(res, 'https://www.npmjs.org/package/test-repo-url-ssh\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("cleanup", function (t) {
- fs.unlinkSync(join(__dirname, "/_script.sh"))
- t.pass("cleaned up")
+test('cleanup', function (t) {
+ fs.unlinkSync(join(__dirname, '/_script.sh'))
+ t.pass('cleaned up')
t.end()
})
diff --git a/deps/npm/test/tap/build-already-built.js b/deps/npm/test/tap/build-already-built.js
index 8e5546fe4d..45aa1ba1c9 100644
--- a/deps/npm/test/tap/build-already-built.js
+++ b/deps/npm/test/tap/build-already-built.js
@@ -1,64 +1,64 @@
// if "npm rebuild" is run with bundled dependencies,
// message "already built" should not be error
-var test = require("tap").test
-var path = require("path")
-var osenv = require("osenv")
-var rimraf = require("rimraf")
-var npmlog = require("npmlog")
-var mkdirp = require("mkdirp")
-var requireInject = require("require-inject")
+var test = require('tap').test
+var path = require('path')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var npmlog = require('npmlog')
+var mkdirp = require('mkdirp')
+var requireInject = require('require-inject')
-var npm = require("../../lib/npm.js")
+var npm = require('../../lib/npm.js')
-var PKG_DIR = path.resolve(__dirname, "build-already-built")
-var fakePkg = "foo"
+var PKG_DIR = path.resolve(__dirname, 'build-already-built')
+var fakePkg = 'foo'
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
t.end()
})
test("issue #6735 build 'already built' message", function (t) {
- npm.load({loglevel : "warn"}, function () {
+ npm.load({ loglevel: 'warn' }, function () {
// capture log messages with level
- var log = ""
- npmlog.on("log", function (chunk) {
- log += chunk.level + " " + chunk.message + "\n"
+ var log = ''
+ npmlog.on('log', function (chunk) {
+ log += chunk.level + ' ' + chunk.message + '\n'
})
mkdirp.sync(fakePkg)
var folder = path.resolve(fakePkg)
- var global = npm.config.get("global")
+ var global = npm.config.get('global')
- var build = requireInject("../../lib/build", {
+ var build = requireInject('../../lib/build', {
})
- t.test("pin previous behavior", function (t) {
+ t.test('pin previous behavior', function (t) {
build([fakePkg], global, false, false, function (err) {
- t.ok(err, "build failed as expected")
- t.similar(err.message, /package.json/, "missing package.json as expected")
- t.notSimilar(log, /already built/, "no already built message written")
+ t.ok(err, 'build failed as expected')
+ t.similar(err.message, /package.json/, 'missing package.json as expected')
+ t.notSimilar(log, /already built/, 'no already built message written')
t.end()
})
})
- t.test("simulate rebuild of bundledDependency", function (t) {
+ t.test('simulate rebuild of bundledDependency', function (t) {
- log = ""
+ log = ''
build._didBuild[folder] = true
build([fakePkg], global, false, false, function (err) {
- t.ok(err, "build failed as expected")
- t.similar(err.message, /package.json/, "missing package.json as expected")
+ t.ok(err, 'build failed as expected')
+ t.similar(err.message, /package.json/, 'missing package.json as expected')
- t.similar(log, /already built/, "already built message written")
- t.notSimilar(log, /ERR! already built/, "already built message written is not error")
- t.similar(log, /info already built/, "already built message written is info")
+ t.similar(log, /already built/, 'already built message written')
+ t.notSimilar(log, /ERR! already built/, 'already built message written is not error')
+ t.similar(log, /info already built/, 'already built message written is info')
t.end()
})
@@ -68,8 +68,7 @@ test("issue #6735 build 'already built' message", function (t) {
})
})
-
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
diff --git a/deps/npm/test/tap/builtin-config.js b/deps/npm/test/tap/builtin-config.js
index d92551ed6e..333282e685 100644
--- a/deps/npm/test/tap/builtin-config.js
+++ b/deps/npm/test/tap/builtin-config.js
@@ -1,59 +1,58 @@
-var fs = require("fs")
+var fs = require('fs')
-if (process.argv[2] === "write-builtin") {
+if (process.argv[2] === 'write-builtin') {
var pid = process.argv[3]
- fs.writeFileSync("npmrc", "foo=bar\npid=" + pid + "\n")
- return
+ fs.writeFileSync('npmrc', 'foo=bar\npid=' + pid + '\n')
+ process.exit(0)
}
-var rcdata = "foo=bar\npid=" + process.pid + "\n"
-var common = require("../common-tap.js")
-var path = require("path")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var folder = path.resolve(__dirname, "builtin-config")
-var test = require("tap").test
-var npm = path.resolve(__dirname, "../..")
-var spawn = require("child_process").spawn
+var common = require('../common-tap.js')
+var path = require('path')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var folder = path.resolve(__dirname, 'builtin-config')
+var test = require('tap').test
+var npm = path.resolve(__dirname, '../..')
+var spawn = require('child_process').spawn
var node = process.execPath
-test("setup", function (t) {
+test('setup', function (t) {
+ t.plan(1)
rimraf.sync(folder)
- mkdirp.sync(folder + "/first")
- mkdirp.sync(folder + "/second")
- mkdirp.sync(folder + "/cache")
- mkdirp.sync(folder + "/tmp")
+ mkdirp.sync(folder + '/first')
+ mkdirp.sync(folder + '/second')
+ mkdirp.sync(folder + '/cache')
+ mkdirp.sync(folder + '/tmp')
- t.pass("finished setup")
+ t.pass('finished setup')
t.end()
})
-
-test("install npm into first folder", function (t) {
- var args = ["install", npm, "-g",
- "--prefix=" + folder + "/first",
- "--ignore-scripts",
- "--cache=" + folder + "/cache",
- "--no-spin",
- "--loglevel=silent",
- "--tmp=" + folder + "/tmp"]
- common.npm(args, {stdio: "inherit"}, function (er, code) {
+test('install npm into first folder', function (t) {
+ t.plan(1)
+ var args = ['install', npm, '-g',
+ '--prefix=' + folder + '/first',
+ '--ignore-scripts',
+ '--cache=' + folder + '/cache',
+ '--loglevel=silent',
+ '--tmp=' + folder + '/tmp']
+ common.npm(args, {stdio: 'inherit'}, function (er, code) {
if (er) throw er
t.equal(code, 0)
t.end()
})
})
-test("write npmrc file", function (t) {
- common.npm(["explore", "npm", "-g",
- "--prefix=" + folder + "/first",
- "--cache=" + folder + "/cache",
- "--tmp=" + folder + "/tmp",
- "--no-spin",
- "--",
- node, __filename, "write-builtin", process.pid
+test('write npmrc file', function (t) {
+ t.plan(1)
+ common.npm(['explore', 'npm', '-g',
+ '--prefix=' + folder + '/first',
+ '--cache=' + folder + '/cache',
+ '--tmp=' + folder + '/tmp',
+ '--',
+ node, __filename, 'write-builtin', process.pid
],
- {"stdio": "inherit"},
+ {'stdio': 'inherit'},
function (er, code) {
if (er) throw er
t.equal(code, 0)
@@ -61,66 +60,73 @@ test("write npmrc file", function (t) {
})
})
-test("use first npm to install second npm", function (t) {
+test('use first npm to install second npm', function (t) {
+ t.plan(3)
// get the root location
- common.npm([ "root", "-g",
- "--prefix=" + folder + "/first",
- "--cache=" + folder + "/cache",
- "--tmp=" + folder + "/tmp",
- "--no-spin"
- ], {}, function (er, code, so) {
- if (er) throw er
- t.equal(code, 0)
- var root = so.trim()
- t.ok(fs.statSync(root).isDirectory())
+ common.npm(
+ [
+ 'root', '-g',
+ '--prefix=' + folder + '/first',
+ '--cache=' + folder + '/cache',
+ '--tmp=' + folder + '/tmp'
+ ],
+ {},
+ function (er, code, so) {
+ if (er) throw er
+ t.equal(code, 0)
+ var root = so.trim()
+ t.ok(fs.statSync(root).isDirectory())
- var bin = path.resolve(root, "npm/bin/npm-cli.js")
- spawn( node
- , [ bin
- , "install", npm
- , "-g"
- , "--prefix=" + folder + "/second"
- , "--cache=" + folder + "/cache"
- , "--tmp=" + folder + "/tmp"
- , "--no-spin"
- ])
- .on("error", function (er) { throw er })
- .on("close", function (code) {
- t.equal(code, 0, "code is zero")
- t.end()
- })
- })
+ var bin = path.resolve(root, 'npm/bin/npm-cli.js')
+ spawn(
+ node,
+ [
+ bin,
+ 'install', npm,
+ '-g',
+ '--prefix=' + folder + '/second',
+ '--cache=' + folder + '/cache',
+ '--tmp=' + folder + '/tmp'
+ ]
+ )
+ .on('error', function (er) { throw er })
+ .on('close', function (code) {
+ t.equal(code, 0, 'code is zero')
+ t.end()
+ })
+ }
+ )
})
-test("verify that the builtin config matches", function (t) {
- common.npm([ "root", "-g",
- "--prefix=" + folder + "/first",
- "--cache=" + folder + "/cache",
- "--tmp=" + folder + "/tmp"
+test('verify that the builtin config matches', function (t) {
+ t.plan(3)
+ common.npm([ 'root', '-g',
+ '--prefix=' + folder + '/first',
+ '--cache=' + folder + '/cache',
+ '--tmp=' + folder + '/tmp'
], {}, function (er, code, so) {
if (er) throw er
t.equal(code, 0)
var firstRoot = so.trim()
- common.npm([ "root", "-g",
- "--prefix=" + folder + "/second",
- "--cache=" + folder + "/cache",
- "--tmp=" + folder + "/tmp"
+ common.npm([ 'root', '-g',
+ '--prefix=' + folder + '/second',
+ '--cache=' + folder + '/cache',
+ '--tmp=' + folder + '/tmp'
], {}, function (er, code, so) {
if (er) throw er
t.equal(code, 0)
var secondRoot = so.trim()
- var firstRc = path.resolve(firstRoot, "npm", "npmrc")
- var secondRc = path.resolve(secondRoot, "npm", "npmrc")
- var firstData = fs.readFileSync(firstRc, "utf8")
- var secondData = fs.readFileSync(secondRc, "utf8")
+ var firstRc = path.resolve(firstRoot, 'npm', 'npmrc')
+ var secondRc = path.resolve(secondRoot, 'npm', 'npmrc')
+ var firstData = fs.readFileSync(firstRc, 'utf8')
+ var secondData = fs.readFileSync(secondRc, 'utf8')
t.equal(firstData, secondData)
t.end()
})
})
})
-
-test("clean", function (t) {
+test('clean', function (t) {
rimraf.sync(folder)
t.end()
})
diff --git a/deps/npm/test/tap/bundled-dependencies-nonarray.js b/deps/npm/test/tap/bundled-dependencies-nonarray.js
index bff0522d03..2a08272008 100644
--- a/deps/npm/test/tap/bundled-dependencies-nonarray.js
+++ b/deps/npm/test/tap/bundled-dependencies-nonarray.js
@@ -1,12 +1,10 @@
var fs = require('graceful-fs')
var path = require('path')
-var osenv = require('osenv')
var mkdirp = require('mkdirp')
var rimraf = require('rimraf')
var test = require('tap').test
-var npm = require('../../lib/npm.js')
var common = require('../common-tap.js')
var dir = path.resolve(__dirname, 'bundleddependencies')
@@ -36,24 +34,19 @@ test('setup', function (t) {
test('errors on non-array bundleddependencies', function (t) {
t.plan(6)
- process.chdir(pkg)
- npm.load({},
- function () {
- common.npm(['install'], { cwd: pkg }, function (err, code, stdout, stderr) {
- t.ifError(err, 'npm install ran without issue')
- t.notOk(code, 'exited with a non-error code')
- t.notOk(stderr, 'no error output')
+ common.npm(['install'], { cwd: pkg }, function (err, code, stdout, stderr) {
+ t.ifError(err, 'npm install ran without issue')
+ t.is(code, 0, 'exited with a non-error code')
+ t.is(stderr, '', 'no error output')
- common.npm(['install', './pkg-with-bundled'], { cwd: dir },
- function (err, code, stdout, stderr) {
- t.ifError(err, 'npm install ran without issue')
- t.ok(code, 'exited with a error code')
- t.ok(stderr.indexOf('be an array') > -1, 'nice error output')
- }
- )
- })
- }
- )
+ common.npm(['install', './pkg-with-bundled'], { cwd: dir },
+ function (err, code, stdout, stderr) {
+ t.ifError(err, 'npm install ran without issue')
+ t.notEqual(code, 0, 'exited with a error code')
+ t.like(stderr, /be an array/, 'nice error output')
+ }
+ )
+ })
})
test('cleanup', function (t) {
@@ -62,7 +55,9 @@ test('cleanup', function (t) {
})
function bootstrap () {
+ cleanup()
mkdirp.sync(dir)
+ mkdirp.sync(path.join(dir, 'node_modules'))
mkdirp.sync(pkg)
fs.writeFileSync(path.resolve(pkg, 'package.json'), pj)
@@ -72,6 +67,5 @@ function bootstrap () {
}
function cleanup () {
- process.chdir(osenv.tmpdir())
rimraf.sync(dir)
}
diff --git a/deps/npm/test/tap/cache-add-localdir-fallback.js b/deps/npm/test/tap/cache-add-localdir-fallback.js
index facd95c3ad..ca8696d223 100644
--- a/deps/npm/test/tap/cache-add-localdir-fallback.js
+++ b/deps/npm/test/tap/cache-add-localdir-fallback.js
@@ -1,84 +1,84 @@
-var path = require("path")
-var test = require("tap").test
-var npm = require("../../lib/npm.js")
-var requireInject = require("require-inject")
+var path = require('path')
+var test = require('tap').test
+var npm = require('../../lib/npm.js')
+var requireInject = require('require-inject')
-var realizePackageSpecifier = requireInject("realize-package-specifier", {
- "fs": {
+var realizePackageSpecifier = requireInject('realize-package-specifier', {
+ 'fs': {
stat: function (file, cb) {
process.nextTick(function () {
switch (file) {
- case path.resolve("named"):
- cb(new Error("ENOENT"))
+ case path.resolve('named'):
+ cb(new Error('ENOENT'))
break
- case path.resolve("file.tgz"):
+ case path.resolve('file.tgz'):
cb(null, { isDirectory: function () { return false } })
break
- case path.resolve("dir-no-package"):
+ case path.resolve('dir-no-package'):
cb(null, { isDirectory: function () { return true } })
break
- case path.resolve("dir-no-package/package.json"):
- cb(new Error("ENOENT"))
+ case path.resolve('dir-no-package/package.json'):
+ cb(new Error('ENOENT'))
break
- case path.resolve("dir-with-package"):
+ case path.resolve('dir-with-package'):
cb(null, { isDirectory: function () { return true } })
break
- case path.resolve("dir-with-package/package.json"):
+ case path.resolve('dir-with-package/package.json'):
cb(null, {})
break
- case path.resolve(__dirname, "dir-with-package"):
+ case path.resolve(__dirname, 'dir-with-package'):
cb(null, { isDirectory: function () { return true } })
break
- case path.join(__dirname, "dir-with-package", "package.json"):
+ case path.join(__dirname, 'dir-with-package', 'package.json'):
cb(null, {})
break
- case path.resolve(__dirname, "file.tgz"):
+ case path.resolve(__dirname, 'file.tgz'):
cb(null, { isDirectory: function () { return false } })
break
default:
- throw new Error("Unknown test file passed to stat: " + file)
+ throw new Error('Unknown test file passed to stat: ' + file)
}
})
}
}
})
-npm.load({loglevel : "silent"}, function () {
- var cache = requireInject("../../lib/cache.js", {
- "realize-package-specifier": realizePackageSpecifier,
- "../../lib/cache/add-named.js": function addNamed (name, version, data, cb) {
- cb(null, "addNamed")
+npm.load({ loglevel: 'silent' }, function () {
+ var cache = requireInject('../../lib/cache.js', {
+ 'realize-package-specifier': realizePackageSpecifier,
+ '../../lib/cache/add-named.js': function addNamed (name, version, data, cb) {
+ cb(null, 'addNamed')
},
- "../../lib/cache/add-local.js": function addLocal (name, data, cb) {
- cb(null, "addLocal")
+ '../../lib/cache/add-local.js': function addLocal (name, data, cb) {
+ cb(null, 'addLocal')
}
})
- test("npm install localdir fallback", function (t) {
+ test('npm install localdir fallback', function (t) {
t.plan(12)
- cache.add("named", null, null, false, function (er, which) {
- t.ifError(er, "named was cached")
- t.is(which, "addNamed", "registry package name")
+ cache.add('named', null, null, false, function (er, which) {
+ t.ifError(er, 'named was cached')
+ t.is(which, 'addNamed', 'registry package name')
})
- cache.add("file.tgz", null, null, false, function (er, which) {
- t.ifError(er, "file.tgz was cached")
- t.is(which, "addLocal", "local file")
+ cache.add('file.tgz', null, null, false, function (er, which) {
+ t.ifError(er, 'file.tgz was cached')
+ t.is(which, 'addLocal', 'local file')
})
- cache.add("dir-no-package", null, null, false, function (er, which) {
- t.ifError(er, "local directory was cached")
- t.is(which, "addNamed", "local directory w/o package.json")
+ cache.add('dir-no-package', null, null, false, function (er, which) {
+ t.ifError(er, 'local directory was cached')
+ t.is(which, 'addNamed', 'local directory w/o package.json')
})
- cache.add("dir-with-package", null, null, false, function (er, which) {
- t.ifError(er, "local directory with package was cached")
- t.is(which,"addLocal", "local directory with package.json")
+ cache.add('dir-with-package', null, null, false, function (er, which) {
+ t.ifError(er, 'local directory with package was cached')
+ t.is(which, 'addLocal', 'local directory with package.json')
})
- cache.add("file:./dir-with-package", null, __dirname, false, function (er, which) {
- t.ifError(er, "local directory (as URI) with package was cached")
- t.is(which, "addLocal", "file: URI to local directory with package.json")
+ cache.add('file:./dir-with-package', null, __dirname, false, function (er, which) {
+ t.ifError(er, 'local directory (as URI) with package was cached')
+ t.is(which, 'addLocal', 'file: URI to local directory with package.json')
})
- cache.add("file:./file.tgz", null, __dirname, false, function (er, which) {
- t.ifError(er, "local file (as URI) with package was cached")
- t.is(which, "addLocal", "file: URI to local file with package.json")
+ cache.add('file:./file.tgz', null, __dirname, false, function (er, which) {
+ t.ifError(er, 'local file (as URI) with package was cached')
+ t.is(which, 'addLocal', 'file: URI to local file with package.json')
})
})
})
diff --git a/deps/npm/test/tap/cache-add-unpublished.js b/deps/npm/test/tap/cache-add-unpublished.js
index fe26929fce..fe6807f19f 100644
--- a/deps/npm/test/tap/cache-add-unpublished.js
+++ b/deps/npm/test/tap/cache-add-unpublished.js
@@ -1,22 +1,21 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var mr = require("npm-registry-mock")
+var common = require('../common-tap.js')
+var test = require('tap').test
-test("cache add", function (t) {
+test('cache add', function (t) {
setup(function (er, s) {
if (er) {
throw er
}
common.npm([
- "cache",
- "add",
- "superfoo",
- "--registry=http://localhost:1337/"
+ 'cache',
+ 'add',
+ 'superfoo',
+ '--registry=http://localhost:1337/'
], {}, function (er, c, so, se) {
if (er) throw er
- t.ok(c, "got non-zero exit code")
- t.equal(so, "", "nothing printed to stdout")
- t.similar(se, /404 Not Found: superfoo/, "got expected error")
+ t.ok(c, 'got non-zero exit code')
+ t.equal(so, '', 'nothing printed to stdout')
+ t.similar(se, /404 Not Found: superfoo/, 'got expected error')
s.close()
t.end()
})
@@ -24,9 +23,9 @@ test("cache add", function (t) {
})
function setup (cb) {
- var s = require("http").createServer(function (req, res) {
+ var s = require('http').createServer(function (req, res) {
res.statusCode = 404
- res.end("{\"error\":\"not_found\"}\n")
+ res.end('{\"error\":\"not_found\"}\n')
})
s.listen(1337, function () {
cb(null, s)
diff --git a/deps/npm/test/tap/cache-shasum-fork.js b/deps/npm/test/tap/cache-shasum-fork.js
index f16404cb21..01c2f68fb7 100644
--- a/deps/npm/test/tap/cache-shasum-fork.js
+++ b/deps/npm/test/tap/cache-shasum-fork.js
@@ -18,6 +18,9 @@ var pkg = path.resolve(__dirname, 'cache-shasum-fork')
var cache = path.join(pkg, 'cache')
var server
+var installed_output = path.join(__dirname, 'cache-shasum-fork') +
+ '\n`-- underscore@1.5.1 \n\n'
+
test('setup', function (t) {
setup()
t.comment('test for https://github.com/npm/npm/issues/3265')
@@ -44,7 +47,7 @@ test('npm cache - install from fork', function (t) {
t.notOk(stderr, 'Should not get data on stderr: ' + stderr)
t.equal(code, 0, 'install finished successfully')
- t.equal(stdout, 'underscore@1.5.1 node_modules/underscore\n')
+ t.equal(stdout, installed_output)
var index = fs.readFileSync(
path.join(pkg, 'node_modules', 'underscore', 'index.js'),
'utf8'
@@ -72,7 +75,7 @@ test('npm cache - install from origin', function (t) {
t.ifErr(err, 'install finished without error')
t.equal(code, 0, 'install finished successfully')
t.notOk(stderr, 'Should not get data on stderr: ' + stderr)
- t.equal(stdout, 'underscore@1.5.1 node_modules/underscore\n')
+ t.equal(stdout, installed_output)
var index = fs.readFileSync(
path.join(pkg, 'node_modules', 'underscore', 'index.js'),
'utf8'
diff --git a/deps/npm/test/tap/cache-shasum.js b/deps/npm/test/tap/cache-shasum.js
index f86037cc80..90915ed850 100644
--- a/deps/npm/test/tap/cache-shasum.js
+++ b/deps/npm/test/tap/cache-shasum.js
@@ -1,58 +1,57 @@
-var npm = require.resolve("../../")
-var test = require("tap").test
-var path = require("path")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var mr = require("npm-registry-mock")
-var common = require("../common-tap.js")
-var cache = path.resolve(__dirname, "cache-shasum")
-var spawn = require("child_process").spawn
-var sha = require("sha")
+var npm = require.resolve('../../')
+var test = require('tap').test
+var path = require('path')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var common = require('../common-tap.js')
+var cache = path.resolve(__dirname, 'cache-shasum')
+var spawn = require('child_process').spawn
+var sha = require('sha')
var server
-test("mock reg", function (t) {
+test('mock reg', function (t) {
rimraf.sync(cache)
mkdirp.sync(cache)
- mr({port : common.port}, function (er, s) {
+ mr({ port: common.port }, function (er, s) {
server = s
- t.pass("ok")
+ t.pass('ok')
t.end()
})
})
-test("npm cache add request", function (t) {
+test('npm cache add request', function (t) {
var c = spawn(process.execPath, [
- npm, "cache", "add", "request@2.27.0",
- "--cache=" + cache,
- "--registry=" + common.registry,
- "--loglevel=quiet"
+ npm, 'cache', 'add', 'request@2.27.0',
+ '--cache=' + cache,
+ '--registry=' + common.registry,
+ '--loglevel=quiet'
])
c.stderr.pipe(process.stderr)
- c.stdout.on("data", function (d) {
- t.fail("Should not get data on stdout: " + d)
+ c.stdout.on('data', function (d) {
+ t.fail('Should not get data on stdout: ' + d)
})
- c.on("close", function (code) {
- t.notOk(code, "exit ok")
+ c.on('close', function (code) {
+ t.notOk(code, 'exit ok')
t.end()
})
})
-test("compare", function (t) {
- var d = path.resolve(__dirname, "cache-shasum/request")
- var p = path.resolve(d, "2.27.0/package.tgz")
- var r = require("./cache-shasum/localhost_1337/request/.cache.json")
- var rshasum = r.versions["2.27.0"].dist.shasum
+test('compare', function (t) {
+ var d = path.resolve(__dirname, 'cache-shasum/request')
+ var p = path.resolve(d, '2.27.0/package.tgz')
+ var r = require('./cache-shasum/localhost_1337/request/.cache.json')
+ var rshasum = r.versions['2.27.0'].dist.shasum
sha.get(p, function (er, pshasum) {
- if (er)
- throw er
+ if (er) throw er
t.equal(pshasum, rshasum)
t.end()
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
server.close()
rimraf.sync(cache)
t.end()
diff --git a/deps/npm/test/tap/check-cpu-reqs.js b/deps/npm/test/tap/check-cpu-reqs.js
new file mode 100644
index 0000000000..4d8c3dc655
--- /dev/null
+++ b/deps/npm/test/tap/check-cpu-reqs.js
@@ -0,0 +1,63 @@
+'use strict'
+var path = require('path')
+var fs = require('fs')
+var test = require('tap').test
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var installFrom = path.join(base, 'from')
+var installIn = path.join(base, 'in')
+
+var json = {
+ name: 'check-cpu-reqs',
+ version: '0.0.1',
+ description: 'fixture',
+ cpu: ['fake-cpu']
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+var INSTALL_OPTS = ['--loglevel', 'silly']
+var EXEC_OPTS = {cwd: installIn}
+
+test('install bad cpu', function (t) {
+ common.npm(['install', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 1, 'npm install refused to install a package in itself')
+ t.end()
+ })
+})
+test('force install bad cpu', function (t) {
+ common.npm(['install', '--force', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 0, 'npm install happily installed a package in itself with --force')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(base)
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(path.resolve(installFrom, 'node_modules'))
+ fs.writeFileSync(
+ path.join(installFrom, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+ mkdirp.sync(path.resolve(installIn, 'node_modules'))
+ process.chdir(base)
+}
diff --git a/deps/npm/test/tap/check-engine-reqs.js b/deps/npm/test/tap/check-engine-reqs.js
new file mode 100644
index 0000000000..8dd9b8231f
--- /dev/null
+++ b/deps/npm/test/tap/check-engine-reqs.js
@@ -0,0 +1,65 @@
+'use strict'
+var path = require('path')
+var fs = require('fs')
+var test = require('tap').test
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var installFrom = path.join(base, 'from')
+var installIn = path.join(base, 'in')
+
+var json = {
+ name: 'check-engine-reqs',
+ version: '0.0.1',
+ description: 'fixture',
+ engines: {
+ node: '1.0.0-not-a-real-version'
+ }
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+var INSTALL_OPTS = ['--loglevel', 'silly']
+var EXEC_OPTS = {cwd: installIn}
+
+test('install bad engine', function (t) {
+ common.npm(['install', '--engine-strict', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 1, 'npm install refused to install a package in itself')
+ t.end()
+ })
+})
+test('force install bad engine', function (t) {
+ common.npm(['install', '--engine-strict', '--force', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 0, 'npm install happily installed a package in itself with --force')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(base)
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(path.resolve(installFrom, 'node_modules'))
+ fs.writeFileSync(
+ path.join(installFrom, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+ mkdirp.sync(path.resolve(installIn, 'node_modules'))
+ process.chdir(base)
+}
diff --git a/deps/npm/test/tap/check-install-self.js b/deps/npm/test/tap/check-install-self.js
new file mode 100644
index 0000000000..821d8eb4d4
--- /dev/null
+++ b/deps/npm/test/tap/check-install-self.js
@@ -0,0 +1,66 @@
+'use strict'
+var path = require('path')
+var fs = require('fs')
+var test = require('tap').test
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var installFrom = path.join(base, 'from')
+var installIn = path.join(base, 'in')
+
+var json = {
+ name: 'check-install-self',
+ version: '0.0.1',
+ description: 'fixture'
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+var INSTALL_OPTS = ['--loglevel', 'silent']
+var EXEC_OPTS = {cwd: installIn}
+
+test('install self', function (t) {
+ common.npm(['install', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 1, 'npm install refused to install a package in itself')
+ t.end()
+ })
+})
+test('force install self', function (t) {
+ common.npm(['install', '--force', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 0, 'npm install happily installed a package in itself with --force')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(base)
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(path.resolve(installFrom, 'node_modules'))
+ fs.writeFileSync(
+ path.join(installFrom, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+ mkdirp.sync(path.resolve(installIn, 'node_modules'))
+ fs.writeFileSync(
+ path.join(installIn, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+ process.chdir(base)
+}
diff --git a/deps/npm/test/tap/check-os-reqs.js b/deps/npm/test/tap/check-os-reqs.js
new file mode 100644
index 0000000000..5d0c1ecf78
--- /dev/null
+++ b/deps/npm/test/tap/check-os-reqs.js
@@ -0,0 +1,63 @@
+'use strict'
+var path = require('path')
+var fs = require('fs')
+var test = require('tap').test
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var installFrom = path.join(base, 'from')
+var installIn = path.join(base, 'in')
+
+var json = {
+ name: 'check-os-reqs',
+ version: '0.0.1',
+ description: 'fixture',
+ os: ['fake-os']
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+var INSTALL_OPTS = ['--loglevel', 'silly']
+var EXEC_OPTS = {cwd: installIn}
+
+test('install bad os', function (t) {
+ common.npm(['install', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 1, 'npm install refused to install a package in itself')
+ t.end()
+ })
+})
+test('force install bad os', function (t) {
+ common.npm(['install', '--force', installFrom].concat(INSTALL_OPTS), EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'npm ran without issue')
+ t.is(code, 0, 'npm install happily installed a package in itself with --force')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(base)
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(path.resolve(installFrom, 'node_modules'))
+ fs.writeFileSync(
+ path.join(installFrom, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+ mkdirp.sync(path.resolve(installIn, 'node_modules'))
+ process.chdir(base)
+}
diff --git a/deps/npm/test/tap/check-permissions.js b/deps/npm/test/tap/check-permissions.js
new file mode 100644
index 0000000000..d3c0c6da25
--- /dev/null
+++ b/deps/npm/test/tap/check-permissions.js
@@ -0,0 +1,88 @@
+'use strict'
+var fs = require('fs')
+var path = require('path')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var writable = require('../../lib/install/writable.js').fsAccessImplementation
+var writableFallback = require('../../lib/install/writable.js').fsOpenImplementation
+var exists = require('../../lib/install/exists.js').fsAccessImplementation
+var existsFallback = require('../../lib/install/exists.js').fsStatImplementation
+
+var testBase = path.resolve(__dirname, 'check-permissions')
+var existingDir = path.resolve(testBase, 'exists')
+var nonExistingDir = path.resolve(testBase, 'does-not-exist')
+var writableDir = path.resolve(testBase, 'writable')
+var nonWritableDir = path.resolve(testBase, 'non-writable')
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ t.end()
+})
+
+test('exists', function (t) {
+ t.plan(2)
+ // fs.access first introduced in node 0.12 / io.js
+ if (fs.access) {
+ existsTests(t, exists)
+ } else {
+ t.pass('# skip fs.access not available in this version')
+ t.pass('# skip fs.access not available in this version')
+ }
+})
+
+test('exists-fallback', function (t) {
+ t.plan(2)
+ existsTests(t, existsFallback)
+})
+
+test('writable', function (t) {
+ t.plan(2)
+ // fs.access first introduced in node 0.12 / io.js
+ if (fs.access) {
+ writableTests(t, writable)
+ } else {
+ t.pass('# skip fs.access not available in this version')
+ t.pass('# skip fs.access not available in this version')
+ }
+})
+
+test('writable-fallback', function (t) {
+ t.plan(2)
+ writableTests(t, writableFallback)
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function setup () {
+ fs.mkdirSync(testBase)
+ fs.mkdirSync(existingDir)
+ fs.mkdirSync(writableDir)
+ fs.mkdirSync(nonWritableDir)
+ fs.chmodSync(nonWritableDir, '555')
+}
+
+function existsTests (t, exists) {
+ exists(existingDir, function (er) {
+ t.error(er, 'exists dir is exists')
+ })
+ exists(nonExistingDir, function (er) {
+ t.ok(er, 'non-existing dir resulted in an error')
+ })
+}
+
+function writableTests (t, writable) {
+ writable(writableDir, function (er) {
+ t.error(er, 'writable dir is writable')
+ })
+ writable(nonWritableDir, function (er) {
+ t.ok(er, 'non-writable dir resulted in an error')
+ })
+}
+
+function cleanup () {
+ rimraf.sync(testBase)
+}
diff --git a/deps/npm/test/tap/circular-dep.js b/deps/npm/test/tap/circular-dep.js
index 002b30cd78..d7f66eacef 100644
--- a/deps/npm/test/tap/circular-dep.js
+++ b/deps/npm/test/tap/circular-dep.js
@@ -61,7 +61,10 @@ test('installing a package that depends on the current package', function (t) {
t.ok(existsSync(path.resolve(
minimist,
- 'node_modules', 'optimist',
+ 'node_modules', 'optimist'
+ )), 'optimist in place')
+ t.ok(existsSync(path.resolve(
+ minimist,
'node_modules', 'minimist'
)), 'circular dependency uncircled')
t.end()
diff --git a/deps/npm/test/tap/config-basic.js b/deps/npm/test/tap/config-basic.js
index d5a950a8e5..82fa8ab585 100644
--- a/deps/npm/test/tap/config-basic.js
+++ b/deps/npm/test/tap/config-basic.js
@@ -1,57 +1,58 @@
-var test = require("tap").test
-var npmconf = require("../../lib/config/core.js")
-var common = require("./00-config-setup.js")
-var path = require("path")
+var test = require('tap').test
+var npmconf = require('../../lib/config/core.js')
+var common = require('./00-config-setup.js')
+var path = require('path')
var projectData = {
- "save-prefix": "~",
- "proprietary-attribs": false
+ 'save-prefix': '~',
+ 'proprietary-attribs': false
}
var ucData = common.ucData
var envData = common.envData
var envDataFix = common.envDataFix
-var gcData = { "package-config:foo": "boo" }
+var gcData = { 'package-config:foo': 'boo' }
var biData = {}
-var cli = { foo: "bar", umask: 022 }
+var cli = { foo: 'bar', umask: parseInt('022', 8) }
-var expectList =
-[ cli,
+var expectList = [
+ cli,
envDataFix,
projectData,
ucData,
gcData,
- biData ]
+ biData
+]
var expectSources = {
cli: { data: cli },
env: {
data: envDataFix,
source: envData,
- prefix: ""
+ prefix: ''
},
project: {
- path: path.resolve(__dirname, "..", "..", ".npmrc"),
- type: "ini",
+ path: path.resolve(__dirname, '..', '..', '.npmrc'),
+ type: 'ini',
data: projectData
},
user: {
path: common.userconfig,
- type: "ini",
+ type: 'ini',
data: ucData
},
global: {
path: common.globalconfig,
- type: "ini",
+ type: 'ini',
data: gcData
},
builtin: { data: biData }
}
-test("no builtin", function (t) {
+test('no builtin', function (t) {
npmconf.load(cli, function (er, conf) {
if (er) throw er
t.same(conf.list, expectList)
@@ -59,8 +60,8 @@ test("no builtin", function (t) {
t.same(npmconf.rootConf.list, [])
t.equal(npmconf.rootConf.root, npmconf.defs.defaults)
t.equal(conf.root, npmconf.defs.defaults)
- t.equal(conf.get("umask"), 022)
- t.equal(conf.get("heading"), "npm")
+ t.equal(conf.get('umask'), parseInt('022', 8))
+ t.equal(conf.get('heading'), 'npm')
t.end()
})
})
diff --git a/deps/npm/test/tap/config-builtin.js b/deps/npm/test/tap/config-builtin.js
index 5a1589ff6a..708eb30565 100644
--- a/deps/npm/test/tap/config-builtin.js
+++ b/deps/npm/test/tap/config-builtin.js
@@ -1,22 +1,22 @@
-var test = require("tap").test
-var npmconf = require("../../lib/config/core.js")
-var common = require("./00-config-setup.js")
-var path = require("path")
+var test = require('tap').test
+var npmconf = require('../../lib/config/core.js')
+var common = require('./00-config-setup.js')
+var path = require('path')
var ucData = common.ucData
var envData = common.envData
var envDataFix = common.envDataFix
-var gcData = { "package-config:foo": "boo" }
+var gcData = { 'package-config:foo': 'boo' }
-var biData = { "builtin-config": true }
+var biData = { 'builtin-config': true }
-var cli = { foo: "bar", heading: "foo", "git-tag-version": false }
+var cli = { foo: 'bar', heading: 'foo', 'git-tag-version': false }
var projectData = {
- "save-prefix": "~",
- "proprietary-attribs": false
+ 'save-prefix': '~',
+ 'proprietary-attribs': false
}
var expectList = [
@@ -33,27 +33,27 @@ var expectSources = {
env: {
data: envDataFix,
source: envData,
- prefix: ""
+ prefix: ''
},
project: {
- path: path.resolve(__dirname, "..", "..", ".npmrc"),
- type: "ini",
+ path: path.resolve(__dirname, '..', '..', '.npmrc'),
+ type: 'ini',
data: projectData
},
user: {
path: common.userconfig,
- type: "ini",
+ type: 'ini',
data: ucData
},
global: {
path: common.globalconfig,
- type: "ini",
+ type: 'ini',
data: gcData
},
builtin: { data: biData }
}
-test("with builtin", function (t) {
+test('with builtin', function (t) {
npmconf.load(cli, common.builtin, function (er, conf) {
if (er) throw er
t.same(conf.list, expectList)
@@ -61,8 +61,8 @@ test("with builtin", function (t) {
t.same(npmconf.rootConf.list, [])
t.equal(npmconf.rootConf.root, npmconf.defs.defaults)
t.equal(conf.root, npmconf.defs.defaults)
- t.equal(conf.get("heading"), "foo")
- t.equal(conf.get("git-tag-version"), false)
+ t.equal(conf.get('heading'), 'foo')
+ t.equal(conf.get('git-tag-version'), false)
t.end()
})
})
diff --git a/deps/npm/test/tap/config-certfile.js b/deps/npm/test/tap/config-certfile.js
index 25de9963a9..223ff34196 100644
--- a/deps/npm/test/tap/config-certfile.js
+++ b/deps/npm/test/tap/config-certfile.js
@@ -1,18 +1,18 @@
-require("./00-config-setup.js")
+require('./00-config-setup.js')
-var path = require("path")
-var fs = require("fs")
-var test = require("tap").test
-var npmconf = require("../../lib/config/core.js")
+var path = require('path')
+var fs = require('fs')
+var test = require('tap').test
+var npmconf = require('../../lib/config/core.js')
-test("cafile loads as ca", function (t) {
- var cafile = path.join(__dirname, "..", "fixtures", "config", "multi-ca")
+test('cafile loads as ca', function (t) {
+ var cafile = path.join(__dirname, '..', 'fixtures', 'config', 'multi-ca')
npmconf.load({cafile: cafile}, function (er, conf) {
if (er) throw er
- t.same(conf.get("cafile"), cafile)
- t.same(conf.get("ca").join("\n"), fs.readFileSync(cafile, "utf8").trim())
+ t.same(conf.get('cafile'), cafile)
+ t.same(conf.get('ca').join('\n'), fs.readFileSync(cafile, 'utf8').trim())
t.end()
})
})
diff --git a/deps/npm/test/tap/config-credentials.js b/deps/npm/test/tap/config-credentials.js
index 1cb2a7eb41..c1b981d0a5 100644
--- a/deps/npm/test/tap/config-credentials.js
+++ b/deps/npm/test/tap/config-credentials.js
@@ -1,350 +1,350 @@
-var test = require("tap").test
+var test = require('tap').test
-var npmconf = require("../../lib/config/core.js")
-var common = require("./00-config-setup.js")
+var npmconf = require('../../lib/config/core.js')
+var common = require('./00-config-setup.js')
-var URI = "https://registry.lvh.me:8661/"
+var URI = 'https://registry.lvh.me:8661/'
-test("getting scope with no credentials set", function (t) {
+test('getting scope with no credentials set', function (t) {
npmconf.load({}, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var basic = conf.getCredentialsByURI(URI)
- t.equal(basic.scope, "//registry.lvh.me:8661/", "nerfed URL extracted")
+ t.equal(basic.scope, '//registry.lvh.me:8661/', 'nerfed URL extracted')
t.end()
})
})
-test("trying to set credentials with no URI", function (t) {
+test('trying to set credentials with no URI', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
t.throws(function () {
conf.setCredentialsByURI()
- }, "enforced missing URI")
+ }, 'enforced missing URI')
t.end()
})
})
-test("trying to clear credentials with no URI", function (t) {
+test('trying to clear credentials with no URI', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
t.throws(function () {
conf.clearCredentialsByURI()
- }, "enforced missing URI")
+ }, 'enforced missing URI')
t.end()
})
})
-test("set with missing credentials object", function (t) {
+test('set with missing credentials object', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
t.throws(function () {
conf.setCredentialsByURI(URI)
- }, "enforced missing credentials")
+ }, 'enforced missing credentials')
t.end()
})
})
-test("set with empty credentials object", function (t) {
+test('set with empty credentials object', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
t.throws(function () {
conf.setCredentialsByURI(URI, {})
- }, "enforced missing credentials")
+ }, 'enforced missing credentials')
t.end()
})
})
-test("set with token", function (t) {
+test('set with token', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
t.doesNotThrow(function () {
- conf.setCredentialsByURI(URI, {token : "simple-token"})
- }, "needs only token")
+ conf.setCredentialsByURI(URI, { token: 'simple-token' })
+ }, 'needs only token')
var expected = {
- scope : "//registry.lvh.me:8661/",
- token : "simple-token",
- username : undefined,
- password : undefined,
- email : undefined,
- auth : undefined,
- alwaysAuth : undefined
+ scope: '//registry.lvh.me:8661/',
+ token: 'simple-token',
+ username: undefined,
+ password: undefined,
+ email: undefined,
+ auth: undefined,
+ alwaysAuth: undefined
}
- t.same(conf.getCredentialsByURI(URI), expected, "got bearer token and scope")
+ t.same(conf.getCredentialsByURI(URI), expected, 'got bearer token and scope')
t.end()
})
})
-test("clear with token", function (t) {
+test('clear with token', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
t.doesNotThrow(function () {
- conf.setCredentialsByURI(URI, {token : "simple-token"})
- }, "needs only token")
+ conf.setCredentialsByURI(URI, { token: 'simple-token' })
+ }, 'needs only token')
t.doesNotThrow(function () {
conf.clearCredentialsByURI(URI)
- }, "needs only URI")
+ }, 'needs only URI')
- t.notOk(conf.getCredentialsByURI(URI).token, "token all gone")
+ t.notOk(conf.getCredentialsByURI(URI).token, 'token all gone')
t.end()
})
})
-test("set with missing username", function (t) {
+test('set with missing username', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- password : "password",
- email : "ogd@aoaioxxysz.net"
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net'
}
t.throws(function () {
conf.setCredentialsByURI(URI, credentials)
- }, "enforced missing email")
+ }, 'enforced missing email')
t.end()
})
})
-test("set with missing password", function (t) {
+test('set with missing password', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- username : "username",
- email : "ogd@aoaioxxysz.net"
+ username: 'username',
+ email: 'ogd@aoaioxxysz.net'
}
t.throws(function () {
conf.setCredentialsByURI(URI, credentials)
- }, "enforced missing email")
+ }, 'enforced missing email')
t.end()
})
})
-test("set with missing email", function (t) {
+test('set with missing email', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- username : "username",
- password : "password"
+ username: 'username',
+ password: 'password'
}
t.throws(function () {
conf.setCredentialsByURI(URI, credentials)
- }, "enforced missing email")
+ }, 'enforced missing email')
t.end()
})
})
-test("set with old-style credentials", function (t) {
+test('set with old-style credentials', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net"
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net'
}
t.doesNotThrow(function () {
conf.setCredentialsByURI(URI, credentials)
- }, "requires all of username, password, and email")
+ }, 'requires all of username, password, and email')
var expected = {
- scope : "//registry.lvh.me:8661/",
- token : undefined,
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- auth : "dXNlcm5hbWU6cGFzc3dvcmQ=",
- alwaysAuth : false
+ scope: '//registry.lvh.me:8661/',
+ token: undefined,
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
+ alwaysAuth: false
}
- t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
+ t.same(conf.getCredentialsByURI(URI), expected, 'got credentials')
t.end()
})
})
-test("clear with old-style credentials", function (t) {
+test('clear with old-style credentials', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net"
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net'
}
t.doesNotThrow(function () {
conf.setCredentialsByURI(URI, credentials)
- }, "requires all of username, password, and email")
+ }, 'requires all of username, password, and email')
t.doesNotThrow(function () {
conf.clearCredentialsByURI(URI)
- }, "clearing only required URI")
+ }, 'clearing only required URI')
- t.notOk(conf.getCredentialsByURI(URI).username, "username cleared")
- t.notOk(conf.getCredentialsByURI(URI).password, "password cleared")
+ t.notOk(conf.getCredentialsByURI(URI).username, 'username cleared')
+ t.notOk(conf.getCredentialsByURI(URI).password, 'password cleared')
t.end()
})
})
-test("get old-style credentials for default registry", function (t) {
+test('get old-style credentials for default registry', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- var actual = conf.getCredentialsByURI(conf.get("registry"))
+ var actual = conf.getCredentialsByURI(conf.get('registry'))
var expected = {
- scope : "//registry.npmjs.org/",
- token : undefined,
- password : "password",
- username : "username",
- email : "i@izs.me",
- auth : "dXNlcm5hbWU6cGFzc3dvcmQ=",
- alwaysAuth : false
+ scope: '//registry.npmjs.org/',
+ token: undefined,
+ password: 'password',
+ username: 'username',
+ email: 'i@izs.me',
+ auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
+ alwaysAuth: false
}
t.same(actual, expected)
t.end()
})
})
-test("set with always-auth enabled", function (t) {
+test('set with always-auth enabled', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- alwaysAuth : true
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ alwaysAuth: true
}
conf.setCredentialsByURI(URI, credentials)
var expected = {
- scope : "//registry.lvh.me:8661/",
- token : undefined,
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- auth : "dXNlcm5hbWU6cGFzc3dvcmQ=",
- alwaysAuth : true
+ scope: '//registry.lvh.me:8661/',
+ token: undefined,
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
+ alwaysAuth: true
}
- t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
+ t.same(conf.getCredentialsByURI(URI), expected, 'got credentials')
t.end()
})
})
-test("set with always-auth disabled", function (t) {
+test('set with always-auth disabled', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
+ t.ifError(er, 'configuration loaded')
var credentials = {
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- alwaysAuth : false
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ alwaysAuth: false
}
conf.setCredentialsByURI(URI, credentials)
var expected = {
- scope : "//registry.lvh.me:8661/",
- token : undefined,
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- auth : "dXNlcm5hbWU6cGFzc3dvcmQ=",
- alwaysAuth : false
+ scope: '//registry.lvh.me:8661/',
+ token: undefined,
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
+ alwaysAuth: false
}
- t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
+ t.same(conf.getCredentialsByURI(URI), expected, 'got credentials')
t.end()
})
})
-test("set with global always-auth enabled", function (t) {
+test('set with global always-auth enabled', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
- var original = conf.get("always-auth")
- conf.set("always-auth", true)
+ t.ifError(er, 'configuration loaded')
+ var original = conf.get('always-auth')
+ conf.set('always-auth', true)
var credentials = {
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net"
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net'
}
conf.setCredentialsByURI(URI, credentials)
var expected = {
- scope : "//registry.lvh.me:8661/",
- token : undefined,
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- auth : "dXNlcm5hbWU6cGFzc3dvcmQ=",
- alwaysAuth : true
+ scope: '//registry.lvh.me:8661/',
+ token: undefined,
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
+ alwaysAuth: true
}
- t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
+ t.same(conf.getCredentialsByURI(URI), expected, 'got credentials')
- conf.set("always-auth", original)
+ conf.set('always-auth', original)
t.end()
})
})
-test("set with global always-auth disabled", function (t) {
+test('set with global always-auth disabled', function (t) {
npmconf.load(common.builtin, function (er, conf) {
- t.ifError(er, "configuration loaded")
- var original = conf.get("always-auth")
- conf.set("always-auth", false)
+ t.ifError(er, 'configuration loaded')
+ var original = conf.get('always-auth')
+ conf.set('always-auth', false)
var credentials = {
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net"
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net'
}
conf.setCredentialsByURI(URI, credentials)
var expected = {
- scope : "//registry.lvh.me:8661/",
- token : undefined,
- username : "username",
- password : "password",
- email : "ogd@aoaioxxysz.net",
- auth : "dXNlcm5hbWU6cGFzc3dvcmQ=",
- alwaysAuth : false
+ scope: '//registry.lvh.me:8661/',
+ token: undefined,
+ username: 'username',
+ password: 'password',
+ email: 'ogd@aoaioxxysz.net',
+ auth: 'dXNlcm5hbWU6cGFzc3dvcmQ=',
+ alwaysAuth: false
}
- t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
+ t.same(conf.getCredentialsByURI(URI), expected, 'got credentials')
- conf.set("always-auth", original)
+ conf.set('always-auth', original)
t.end()
})
})
diff --git a/deps/npm/test/tap/config-edit.js b/deps/npm/test/tap/config-edit.js
index 97a54d2ece..f9e09aba3a 100644
--- a/deps/npm/test/tap/config-edit.js
+++ b/deps/npm/test/tap/config-edit.js
@@ -1,39 +1,39 @@
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var test = require("tap").test
-var common = require("../common-tap.js")
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, "npm-global-edit")
+var pkg = path.resolve(__dirname, 'npm-global-edit')
var editorSrc = function () {/*
#!/usr/bin/env node
-var fs = require("fs")
+var fs = require('fs')
if (fs.existsSync(process.argv[2])) {
- console.log("success")
+ console.log('success')
} else {
- console.log("error")
+ console.log('error')
process.exit(1)
}
-*/}.toString().split("\n").slice(1, -1).join("\n")
-var editorPath = path.join(pkg, "editor")
+*/}.toString().split('\n').slice(1, -1).join('\n')
+var editorPath = path.join(pkg, 'editor')
-test("setup", function (t) {
+test('setup', function (t) {
cleanup(function (er) {
- t.ifError(er, "old directory removed")
+ t.ifError(er, 'old directory removed')
- mkdirp(pkg, "0777", function (er) {
+ mkdirp(pkg, '0777', function (er) {
fs.writeFileSync(editorPath, editorSrc)
- fs.chmodSync(editorPath, "0777")
- t.ifError(er, "created package directory correctly")
+ fs.chmodSync(editorPath, '0777')
+ t.ifError(er, 'created package directory correctly')
t.end()
})
})
})
-test("saving configs", function (t) {
+test('saving configs', function (t) {
var opts = {
cwd: pkg,
env: {
@@ -43,26 +43,26 @@ test("saving configs", function (t) {
}
common.npm(
[
- "config",
- "--prefix", pkg,
- "--global",
- "edit"
+ 'config',
+ '--prefix', pkg,
+ '--global',
+ 'edit'
],
opts,
function (err, code, stdout, stderr) {
- t.ifError(err, "command ran without issue")
+ t.ifError(err, 'command ran without issue')
- t.equal(stderr, "", "got nothing on stderr")
- t.equal(code, 0, "exit ok")
- t.equal(stdout, "success\n", "got success message")
+ t.equal(stderr, '', 'got nothing on stderr')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout, 'success\n', 'got success message')
t.end()
}
)
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup(function (er) {
- t.ifError(er, "test directory removed OK")
+ t.ifError(er, 'test directory removed OK')
t.end()
})
})
diff --git a/deps/npm/test/tap/config-malformed.js b/deps/npm/test/tap/config-malformed.js
index 0450221462..4f74ea5387 100644
--- a/deps/npm/test/tap/config-malformed.js
+++ b/deps/npm/test/tap/config-malformed.js
@@ -1,7 +1,7 @@
var test = require('tap').test
-var npmconf = require("../../lib/config/core.js")
-var common = require("./00-config-setup.js")
+var npmconf = require('../../lib/config/core.js')
+var common = require('./00-config-setup.js')
test('with malformed', function (t) {
npmconf.load({}, common.malformed, function (er, conf) {
diff --git a/deps/npm/test/tap/config-meta.js b/deps/npm/test/tap/config-meta.js
index 3da27a872b..bb40e2038d 100644
--- a/deps/npm/test/tap/config-meta.js
+++ b/deps/npm/test/tap/config-meta.js
@@ -4,34 +4,34 @@
// b) Documented
// c) Defined in the `npmconf` package.
-var test = require("tap").test
-var fs = require("fs")
-var path = require("path")
-var root = path.resolve(__dirname, "..", "..")
-var lib = path.resolve(root, "lib")
-var nm = path.resolve(root, "node_modules")
-var doc = path.resolve(root, "doc/misc/npm-config.md")
+var test = require('tap').test
+var fs = require('fs')
+var path = require('path')
+var root = path.resolve(__dirname, '..', '..')
+var lib = path.resolve(root, 'lib')
+var nm = path.resolve(root, 'node_modules')
+var doc = path.resolve(root, 'doc/misc/npm-config.md')
var FILES = []
var CONFS = {}
var DOC = {}
var exceptions = [
- path.resolve(lib, "adduser.js"),
- path.resolve(lib, "config.js"),
- path.resolve(lib, "publish.js"),
- path.resolve(lib, "utils", "lifecycle.js"),
- path.resolve(lib, "utils", "map-to-registry.js"),
- path.resolve(nm, "npm-registry-client", "lib", "publish.js"),
- path.resolve(nm, "npm-registry-client", "lib", "request.js")
+ path.resolve(lib, 'adduser.js'),
+ path.resolve(lib, 'config.js'),
+ path.resolve(lib, 'publish.js'),
+ path.resolve(lib, 'utils', 'lifecycle.js'),
+ path.resolve(lib, 'utils', 'map-to-registry.js'),
+ path.resolve(nm, 'npm-registry-client', 'lib', 'publish.js'),
+ path.resolve(nm, 'npm-registry-client', 'lib', 'request.js')
]
-test("get files", function (t) {
+test('get files', function (t) {
walk(nm)
walk(lib)
- t.pass("got files")
+ t.pass('got files')
t.end()
- function walk(lib) {
+ function walk (lib) {
var files = fs.readdirSync(lib).map(function (f) {
return path.resolve(lib, f)
})
@@ -41,86 +41,89 @@ test("get files", function (t) {
} catch (er) {
return
}
- if (s.isDirectory())
+ if (s.isDirectory()) {
walk(f)
- else if (f.match(/\.js$/))
+ } else if (f.match(/\.js$/)) {
FILES.push(f)
+ }
})
}
})
-test("get lines", function (t) {
+test('get lines', function (t) {
FILES.forEach(function (f) {
- var lines = fs.readFileSync(f, "utf8").split(/\r|\n/)
+ var lines = fs.readFileSync(f, 'utf8').split(/\r|\n/)
lines.forEach(function (l, i) {
var matches = l.split(/conf(?:ig)?\.get\(/g)
matches.shift()
matches.forEach(function (m) {
- m = m.split(")").shift()
- var literal = m.match(/^['"].+?['"]/)
+ m = m.split(')').shift()
+ var literal = m.match(/^[''].+?['']/)
if (literal) {
m = literal[0].slice(1, -1)
- if (!m.match(/^\_/) && m !== "argv")
+ if (!m.match(/^\_/) && m !== 'argv') {
CONFS[m] = {
file: f,
line: i
}
+ }
} else if (exceptions.indexOf(f) === -1) {
- t.fail("non-string-literal config used in " + f + ":" + i)
+ t.fail('non-string-literal config used in ' + f + ':' + i)
}
})
})
})
- t.pass("got lines")
+ t.pass('got lines')
t.end()
})
-test("get docs", function (t) {
- var d = fs.readFileSync(doc, "utf8").split(/\r|\n/)
- // walk down until the "## Config Settings" section
- for (var i = 0; i < d.length && d[i] !== "## Config Settings"; i++);
+test('get docs', function (t) {
+ var d = fs.readFileSync(doc, 'utf8').split(/\r|\n/)
+ // walk down until the '## Config Settings' section
+ for (var i = 0; i < d.length && d[i] !== '## Config Settings'; i++);
i++
// now gather up all the ^###\s lines until the next ^##\s
for (; i < d.length && !d[i].match(/^## /); i++) {
- if (d[i].match(/^### /))
- DOC[ d[i].replace(/^### /, "").trim() ] = true
+ if (d[i].match(/^### /)) {
+ DOC[ d[i].replace(/^### /, '').trim() ] = true
+ }
}
- t.pass("read the docs")
+ t.pass('read the docs')
t.end()
})
-test("check configs", function (t) {
- var defs = require("../../lib/config/defaults.js")
+test('check configs', function (t) {
+ var defs = require('../../lib/config/defaults.js')
var types = Object.keys(defs.types)
var defaults = Object.keys(defs.defaults)
for (var c1 in CONFS) {
if (CONFS[c1].file.indexOf(lib) === 0) {
- t.ok(DOC[c1], "should be documented " + c1 + " "
- + CONFS[c1].file + ":" + CONFS[c1].line)
- t.ok(types.indexOf(c1) !== -1, "should be defined in npmconf " + c1)
- t.ok(defaults.indexOf(c1) !== -1, "should have default in npmconf " + c1)
+ t.ok(DOC[c1], 'should be documented ' + c1 + ' ' +
+ CONFS[c1].file + ':' + CONFS[c1].line)
+ t.ok(types.indexOf(c1) !== -1, 'should be defined in npmconf ' + c1)
+ t.ok(defaults.indexOf(c1) !== -1, 'should have default in npmconf ' + c1)
}
}
for (var c2 in DOC) {
- if (c2 !== "versions" && c2 !== "version" && c2 !== "init.version") {
- t.ok(CONFS[c2], "config in doc should be used somewhere " + c2)
- t.ok(types.indexOf(c2) !== -1, "should be defined in npmconf " + c2)
- t.ok(defaults.indexOf(c2) !== -1, "should have default in npmconf " + c2)
+ if (c2 !== 'versions' && c2 !== 'version' && c2 !== 'init.version') {
+ t.ok(CONFS[c2], 'config in doc should be used somewhere ' + c2)
+ t.ok(types.indexOf(c2) !== -1, 'should be defined in npmconf ' + c2)
+ t.ok(defaults.indexOf(c2) !== -1, 'should have default in npmconf ' + c2)
}
}
types.forEach(function (c) {
- if (!c.match(/^\_/) && c !== "argv" && !c.match(/^versions?$/)) {
- t.ok(DOC[c], "defined type should be documented " + c)
- t.ok(CONFS[c], "defined type should be used " + c)
+ if (!c.match(/^\_/) && c !== 'argv' && !c.match(/^versions?$/)) {
+ t.ok(DOC[c], 'defined type should be documented ' + c)
+ t.ok(CONFS[c], 'defined type should be used ' + c)
}
})
defaults.forEach(function (c) {
- if (!c.match(/^\_/) && c !== "argv" && !c.match(/^versions?$/)) {
- t.ok(DOC[c], "defaulted type should be documented " + c)
- t.ok(CONFS[c], "defaulted type should be used " + c)
+ if (!c.match(/^\_/) && c !== 'argv' && !c.match(/^versions?$/)) {
+ t.ok(DOC[c], 'defaulted type should be documented ' + c)
+ t.ok(CONFS[c], 'defaulted type should be used ' + c)
}
})
diff --git a/deps/npm/test/tap/config-private.js b/deps/npm/test/tap/config-private.js
index 37e283eec3..97c6a73f14 100644
--- a/deps/npm/test/tap/config-private.js
+++ b/deps/npm/test/tap/config-private.js
@@ -1,81 +1,81 @@
-var fs = require("fs")
-var path = require("path")
-var test = require("tap").test
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var common = require("../common-tap.js")
+var fs = require('fs')
+var path = require('path')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, "config-private")
+var pkg = path.resolve(__dirname, 'config-private')
var opts = { cwd: pkg }
-test("setup", function (t) {
+test('setup', function (t) {
rimraf.sync(pkg)
mkdirp.sync(pkg)
t.end()
})
-test("config get private var (old auth)", function (t) {
+test('config get private var (old auth)', function (t) {
common.npm([
- "config",
- "get",
- "_auth"
+ 'config',
+ 'get',
+ '_auth'
],
opts,
function (err, code, stdout, stderr) {
t.ifError(err)
- t.similar(stderr, /sekretz/, "password blocked on stderr")
- t.equal(stdout, "", "no output")
+ t.similar(stderr, /sekretz/, 'password blocked on stderr')
+ t.equal(stdout, '', 'no output')
t.end()
}
)
})
-test("config get private var (new auth)", function (t) {
+test('config get private var (new auth)', function (t) {
common.npm([
- "config",
- "get",
- "//registry.npmjs.org/:_password"
+ 'config',
+ 'get',
+ '//registry.npmjs.org/:_password'
],
opts,
function (err, code, stdout, stderr) {
t.ifError(err)
- t.similar(stderr, /sekretz/, "password blocked on stderr")
- t.equal(stdout, "", "no output")
+ t.similar(stderr, /sekretz/, 'password blocked on stderr')
+ t.equal(stdout, '', 'no output')
t.end()
}
)
})
-test("config get public var (new username)", function (t) {
- var FIXTURE_PATH = path.resolve(pkg, "fixture_npmrc")
- var s = "//registry.lvh.me/:username = wombat\n" +
- "//registry.lvh.me/:_password = YmFkIHBhc3N3b3Jk\n" +
- "//registry.lvh.me/:email = lindsay@wdu.org.au\n"
- fs.writeFileSync(FIXTURE_PATH, s, "ascii")
- fs.chmodSync(FIXTURE_PATH, "0444")
+test('config get public var (new username)', function (t) {
+ var FIXTURE_PATH = path.resolve(pkg, 'fixture_npmrc')
+ var s = '//registry.lvh.me/:username = wombat\n' +
+ '//registry.lvh.me/:_password = YmFkIHBhc3N3b3Jk\n' +
+ '//registry.lvh.me/:email = lindsay@wdu.org.au\n'
+ fs.writeFileSync(FIXTURE_PATH, s, 'ascii')
+ fs.chmodSync(FIXTURE_PATH, '0444')
common.npm(
[
- "config",
- "get",
- "//registry.lvh.me/:username",
- "--userconfig=" + FIXTURE_PATH,
- "--registry=http://registry.lvh.me/"
+ 'config',
+ 'get',
+ '//registry.lvh.me/:username',
+ '--userconfig=' + FIXTURE_PATH,
+ '--registry=http://registry.lvh.me/'
],
opts,
function (err, code, stdout, stderr) {
t.ifError(err)
- t.equal(stderr, "", "stderr is empty")
- t.equal(stdout, "wombat\n", "got usename is output")
+ t.equal(stderr, '', 'stderr is empty')
+ t.equal(stdout, 'wombat\n', 'got usename is output')
t.end()
}
)
})
-test("clean", function (t) {
+test('clean', function (t) {
rimraf.sync(pkg)
t.end()
})
diff --git a/deps/npm/test/tap/config-project.js b/deps/npm/test/tap/config-project.js
index 337355bf28..b9e8b7ac04 100644
--- a/deps/npm/test/tap/config-project.js
+++ b/deps/npm/test/tap/config-project.js
@@ -1,21 +1,21 @@
-var test = require("tap").test
-var path = require("path")
-var fix = path.resolve(__dirname, "..", "fixtures", "config")
-var projectRc = path.resolve(fix, ".npmrc")
-var npmconf = require("../../lib/config/core.js")
-var common = require("./00-config-setup.js")
+var test = require('tap').test
+var path = require('path')
+var fix = path.resolve(__dirname, '..', 'fixtures', 'config')
+var projectRc = path.resolve(fix, '.npmrc')
+var npmconf = require('../../lib/config/core.js')
+var common = require('./00-config-setup.js')
-var projectData = { just: "testing" }
+var projectData = { just: 'testing' }
var ucData = common.ucData
var envData = common.envData
var envDataFix = common.envDataFix
-var gcData = { "package-config:foo": "boo" }
+var gcData = { 'package-config:foo': 'boo' }
var biData = {}
-var cli = { foo: "bar", umask: 022, prefix: fix }
+var cli = { foo: 'bar', umask: parseInt('022', 8), prefix: fix }
var expectList = [
cli,
@@ -31,27 +31,27 @@ var expectSources = {
env: {
data: envDataFix,
source: envData,
- prefix: ""
+ prefix: ''
},
project: {
path: projectRc,
- type: "ini",
+ type: 'ini',
data: projectData
},
user: {
path: common.userconfig,
- type: "ini",
+ type: 'ini',
data: ucData
},
global: {
path: common.globalconfig,
- type: "ini",
+ type: 'ini',
data: gcData
},
builtin: { data: biData }
}
-test("no builtin", function (t) {
+test('no builtin', function (t) {
npmconf.load(cli, function (er, conf) {
if (er) throw er
t.same(conf.list, expectList)
@@ -59,8 +59,8 @@ test("no builtin", function (t) {
t.same(npmconf.rootConf.list, [])
t.equal(npmconf.rootConf.root, npmconf.defs.defaults)
t.equal(conf.root, npmconf.defs.defaults)
- t.equal(conf.get("umask"), 022)
- t.equal(conf.get("heading"), "npm")
+ t.equal(conf.get('umask'), parseInt('022', 8))
+ t.equal(conf.get('heading'), 'npm')
t.end()
})
})
diff --git a/deps/npm/test/tap/config-save.js b/deps/npm/test/tap/config-save.js
index 88526a38af..903bac7ae3 100644
--- a/deps/npm/test/tap/config-save.js
+++ b/deps/npm/test/tap/config-save.js
@@ -1,88 +1,87 @@
-var fs = require("fs")
-var ini = require("ini")
-var test = require("tap").test
-var npmconf = require("../../lib/config/core.js")
-var common = require("./00-config-setup.js")
+var fs = require('fs')
+var ini = require('ini')
+var test = require('tap').test
+var npmconf = require('../../lib/config/core.js')
+var common = require('./00-config-setup.js')
var expectConf = [
- "globalconfig = " + common.globalconfig,
- "email = i@izs.me",
- "env-thing = asdf",
- "init.author.name = Isaac Z. Schlueter",
- "init.author.email = i@izs.me",
- "init.author.url = http://blog.izs.me/",
- "init.version = 1.2.3",
- "proprietary-attribs = false",
- "npm:publishtest = true",
- "_npmjs.org:couch = https://admin:password@localhost:5984/registry",
- "npm-www:nocache = 1",
- "sign-git-tag = false",
- "message = v%s",
- "strict-ssl = false",
- "_auth = dXNlcm5hbWU6cGFzc3dvcmQ=",
- "",
- "[_token]",
- "AuthSession = yabba-dabba-doodle",
- "version = 1",
- "expires = 1345001053415",
- "path = /",
- "httponly = true",
- ""
-].join("\n")
+ 'globalconfig = ' + common.globalconfig,
+ 'email = i@izs.me',
+ 'env-thing = asdf',
+ 'init.author.name = Isaac Z. Schlueter',
+ 'init.author.email = i@izs.me',
+ 'init.author.url = http://blog.izs.me/',
+ 'init.version = 1.2.3',
+ 'proprietary-attribs = false',
+ 'npm:publishtest = true',
+ '_npmjs.org:couch = https://admin:password@localhost:5984/registry',
+ 'npm-www:nocache = 1',
+ 'sign-git-tag = false',
+ 'message = v%s',
+ 'strict-ssl = false',
+ '_auth = dXNlcm5hbWU6cGFzc3dvcmQ=',
+ '',
+ '[_token]',
+ 'AuthSession = yabba-dabba-doodle',
+ 'version = 1',
+ 'expires = 1345001053415',
+ 'path = /',
+ 'httponly = true',
+ ''
+].join('\n')
var expectFile = [
- "globalconfig = " + common.globalconfig,
- "email = i@izs.me",
- "env-thing = asdf",
- "init.author.name = Isaac Z. Schlueter",
- "init.author.email = i@izs.me",
- "init.author.url = http://blog.izs.me/",
- "init.version = 1.2.3",
- "proprietary-attribs = false",
- "npm:publishtest = true",
- "_npmjs.org:couch = https://admin:password@localhost:5984/registry",
- "npm-www:nocache = 1",
- "sign-git-tag = false",
- "message = v%s",
- "strict-ssl = false",
- "_auth = dXNlcm5hbWU6cGFzc3dvcmQ=",
- "",
- "[_token]",
- "AuthSession = yabba-dabba-doodle",
- "version = 1",
- "expires = 1345001053415",
- "path = /",
- "httponly = true",
- ""
-].join("\n")
+ 'globalconfig = ' + common.globalconfig,
+ 'email = i@izs.me',
+ 'env-thing = asdf',
+ 'init.author.name = Isaac Z. Schlueter',
+ 'init.author.email = i@izs.me',
+ 'init.author.url = http://blog.izs.me/',
+ 'init.version = 1.2.3',
+ 'proprietary-attribs = false',
+ 'npm:publishtest = true',
+ '_npmjs.org:couch = https://admin:password@localhost:5984/registry',
+ 'npm-www:nocache = 1',
+ 'sign-git-tag = false',
+ 'message = v%s',
+ 'strict-ssl = false',
+ '_auth = dXNlcm5hbWU6cGFzc3dvcmQ=',
+ '',
+ '[_token]',
+ 'AuthSession = yabba-dabba-doodle',
+ 'version = 1',
+ 'expires = 1345001053415',
+ 'path = /',
+ 'httponly = true',
+ ''
+].join('\n')
-test("saving configs", function (t) {
+test('saving configs', function (t) {
npmconf.load(function (er, conf) {
- if (er)
- throw er
- conf.set("sign-git-tag", false, "user")
- conf.del("nodedir")
- conf.del("tmp")
+ if (er) throw er
+
+ conf.set('sign-git-tag', false, 'user')
+ conf.del('nodedir')
+ conf.del('tmp')
var foundConf = ini.stringify(conf.sources.user.data)
t.same(ini.parse(foundConf), ini.parse(expectConf))
fs.unlinkSync(common.userconfig)
- conf.save("user", function (er) {
- if (er)
- throw er
- var uc = fs.readFileSync(conf.get("userconfig"), "utf8")
+ conf.save('user', function (er) {
+ if (er) throw er
+
+ var uc = fs.readFileSync(conf.get('userconfig'), 'utf8')
t.same(ini.parse(uc), ini.parse(expectFile))
t.end()
})
})
})
-test("setting prefix", function (t) {
+test('setting prefix', function (t) {
npmconf.load(function (er, conf) {
- if (er)
- throw er
+ if (er) throw er
- conf.prefix = "newvalue"
- t.same(conf.prefix, "newvalue")
+ conf.prefix = 'newvalue'
+ t.same(conf.prefix, 'newvalue')
t.end()
})
})
diff --git a/deps/npm/test/tap/cruft-test.js b/deps/npm/test/tap/cruft-test.js
new file mode 100644
index 0000000000..0cbcc6f56c
--- /dev/null
+++ b/deps/npm/test/tap/cruft-test.js
@@ -0,0 +1,43 @@
+'use strict'
+var fs = require('graceful-fs')
+var path = require('path')
+var mkdirpSync = require('mkdirp').sync
+var rimraf = require('rimraf')
+var test = require('tap').test
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var cruft = path.join(base, 'node_modules', 'cruuuft')
+var pkg = {
+ name: 'example',
+ version: '1.0.0',
+ dependencies: {}
+}
+
+function setup () {
+ mkdirpSync(path.dirname(cruft))
+ fs.writeFileSync(cruft, 'this is some cruft for sure')
+ fs.writeFileSync(path.join(base, 'package.json'), JSON.stringify(pkg))
+}
+
+function cleanup () {
+ rimraf.sync(base)
+}
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ t.done()
+})
+
+test('cruft', function (t) {
+ common.npm(['ls'], {cwd: base}, function (er, code, stdout, stderr) {
+ t.is(stderr, '', 'no warnings or errors from ls')
+ t.done()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.done()
+})
diff --git a/deps/npm/test/tap/dedupe-scoped.js b/deps/npm/test/tap/dedupe-scoped.js
index a093e1f8c0..bc352356d4 100644
--- a/deps/npm/test/tap/dedupe-scoped.js
+++ b/deps/npm/test/tap/dedupe-scoped.js
@@ -11,12 +11,11 @@ var modules = join(pkg, 'node_modules')
var EXEC_OPTS = { cwd: pkg }
-var prolog = 'dedupe@0.0.0 ' + pkg
var body = function () {/*
-├─┬ first@1.0.0
-│ └── @scope/shared@2.1.6
-└─┬ second@2.0.0
- └── @scope/shared@2.1.6
+@scope/shared@2.1.6 node_modules/first/node_modules/@scope/shared -> node_modules/@scope/shared
+firstUnique@0.6.0 node_modules/first/node_modules/firstUnique -> node_modules/firstUnique
+secondUnique@1.2.0 node_modules/second/node_modules/secondUnique -> node_modules/secondUnique
+- @scope/shared@2.1.6 node_modules/second/node_modules/@scope/shared
*/}.toString().split('\n').slice(1, -1)
var deduper = {
@@ -61,7 +60,6 @@ var secondUnique = {
'version': '1.2.0'
}
-
test('setup', function (t) {
setup()
t.end()
@@ -82,7 +80,7 @@ test('dedupe finds the common scoped modules and moves it up one level', functio
t.notOk(stderr, 'npm printed no errors')
t.same(
stdout.trim().split('\n').map(ltrimm),
- [prolog].concat(body).map(ltrimm),
+ body.map(ltrimm),
'got expected output'
)
diff --git a/deps/npm/test/tap/dedupe.js b/deps/npm/test/tap/dedupe.js
index 7b80102b33..4c34248189 100644
--- a/deps/npm/test/tap/dedupe.js
+++ b/deps/npm/test/tap/dedupe.js
@@ -24,6 +24,32 @@ var json = {
}
}
+var shrinkwrap = {
+ name: 'dedupe',
+ version: '0.0.0',
+ dependencies: {
+ clean: {
+ version: '2.1.6',
+ dependencies: {
+ checker: {
+ version: '0.5.2',
+ dependencies: {
+ async: { version: '0.2.10' }
+ }
+ },
+ minimist: { version: '0.0.5' }
+ }
+ },
+ optimist: {
+ version: '0.6.0',
+ dependencies: {
+ wordwrap: { version: '0.0.2' },
+ minimist: { version: '0.0.5' }
+ }
+ }
+ }
+}
+
test('setup', function (t) {
t.comment('test for https://github.com/npm/npm/issues/4675')
setup(function () {
@@ -50,9 +76,15 @@ test('dedupe finds the common module and moves it up one level', function (t) {
t.ifError(err, 'successfully deduped against previous install')
t.notOk(code, 'npm dedupe exited with code')
- t.ok(existsSync(path.join(pkg, 'node_modules', 'minimist')))
- t.notOk(existsSync(path.join(pkg, 'node_modules', 'checker')))
-
+ t.ok(existsSync(path.join(pkg, 'node_modules', 'minimist')), 'minimist module exists')
+ t.notOk(
+ existsSync(path.join(pkg, 'node_modules', 'clean', 'node_modules', 'minimist')),
+ 'no clean/minimist'
+ )
+ t.notOk(
+ existsSync(path.join(pkg, 'node_modules', 'optimist', 'node_modules', 'minimist')),
+ 'no optmist/minimist'
+ )
t.end()
}
)
@@ -72,11 +104,15 @@ function cleanup () {
function setup (cb) {
cleanup()
- mkdirp.sync(path.join(pkg, 'node_modules'))
+ mkdirp.sync(pkg)
fs.writeFileSync(
path.join(pkg, 'package.json'),
JSON.stringify(json, null, 2)
)
+ fs.writeFileSync(
+ path.join(pkg, 'npm-shrinkwrap.json'),
+ JSON.stringify(shrinkwrap, null, 2)
+ )
process.chdir(pkg)
mr({ port: common.port }, function (er, s) {
diff --git a/deps/npm/test/tap/deprecate.js b/deps/npm/test/tap/deprecate.js
index 0c46453559..1d9a867cd7 100644
--- a/deps/npm/test/tap/deprecate.js
+++ b/deps/npm/test/tap/deprecate.js
@@ -1,14 +1,8 @@
-var fs = require('fs')
-var path = require('path')
-var mkdirp = require('mkdirp')
-var rimraf = require('rimraf')
var mr = require('npm-registry-mock')
-var semver = require('semver')
var test = require('tap').test
var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, 'deprecate')
var server
var cache = {
diff --git a/deps/npm/test/tap/dist-tag.js b/deps/npm/test/tap/dist-tag.js
index 08a5ca438c..62ecab2c0a 100644
--- a/deps/npm/test/tap/dist-tag.js
+++ b/deps/npm/test/tap/dist-tag.js
@@ -1,62 +1,62 @@
-var fs = require("fs")
-var path = require("path")
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var mr = require("npm-registry-mock")
+var fs = require('fs')
+var path = require('path')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var mr = require('npm-registry-mock')
-var test = require("tap").test
-var common = require("../common-tap.js")
+var test = require('tap').test
+var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, "dist-tag")
+var pkg = path.resolve(__dirname, 'dist-tag')
var server
var scoped = {
- name : "@scoped/pkg",
- version : "1.1.1"
+ name: '@scoped/pkg',
+ version: '1.1.1'
}
function mocks (server) {
// ls current package
- server.get("/-/package/@scoped%2fpkg/dist-tags")
- .reply(200, { latest : "1.0.0", a : "0.0.1", b : "0.5.0" })
+ server.get('/-/package/@scoped%2fpkg/dist-tags')
+ .reply(200, { latest: '1.0.0', a: '0.0.1', b: '0.5.0' })
// ls named package
- server.get("/-/package/@scoped%2fanother/dist-tags")
- .reply(200, { latest : "2.0.0", a : "0.0.2", b : "0.6.0" })
+ server.get('/-/package/@scoped%2fanother/dist-tags')
+ .reply(200, { latest: '2.0.0', a: '0.0.2', b: '0.6.0' })
// add c
- server.get("/-/package/@scoped%2fanother/dist-tags")
- .reply(200, { latest : "2.0.0", a : "0.0.2", b : "0.6.0" })
- server.put("/-/package/@scoped%2fanother/dist-tags/c", "\"7.7.7\"")
- .reply(200, { latest : "7.7.7", a : "0.0.2", b : "0.6.0", c : "7.7.7" })
+ server.get('/-/package/@scoped%2fanother/dist-tags')
+ .reply(200, { latest: '2.0.0', a: '0.0.2', b: '0.6.0' })
+ server.put('/-/package/@scoped%2fanother/dist-tags/c', '\"7.7.7\"')
+ .reply(200, { latest: '7.7.7', a: '0.0.2', b: '0.6.0', c: '7.7.7' })
// set same version
- server.get("/-/package/@scoped%2fanother/dist-tags")
- .reply(200, { latest : "2.0.0", b : "0.6.0" })
+ server.get('/-/package/@scoped%2fanother/dist-tags')
+ .reply(200, { latest: '2.0.0', b: '0.6.0' })
// rm
- server.get("/-/package/@scoped%2fanother/dist-tags")
- .reply(200, { latest : "2.0.0", a : "0.0.2", b : "0.6.0", c : "7.7.7" })
- server.delete("/-/package/@scoped%2fanother/dist-tags/c")
- .reply(200, { c : "7.7.7" })
+ server.get('/-/package/@scoped%2fanother/dist-tags')
+ .reply(200, { latest: '2.0.0', a: '0.0.2', b: '0.6.0', c: '7.7.7' })
+ server.delete('/-/package/@scoped%2fanother/dist-tags/c')
+ .reply(200, { c: '7.7.7' })
// rm
- server.get("/-/package/@scoped%2fanother/dist-tags")
- .reply(200, { latest : "4.0.0" })
+ server.get('/-/package/@scoped%2fanother/dist-tags')
+ .reply(200, { latest: '4.0.0' })
}
-test("setup", function (t) {
+test('setup', function (t) {
mkdirp(pkg, function (er) {
- t.ifError(er, pkg + " made successfully")
+ t.ifError(er, pkg + ' made successfully')
- mr({port : common.port, plugin : mocks}, function (er, s) {
+ mr({ port: common.port, plugin: mocks }, function (er, s) {
server = s
fs.writeFile(
- path.join(pkg, "package.json"),
+ path.join(pkg, 'package.json'),
JSON.stringify(scoped),
function (er) {
- t.ifError(er, "wrote package.json")
+ t.ifError(er, 'wrote package.json')
t.end()
}
)
@@ -64,131 +64,131 @@ test("setup", function (t) {
})
})
-test("npm dist-tags ls in current package", function (t) {
+test('npm dist-tags ls in current package', function (t) {
common.npm(
[
- "dist-tags", "ls",
- "--registry", common.registry,
- "--loglevel", "silent"
+ 'dist-tags', 'ls',
+ '--registry', common.registry,
+ '--loglevel', 'silent'
],
- { cwd : pkg },
+ { cwd: pkg },
function (er, code, stdout, stderr) {
- t.ifError(er, "npm access")
- t.notOk(code, "exited OK")
- t.notOk(stderr, "no error output")
- t.equal(stdout, "a: 0.0.1\nb: 0.5.0\nlatest: 1.0.0\n")
+ t.ifError(er, 'npm access')
+ t.notOk(code, 'exited OK')
+ t.notOk(stderr, 'no error output')
+ t.equal(stdout, 'a: 0.0.1\nb: 0.5.0\nlatest: 1.0.0\n')
t.end()
}
)
})
-test("npm dist-tags ls on named package", function (t) {
+test('npm dist-tags ls on named package', function (t) {
common.npm(
[
- "dist-tags",
- "ls", "@scoped/another",
- "--registry", common.registry,
- "--loglevel", "silent"
+ 'dist-tags',
+ 'ls', '@scoped/another',
+ '--registry', common.registry,
+ '--loglevel', 'silent'
],
- { cwd : pkg },
+ { cwd: pkg },
function (er, code, stdout, stderr) {
- t.ifError(er, "npm access")
- t.notOk(code, "exited OK")
- t.notOk(stderr, "no error output")
- t.equal(stdout, "a: 0.0.2\nb: 0.6.0\nlatest: 2.0.0\n")
+ t.ifError(er, 'npm access')
+ t.notOk(code, 'exited OK')
+ t.notOk(stderr, 'no error output')
+ t.equal(stdout, 'a: 0.0.2\nb: 0.6.0\nlatest: 2.0.0\n')
t.end()
}
)
})
-test("npm dist-tags add @scoped/another@7.7.7 c", function (t) {
+test('npm dist-tags add @scoped/another@7.7.7 c', function (t) {
common.npm(
[
- "dist-tags",
- "add", "@scoped/another@7.7.7", "c",
- "--registry", common.registry,
- "--loglevel", "silent"
+ 'dist-tags',
+ 'add', '@scoped/another@7.7.7', 'c',
+ '--registry', common.registry,
+ '--loglevel', 'silent'
],
- { cwd : pkg },
+ { cwd: pkg },
function (er, code, stdout, stderr) {
- t.ifError(er, "npm access")
- t.notOk(code, "exited OK")
- t.notOk(stderr, "no error output")
- t.equal(stdout, "+c: @scoped/another@7.7.7\n")
+ t.ifError(er, 'npm access')
+ t.notOk(code, 'exited OK')
+ t.notOk(stderr, 'no error output')
+ t.equal(stdout, '+c: @scoped/another@7.7.7\n')
t.end()
}
)
})
-test("npm dist-tags set same version", function (t) {
+test('npm dist-tags set same version', function (t) {
common.npm(
[
- "dist-tag",
- "set", "@scoped/another@0.6.0", "b",
- "--registry", common.registry,
- "--loglevel", "warn"
+ 'dist-tag',
+ 'set', '@scoped/another@0.6.0', 'b',
+ '--registry', common.registry,
+ '--loglevel', 'warn'
],
- { cwd : pkg },
+ { cwd: pkg },
function (er, code, stdout, stderr) {
- t.ifError(er, "npm access")
- t.notOk(code, "exited OK")
+ t.ifError(er, 'npm access')
+ t.notOk(code, 'exited OK')
t.equal(
stderr,
- "npm WARN dist-tag add b is already set to version 0.6.0\n",
- "warned about setting same version"
+ 'npm WARN dist-tag add b is already set to version 0.6.0\n',
+ 'warned about setting same version'
)
- t.notOk(stdout, "only expecting warning message")
+ t.notOk(stdout, 'only expecting warning message')
t.end()
}
)
})
-test("npm dist-tags rm @scoped/another c", function (t) {
+test('npm dist-tags rm @scoped/another c', function (t) {
common.npm(
[
- "dist-tags",
- "rm", "@scoped/another", "c",
- "--registry", common.registry,
- "--loglevel", "silent"
+ 'dist-tags',
+ 'rm', '@scoped/another', 'c',
+ '--registry', common.registry,
+ '--loglevel', 'silent'
],
- { cwd : pkg },
+ { cwd: pkg },
function (er, code, stdout, stderr) {
- t.ifError(er, "npm access")
- t.notOk(code, "exited OK")
- t.notOk(stderr, "no error output")
- t.equal(stdout, "-c: @scoped/another@7.7.7\n")
+ t.ifError(er, 'npm access')
+ t.notOk(code, 'exited OK')
+ t.notOk(stderr, 'no error output')
+ t.equal(stdout, '-c: @scoped/another@7.7.7\n')
t.end()
}
)
})
-test("npm dist-tags rm @scoped/another nonexistent", function (t) {
+test('npm dist-tags rm @scoped/another nonexistent', function (t) {
common.npm(
[
- "dist-tags",
- "rm", "@scoped/another", "nonexistent",
- "--registry", common.registry,
- "--loglevel", "silent"
+ 'dist-tags',
+ 'rm', '@scoped/another', 'nonexistent',
+ '--registry', common.registry,
+ '--loglevel', 'silent'
],
- { cwd : pkg },
+ { cwd: pkg },
function (er, code, stdout, stderr) {
- t.ifError(er, "npm dist-tag")
- t.ok(code, "expecting nonzero exit code")
- t.notOk(stderr, "no error output")
- t.notOk(stdout, "not expecting output")
+ t.ifError(er, 'npm dist-tag')
+ t.ok(code, 'expecting nonzero exit code')
+ t.notOk(stderr, 'no error output')
+ t.notOk(stdout, 'not expecting output')
t.end()
}
)
})
-test("cleanup", function (t) {
- t.pass("cleaned up")
+test('cleanup', function (t) {
+ t.pass('cleaned up')
rimraf.sync(pkg)
server.close()
t.end()
diff --git a/deps/npm/test/tap/do-not-remove-other-bins.js b/deps/npm/test/tap/do-not-remove-other-bins.js
new file mode 100644
index 0000000000..af6de62305
--- /dev/null
+++ b/deps/npm/test/tap/do-not-remove-other-bins.js
@@ -0,0 +1,131 @@
+'use strict'
+var fs = require('fs')
+var path = require('path')
+
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var common = require('../common-tap')
+
+var base = path.resolve(__dirname, path.basename(__filename, '.js'))
+var installPath = path.resolve(base, 'install')
+var installBin = path.resolve(installPath, 'node_modules', '.bin')
+var packageApath = path.resolve(base, 'packageA')
+var packageBpath = path.resolve(base, 'packageB')
+
+var packageA = {
+ name: 'a',
+ version: '1.0.0',
+ description: 'x',
+ repository: 'x',
+ license: 'MIT',
+ bin: {
+ testbin: './testbin.js'
+ }
+}
+var packageB = {
+ name: 'b',
+ version: '1.0.0',
+ description: 'x',
+ repository: 'x',
+ license: 'MIT',
+ bin: {
+ testbin: './testbin.js'
+ }
+}
+
+var EXEC_OPTS = {
+ cwd: installPath
+}
+
+test('setup', function (t) {
+ cleanup()
+ mkdirp.sync(path.join(installPath, 'node_modules'))
+ mkdirp.sync(packageApath)
+ fs.writeFileSync(
+ path.join(packageApath, 'package.json'),
+ JSON.stringify(packageA, null, 2)
+ )
+ fs.writeFileSync(
+ path.join(packageApath, packageA.bin.testbin),
+ ''
+ )
+ mkdirp.sync(packageBpath)
+ fs.writeFileSync(
+ path.join(packageBpath, 'package.json'),
+ JSON.stringify(packageB, null, 2)
+ )
+ fs.writeFileSync(
+ path.join(packageBpath, packageB.bin.testbin),
+ ''
+ )
+ t.end()
+})
+
+test('npm install A', function (t) {
+ process.chdir(installPath)
+ common.npm([
+ 'install', packageApath
+ ], EXEC_OPTS, function (err, code, stdout, stderr) {
+ console.log(stdout, stderr)
+ t.ifErr(err, 'install finished successfully')
+ t.notOk(code, 'exit ok')
+ t.notOk(stderr, 'Should not get data on stderr: ' + stderr)
+ t.end()
+ })
+})
+
+test('npm install B', function (t) {
+ process.chdir(installPath)
+ common.npm([
+ 'install', packageBpath
+ ], EXEC_OPTS, function (err, code, stdout, stderr) {
+ t.ifErr(err, 'install finished successfully')
+ t.notOk(code, 'exit ok')
+ t.notOk(stderr, 'Should not get data on stderr: ' + stderr)
+ t.end()
+ })
+})
+
+test('verify bins', function (t) {
+ var bin = path.dirname(
+ path.resolve(
+ installBin,
+ fs.readlinkSync(path.join(installBin, 'testbin'))))
+ t.is(bin, path.join(installPath, 'node_modules', 'b'))
+ t.end()
+})
+
+test('rm install A', function (t) {
+ process.chdir(installPath)
+ common.npm([
+ 'rm', packageApath
+ ], EXEC_OPTS, function (err, code, stdout, stderr) {
+ t.ifErr(err, 'install finished successfully')
+ t.notOk(code, 'exit ok')
+ t.notOk(stderr, 'Should not get data on stderr: ' + stderr)
+ t.end()
+ })
+})
+
+test('verify postremoval bins', function (t) {
+ var bin = path.dirname(
+ path.resolve(
+ installBin,
+ fs.readlinkSync(path.join(installBin, 'testbin'))))
+ t.is(bin, path.join(installPath, 'node_modules', 'b'))
+ t.end()
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.pass('cleaned up')
+ t.end()
+})
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(base)
+}
diff --git a/deps/npm/test/tap/extraneous-dep-cycle-ls-ok.js b/deps/npm/test/tap/extraneous-dep-cycle-ls-ok.js
new file mode 100644
index 0000000000..23b7519361
--- /dev/null
+++ b/deps/npm/test/tap/extraneous-dep-cycle-ls-ok.js
@@ -0,0 +1,70 @@
+'use strict'
+var fs = require('fs')
+var path = require('path')
+
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+
+var common = require('../common-tap')
+
+var pkg = path.resolve(__dirname, path.basename(__filename, '.js'))
+var pathModA = path.join(pkg, 'node_modules', 'moduleA')
+var pathModB = path.join(pkg, 'node_modules', 'moduleB')
+
+var modA = {
+ name: 'moduleA',
+ version: '1.0.0',
+ _requiredBy: [ '#USER', '/moduleB' ],
+ dependencies: {
+ moduleB: '1.0.0'
+ }
+}
+var modB = {
+ name: 'moduleB',
+ version: '1.0.0',
+ _requiredBy: [ '/moduleA' ],
+ dependencies: {
+ moduleA: '1.0.0'
+ }
+}
+
+function setup () {
+ mkdirp.sync(pathModA)
+ fs.writeFileSync(
+ path.join(pathModA, 'package.json'),
+ JSON.stringify(modA, null, 2)
+ )
+ mkdirp.sync(pathModB)
+ fs.writeFileSync(
+ path.join(pathModB, 'package.json'),
+ JSON.stringify(modB, null, 2)
+ )
+}
+
+function cleanup () {
+ rimraf.sync(pkg)
+}
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ t.end()
+})
+
+var expected = pkg + '\n' +
+ '└─┬ moduleA@1.0.0\n' +
+ ' └── moduleB@1.0.0\n\n'
+
+test('extraneous-dep-cycle', function (t) {
+ common.npm(['ls'], {cwd: pkg}, function (er, code, stdout, stderr) {
+ t.ifErr(er, 'install finished successfully')
+ t.is(stdout, expected, 'ls output shows module')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
diff --git a/deps/npm/test/tap/false-name.js b/deps/npm/test/tap/false-name.js
index c98a5103b2..1e2a4d43dd 100644
--- a/deps/npm/test/tap/false-name.js
+++ b/deps/npm/test/tap/false-name.js
@@ -54,11 +54,14 @@ test('not every pkg.name can be required', function (t) {
function (err, code) {
t.ifErr(err, 'install finished without error')
t.equal(code, 0, 'install exited ok')
- t.ok(existsSync(path.join(
- pkg,
- 'node_modules/test-package-with-one-dep',
- 'node_modules/test-package'
- )), 'package installed OK')
+ t.ok(
+ existsSync(path.join(pkg, 'node_modules', 'test-package-with-one-dep')),
+ 'test-package-with-one-dep installed OK'
+ )
+ t.ok(
+ existsSync(path.join(pkg, 'node_modules', 'test-package')),
+ 'test-pacakge subdep installed OK'
+ )
t.end()
}
)
diff --git a/deps/npm/test/tap/gently-rm-cmdshims.js b/deps/npm/test/tap/gently-rm-cmdshims.js
new file mode 100644
index 0000000000..ebe0b7d7a7
--- /dev/null
+++ b/deps/npm/test/tap/gently-rm-cmdshims.js
@@ -0,0 +1,157 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var npm = require('../../lib/npm.js')
+
+var work = path.join(__dirname, path.basename(__filename, '.js'))
+var doremove = path.join(work, 'doremove')
+var dontremove = path.join(work, 'dontremove')
+var example_json = {
+ name: 'example',
+ version: '1.0.0',
+ bin: {
+ 'example': 'example.js'
+ }
+}
+var example_bin =
+ '#!/usr/bin/env node\n' +
+ 'true\n'
+
+// NOTE: if this were actually produced on windows it would be \ not / of
+// course, buuut, path.resolve doesn't understand \ outside of windows =/
+var do_example_cmd =
+ '@IF EXIST "%~dp0\\node.exe" (\n' +
+ ' "%~dp0\\node.exe" "%~dp0\\../example/example.js" %*\n' +
+ ') ELSE (\n' +
+ ' @SETLOCAL\n' +
+ ' @SET PATHEXT=%PATHEXT:;.JS;=;%\n' +
+ ' node "%~dp0\\../example/example.js" %*\n' +
+ ')\n'
+
+var do_example_cygwin =
+ '#!/bin/sh\n' +
+ 'basedir=`dirname "$0"`\n' +
+ '\n' +
+ 'case `uname` in\n' +
+ ' *CYGWIN*) basedir=`cygpath -w "$basedir"`;;\n' +
+ 'esac\n' +
+ '\n' +
+ 'if [ -x "$basedir/node" ]; then\n' +
+ ' "$basedir/node" "$basedir/../example/example.js" "$@"\n' +
+ ' ret=$?\n' +
+ 'else\n' +
+ ' node "$basedir/../example/example.js" "$@"\n' +
+ ' ret=$?\n' +
+ 'fi\n' +
+ 'exit $ret\n'
+
+var dont_example_cmd =
+ '@IF EXIST "%~dp0\\node.exe" (\n' +
+ ' "%~dp0\\node.exe" "%~dp0\\../example-other/example.js" %*\n' +
+ ') ELSE (\n' +
+ ' @SETLOCAL\n' +
+ ' @SET PATHEXT=%PATHEXT:;.JS;=;%\n' +
+ ' node "%~dp0\\../example-other/example.js" %*\n' +
+ ')\n'
+
+var dont_example_cygwin =
+ '#!/bin/sh\n' +
+ 'basedir=`dirname "$0"`\n' +
+ '\n' +
+ 'case `uname` in\n' +
+ ' *CYGWIN*) basedir=`cygpath -w "$basedir"`;;\n' +
+ 'esac\n' +
+ '\n' +
+ 'if [ -x "$basedir/node" ]; then\n' +
+ ' "$basedir/node" "$basedir/../example-other/example.js" "$@"\n' +
+ ' ret=$?\n' +
+ 'else\n' +
+ ' node "$basedir/../example-other/example.js" "$@"\n' +
+ ' ret=$?\n' +
+ 'fi\n' +
+ 'exit $ret\n'
+
+function cleanup () {
+ rimraf.sync(work)
+}
+
+var doremove_module = path.join(doremove, 'node_modules', 'example')
+var doremove_example_cmd = path.join(doremove, 'node_modules', '.bin', 'example.cmd')
+var doremove_example_cygwin = path.join(doremove, 'node_modules', '.bin', 'example')
+var dontremove_module = path.join(dontremove, 'node_modules', 'example')
+var dontremove_example_cmd = path.join(dontremove, 'node_modules', '.bin', 'example.cmd')
+var dontremove_example_cygwin = path.join(dontremove, 'node_modules', '.bin', 'example')
+
+function setup () {
+ mkdirp.sync(doremove_module)
+ mkdirp.sync(path.join(doremove, 'node_modules', '.bin'))
+ fs.writeFileSync(path.join(doremove, 'node_modules', 'example', 'package.json'), JSON.stringify(example_json))
+ fs.writeFileSync(path.join(doremove, 'node_modules', 'example', 'example.js'), JSON.stringify(example_bin))
+ fs.writeFileSync(doremove_example_cmd, do_example_cmd)
+ fs.writeFileSync(doremove_example_cygwin, do_example_cygwin)
+
+ mkdirp.sync(dontremove_module)
+ mkdirp.sync(path.join(dontremove, 'node_modules', '.bin'))
+ fs.writeFileSync(path.join(dontremove, 'node_modules', 'example', 'package.json'), JSON.stringify(example_json))
+ fs.writeFileSync(path.join(dontremove, 'node_modules', 'example', 'example.js'), JSON.stringify(example_bin))
+ fs.writeFileSync(dontremove_example_cmd, dont_example_cmd)
+ fs.writeFileSync(dontremove_example_cygwin, dont_example_cygwin)
+}
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ npm.load({}, function () {
+ t.done()
+ })
+})
+
+// Like slide.chain, but runs all commands even if they have errors, also
+// throws away results.
+function runAll (cmds, done) {
+ runNext()
+ function runNext () {
+ if (cmds.length === 0) return done()
+ var cmdline = cmds.shift()
+ var cmd = cmdline.shift()
+ cmdline.push(runNext)
+ cmd.apply(null, cmdline)
+ }
+}
+
+test('remove-cmd-shims', function (t) {
+ t.plan(2)
+
+ var gentlyRm = require('../../lib/utils/gently-rm.js')
+ runAll([ [gentlyRm, doremove_example_cmd, true, doremove_module],
+ [gentlyRm, doremove_example_cygwin, true, doremove_module] ], function () {
+ fs.stat(doremove_example_cmd, function (er) {
+ t.is(er && er.code, 'ENOENT', 'cmd-shim was removed')
+ })
+ fs.stat(doremove_example_cygwin, function (er) {
+ t.is(er && er.code, 'ENOENT', 'cmd-shim cygwin script was removed')
+ })
+ })
+})
+
+test('dont-remove-cmd-shims', function (t) {
+ t.plan(2)
+ var gentlyRm = require('../../lib/utils/gently-rm.js')
+ runAll([ [gentlyRm, dontremove_example_cmd, true, dontremove_module],
+ [gentlyRm, dontremove_example_cygwin, true, dontremove_module] ], function () {
+ fs.stat(dontremove_example_cmd, function (er) {
+ t.is(er, null, 'cmd-shim was not removed')
+ })
+ fs.stat(dontremove_example_cygwin, function (er) {
+ t.is(er, null, 'cmd-shim cygwin script was not removed')
+ })
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.done()
+})
diff --git a/deps/npm/test/tap/gently-rm-overeager.js b/deps/npm/test/tap/gently-rm-overeager.js
index 35f46cc219..c266f1c4dc 100644
--- a/deps/npm/test/tap/gently-rm-overeager.js
+++ b/deps/npm/test/tap/gently-rm-overeager.js
@@ -1,53 +1,50 @@
-var resolve = require("path").resolve
-var fs = require("graceful-fs")
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
+var resolve = require('path').resolve
+var fs = require('graceful-fs')
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
-var pkg = resolve(__dirname, "gently-rm-overeager")
-var dep = resolve(__dirname, "test-whoops")
+var pkg = resolve(__dirname, 'gently-rm-overeager')
+var dep = resolve(__dirname, 'test-whoops')
-var EXEC_OPTS = {
- cwd : pkg
-}
+var EXEC_OPTS = { cwd: pkg }
var fixture = {
- name: "@test/whoops",
- version: "1.0.0",
+ name: '@test/whoops',
+ version: '1.0.0',
scripts: {
- postinstall: "echo \"nope\" && exit 1"
+ postinstall: 'echo \'nope\' && exit 1'
}
}
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
setup()
t.end()
})
-test("cache add", function (t) {
- common.npm(["install", "../test-whoops"], EXEC_OPTS, function (er, c) {
+test('cache add', function (t) {
+ common.npm(['install', '../test-whoops'], EXEC_OPTS, function (er, c) {
t.ifError(er, "test-whoops install didn't explode")
- t.ok(c, "test-whoops install also failed")
+ t.ok(c, 'test-whoops install also failed')
fs.readdir(pkg, function (er, files) {
- t.ifError(er, "package directory is still there")
- t.deepEqual(files, ["npm-debug.log"], "only debug log remains")
+ t.ifError(er, 'package directory is still there')
+ t.deepEqual(files, ['npm-debug.log'], 'only debug log remains')
t.end()
})
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
-
function cleanup () {
rimraf.sync(pkg)
rimraf.sync(dep)
@@ -56,7 +53,7 @@ function cleanup () {
function setup () {
mkdirp.sync(pkg)
// so it doesn't try to install into npm's own node_modules
- mkdirp.sync(resolve(pkg, "node_modules"))
+ mkdirp.sync(resolve(pkg, 'node_modules'))
mkdirp.sync(dep)
- fs.writeFileSync(resolve(dep, "package.json"), JSON.stringify(fixture))
+ fs.writeFileSync(resolve(dep, 'package.json'), JSON.stringify(fixture))
}
diff --git a/deps/npm/test/tap/gently-rm-symlink.js b/deps/npm/test/tap/gently-rm-symlink.js
index d69b62e5b2..93ed3edaa4 100644
--- a/deps/npm/test/tap/gently-rm-symlink.js
+++ b/deps/npm/test/tap/gently-rm-symlink.js
@@ -1,73 +1,70 @@
-var resolve = require("path").resolve
-var fs = require("graceful-fs")
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
+var resolve = require('path').resolve
+var fs = require('graceful-fs')
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
-var pkg = resolve(__dirname, "gently-rm-linked")
-var dep = resolve(__dirname, "test-linked")
-var glb = resolve(__dirname, "test-global")
-var lnk = resolve(__dirname, "test-global-link")
-
-var EXEC_OPTS = {
- cwd : pkg
-}
+var pkg = resolve(__dirname, 'gently-rm-linked')
+var dep = resolve(__dirname, 'test-linked')
+var glb = resolve(__dirname, 'test-global')
+var lnk = resolve(__dirname, 'test-global-link')
+var EXEC_OPTS = { cwd: pkg }
var index = "module.exports = function () { console.log('whoop whoop') }"
var fixture = {
- name: "@test/linked",
- version: "1.0.0",
+ name: '@test/linked',
+ version: '1.0.0',
bin: {
- linked: "./index.js"
+ linked: './index.js'
}
}
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
setup()
t.end()
})
-test("install and link", function (t) {
+test('install and link', function (t) {
common.npm(
[
- "--global",
- "--prefix", lnk,
- "--loglevel", "silent",
- "install", "../test-linked"
+ '--global',
+ '--prefix', lnk,
+ '--loglevel', 'silent',
+ 'install', '../test-linked'
],
EXEC_OPTS,
function (er, code, stdout, stderr) {
t.ifError(er, "test-linked install didn't explode")
- t.notOk(code, "test-linked install also failed")
- t.notOk(stderr, "no log output")
+ t.notOk(code, 'test-linked install also failed')
+ t.notOk(stderr, 'no log output')
verify(t, stdout)
// again, to make sure unlinking works properlyt
common.npm(
[
- "--global",
- "--prefix", lnk,
- "--loglevel", "silent",
- "install", "../test-linked"
+ '--global',
+ '--prefix', lnk,
+ '--loglevel', 'silent',
+ 'install', '../test-linked'
],
EXEC_OPTS,
function (er, code, stdout, stderr) {
t.ifError(er, "test-linked install didn't explode")
- t.notOk(code, "test-linked install also failed")
- t.notOk(stderr, "no log output")
+ t.notOk(code, 'test-linked install also failed')
+ t.notOk(stderr, 'no log output')
verify(t, stdout)
fs.readdir(pkg, function (er, files) {
- t.ifError(er, "package directory is still there")
- t.deepEqual(files, ["node_modules"], "only stub modules dir remains")
+ t.ifError(er, 'package directory is still there')
+ t.deepEqual(files, ['node_modules'], 'only stub modules dir remains')
t.end()
})
@@ -77,20 +74,27 @@ test("install and link", function (t) {
)
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
+function removeBlank (line) {
+ return line !== ''
+}
+
function verify (t, stdout) {
- var binPath = resolve(lnk, "bin", "linked")
- var pkgPath = resolve(lnk, "lib", "node_modules", "@test", "linked")
- var trgPath = resolve(pkgPath, "index.js")
- t.equal(
- stdout,
- binPath+" -> "+trgPath+"\n@test/linked@1.0.0 "+pkgPath+"\n",
- "got expected install output"
+ var binPath = resolve(lnk, 'bin', 'linked')
+ var pkgPath = resolve(lnk, 'lib', 'node_modules', '@test', 'linked')
+ var trgPath = resolve(pkgPath, 'index.js')
+ t.deepEqual(
+ stdout.split('\n').filter(removeBlank),
+ [ binPath + ' -> ' + trgPath,
+ resolve(lnk, 'lib'),
+ '└── @test/linked@1.0.0 '
+ ],
+ 'got expected install output'
)
}
@@ -106,8 +110,8 @@ function setup () {
mkdirp.sync(glb)
fs.symlinkSync(glb, lnk)
// so it doesn't try to install into npm's own node_modules
- mkdirp.sync(resolve(pkg, "node_modules"))
+ mkdirp.sync(resolve(pkg, 'node_modules'))
mkdirp.sync(dep)
- fs.writeFileSync(resolve(dep, "package.json"), JSON.stringify(fixture))
- fs.writeFileSync(resolve(dep, "index.js"), index)
+ fs.writeFileSync(resolve(dep, 'package.json'), JSON.stringify(fixture))
+ fs.writeFileSync(resolve(dep, 'index.js'), index)
}
diff --git a/deps/npm/test/tap/get.js b/deps/npm/test/tap/get.js
index 983243025b..62bb05fda7 100644
--- a/deps/npm/test/tap/get.js
+++ b/deps/npm/test/tap/get.js
@@ -1,52 +1,50 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var cacheFile = require("npm-cache-filename")
-var npm = require("../../")
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var path = require("path")
-var mr = require("npm-registry-mock")
-var fs = require("graceful-fs")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var cacheFile = require('npm-cache-filename')
+var npm = require('../../')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var path = require('path')
+var mr = require('npm-registry-mock')
+var fs = require('graceful-fs')
function nop () {}
-var URI = "https://npm.registry:8043/rewrite"
-var TIMEOUT = 3600
-var FOLLOW = false
+var URI = 'https://npm.registry:8043/rewrite'
+var TIMEOUT = 3600
+var FOLLOW = false
var STALE_OK = true
-var TOKEN = "lolbutts"
-var AUTH = {
- token : TOKEN
+var TOKEN = 'lolbutts'
+var AUTH = { token: TOKEN }
+var PARAMS = {
+ timeout: TIMEOUT,
+ follow: FOLLOW,
+ staleOk: STALE_OK,
+ auth: AUTH
}
-var PARAMS = {
- timeout : TIMEOUT,
- follow : FOLLOW,
- staleOk : STALE_OK,
- auth : AUTH
-}
-var PKG_DIR = path.resolve(__dirname, "get-basic")
-var CACHE_DIR = path.resolve(PKG_DIR, "cache")
+var PKG_DIR = path.resolve(__dirname, 'get-basic')
+var CACHE_DIR = path.resolve(PKG_DIR, 'cache')
var BIGCO_SAMPLE = {
- name : "@bigco/sample",
- version : "1.2.3"
+ name: '@bigco/sample',
+ version: '1.2.3'
}
// mock server reference
var server
var mocks = {
- "get": {
- "/@bigco%2fsample/1.2.3" : [200, BIGCO_SAMPLE]
+ 'get': {
+ '/@bigco%2fsample/1.2.3': [200, BIGCO_SAMPLE]
}
}
var mapper = cacheFile(CACHE_DIR)
function getCachePath (uri) {
- return path.join(mapper(uri), ".cache.json")
+ return path.join(mapper(uri), '.cache.json')
}
-test("setup", function (t) {
+test('setup', function (t) {
mkdirp.sync(CACHE_DIR)
mr({port: common.port, mocks: mocks}, function (er, s) {
@@ -59,66 +57,66 @@ test("setup", function (t) {
})
})
-test("get call contract", function (t) {
+test('get call contract', function (t) {
t.throws(function () {
npm.registry.get(undefined, PARAMS, nop)
- }, "requires a URI")
+ }, 'requires a URI')
t.throws(function () {
npm.registry.get([], PARAMS, nop)
- }, "requires URI to be a string")
+ }, 'requires URI to be a string')
t.throws(function () {
npm.registry.get(URI, undefined, nop)
- }, "requires params object")
+ }, 'requires params object')
t.throws(function () {
- npm.registry.get(URI, "", nop)
- }, "params must be object")
+ npm.registry.get(URI, '', nop)
+ }, 'params must be object')
t.throws(function () {
npm.registry.get(URI, PARAMS, undefined)
- }, "requires callback")
+ }, 'requires callback')
t.throws(function () {
- npm.registry.get(URI, PARAMS, "callback")
- }, "callback must be function")
+ npm.registry.get(URI, PARAMS, 'callback')
+ }, 'callback must be function')
t.end()
})
-test("basic request", function (t) {
+test('basic request', function (t) {
t.plan(9)
- var versioned = common.registry + "/underscore/1.3.3"
+ var versioned = common.registry + '/underscore/1.3.3'
npm.registry.get(versioned, PARAMS, function (er, data) {
- t.ifError(er, "loaded specified version underscore data")
- t.equal(data.version, "1.3.3")
+ t.ifError(er, 'loaded specified version underscore data')
+ t.equal(data.version, '1.3.3')
fs.stat(getCachePath(versioned), function (er) {
- t.ifError(er, "underscore 1.3.3 cache data written")
+ t.ifError(er, 'underscore 1.3.3 cache data written')
})
})
- var rollup = common.registry + "/underscore"
+ var rollup = common.registry + '/underscore'
npm.registry.get(rollup, PARAMS, function (er, data) {
- t.ifError(er, "loaded all metadata")
- t.deepEqual(data.name, "underscore")
+ t.ifError(er, 'loaded all metadata')
+ t.deepEqual(data.name, 'underscore')
fs.stat(getCachePath(rollup), function (er) {
- t.ifError(er, "underscore rollup cache data written")
+ t.ifError(er, 'underscore rollup cache data written')
})
})
- var scoped = common.registry + "/@bigco%2fsample/1.2.3"
+ var scoped = common.registry + '/@bigco%2fsample/1.2.3'
npm.registry.get(scoped, PARAMS, function (er, data) {
- t.ifError(er, "loaded all metadata")
- t.equal(data.name, "@bigco/sample")
+ t.ifError(er, 'loaded all metadata')
+ t.equal(data.name, '@bigco/sample')
fs.stat(getCachePath(scoped), function (er) {
- t.ifError(er, "scoped cache data written")
+ t.ifError(er, 'scoped cache data written')
})
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
server.close()
rimraf.sync(PKG_DIR)
diff --git a/deps/npm/test/tap/gist-short-shortcut.js b/deps/npm/test/tap/gist-short-shortcut.js
index 57f2006b7a..58dcf78e8d 100644
--- a/deps/npm/test/tap/gist-short-shortcut.js
+++ b/deps/npm/test/tap/gist-short-shortcut.js
@@ -39,7 +39,7 @@ test('gist-shortcut', function (t) {
} else {
t.fail('too many attempts to clone')
}
- cb(new Error())
+ cb(new Error('execFile mock fails on purpose'))
})
}
}
diff --git a/deps/npm/test/tap/git-cache-no-hooks.js b/deps/npm/test/tap/git-cache-no-hooks.js
index 32731fa1b0..e5d862919a 100644
--- a/deps/npm/test/tap/git-cache-no-hooks.js
+++ b/deps/npm/test/tap/git-cache-no-hooks.js
@@ -1,63 +1,63 @@
-var test = require("tap").test
- , fs = require("fs")
- , path = require("path")
- , rimraf = require("rimraf")
- , mkdirp = require("mkdirp")
- , spawn = require("child_process").spawn
- , npmCli = require.resolve("../../bin/npm-cli.js")
- , node = process.execPath
- , pkg = path.resolve(__dirname, "git-cache-no-hooks")
- , tmp = path.join(pkg, "tmp")
- , cache = path.join(pkg, "cache")
-
-
-test("setup", function (t) {
+var test = require('tap').test
+var fs = require('fs')
+var path = require('path')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var spawn = require('child_process').spawn
+var npmCli = require.resolve('../../bin/npm-cli.js')
+var node = process.execPath
+var pkg = path.resolve(__dirname, 'git-cache-no-hooks')
+var tmp = path.join(pkg, 'tmp')
+var cache = path.join(pkg, 'cache')
+
+test('setup', function (t) {
rimraf.sync(pkg)
mkdirp.sync(pkg)
mkdirp.sync(cache)
mkdirp.sync(tmp)
- mkdirp.sync(path.resolve(pkg, "node_modules"))
+ mkdirp.sync(path.resolve(pkg, 'node_modules'))
t.end()
})
-test("git-cache-no-hooks: install a git dependency", function (t) {
+test('git-cache-no-hooks: install a git dependency', function (t) {
// disable git integration tests on Travis.
if (process.env.TRAVIS) return t.end()
- var command = [ npmCli
- , "install"
- , "git://github.com/nigelzor/npm-4503-a.git"
- ]
+ var command = [
+ npmCli,
+ 'install',
+ 'git://github.com/nigelzor/npm-4503-a.git'
+ ]
var child = spawn(node, command, {
cwd: pkg,
env: {
- "npm_config_cache" : cache,
- "npm_config_tmp" : tmp,
- "npm_config_prefix" : pkg,
- "npm_config_global" : "false",
- "npm_config_umask" : "00",
- HOME : process.env.HOME,
- Path : process.env.PATH,
- PATH : process.env.PATH
+ 'npm_config_cache': cache,
+ 'npm_config_tmp': tmp,
+ 'npm_config_prefix': pkg,
+ 'npm_config_global': 'false',
+ 'npm_config_umask': '00',
+ HOME: process.env.HOME,
+ Path: process.env.PATH,
+ PATH: process.env.PATH
},
- stdio: "inherit"
+ stdio: 'inherit'
})
- child.on("close", function (code) {
- t.equal(code, 0, "npm install should succeed")
+ child.on('close', function (code) {
+ t.equal(code, 0, 'npm install should succeed')
// verify permissions on git hooks
- var repoDir = "git-github-com-nigelzor-npm-4503-a-git-40c5cb24"
- var hooksPath = path.join(cache, "_git-remotes", repoDir, "hooks")
+ var repoDir = 'git-github-com-nigelzor-npm-4503-a-git-40c5cb24'
+ var hooksPath = path.join(cache, '_git-remotes', repoDir, 'hooks')
fs.readdir(hooksPath, function (err) {
- t.equal(err && err.code, "ENOENT", "hooks are not brought along with repo")
+ t.equal(err && err.code, 'ENOENT', 'hooks are not brought along with repo')
t.end()
})
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(pkg)
t.end()
})
diff --git a/deps/npm/test/tap/git-dependency-install-link.js b/deps/npm/test/tap/git-dependency-install-link.js
index cbb256d983..1eba7ff855 100644
--- a/deps/npm/test/tap/git-dependency-install-link.js
+++ b/deps/npm/test/tap/git-dependency-install-link.js
@@ -39,7 +39,6 @@ var pjChild = JSON.stringify({
version: '1.0.3'
}, null, 2) + '\n'
-
test('setup', function (t) {
bootstrap()
setup(function (er, r) {
diff --git a/deps/npm/test/tap/git-npmignore.js b/deps/npm/test/tap/git-npmignore.js
index 5e915a706f..4cd9898722 100644
--- a/deps/npm/test/tap/git-npmignore.js
+++ b/deps/npm/test/tap/git-npmignore.js
@@ -1,62 +1,59 @@
-var cat = require("graceful-fs").writeFileSync
-var exec = require("child_process").exec
-var readdir = require("graceful-fs").readdirSync
-var resolve = require("path").resolve
-
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var test = require("tap").test
-var tmpdir = require("osenv").tmpdir
-var which = require("which")
-
-var common = require("../common-tap.js")
-
-var pkg = resolve(__dirname, "git-npmignore")
-var dep = resolve(pkg, "deps", "gitch")
-var packname = "gitch-1.0.0.tgz"
+var cat = require('graceful-fs').writeFileSync
+var exec = require('child_process').exec
+var readdir = require('graceful-fs').readdirSync
+var resolve = require('path').resolve
+
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var tmpdir = require('osenv').tmpdir
+var which = require('which')
+
+var common = require('../common-tap.js')
+
+var pkg = resolve(__dirname, 'git-npmignore')
+var dep = resolve(pkg, 'deps', 'gitch')
+var packname = 'gitch-1.0.0.tgz'
var packed = resolve(pkg, packname)
-var modules = resolve(pkg, "node_modules")
-var installed = resolve(modules, "gitch")
+var modules = resolve(pkg, 'node_modules')
+var installed = resolve(modules, 'gitch')
var expected = [
- "a.js",
- "package.json",
- ".npmignore"
+ 'a.js',
+ 'package.json',
+ '.npmignore'
].sort()
-var EXEC_OPTS = {
- cwd : pkg
-}
+var EXEC_OPTS = { cwd: pkg }
-var gitignore = "node_modules/\n"
-var npmignore = "t.js\n"
+var gitignore = 'node_modules/\n'
+var npmignore = 't.js\n'
var a = "console.log('hi');"
var t = "require('tap').test(function (t) { t.pass('I am a test!'); t.end(); });"
var fixture = {
- "name" : "gitch",
- "version" : "1.0.0",
- "private" : true,
- "main" : "a.js"
+ 'name': 'gitch',
+ 'version': '1.0.0',
+ 'private': true,
+ 'main': 'a.js'
}
-
-test("setup", function (t) {
+test('setup', function (t) {
setup(function (er) {
- t.ifError(er, "setup ran OK")
+ t.ifError(er, 'setup ran OK')
t.end()
})
})
-test("npm pack directly from directory", function (t) {
+test('npm pack directly from directory', function (t) {
packInstallTest(dep, t)
})
-test("npm pack via git", function (t) {
- packInstallTest("git+file://"+dep, t)
+test('npm pack via git', function (t) {
+ packInstallTest('git+file://' + dep, t)
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
@@ -65,29 +62,29 @@ test("cleanup", function (t) {
function packInstallTest (spec, t) {
common.npm(
[
- "--loglevel", "silent",
- "pack", spec
+ '--loglevel', 'silent',
+ 'pack', spec
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm pack ran without error")
- t.notOk(code, "npm pack exited cleanly")
- t.notOk(stderr, "npm pack ran silently")
- t.equal(stdout.trim(), packname, "got expected package name")
+ t.ifError(err, 'npm pack ran without error')
+ t.notOk(code, 'npm pack exited cleanly')
+ t.notOk(stderr, 'npm pack ran silently')
+ t.equal(stdout.trim(), packname, 'got expected package name')
common.npm(
[
- "--loglevel", "silent",
- "install", packed
+ '--loglevel', 'silent',
+ 'install', packed
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm install ran without error")
- t.notOk(code, "npm install exited cleanly")
- t.notOk(stderr, "npm install ran silently")
+ t.ifError(err, 'npm install ran without error')
+ t.notOk(code, 'npm install exited cleanly')
+ t.notOk(stderr, 'npm install ran silently')
var actual = readdir(installed).sort()
- t.same(actual, expected, "no unexpected files in packed directory")
+ t.same(actual, expected, 'no unexpected files in packed directory')
rimraf(packed, function () {
t.end()
@@ -111,59 +108,59 @@ function setup (cb) {
process.chdir(dep)
- cat(resolve(dep, ".npmignore"), npmignore)
- cat(resolve(dep, ".gitignore"), gitignore)
- cat(resolve(dep, "a.js"), a)
- cat(resolve(dep, "t.js"), t)
- cat(resolve(dep, "package.json"), JSON.stringify(fixture))
+ cat(resolve(dep, '.npmignore'), npmignore)
+ cat(resolve(dep, '.gitignore'), gitignore)
+ cat(resolve(dep, 'a.js'), a)
+ cat(resolve(dep, 't.js'), t)
+ cat(resolve(dep, 'package.json'), JSON.stringify(fixture))
common.npm(
[
- "--loglevel", "silent",
- "cache", "clean"
+ '--loglevel', 'silent',
+ 'cache', 'clean'
],
EXEC_OPTS,
function (er, code, _, stderr) {
if (er) return cb(er)
- if (code) return cb(new Error("npm cache nonzero exit: "+code))
- if (stderr) return cb(new Error("npm cache clean error: "+stderr))
+ if (code) return cb(new Error('npm cache nonzero exit: ' + code))
+ if (stderr) return cb(new Error('npm cache clean error: ' + stderr))
- which("git", function found (er, git) {
+ which('git', function found (er, git) {
if (er) return cb(er)
- exec(git+" init", init)
+ exec(git + ' init', init)
function init (er, _, stderr) {
if (er) return cb(er)
- if (stderr) return cb(new Error("git init error: "+stderr))
+ if (stderr) return cb(new Error('git init error: ' + stderr))
- exec(git+" config user.name 'Phantom Faker'", user)
+ exec(git + " config user.name 'Phantom Faker'", user)
}
function user (er, _, stderr) {
if (er) return cb(er)
- if (stderr) return cb(new Error("git config error: "+stderr))
+ if (stderr) return cb(new Error('git config error: ' + stderr))
- exec(git+" config user.email nope@not.real", email)
+ exec(git + ' config user.email nope@not.real', email)
}
function email (er, _, stderr) {
if (er) return cb(er)
- if (stderr) return cb(new Error("git config error: "+stderr))
+ if (stderr) return cb(new Error('git config error: ' + stderr))
- exec(git+" add .", addAll)
+ exec(git + ' add .', addAll)
}
function addAll (er, _, stderr) {
if (er) return cb(er)
- if (stderr) return cb(new Error("git add . error: "+stderr))
+ if (stderr) return cb(new Error('git add . error: ' + stderr))
- exec(git+" commit -m boot", commit)
+ exec(git + ' commit -m boot', commit)
}
function commit (er, _, stderr) {
if (er) return cb(er)
- if (stderr) return cb(new Error("git commit error: "+stderr))
+ if (stderr) return cb(new Error('git commit error: ' + stderr))
cb()
}
diff --git a/deps/npm/test/tap/github-shortcut.js b/deps/npm/test/tap/github-shortcut.js
index 598aa68644..1b01de4cff 100644
--- a/deps/npm/test/tap/github-shortcut.js
+++ b/deps/npm/test/tap/github-shortcut.js
@@ -25,8 +25,8 @@ test('setup', function (t) {
test('github-shortcut', function (t) {
var cloneUrls = [
['git://github.com/foo/private.git', 'GitHub shortcuts try git URLs first'],
- ['https://github.com/foo/private.git', 'GitHub shortcuts try HTTPS URLs third'],
- ['git@github.com:foo/private.git', 'GitHub shortcuts try SSH second']
+ ['https://github.com/foo/private.git', 'GitHub shortcuts try HTTPS URLs second'],
+ ['git@github.com:foo/private.git', 'GitHub shortcuts try SSH third']
]
var npm = requireInject.installGlobally('../../lib/npm.js', {
'child_process': {
@@ -39,7 +39,7 @@ test('github-shortcut', function (t) {
} else {
t.fail('too many attempts to clone')
}
- cb(new Error())
+ cb(new Error('execFile mock fails on purpose'))
})
}
}
@@ -51,10 +51,10 @@ test('github-shortcut', function (t) {
registry: common.registry,
loglevel: 'silent'
}
+ t.plan(1 + cloneUrls.length)
npm.load(opts, function (er) {
t.ifError(er, 'npm loaded without error')
npm.commands.install(['foo/private'], function (er, result) {
- t.ok(er, 'mocked install failed as expected')
t.end()
})
})
diff --git a/deps/npm/test/tap/gitlab-shortcut-package.js b/deps/npm/test/tap/gitlab-shortcut-package.js
index 6578084471..76cd7f911b 100644
--- a/deps/npm/test/tap/gitlab-shortcut-package.js
+++ b/deps/npm/test/tap/gitlab-shortcut-package.js
@@ -27,8 +27,8 @@ test('setup', function (t) {
test('gitlab-shortcut-package', function (t) {
var cloneUrls = [
- ['git@gitlab.com:foo/private.git', 'GitLab shortcuts try SSH first'],
- ['https://gitlab.com/foo/private.git', 'GitLab shortcuts try HTTPS URLs second']
+ ['https://gitlab.com/foo/private.git', 'GitLab shortcuts try HTTPS URLs second'],
+ ['git@gitlab.com:foo/private.git', 'GitLab shortcuts try SSH first']
]
var npm = requireInject.installGlobally('../../lib/npm.js', {
'child_process': {
diff --git a/deps/npm/test/tap/gitlab-shortcut.js b/deps/npm/test/tap/gitlab-shortcut.js
index 4a1e2b0bb1..96da268ee0 100644
--- a/deps/npm/test/tap/gitlab-shortcut.js
+++ b/deps/npm/test/tap/gitlab-shortcut.js
@@ -24,8 +24,8 @@ test('setup', function (t) {
test('gitlab-shortcut', function (t) {
var cloneUrls = [
- ['git@gitlab.com:foo/private.git', 'GitLab shortcuts try SSH first'],
- ['https://gitlab.com/foo/private.git', 'GitLab shortcuts try HTTPS URLs second']
+ ['https://gitlab.com/foo/private.git', 'GitLab shortcuts try HTTPS URLs second'],
+ ['git@gitlab.com:foo/private.git', 'GitLab shortcuts try SSH first']
]
var npm = requireInject.installGlobally('../../lib/npm.js', {
'child_process': {
@@ -38,7 +38,7 @@ test('gitlab-shortcut', function (t) {
} else {
t.fail('too many attempts to clone')
}
- cb(new Error())
+ cb(new Error('execFile mock fails on purpose'))
})
}
}
diff --git a/deps/npm/test/tap/global-prefix-set-in-userconfig.js b/deps/npm/test/tap/global-prefix-set-in-userconfig.js
index f820a27727..422bcb2477 100644
--- a/deps/npm/test/tap/global-prefix-set-in-userconfig.js
+++ b/deps/npm/test/tap/global-prefix-set-in-userconfig.js
@@ -1,36 +1,36 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var rimraf = require("rimraf")
-var prefix = __filename.replace(/\.js$/, "")
-var rcfile = __filename.replace(/\.js$/, ".npmrc")
-var fs = require("fs")
-var conf = "prefix = " + prefix + "\n"
+var common = require('../common-tap.js')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var prefix = __filename.replace(/\.js$/, '')
+var rcfile = __filename.replace(/\.js$/, '.npmrc')
+var fs = require('fs')
+var conf = 'prefix = ' + prefix + '\n'
-test("setup", function (t) {
+test('setup', function (t) {
rimraf.sync(prefix)
fs.writeFileSync(rcfile, conf)
- t.pass("ready")
+ t.pass('ready')
t.end()
})
-test("run command", function (t) {
- var args = ["prefix", "-g", "--userconfig=" + rcfile]
+test('run command', function (t) {
+ var args = ['prefix', '-g', '--userconfig=' + rcfile]
common.npm(args, {env: {}}, function (er, code, so) {
if (er) throw er
- t.notOk(code, "npm prefix exited with code 0")
+ t.notOk(code, 'npm prefix exited with code 0')
t.equal(so.trim(), prefix)
t.end()
})
})
-test("made dir", function (t) {
+test('made dir', function (t) {
t.ok(fs.statSync(prefix).isDirectory())
t.end()
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(prefix)
rimraf.sync(rcfile)
- t.pass("clean")
+ t.pass('clean')
t.end()
})
diff --git a/deps/npm/test/tap/graceful-restart.js b/deps/npm/test/tap/graceful-restart.js
index 5326474805..21da0d9904 100644
--- a/deps/npm/test/tap/graceful-restart.js
+++ b/deps/npm/test/tap/graceful-restart.js
@@ -107,8 +107,9 @@ function createChild (args, cb) {
'npm_config_loglevel': 'silent'
}
- if (process.platform === 'win32')
+ if (process.platform === 'win32') {
env.npm_config_cache = '%APPDATA%\\npm-cache'
+ }
return common.npm(args, {
cwd: pkg,
diff --git a/deps/npm/test/tap/ignore-install-link.js b/deps/npm/test/tap/ignore-install-link.js
index 45db51d30f..684c6a05b2 100644
--- a/deps/npm/test/tap/ignore-install-link.js
+++ b/deps/npm/test/tap/ignore-install-link.js
@@ -1,68 +1,73 @@
-if (process.platform === "win32") {
- console.log("ok - symlinks are weird on windows, skip this test")
- return
+if (process.platform === 'win32') {
+ console.log('ok - symlinks are weird on windows, skip this test')
+ process.exit(0)
}
-var common = require("../common-tap.js")
-var test = require("tap").test
-var path = require("path")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
-var root = path.resolve(__dirname, "ignore-install-link")
-var pkg = path.resolve(root, "pkg")
-var dep = path.resolve(root, "dep")
-var target = path.resolve(pkg, "node_modules", "dep")
-var cache = path.resolve(root, "cache")
-var globalPath = path.resolve(root, "global")
+var root = path.resolve(__dirname, 'ignore-install-link')
+var pkg = path.resolve(root, 'pkg')
+var dep = path.resolve(root, 'dep')
+var target = path.resolve(pkg, 'node_modules', 'dep')
+var cache = path.resolve(root, 'cache')
+var globalPath = path.resolve(root, 'global')
-var pkgj = { "name":"pkg", "version": "1.2.3"
- , "dependencies": { "dep": "1.2.3" } }
-var depj = { "name": "dep", "version": "1.2.3" }
+var pkgj = {
+ 'name': 'pkg',
+ 'version': '1.2.3',
+ 'dependencies': {
+ 'dep': '1.2.3'
+ }
+}
+var depj = { 'name': 'dep', 'version': '1.2.3' }
-var myreg = require("http").createServer(function (q, s) {
+var myreg = require('http').createServer(function (q, s) {
s.statusCode = 403
- s.end(JSON.stringify({"error":"forbidden"}) + "\n")
+ s.end(JSON.stringify({'error': 'forbidden'}) + '\n')
}).listen(common.port)
-test("setup", function (t) {
+test('setup', function (t) {
rimraf.sync(root)
mkdirp.sync(root)
- mkdirp.sync(path.resolve(pkg, "node_modules"))
+ mkdirp.sync(path.resolve(pkg, 'node_modules'))
mkdirp.sync(dep)
mkdirp.sync(cache)
mkdirp.sync(globalPath)
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify(pkgj))
- fs.writeFileSync(path.resolve(dep, "package.json"), JSON.stringify(depj))
- fs.symlinkSync(dep, target, "dir")
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify(pkgj))
+ fs.writeFileSync(path.resolve(dep, 'package.json'), JSON.stringify(depj))
+ fs.symlinkSync(dep, target, 'dir')
t.end()
})
-test("ignore install if package is linked", function (t) {
- common.npm(["install"], {
+test('ignore install if package is linked', function (t) {
+ common.npm(['install'], {
cwd: pkg,
env: {
PATH: process.env.PATH || process.env.Path,
HOME: process.env.HOME,
- "npm_config_prefix": globalPath,
- "npm_config_cache": cache,
- "npm_config_registry": common.registry,
- "npm_config_loglevel": "silent"
+ 'npm_config_prefix': globalPath,
+ 'npm_config_cache': cache,
+ 'npm_config_registry': common.registry,
+ 'npm_config_loglevel': 'silent'
},
- stdio: "inherit"
+ stdio: 'inherit'
}, function (er, code) {
if (er) throw er
- t.equal(code, 0, "npm install exited with code")
+ t.equal(code, 0, 'npm install exited with code')
t.end()
})
})
-test("still a symlink", function (t) {
+test('still a symlink', function (t) {
t.equal(true, fs.lstatSync(target).isSymbolicLink())
t.end()
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(root)
myreg.close()
t.end()
diff --git a/deps/npm/test/tap/init-interrupt.js b/deps/npm/test/tap/init-interrupt.js
index 962ab72444..2e85a5d1b9 100644
--- a/deps/npm/test/tap/init-interrupt.js
+++ b/deps/npm/test/tap/init-interrupt.js
@@ -1,52 +1,52 @@
-// if "npm init" is interrupted with ^C, don't report
-// "init written successfully"
-var test = require("tap").test
-var path = require("path")
-var osenv = require("osenv")
-var rimraf = require("rimraf")
-var npmlog = require("npmlog")
-var requireInject = require("require-inject")
+// if 'npm init' is interrupted with ^C, don't report
+// 'init written successfully'
+var test = require('tap').test
+var path = require('path')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var npmlog = require('npmlog')
+var requireInject = require('require-inject')
-var npm = require("../../lib/npm.js")
+var npm = require('../../lib/npm.js')
-var PKG_DIR = path.resolve(__dirname, "init-interrupt")
+var PKG_DIR = path.resolve(__dirname, 'init-interrupt')
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
t.end()
})
-test("issue #6684 remove confusing message", function (t) {
+test('issue #6684 remove confusing message', function (t) {
var initJsonMock = function (dir, input, config, cb) {
process.nextTick(function () {
- cb({message : "canceled"})
+ cb({ message: 'canceled' })
})
}
initJsonMock.yes = function () { return true }
- npm.load({loglevel : "silent"}, function () {
- var log = ""
- var init = requireInject("../../lib/init", {
- "init-package-json": initJsonMock
+ npm.load({ loglevel: 'silent' }, function () {
+ var log = ''
+ var init = requireInject('../../lib/init', {
+ 'init-package-json': initJsonMock
})
// capture log messages
- npmlog.on("log", function (chunk) { log += chunk.message + "\n" } )
+ npmlog.on('log', function (chunk) { log += chunk.message + '\n' })
init([], function (err, code) {
- t.ifError(err, "init ran successfully")
- t.notOk(code, "exited without issue")
- t.notSimilar(log, /written successfully/, "no success message written")
- t.similar(log, /canceled/, "alerted that init was canceled")
+ t.ifError(err, 'init ran successfully')
+ t.notOk(code, 'exited without issue')
+ t.notSimilar(log, /written successfully/, 'no success message written')
+ t.similar(log, /canceled/, 'alerted that init was canceled')
t.end()
})
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
diff --git a/deps/npm/test/tap/install-actions.js b/deps/npm/test/tap/install-actions.js
new file mode 100644
index 0000000000..c71b0044e1
--- /dev/null
+++ b/deps/npm/test/tap/install-actions.js
@@ -0,0 +1,108 @@
+'use strict'
+var npm = require('../../lib/npm.js')
+var log = require('npmlog')
+var test = require('tap').test
+
+var mockLog = {
+ finish: function () {},
+ silly: function () {}
+}
+
+var actions
+test('setup', function (t) {
+ npm.load(function () {
+ log.disableProgress()
+ actions = require('../../lib/install/actions.js').actions
+ t.end()
+ })
+})
+
+test('->optdep:a->dep:b', function (t) {
+ var moduleA = {
+ name: 'a',
+ path: '/',
+ package: {
+ scripts: {
+ postinstall: 'false'
+ },
+ dependencies: {
+ b: '*'
+ }
+ }
+ }
+ var moduleB = {
+ name: 'b',
+ path: '/',
+ package: {},
+ requires: [],
+ requiredBy: [moduleA]
+ }
+ moduleA.requires = [moduleB]
+
+ var tree = {
+ path: '/',
+ package: {
+ optionalDependencies: {
+ a: '*'
+ }
+ },
+ children: [moduleA, moduleB],
+ requires: [moduleA]
+ }
+ moduleA.requiredBy = [tree]
+
+ t.plan(3)
+ actions.postinstall('/', '/', moduleA, mockLog, function (er) {
+ t.ok(er && er.code === 'ELIFECYCLE', 'Lifecycle failed')
+ t.ok(moduleA.failed, 'moduleA (optional dep) is marked failed')
+ t.ok(moduleB.failed, 'moduleB (direct dep of moduleA) is marked as failed')
+ t.end()
+ })
+})
+
+test('->dep:b,->optdep:a->dep:b', function (t) {
+ var moduleA = {
+ name: 'a',
+ path: '/',
+ package: {
+ scripts: {
+ postinstall: 'false'
+ },
+ dependencies: {
+ b: '*'
+ }
+ }
+ }
+ var moduleB = {
+ name: 'b',
+ path: '/',
+ package: {},
+ requires: [],
+ requiredBy: [moduleA]
+ }
+ moduleA.requires = [moduleB]
+
+ var tree = {
+ path: '/',
+ package: {
+ dependencies: {
+ b: '*'
+ },
+ optionalDependencies: {
+ a: '*'
+ }
+ },
+ children: [moduleA, moduleB],
+ requires: [moduleA, moduleB]
+ }
+ moduleA.requiredBy = [tree]
+ moduleB.requiredBy.push(tree)
+
+ t.plan(3)
+ actions.postinstall('/', '/', moduleA, mockLog, function (er) {
+ t.ok(er && er.code === 'ELIFECYCLE', 'Lifecycle failed')
+ t.ok(moduleA.failed, 'moduleA (optional dep) is marked failed')
+ t.ok(!moduleB.failed, 'moduleB (direct dep of moduleA) is marked as failed')
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/install-at-locally.js b/deps/npm/test/tap/install-at-locally.js
index 9c5d85980c..8745c4d60e 100644
--- a/deps/npm/test/tap/install-at-locally.js
+++ b/deps/npm/test/tap/install-at-locally.js
@@ -13,7 +13,7 @@ var pkg = path.join(__dirname, 'install-at-locally')
var EXEC_OPTS = { cwd: pkg }
var json = {
- name: 'install-at-locally',
+ name: 'install-at-locally-mock',
version: '0.0.0'
}
@@ -25,8 +25,8 @@ test('setup', function (t) {
test('\'npm install ./package@1.2.3\' should install local pkg', function (t) {
var target = './package@1.2.3'
setup(target)
- common.npm(['install', target], EXEC_OPTS, function (err, code) {
- var p = path.resolve(pkg, 'node_modules/install-at-locally/package.json')
+ common.npm(['install', '--loglevel=silent', target], EXEC_OPTS, function (err, code) {
+ var p = path.resolve(pkg, 'node_modules/install-at-locally-mock/package.json')
t.ifError(err, 'install local package successful')
t.equal(code, 0, 'npm install exited with code')
t.ok(JSON.parse(fs.readFileSync(p, 'utf8')))
@@ -38,7 +38,7 @@ test('\'npm install install/at/locally@./package@1.2.3\' should install local pk
var target = 'install/at/locally@./package@1.2.3'
setup(target)
common.npm(['install', target], EXEC_OPTS, function (err, code) {
- var p = path.resolve(pkg, 'node_modules/install-at-locally/package.json')
+ var p = path.resolve(pkg, 'node_modules/install-at-locally-mock/package.json')
t.ifError(err, 'install local package in explicit directory successful')
t.equal(code, 0, 'npm install exited with code')
t.ok(JSON.parse(fs.readFileSync(p, 'utf8')))
diff --git a/deps/npm/test/tap/install-bad-dep-format.js b/deps/npm/test/tap/install-bad-dep-format.js
new file mode 100644
index 0000000000..01d253c9e5
--- /dev/null
+++ b/deps/npm/test/tap/install-bad-dep-format.js
@@ -0,0 +1,58 @@
+var fs = require('graceful-fs')
+var path = require('path')
+
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var common = require('../common-tap.js')
+
+var json = {
+ author: 'John Foo',
+ name: 'bad-dep-format',
+ version: '0.0.0',
+ dependencies: {
+ 'not-legit': 'npm:not-legit@1.0'
+ }
+}
+
+test('invalid url format returns appropriate error', function (t) {
+ setup(json)
+ common.npm(['install'], {}, function (err, code, stdout, stderr) {
+ t.ifError(err, 'install ran without error')
+ t.equals(code, 1, 'inall exited with code 1')
+ t.match(stderr,
+ /ERR.*Unsupported URL Type/,
+ 'Error should report that invalid url-style formats are used')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function setup (json) {
+ cleanup()
+ process.chdir(mkPkg(json))
+}
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ var pkgs = [json]
+ pkgs.forEach(function (json) {
+ rimraf.sync(path.resolve(__dirname, json.name))
+ })
+}
+
+function mkPkg (json) {
+ var pkgPath = path.resolve(__dirname, json.name)
+ mkdirp.sync(pkgPath)
+ fs.writeFileSync(
+ path.join(pkgPath, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+ return pkgPath
+}
diff --git a/deps/npm/test/tap/install-bad-man.js b/deps/npm/test/tap/install-bad-man.js
index 9ec8a84734..756b4a5902 100644
--- a/deps/npm/test/tap/install-bad-man.js
+++ b/deps/npm/test/tap/install-bad-man.js
@@ -1,53 +1,52 @@
-var fs = require("fs")
-var resolve = require("path").resolve
+var fs = require('fs')
+var resolve = require('path').resolve
-var osenv = require("osenv")
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var test = require("tap").test
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
-var pkg = resolve(__dirname, "install-bad-man")
-var target = resolve(__dirname, "install-bad-man-target")
+var pkg = resolve(__dirname, 'install-bad-man')
+var target = resolve(__dirname, 'install-bad-man-target')
var EXEC_OPTS = {
cwd: target
}
var json = {
- name : "install-bad-man",
- version : "1.2.3",
- man : [ "./install-bad-man.1.lol" ]
+ name: 'install-bad-man',
+ version: '1.2.3',
+ man: [ './install-bad-man.1.lol' ]
}
-
-test("setup", function (t) {
+test('setup', function (t) {
setup()
- t.pass("setup ran")
+ t.pass('setup ran')
t.end()
})
test("install from repo on 'OS X'", function (t) {
common.npm(
[
- "install",
- "--prefix", target,
- "--global",
+ 'install',
+ '--prefix', target,
+ '--global',
pkg
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm command ran from test")
- t.equals(code, 1, "install exited with failure (1)")
- t.notOk(stdout, "no output indicating success")
+ t.ifError(err, 'npm command ran from test')
+ t.equals(code, 1, 'install exited with failure (1)')
+ t.notOk(stdout, 'no output indicating success')
t.notOk(
stderr.match(/Cannot read property '1' of null/),
- "no longer has cryptic error output"
+ 'no longer has cryptic error output'
)
t.ok(
stderr.match(/install-bad-man\.1\.lol is not a valid name/),
- "got expected error output"
+ 'got expected error output'
)
t.end()
@@ -55,9 +54,9 @@ test("install from repo on 'OS X'", function (t) {
)
})
-test("clean", function (t) {
+test('clean', function (t) {
cleanup()
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
@@ -65,12 +64,12 @@ function setup () {
cleanup()
mkdirp.sync(pkg)
// make sure it installs locally
- mkdirp.sync(resolve(target, "node_modules"))
+ mkdirp.sync(resolve(target, 'node_modules'))
fs.writeFileSync(
- resolve(pkg, "package.json"),
- JSON.stringify(json, null, 2)+"\n"
+ resolve(pkg, 'package.json'),
+ JSON.stringify(json, null, 2) + '\n'
)
- fs.writeFileSync(resolve(pkg, "install-bad-man.1.lol"), "lol\n")
+ fs.writeFileSync(resolve(pkg, 'install-bad-man.1.lol'), 'lol\n')
}
function cleanup () {
diff --git a/deps/npm/test/tap/install-cli-only-development.js b/deps/npm/test/tap/install-cli-only-development.js
new file mode 100644
index 0000000000..21c30378e4
--- /dev/null
+++ b/deps/npm/test/tap/install-cli-only-development.js
@@ -0,0 +1,85 @@
+var fs = require('graceful-fs')
+var path = require('path')
+var existsSync = fs.existsSync || path.existsSync
+
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var common = require('../common-tap.js')
+
+var pkg = path.join(__dirname, 'install-cli-development')
+
+var EXEC_OPTS = { cwd: pkg }
+
+var json = {
+ name: 'install-cli-development',
+ description: 'fixture',
+ version: '0.0.0',
+ dependencies: {
+ dependency: 'file:./dependency'
+ },
+ devDependencies: {
+ 'dev-dependency': 'file:./dev-dependency'
+ }
+}
+
+var dependency = {
+ name: 'dependency',
+ description: 'fixture',
+ version: '0.0.0'
+}
+
+var devDependency = {
+ name: 'dev-dependency',
+ description: 'fixture',
+ version: '0.0.0'
+}
+
+test('setup', function (t) {
+ mkdirp.sync(path.join(pkg, 'dependency'))
+ fs.writeFileSync(
+ path.join(pkg, 'dependency', 'package.json'),
+ JSON.stringify(dependency, null, 2)
+ )
+
+ mkdirp.sync(path.join(pkg, 'dev-dependency'))
+ fs.writeFileSync(
+ path.join(pkg, 'dev-dependency', 'package.json'),
+ JSON.stringify(devDependency, null, 2)
+ )
+
+ mkdirp.sync(path.join(pkg, 'node_modules'))
+ fs.writeFileSync(
+ path.join(pkg, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+
+ process.chdir(pkg)
+ t.end()
+})
+
+test('\'npm install --only=development\' should only install devDependencies', function (t) {
+ common.npm(['install', '--only=development'], EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'install development successful')
+ t.equal(code, 0, 'npm install did not raise error code')
+ t.ok(
+ JSON.parse(fs.readFileSync(
+ path.resolve(pkg, 'node_modules/dev-dependency/package.json'), 'utf8')
+ ),
+ 'devDependency was installed'
+ )
+ t.notOk(
+ existsSync(path.resolve(pkg, 'node_modules/dependency/package.json')),
+ 'dependency was NOT installed'
+ )
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(pkg)
+ t.end()
+})
diff --git a/deps/npm/test/tap/install-cli-only-production.js b/deps/npm/test/tap/install-cli-only-production.js
new file mode 100644
index 0000000000..7f46a23e15
--- /dev/null
+++ b/deps/npm/test/tap/install-cli-only-production.js
@@ -0,0 +1,88 @@
+var fs = require('graceful-fs')
+var path = require('path')
+var existsSync = fs.existsSync || path.existsSync
+
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var common = require('../common-tap.js')
+
+var pkg = path.join(__dirname, 'install-cli-only-production')
+
+var EXEC_OPTS = { cwd: pkg }
+
+var json = {
+ name: 'install-cli-only-production',
+ description: 'fixture',
+ version: '0.0.0',
+ scripts: {
+ prepublish: 'exit 123'
+ },
+ dependencies: {
+ dependency: 'file:./dependency'
+ },
+ devDependencies: {
+ 'dev-dependency': 'file:./dev-dependency'
+ }
+}
+
+var dependency = {
+ name: 'dependency',
+ description: 'fixture',
+ version: '0.0.0'
+}
+
+var devDependency = {
+ name: 'dev-dependency',
+ description: 'fixture',
+ version: '0.0.0'
+}
+
+test('setup', function (t) {
+ mkdirp.sync(path.join(pkg, 'dependency'))
+ fs.writeFileSync(
+ path.join(pkg, 'dependency', 'package.json'),
+ JSON.stringify(dependency, null, 2)
+ )
+
+ mkdirp.sync(path.join(pkg, 'devDependency'))
+ fs.writeFileSync(
+ path.join(pkg, 'devDependency', 'package.json'),
+ JSON.stringify(devDependency, null, 2)
+ )
+
+ mkdirp.sync(path.join(pkg, 'node_modules'))
+ fs.writeFileSync(
+ path.join(pkg, 'package.json'),
+ JSON.stringify(json, null, 2)
+ )
+
+ process.chdir(pkg)
+ t.end()
+})
+
+test('\'npm install --only=production\' should only install dependencies', function (t) {
+ common.npm(['install', '--only=production'], EXEC_OPTS, function (err, code) {
+ t.ifError(err, 'install production successful')
+ t.equal(code, 0, 'npm install did not raise error code')
+ t.ok(
+ JSON.parse(fs.readFileSync(
+ path.resolve(pkg, 'node_modules/dependency/package.json'), 'utf8')
+ ),
+ 'dependency was installed'
+ )
+ t.notOk(
+ existsSync(path.resolve(pkg, 'node_modules/dev-dependency/package.json')),
+ 'devDependency was NOT installed'
+ )
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(pkg)
+ t.end()
+})
diff --git a/deps/npm/test/tap/install-cli-production.js b/deps/npm/test/tap/install-cli-production.js
index fbaf23afb4..a1fdac6e88 100644
--- a/deps/npm/test/tap/install-cli-production.js
+++ b/deps/npm/test/tap/install-cli-production.js
@@ -47,9 +47,9 @@ test('setup', function (t) {
JSON.stringify(dependency, null, 2)
)
- mkdirp.sync(path.join(pkg, 'devDependency'))
+ mkdirp.sync(path.join(pkg, 'dev-dependency'))
fs.writeFileSync(
- path.join(pkg, 'devDependency', 'package.json'),
+ path.join(pkg, 'dev-dependency', 'package.json'),
JSON.stringify(devDependency, null, 2)
)
diff --git a/deps/npm/test/tap/install-into-likenamed-folder.js b/deps/npm/test/tap/install-into-likenamed-folder.js
new file mode 100644
index 0000000000..187d5fbf11
--- /dev/null
+++ b/deps/npm/test/tap/install-into-likenamed-folder.js
@@ -0,0 +1,44 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var moduleDir = path.join(base, 'example-src')
+var destDir = path.join(base, 'example')
+var moduleJson = {
+ name: 'example',
+ version: '1.0.0'
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(moduleDir)
+ mkdirp.sync(path.join(destDir, 'node_modules'))
+ fs.writeFileSync(path.join(moduleDir, 'package.json'), JSON.stringify(moduleJson))
+}
+
+function cleanup () {
+ rimraf.sync(base)
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+test('like-named', function (t) {
+ common.npm(['install', '../example-src'], {cwd: destDir}, function (er, code, stdout, stderr) {
+ t.is(code, 0, 'no error code')
+ t.is(stderr, '', 'no error output')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
diff --git a/deps/npm/test/tap/install-local-dep-cycle.js b/deps/npm/test/tap/install-local-dep-cycle.js
new file mode 100644
index 0000000000..1f76ad9598
--- /dev/null
+++ b/deps/npm/test/tap/install-local-dep-cycle.js
@@ -0,0 +1,79 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+
+var baseJSON = {
+ name: 'base',
+ version: '1.0.0',
+ dependencies: {
+ a: 'file:a/',
+ b: 'file:b/'
+ }
+}
+
+var aPath = path.join(base, 'a')
+var aJSON = {
+ name: 'a',
+ version: '1.0.0',
+ dependencies: {
+ b: 'file:../b',
+ c: 'file:../c'
+ }
+}
+
+var bPath = path.join(base, 'b')
+var bJSON = {
+ name: 'b',
+ version: '1.0.0'
+}
+
+var cPath = path.join(base, 'c')
+var cJSON = {
+ name: 'c',
+ version: '1.0.0',
+ dependencies: {
+ b: 'file:../b'
+ }
+}
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ t.end()
+})
+
+test('install', function (t) {
+ common.npm(['install'], {cwd: base}, function (er, code, stdout, stderr) {
+ t.ifError(er, 'npm config ran without issue')
+ t.is(code, 0, 'exited with a non-error code')
+ t.is(stderr, '', 'Ran without errors')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function saveJson (pkgPath, json) {
+ mkdirp.sync(pkgPath)
+ fs.writeFileSync(path.join(pkgPath, 'package.json'), JSON.stringify(json, null, 2))
+}
+
+function setup () {
+ saveJson(base, baseJSON)
+ saveJson(aPath, aJSON)
+ saveJson(bPath, bJSON)
+ saveJson(cPath, cJSON)
+}
+
+function cleanup () {
+ rimraf.sync(base)
+}
diff --git a/deps/npm/test/tap/install-man.js b/deps/npm/test/tap/install-man.js
index ebba5d87b0..d309788b25 100644
--- a/deps/npm/test/tap/install-man.js
+++ b/deps/npm/test/tap/install-man.js
@@ -1,48 +1,48 @@
-var fs = require("fs")
-var resolve = require("path").resolve
+var fs = require('fs')
+var resolve = require('path').resolve
-var osenv = require("osenv")
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var test = require("tap").test
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
-var pkg = resolve(__dirname, "install-man")
-var target = resolve(__dirname, "install-man-target")
+var pkg = resolve(__dirname, 'install-man')
+var target = resolve(__dirname, 'install-man-target')
var EXEC_OPTS = {
cwd: target
}
var json = {
- name : "install-man",
- version : "1.2.3",
- man : [ "./install-man.1" ]
+ name: 'install-man',
+ version: '1.2.3',
+ man: [ './install-man.1' ]
}
-test("setup", function (t) {
+test('setup', function (t) {
setup()
- t.pass("setup ran")
+ t.pass('setup ran')
t.end()
})
-test("install man page", function (t) {
+test('install man page', function (t) {
common.npm(
[
- "install",
- "--prefix", target,
- "--global",
+ 'install',
+ '--prefix', target,
+ '--global',
pkg
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm command ran from test")
- t.equals(code, 0, "install exited with success (0)")
- t.ok(stdout, "output indicating success")
+ t.ifError(err, 'npm command ran from test')
+ t.equals(code, 0, 'install exited with success (0)')
+ t.ok(stdout, 'output indicating success')
t.ok(
- fs.existsSync(resolve(target, "share", "man", "man1", "install-man.1")),
- "man page link was created"
+ fs.existsSync(resolve(target, 'share', 'man', 'man1', 'install-man.1')),
+ 'man page link was created'
)
t.end()
@@ -50,9 +50,9 @@ test("install man page", function (t) {
)
})
-test("clean", function (t) {
+test('clean', function (t) {
cleanup()
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
@@ -60,12 +60,12 @@ function setup () {
cleanup()
mkdirp.sync(pkg)
// make sure it installs locally
- mkdirp.sync(resolve(target, "node_modules"))
+ mkdirp.sync(resolve(target, 'node_modules'))
fs.writeFileSync(
- resolve(pkg, "package.json"),
- JSON.stringify(json, null, 2)+"\n"
+ resolve(pkg, 'package.json'),
+ JSON.stringify(json, null, 2) + '\n'
)
- fs.writeFileSync(resolve(pkg, "install-man.1"), "THIS IS A MANPAGE\n")
+ fs.writeFileSync(resolve(pkg, 'install-man.1'), 'THIS IS A MANPAGE\n')
}
function cleanup () {
diff --git a/deps/npm/test/tap/install-order.js b/deps/npm/test/tap/install-order.js
new file mode 100644
index 0000000000..c1c4e9dca6
--- /dev/null
+++ b/deps/npm/test/tap/install-order.js
@@ -0,0 +1,37 @@
+'use strict'
+var test = require('tap').test
+var sortActions = require('../../lib/install/diff-trees.js').sortActions
+
+var a = {
+ package: {_location: '/a', _requiredBy: []}
+}
+var b = {
+ package: {_location: '/b', _requiredBy: []}
+}
+var c = {
+ package: {_location: '/c', _requiredBy: ['/a', '/b']}
+}
+
+test('install-order when installing deps', function (t) {
+ var plain = [
+ ['add', a],
+ ['add', b],
+ ['add', c]]
+ var sorted = [
+ ['add', c],
+ ['add', a],
+ ['add', b]]
+ t.isDeeply(sortActions(plain), sorted)
+ t.end()
+})
+
+test('install-order when not installing deps', function (t) {
+ var plain = [
+ ['add', a],
+ ['add', b]]
+ var sorted = [
+ ['add', a],
+ ['add', b]]
+ t.isDeeply(sortActions(plain), sorted)
+ t.end()
+})
diff --git a/deps/npm/test/tap/install-save-local.js b/deps/npm/test/tap/install-save-local.js
index 33a1c613f1..a9de5ba194 100644
--- a/deps/npm/test/tap/install-save-local.js
+++ b/deps/npm/test/tap/install-save-local.js
@@ -51,9 +51,9 @@ test('\'npm install --save ../local/path\' should save to package.json', functio
t.ok(JSON.parse(fs.readFileSync(dependencyPackageJson, 'utf8')))
var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
- t.deepEqual(
- pkgJson.dependencies,
- { 'package-local-dependency': 'file:../package-local-dependency' },
+ t.is(Object.keys(pkgJson.dependencies).length, 1, 'only one dep')
+ t.ok(
+ /file:.*?[/]package-local-dependency$/.test(pkgJson.dependencies['package-local-dependency']),
'local package saved correctly'
)
t.end()
@@ -80,9 +80,9 @@ test('\'npm install --save-dev ../local/path\' should save to package.json', fun
t.ok(JSON.parse(fs.readFileSync(dependencyPackageJson, 'utf8')))
var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
- t.deepEqual(
- pkgJson.devDependencies,
- { 'package-local-dev-dependency': 'file:../package-local-dev-dependency' },
+ t.is(Object.keys(pkgJson.devDependencies).length, 1, 'only one dep')
+ t.ok(
+ /file:.*?[/]package-local-dev-dependency$/.test(pkgJson.devDependencies['package-local-dev-dependency']),
'local package saved correctly'
)
diff --git a/deps/npm/test/tap/install-scoped-already-installed.js b/deps/npm/test/tap/install-scoped-already-installed.js
index 1446897d44..f3c191ddb0 100644
--- a/deps/npm/test/tap/install-scoped-already-installed.js
+++ b/deps/npm/test/tap/install-scoped-already-installed.js
@@ -31,7 +31,7 @@ var localDependency = {
}
var scopedDependency = {
- name: '@scoped/package',
+ name: '@scoped/package-scoped-dependency',
version: '0.0.0',
description: 'Test for local installs'
}
@@ -64,6 +64,7 @@ test('installing already installed local scoped package', function (t) {
common.npm(
[
'--loglevel', 'silent',
+ '--parseable',
'install'
],
EXEC_OPTS,
@@ -71,14 +72,13 @@ test('installing already installed local scoped package', function (t) {
var installed = parseNpmInstallOutput(stdout)
t.ifError(err, 'install ran to completion without error')
t.notOk(code, 'npm install exited with code 0')
-
t.ok(
- existsSync(path.join(modules, '@scoped', 'package', 'package.json')),
+ existsSync(path.join(modules, '@scoped', 'package-scoped-dependency', 'package.json')),
'package installed'
)
t.ok(
- contains(installed, 'node_modules/@scoped/package'),
- 'installed @scoped/package'
+ contains(installed, 'node_modules/@scoped/package-scoped-dependency'),
+ 'installed @scoped/package-scoped-dependency'
)
t.ok(
contains(installed, 'node_modules/package-local-dependency'),
@@ -88,6 +88,7 @@ test('installing already installed local scoped package', function (t) {
common.npm(
[
'--loglevel', 'silent',
+ '--parseable',
'install'
],
EXEC_OPTS,
@@ -98,13 +99,13 @@ test('installing already installed local scoped package', function (t) {
installed = parseNpmInstallOutput(stdout)
t.ok(
- existsSync(path.join(modules, '@scoped', 'package', 'package.json')),
+ existsSync(path.join(modules, '@scoped', 'package-scoped-dependency', 'package.json')),
'package installed'
)
t.notOk(
- contains(installed, 'node_modules/@scoped/package'),
- 'did not reinstall @scoped/package'
+ contains(installed, 'node_modules/@scoped/package-scoped-dependency'),
+ 'did not reinstall @scoped/package-scoped-dependency'
)
t.notOk(
contains(installed, 'node_modules/package-local-dependency'),
@@ -124,8 +125,9 @@ test('cleanup', function (t) {
})
function contains (list, element) {
+ var matcher = new RegExp(element + '$')
for (var i = 0; i < list.length; ++i) {
- if (list[i] === element) {
+ if (matcher.test(list[i])) {
return true
}
}
diff --git a/deps/npm/test/tap/install-scoped-with-peer-dependency.js b/deps/npm/test/tap/install-scoped-with-peer-dependency.js
index 3a54b9a11f..da571ae549 100644
--- a/deps/npm/test/tap/install-scoped-with-peer-dependency.js
+++ b/deps/npm/test/tap/install-scoped-with-peer-dependency.js
@@ -27,13 +27,12 @@ test('setup', function (t) {
})
test('it should install peerDependencies in same tree level as the parent package', function (t) {
- common.npm(['install', './package'], EXEC_OPTS, function (err, code, stdout, stderr) {
+ common.npm(['install', '--loglevel=warn', './package'], EXEC_OPTS, function (err, code, stdout, stderr) {
t.ifError(err, 'install local package successful')
t.equal(code, 0, 'npm install exited with code')
- t.notOk(stderr, 'npm install exited without any error output')
+ t.match(stderr, /npm WARN EPEERINVALID @scope[/]package@0[.]0[.]0 requires a peer of underscore@[*] but none was installed[.]\n/,
+ 'npm install warned about unresolved peer dep')
- var p = path.resolve(pkg, 'node_modules/underscore/package.json')
- t.ok(JSON.parse(fs.readFileSync(p, 'utf8')))
t.end()
})
})
diff --git a/deps/npm/test/tap/install-with-dev-dep-duplicate.js b/deps/npm/test/tap/install-with-dev-dep-duplicate.js
index 19ad0c2bf4..41eb823311 100644
--- a/deps/npm/test/tap/install-with-dev-dep-duplicate.js
+++ b/deps/npm/test/tap/install-with-dev-dep-duplicate.js
@@ -31,7 +31,8 @@ var expected = {
underscore: {
version: '1.5.1',
from: 'underscore@1.5.1',
- resolved: common.registry + '/underscore/-/underscore-1.5.1.tgz'
+ resolved: common.registry + '/underscore/-/underscore-1.5.1.tgz',
+ invalid: true
}
}
}
@@ -49,6 +50,10 @@ test('prefers version from dependencies over devDependencies', function (t) {
npm.commands.ls([], true, function (err, _, results) {
if (err) return t.fail(err)
+ // these contain full paths so we can't do an exact match
+ // with them
+ delete results.problems
+ delete results.dependencies.underscore.problems
t.deepEqual(results, expected)
s.close()
t.end()
diff --git a/deps/npm/test/tap/invalid-cmd-exit-code.js b/deps/npm/test/tap/invalid-cmd-exit-code.js
index c9918e5a79..f4bb444a17 100644
--- a/deps/npm/test/tap/invalid-cmd-exit-code.js
+++ b/deps/npm/test/tap/invalid-cmd-exit-code.js
@@ -1,28 +1,28 @@
-var test = require("tap").test
-var common = require("../common-tap.js")
+var test = require('tap').test
+var common = require('../common-tap.js')
var opts = { cwd: process.cwd() }
-test("npm asdf should return exit code 1", function (t) {
- common.npm(["asdf"], opts, function (er, c) {
+test('npm asdf should return exit code 1', function (t) {
+ common.npm(['asdf'], opts, function (er, c) {
if (er) throw er
- t.ok(c, "exit code should not be zero")
+ t.ok(c, 'exit code should not be zero')
t.end()
})
})
-test("npm help should return exit code 0", function (t) {
- common.npm(["help"], opts, function (er, c) {
+test('npm help should return exit code 0', function (t) {
+ common.npm(['help'], opts, function (er, c) {
if (er) throw er
- t.equal(c, 0, "exit code should be 0")
+ t.equal(c, 0, 'exit code should be 0')
t.end()
})
})
-test("npm help fadf should return exit code 0", function (t) {
- common.npm(["help", "fadf"], opts, function (er, c) {
+test('npm help fadf should return exit code 0', function (t) {
+ common.npm(['help', 'fadf'], opts, function (er, c) {
if (er) throw er
- t.equal(c, 0, "exit code should be 0")
+ t.equal(c, 0, 'exit code should be 0')
t.end()
})
})
diff --git a/deps/npm/test/tap/is-fs-access-available.js b/deps/npm/test/tap/is-fs-access-available.js
new file mode 100644
index 0000000000..7374e40223
--- /dev/null
+++ b/deps/npm/test/tap/is-fs-access-available.js
@@ -0,0 +1,54 @@
+'use strict'
+var test = require('tap').test
+var requireInject = require('require-inject')
+var semver = require('semver')
+
+var globalProcess = global.process
+
+function loadIsFsAccessAvailable (newProcess, fs) {
+ global.process = newProcess
+ var mocks = {fs: fs}
+ var isFsAccessAvailable = requireInject('../../lib/install/is-fs-access-available.js', mocks)
+ global.process = globalProcess
+ return isFsAccessAvailable
+}
+
+var fsWithAccess = {access: function () {}}
+var fsWithoutAccess = {}
+
+if (semver.lt(process.version, '0.12.0')) {
+ test('skipping', function (t) {
+ t.pass('skipping all tests on < 0.12.0 due to process not being injectable')
+ t.end()
+ })
+} else {
+ test('mac + !fs.access', function (t) {
+ var isFsAccessAvailable = loadIsFsAccessAvailable({platform: 'darwin'}, fsWithoutAccess)
+ t.is(isFsAccessAvailable, false, 'not available')
+ t.end()
+ })
+
+ test('mac + fs.access', function (t) {
+ var isFsAccessAvailable = loadIsFsAccessAvailable({platform: 'darwin'}, fsWithAccess)
+ t.is(isFsAccessAvailable, true, 'available')
+ t.end()
+ })
+
+ test('windows + !fs.access', function (t) {
+ var isFsAccessAvailable = loadIsFsAccessAvailable({platform: 'win32'}, fsWithoutAccess)
+ t.is(isFsAccessAvailable, false, 'not available')
+ t.end()
+ })
+
+ test('windows + fs.access + node 0.12.7', function (t) {
+ var isFsAccessAvailable = loadIsFsAccessAvailable({platform: 'win32', version: '0.12.7'}, fsWithAccess)
+ t.is(isFsAccessAvailable, false, 'not available')
+ t.end()
+ })
+
+ test('windows + fs.access + node 2.4.0', function (t) {
+ var isFsAccessAvailable = loadIsFsAccessAvailable({platform: 'win32', version: '2.4.0'}, fsWithAccess)
+ t.is(isFsAccessAvailable, true, 'available')
+ t.end()
+ })
+}
diff --git a/deps/npm/test/tap/lifecycle.js b/deps/npm/test/tap/lifecycle.js
index aa0efc5266..1bd77c383b 100644
--- a/deps/npm/test/tap/lifecycle.js
+++ b/deps/npm/test/tap/lifecycle.js
@@ -1,12 +1,12 @@
-var test = require("tap").test
-var npm = require("../../")
-var lifecycle = require("../../lib/utils/lifecycle")
+var test = require('tap').test
+var npm = require('../../')
+var lifecycle = require('../../lib/utils/lifecycle')
-test("lifecycle: make env correctly", function (t) {
+test('lifecycle: make env correctly', function (t) {
npm.load({enteente: Infinity}, function () {
var env = lifecycle.makeEnv({}, null, process.env)
- t.equal("Infinity", env.npm_config_enteente)
+ t.equal('Infinity', env.npm_config_enteente)
t.end()
})
})
diff --git a/deps/npm/test/tap/link.js b/deps/npm/test/tap/link.js
index ea47e8296a..869364c29b 100644
--- a/deps/npm/test/tap/link.js
+++ b/deps/npm/test/tap/link.js
@@ -8,6 +8,7 @@ var writeFileSync = require('fs').writeFileSync
var common = require('../common-tap.js')
var link = path.join(__dirname, 'link')
+var linkScoped = path.join(__dirname, 'link-scoped')
var linkInstall = path.join(__dirname, 'link-install')
var linkRoot = path.join(__dirname, 'link-root')
@@ -32,6 +33,18 @@ var readJSON = {
license: 'ISC'
}
+var readScopedJSON = {
+ name: '@scope/foo',
+ version: '1.0.0',
+ description: '',
+ main: 'index.js',
+ scripts: {
+ test: 'echo \"Error: no test specified\" && exit 1'
+ },
+ author: '',
+ license: 'ISC'
+}
+
var installJSON = {
name: 'bar',
version: '1.0.0',
@@ -44,7 +57,6 @@ var installJSON = {
license: 'ISC'
}
-
test('setup', function (t) {
setup()
common.npm(['ls', '-g', '--depth=0'], OPTS, function (err, c, out) {
@@ -55,7 +67,7 @@ test('setup', function (t) {
})
})
-test('creates global link', function (t) {
+test('create global link', function (t) {
process.chdir(link)
common.npm(['link'], OPTS, function (err, c, out) {
t.ifError(err, 'link has no error')
@@ -69,6 +81,20 @@ test('creates global link', function (t) {
})
})
+test('create scoped global link', function (t) {
+ process.chdir(linkScoped)
+ common.npm(['link'], OPTS, function (err, c, out) {
+ t.ifError(err, 'link has no error')
+ common.npm(['ls', '-g'], OPTS, function (err, c, out, stderr) {
+ t.ifError(err)
+ t.equal(c, 0)
+ t.equal(stderr, '', 'got expected stderr')
+ t.has(out, /@scope[/]foo@1.0.0/, 'creates global link ok')
+ t.end()
+ })
+ })
+})
+
test('link-install the package', function (t) {
process.chdir(linkInstall)
common.npm(['link', 'foo'], OPTS, function (err) {
@@ -82,6 +108,19 @@ test('link-install the package', function (t) {
})
})
+test('link-install the scoped package', function (t) {
+ process.chdir(linkInstall)
+ common.npm(['link', linkScoped], OPTS, function (err) {
+ t.ifError(err, 'link-install has no error')
+ common.npm(['ls'], OPTS, function (err, c, out) {
+ t.ifError(err)
+ t.equal(c, 1)
+ t.has(out, /@scope[/]foo@1.0.0/, 'link-install ok')
+ t.end()
+ })
+ })
+})
+
test('cleanup', function (t) {
process.chdir(osenv.tmpdir())
common.npm(['rm', 'foo'], OPTS, function (err, code) {
@@ -100,6 +139,7 @@ test('cleanup', function (t) {
function cleanup () {
rimraf.sync(linkRoot)
rimraf.sync(link)
+ rimraf.sync(linkScoped)
rimraf.sync(linkInstall)
}
@@ -111,6 +151,11 @@ function setup () {
path.join(link, 'package.json'),
JSON.stringify(readJSON, null, 2)
)
+ mkdirp.sync(linkScoped)
+ writeFileSync(
+ path.join(linkScoped, 'package.json'),
+ JSON.stringify(readScopedJSON, null, 2)
+ )
mkdirp.sync(linkInstall)
writeFileSync(
path.join(linkInstall, 'package.json'),
diff --git a/deps/npm/test/tap/locker.js b/deps/npm/test/tap/locker.js
index bc43c30e95..8c548095f7 100644
--- a/deps/npm/test/tap/locker.js
+++ b/deps/npm/test/tap/locker.js
@@ -1,54 +1,54 @@
-var test = require("tap").test
- , path = require("path")
- , fs = require("graceful-fs")
- , crypto = require("crypto")
- , rimraf = require("rimraf")
- , osenv = require("osenv")
- , mkdirp = require("mkdirp")
- , npm = require("../../")
- , locker = require("../../lib/utils/locker.js")
- , lock = locker.lock
- , unlock = locker.unlock
+var test = require('tap').test
+var path = require('path')
+var fs = require('graceful-fs')
+var crypto = require('crypto')
+var rimraf = require('rimraf')
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var npm = require('../../')
+var locker = require('../../lib/utils/locker.js')
+var lock = locker.lock
+var unlock = locker.unlock
-var pkg = path.join(__dirname, "/locker")
- , cache = path.join(pkg, "/cache")
- , tmp = path.join(pkg, "/tmp")
- , nm = path.join(pkg, "/node_modules")
+var pkg = path.join(__dirname, '/locker')
+var cache = path.join(pkg, '/cache')
+var tmp = path.join(pkg, '/tmp')
+var nm = path.join(pkg, '/node_modules')
function cleanup () {
process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
}
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
mkdirp.sync(cache)
mkdirp.sync(tmp)
t.end()
})
-test("locking file puts lock in correct place", function (t) {
+test('locking file puts lock in correct place', function (t) {
npm.load({cache: cache, tmpdir: tmp}, function (er) {
- t.ifError(er, "npm bootstrapped OK")
+ t.ifError(er, 'npm bootstrapped OK')
- var n = "correct"
- , c = n.replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "")
- , p = path.resolve(nm, n)
- , h = crypto.createHash("sha1").update(p).digest("hex")
- , l = c.substr(0, 24)+"-"+h.substr(0, 16)+".lock"
- , v = path.join(cache, "_locks", l)
+ var n = 'correct'
+ var c = n.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '')
+ var p = path.resolve(nm, n)
+ var h = crypto.createHash('sha1').update(p).digest('hex')
+ var l = c.substr(0, 24) + '-' + h.substr(0, 16) + '.lock'
+ var v = path.join(cache, '_locks', l)
lock(nm, n, function (er) {
- t.ifError(er, "locked path")
+ t.ifError(er, 'locked path')
fs.exists(v, function (found) {
- t.ok(found, "lock found OK")
+ t.ok(found, 'lock found OK')
unlock(nm, n, function (er) {
- t.ifError(er, "unlocked path")
+ t.ifError(er, 'unlocked path')
fs.exists(v, function (found) {
- t.notOk(found, "lock deleted OK")
+ t.notOk(found, 'lock deleted OK')
t.end()
})
})
@@ -57,33 +57,33 @@ test("locking file puts lock in correct place", function (t) {
})
})
-test("unlocking out of order errors out", function (t) {
+test('unlocking out of order errors out', function (t) {
npm.load({cache: cache, tmpdir: tmp}, function (er) {
- t.ifError(er, "npm bootstrapped OK")
+ t.ifError(er, 'npm bootstrapped OK')
- var n = "busted"
- , c = n.replace(/[^a-zA-Z0-9]+/g, "-").replace(/^-+|-+$/g, "")
- , p = path.resolve(nm, n)
- , h = crypto.createHash("sha1").update(p).digest("hex")
- , l = c.substr(0, 24)+"-"+h.substr(0, 16)+".lock"
- , v = path.join(cache, "_locks", l)
+ var n = 'busted'
+ var c = n.replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-+|-+$/g, '')
+ var p = path.resolve(nm, n)
+ var h = crypto.createHash('sha1').update(p).digest('hex')
+ var l = c.substr(0, 24) + '-' + h.substr(0, 16) + '.lock'
+ var v = path.join(cache, '_locks', l)
fs.exists(v, function (found) {
- t.notOk(found, "no lock to unlock")
+ t.notOk(found, 'no lock to unlock')
t.throws(function () {
unlock(nm, n, function () {
t.fail("shouldn't get here")
t.end()
})
- }, "blew up as expected")
+ }, 'blew up as expected')
t.end()
})
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
diff --git a/deps/npm/test/tap/logout.js b/deps/npm/test/tap/logout.js
index 1d9392ad16..3a62cc2737 100644
--- a/deps/npm/test/tap/logout.js
+++ b/deps/npm/test/tap/logout.js
@@ -1,58 +1,58 @@
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
-var mkdirp = require("mkdirp")
-var mr = require("npm-registry-mock")
-var rimraf = require("rimraf")
-var test = require("tap").test
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var rimraf = require('rimraf')
+var test = require('tap').test
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, "logout")
-var outfile = path.join(pkg, "_npmrc")
+var pkg = path.resolve(__dirname, 'logout')
+var outfile = path.join(pkg, '_npmrc')
var opts = { cwd: pkg }
var contents = function () {/*
foo=boo
//localhost:1337/:_authToken=glarb
-*/}.toString().split("\n").slice(1, -1).join("\n")
+*/}.toString().split('\n').slice(1, -1).join('\n')
function mocks (server) {
- server.delete("/-/user/token/glarb")
+ server.delete('/-/user/token/glarb')
.reply(200, {})
}
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
setup()
t.end()
})
-test("npm logout", function (t) {
+test('npm logout', function (t) {
mr({ port: common.port, plugin: mocks }, function (err, s) {
if (err) throw err
common.npm(
[
- "logout",
- "--registry", common.registry,
- "--loglevel", "silent",
- "--userconfig", outfile
+ 'logout',
+ '--registry', common.registry,
+ '--loglevel', 'silent',
+ '--userconfig', outfile
],
opts,
function (err, code) {
- t.ifError(err, "no error output")
- t.notOk(code, "exited OK")
+ t.ifError(err, 'no error output')
+ t.notOk(code, 'exited OK')
- var config = fs.readFileSync(outfile, "utf8")
- t.equal(config, "foo=boo\n", "creds gone")
+ var config = fs.readFileSync(outfile, 'utf8')
+ t.equal(config, 'foo=boo\n', 'creds gone')
s.close()
t.end()
})
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
diff --git a/deps/npm/test/tap/ls-env.js b/deps/npm/test/tap/ls-env.js
index 30039b5b30..29058d9245 100644
--- a/deps/npm/test/tap/ls-env.js
+++ b/deps/npm/test/tap/ls-env.js
@@ -54,6 +54,24 @@ test('npm ls --dev', function (t) {
})
})
+test('npm ls --only=development', function (t) {
+ common.npm(['ls', '--only=development'], EXEC_OPTS, function (er, code, stdout) {
+ t.ifError(er, 'ls --only=development ran without issue')
+ t.equal(code, 0)
+ t.has(stdout, /(empty)/, 'output contains (empty)')
+ t.end()
+ })
+})
+
+test('npm ls --only=dev', function (t) {
+ common.npm(['ls', '--only=dev'], EXEC_OPTS, function (er, code, stdout) {
+ t.ifError(er, 'ls --only=dev ran without issue')
+ t.equal(code, 0)
+ t.has(stdout, /(empty)/, 'output contains (empty)')
+ t.end()
+ })
+})
+
test('npm ls --production', function (t) {
common.npm(['ls', '--production'], EXEC_OPTS, function (er, code, stdout) {
t.ifError(er, 'ls --production ran without issue')
@@ -80,6 +98,32 @@ test('npm ls --prod', function (t) {
})
})
+test('npm ls --only=production', function (t) {
+ common.npm(['ls', '--only=production'], EXEC_OPTS, function (er, code, stdout) {
+ t.ifError(er, 'ls --only=production ran without issue')
+ t.notOk(code, 'npm exited ok')
+ t.has(
+ stdout,
+ /test-package-with-one-dep@0\.0\.0/,
+ 'output contains test-package-with-one-dep@0.0.0'
+ )
+ t.end()
+ })
+})
+
+test('npm ls --only=prod', function (t) {
+ common.npm(['ls', '--only=prod'], EXEC_OPTS, function (er, code, stdout) {
+ t.ifError(er, 'ls --only=prod ran without issue')
+ t.notOk(code, 'npm exited ok')
+ t.has(
+ stdout,
+ /test-package-with-one-dep@0\.0\.0/,
+ 'output contains test-package-with-one-dep@0.0.0'
+ )
+ t.end()
+ })
+})
+
test('cleanup', function (t) {
cleanup()
t.end()
diff --git a/deps/npm/test/tap/ls-l-depth-0.js b/deps/npm/test/tap/ls-l-depth-0.js
index 3b5ae4d202..24fa062908 100644
--- a/deps/npm/test/tap/ls-l-depth-0.js
+++ b/deps/npm/test/tap/ls-l-depth-0.js
@@ -62,7 +62,9 @@ test('#6311: npm ll --depth=0 duplicates listing', function (t) {
t.notOk(stderr, 'npm install ran silently')
t.equal(
stdout.trim(),
- 'glock@1.8.7 node_modules/glock\n└── underscore@1.5.1',
+ resolve(__dirname, 'ls-l-depth-0') +
+ '\n└─┬ glock@1.8.7 ' +
+ '\n └── underscore@1.5.1',
'got expected install output'
)
@@ -75,7 +77,7 @@ test('#6311: npm ll --depth=0 duplicates listing', function (t) {
EXEC_OPTS,
function (err, code, stdout, stderr) {
t.ifError(err, 'npm ll ran without error')
- t.notOk(code, 'npm ll exited cleanly')
+ t.is(code, 0, 'npm ll exited cleanly')
t.notOk(stderr, 'npm ll ran silently')
t.equal(
stdout,
diff --git a/deps/npm/test/tap/ls-no-results.js b/deps/npm/test/tap/ls-no-results.js
index 10f3ce0014..9792774c69 100644
--- a/deps/npm/test/tap/ls-no-results.js
+++ b/deps/npm/test/tap/ls-no-results.js
@@ -1,11 +1,11 @@
-var test = require("tap").test
-var spawn = require("child_process").spawn
+var test = require('tap').test
+var spawn = require('child_process').spawn
var node = process.execPath
-var npm = require.resolve("../../")
-var args = [ npm, "ls", "ceci n’est pas une package" ]
-test("ls exits non-zero when nothing found", function (t) {
+var npm = require.resolve('../../')
+var args = [ npm, 'ls', 'ceci n’est pas une package' ]
+test('ls exits non-zero when nothing found', function (t) {
var child = spawn(node, args)
- child.on("exit", function (code) {
+ child.on('exit', function (code) {
t.notEqual(code, 0)
t.end()
})
diff --git a/deps/npm/test/tap/ls-top-errors.js b/deps/npm/test/tap/ls-top-errors.js
new file mode 100644
index 0000000000..69b8b299c8
--- /dev/null
+++ b/deps/npm/test/tap/ls-top-errors.js
@@ -0,0 +1,71 @@
+'use strict'
+var fs = require('fs')
+var path = require('path')
+
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+
+var common = require('../common-tap')
+
+var pkg = path.resolve(__dirname, path.basename(__filename, '.js'))
+var pathModA = path.join(pkg, 'node_modules', 'moduleA')
+var pathModB = path.join(pkg, 'node_modules', 'moduleB')
+
+var modA = {
+ name: 'moduleA',
+ version: '1.0.0',
+ _requiredBy: [ '#USER', '/moduleB' ],
+ dependencies: {
+ moduleB: '1.0.0'
+ }
+}
+var modB = {
+ name: 'moduleB',
+ version: '1.0.0',
+ _requiredBy: [ '/moduleA' ],
+ dependencies: {
+ moduleA: '1.0.0'
+ }
+}
+
+function setup () {
+ mkdirp.sync(pkg)
+ fs.writeFileSync(
+ path.join(pkg, 'package.json'),
+ '{broken json'
+ )
+ mkdirp.sync(pathModA)
+ fs.writeFileSync(
+ path.join(pathModA, 'package.json'),
+ JSON.stringify(modA, null, 2)
+ )
+ mkdirp.sync(pathModB)
+ fs.writeFileSync(
+ path.join(pathModB, 'package.json'),
+ JSON.stringify(modB, null, 2)
+ )
+}
+
+function cleanup () {
+ rimraf.sync(pkg)
+}
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ t.end()
+})
+
+test('ls-top-errors', function (t) {
+ common.npm(['ls'], {cwd: pkg}, function (er, code, stdout, stderr) {
+ t.ifErr(er, 'install finished successfully')
+ t.match(stderr, /Failed to parse json/)
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
diff --git a/deps/npm/test/tap/nerf-dart.js b/deps/npm/test/tap/nerf-dart.js
index 157f6c7dfe..a6df7272c3 100644
--- a/deps/npm/test/tap/nerf-dart.js
+++ b/deps/npm/test/tap/nerf-dart.js
@@ -1,32 +1,32 @@
// taken from https://raw.githubusercontent.com/indexzero/npm/bd3cad01fbd3ab481d2f5da441b9eead16029123/test/tap/config-nerf-dart.js
// originally written by Charlie Robbins, https://github.com/indexzero
-var test = require("tap").test
-var toNerfDart = require("../../lib/config/nerf-dart.js")
+var test = require('tap').test
+var toNerfDart = require('../../lib/config/nerf-dart.js')
function validNerfDart (uri, valid) {
- if (!valid) valid = "//registry.npmjs.org/"
+ if (!valid) valid = '//registry.npmjs.org/'
test(uri, function (t) {
t.equal(toNerfDart(uri), valid)
t.end()
})
}
-validNerfDart("http://registry.npmjs.org")
-validNerfDart("http://registry.npmjs.org/some-package")
-validNerfDart("http://registry.npmjs.org/some-package?write=true")
-validNerfDart("http://user:pass@registry.npmjs.org/some-package?write=true")
-validNerfDart("http://registry.npmjs.org/#random-hash")
-validNerfDart("http://registry.npmjs.org/some-package#random-hash")
+validNerfDart('http://registry.npmjs.org')
+validNerfDart('http://registry.npmjs.org/some-package')
+validNerfDart('http://registry.npmjs.org/some-package?write=true')
+validNerfDart('http://user:pass@registry.npmjs.org/some-package?write=true')
+validNerfDart('http://registry.npmjs.org/#random-hash')
+validNerfDart('http://registry.npmjs.org/some-package#random-hash')
validNerfDart(
- "http://relative.couchapp.npm/design/-/rewrite/",
- "//relative.couchapp.npm/design/-/rewrite/"
+ 'http://relative.couchapp.npm/design/-/rewrite/',
+ '//relative.couchapp.npm/design/-/rewrite/'
)
validNerfDart(
- "http://relative.couchapp.npm:8080/design/-/rewrite/",
- "//relative.couchapp.npm:8080/design/-/rewrite/"
+ 'http://relative.couchapp.npm:8080/design/-/rewrite/',
+ '//relative.couchapp.npm:8080/design/-/rewrite/'
)
validNerfDart(
- "http://relative.couchapp.npm:8080/design/-/rewrite/some-package",
- "//relative.couchapp.npm:8080/design/-/rewrite/"
+ 'http://relative.couchapp.npm:8080/design/-/rewrite/some-package',
+ '//relative.couchapp.npm:8080/design/-/rewrite/'
)
diff --git a/deps/npm/test/tap/nested-extraneous.js b/deps/npm/test/tap/nested-extraneous.js
index fcba0418e6..99d4bea5b9 100644
--- a/deps/npm/test/tap/nested-extraneous.js
+++ b/deps/npm/test/tap/nested-extraneous.js
@@ -1,42 +1,42 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var path = require("path")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var path = require('path')
-var pkg = path.resolve(__dirname, "nested-extraneous")
+var pkg = path.resolve(__dirname, 'nested-extraneous')
var pj = {
- name: "nested-extraneous",
- version: "1.2.3"
+ name: 'nested-extraneous',
+ version: '1.2.3'
}
-var dep = path.resolve(pkg, "node_modules", "dep")
+var dep = path.resolve(pkg, 'node_modules', 'dep')
var deppj = {
- name: "nested-extraneous-dep",
- version: "1.2.3",
+ name: 'nested-extraneous-dep',
+ version: '1.2.3',
dependencies: {
- "nested-extra-depdep": "*"
+ 'nested-extra-depdep': '*'
}
}
-var depdep = path.resolve(dep, "node_modules", "depdep")
+var depdep = path.resolve(dep, 'node_modules', 'depdep')
var depdeppj = {
- name: "nested-extra-depdep",
- version: "1.2.3"
+ name: 'nested-extra-depdep',
+ version: '1.2.3'
}
-test("setup", function (t) {
+test('setup', function (t) {
rimraf.sync(pkg)
mkdirp.sync(depdep)
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify(pj))
- fs.writeFileSync(path.resolve(dep, "package.json"), JSON.stringify(deppj))
- fs.writeFileSync(path.resolve(depdep, "package.json"), JSON.stringify(depdeppj))
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify(pj))
+ fs.writeFileSync(path.resolve(dep, 'package.json'), JSON.stringify(deppj))
+ fs.writeFileSync(path.resolve(depdep, 'package.json'), JSON.stringify(depdeppj))
t.end()
})
-test("test", function (t) {
- common.npm(["ls"], {
+test('test', function (t) {
+ common.npm(['ls'], {
cwd: pkg
}, function (er, code, sto, ste) {
if (er) throw er
@@ -47,7 +47,7 @@ test("test", function (t) {
})
})
-test("clean", function (t) {
+test('clean', function (t) {
rimraf.sync(pkg)
t.end()
})
diff --git a/deps/npm/test/tap/no-global-warns.js b/deps/npm/test/tap/no-global-warns.js
new file mode 100644
index 0000000000..439388fe19
--- /dev/null
+++ b/deps/npm/test/tap/no-global-warns.js
@@ -0,0 +1,67 @@
+'use strict'
+var path = require('path')
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var writeFileSync = require('fs').writeFileSync
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var mockGlobal = path.join(base, 'global')
+var toInstall = path.join(base, 'to-install')
+
+var config = 'prefix = ' + base
+var configPath = path.join(base, '_npmrc')
+
+var OPTS = {
+ env: {
+ 'npm_config_userconfig': configPath
+ }
+}
+
+var installJSON = {
+ name: 'to-install',
+ version: '1.0.0',
+ description: '',
+ main: 'index.js',
+ scripts: {
+ test: 'echo \"Error: no test specified\" && exit 1'
+ },
+ author: '',
+ license: 'ISC'
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+test('no-global-warns', function (t) {
+ common.npm(['install', '-g', toInstall], OPTS, function (err, code, stdout, stderr) {
+ t.ifError(err, 'installed w/o error')
+ t.is(stderr, '', 'no warnings printed to stderr')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ process.chdir(osenv.tmpdir())
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ rimraf.sync(base)
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(mockGlobal)
+ mkdirp.sync(toInstall)
+ writeFileSync(
+ path.join(toInstall, 'package.json'),
+ JSON.stringify(installJSON, null, 2)
+ )
+ writeFileSync(configPath, config)
+}
diff --git a/deps/npm/test/tap/no-scan-full-global-dir.js b/deps/npm/test/tap/no-scan-full-global-dir.js
new file mode 100644
index 0000000000..b2863c8819
--- /dev/null
+++ b/deps/npm/test/tap/no-scan-full-global-dir.js
@@ -0,0 +1,100 @@
+'use strict'
+var path = require('path')
+var test = require('tap').test
+var requireInject = require('require-inject')
+var osenv = require('osenv')
+var inherits = require('inherits')
+var npm = require('../../lib/npm.js')
+
+var packages = {
+ test: {package: {name: 'test'}, path: __dirname, children: ['abc', 'def', 'ghi', 'jkl']},
+ abc: {package: {name: 'abc'}, path: path.join(__dirname, 'node_modules', 'abc')},
+ def: {package: {name: 'def'}, path: path.join(__dirname, 'node_modules', 'def')},
+ ghi: {package: {name: 'ghi'}, path: path.join(__dirname, 'node_modules', 'ghi')},
+ jkl: {package: {name: 'jkl'}, path: path.join(__dirname, 'node_modules', 'jkl')}
+}
+var dirs = {}
+var files = {}
+Object.keys(packages).forEach(function (name) {
+ dirs[path.join(packages[name].path, 'node_modules')] = packages[name].children || []
+ files[path.join(packages[name].path, 'package.json')] = packages[name].package
+})
+
+process.chdir(osenv.tmpdir())
+
+var mockReaddir = function (name, cb) {
+ if (dirs[name]) return cb(null, dirs[name])
+ var er = new Error('No such mock: ' + name)
+ er.code = 'ENOENT'
+ cb(er)
+}
+var mockReadPackageJson = function (file, cb) {
+ if (files[file]) return cb(null, files[file])
+ var er = new Error('No such mock: ' + file)
+ er.code = 'ENOENT'
+ cb(er)
+}
+var mockFs = {
+ realpath: function (dir, cb) {
+ return cb(null, dir)
+ }
+}
+
+test('setup', function (t) {
+ npm.load(function () {
+ t.pass('npm loaded')
+ t.end()
+ })
+})
+
+function loadArgMetadata (cb) {
+ this.args = this.args.map(function (arg) { return {name: arg} })
+ cb()
+}
+
+test('installer', function (t) {
+ t.plan(1)
+ var installer = requireInject('../../lib/install.js', {
+ 'fs': mockFs,
+ 'readdir-scoped-modules': mockReaddir,
+ 'read-package-json': mockReadPackageJson
+ })
+
+ var Installer = installer.Installer
+ var TestInstaller = function () {
+ Installer.apply(this, arguments)
+ this.global = true
+ }
+ inherits(TestInstaller, Installer)
+ TestInstaller.prototype.loadArgMetadata = loadArgMetadata
+
+ var inst = new TestInstaller(__dirname, false, ['def', 'abc'])
+ inst.loadCurrentTree(function () {
+ var kids = inst.currentTree.children.map(function (child) { return child.package.name })
+ t.isDeeply(kids, ['abc', 'def'])
+ t.end()
+ })
+})
+
+test('uninstaller', function (t) {
+ t.plan(1)
+ var uninstaller = requireInject('../../lib/uninstall.js', {
+ 'fs': mockFs,
+ 'readdir-scoped-modules': mockReaddir,
+ 'read-package-json': mockReadPackageJson
+ })
+
+ var Uninstaller = uninstaller.Uninstaller
+ var TestUninstaller = function () {
+ Uninstaller.apply(this, arguments)
+ this.global = true
+ }
+ inherits(TestUninstaller, Uninstaller)
+
+ var uninst = new TestUninstaller(__dirname, false, ['ghi', 'jkl'])
+ uninst.loadCurrentTree(function () {
+ var kids = uninst.currentTree.children.map(function (child) { return child.package.name })
+ t.isDeeply(kids, ['ghi', 'jkl'])
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/noargs-install-config-save.js b/deps/npm/test/tap/noargs-install-config-save.js
index b6900b4317..7b13f3bdc4 100644
--- a/deps/npm/test/tap/noargs-install-config-save.js
+++ b/deps/npm/test/tap/noargs-install-config-save.js
@@ -1,46 +1,47 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var npm = require.resolve("../../bin/npm-cli.js")
-var path = require("path")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require.resolve('../../bin/npm-cli.js')
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
-var mr = require("npm-registry-mock")
+var mr = require('npm-registry-mock')
-var spawn = require("child_process").spawn
+var spawn = require('child_process').spawn
var node = process.execPath
-var pkg = path.resolve(process.env.npm_config_tmp || "/tmp",
- "noargs-install-config-save")
+var pkg = path.resolve(process.env.npm_config_tmp || '/tmp',
+ 'noargs-install-config-save')
-function writePackageJson() {
+function writePackageJson () {
rimraf.sync(pkg)
mkdirp.sync(pkg)
- mkdirp.sync(pkg + "/cache")
+ mkdirp.sync(pkg + '/cache')
- fs.writeFileSync(pkg + "/package.json", JSON.stringify({
- "author": "Rocko Artischocko",
- "name": "noargs",
- "version": "0.0.0",
- "devDependencies": {
- "underscore": "1.3.1"
+ fs.writeFileSync(pkg + '/package.json', JSON.stringify({
+ 'author': 'Rocko Artischocko',
+ 'name': 'noargs',
+ 'version': '0.0.0',
+ 'devDependencies': {
+ 'underscore': '1.3.1'
}
- }), "utf8")
+ }), 'utf8')
}
function createChild (args) {
var env = {
- "npm_config_save": true,
- "npm_config_registry": common.registry,
- "npm_config_cache": pkg + "/cache",
+ 'npm_config_save': true,
+ 'npm_config_registry': common.registry,
+ 'npm_config_cache': pkg + '/cache',
HOME: process.env.HOME,
Path: process.env.PATH,
PATH: process.env.PATH
}
- if (process.platform === "win32")
- env.npm_config_cache = "%APPDATA%\\npm-cache"
+ if (process.platform === 'win32') {
+ env.npm_config_cache = '%APPDATA%\\npm-cache'
+ }
return spawn(node, args, {
cwd: pkg,
@@ -48,35 +49,35 @@ function createChild (args) {
})
}
-test("does not update the package.json with empty arguments", function (t) {
+test('does not update the package.json with empty arguments', function (t) {
writePackageJson()
t.plan(1)
- mr({port : common.port}, function (er, s) {
- var child = createChild([npm, "install"])
- child.on("close", function () {
- var text = JSON.stringify(fs.readFileSync(pkg + "/package.json", "utf8"))
+ mr({ port: common.port }, function (er, s) {
+ var child = createChild([npm, 'install'])
+ child.on('close', function () {
+ var text = JSON.stringify(fs.readFileSync(pkg + '/package.json', 'utf8'))
s.close()
- t.ok(text.indexOf("\"dependencies") === -1)
+ t.equal(text.indexOf('"dependencies'), -1, 'dependencies do not exist in file')
})
})
})
-test("updates the package.json (adds dependencies) with an argument", function (t) {
+test('updates the package.json (adds dependencies) with an argument', function (t) {
writePackageJson()
t.plan(1)
- mr({port : common.port}, function (er, s) {
- var child = createChild([npm, "install", "underscore"])
- child.on("close", function () {
+ mr({ port: common.port }, function (er, s) {
+ var child = createChild([npm, 'install', 'underscore'])
+ child.on('close', function () {
s.close()
- var text = JSON.stringify(fs.readFileSync(pkg + "/package.json", "utf8"))
- t.ok(text.indexOf("\"dependencies") !== -1)
+ var text = JSON.stringify(fs.readFileSync(pkg + '/package.json', 'utf8'))
+ t.notEqual(text.indexOf('"dependencies'), -1, 'dependencies exist in file')
})
})
})
-test("cleanup", function (t) {
- rimraf.sync(pkg + "/cache")
+test('cleanup', function (t) {
+ rimraf.sync(pkg + '/cache')
t.end()
})
diff --git a/deps/npm/test/tap/normalize-package-explode.js b/deps/npm/test/tap/normalize-package-explode.js
new file mode 100644
index 0000000000..57faec8b60
--- /dev/null
+++ b/deps/npm/test/tap/normalize-package-explode.js
@@ -0,0 +1,26 @@
+'use strict'
+var test = require('tap').test
+var log = require('npmlog')
+var npm = require('../../lib/npm.js')
+
+var idealTree = {
+ package: {
+ name: 'a b c',
+ version: '3.what'
+ },
+ children: [],
+ warnings: []
+}
+
+test('setup', function (t) {
+ npm.load({}, t.end)
+})
+
+test('validate-tree', function (t) {
+ log.disableProgress()
+ var validateTree = require('../../lib/install/validate-tree.js')
+ validateTree(idealTree, log.newGroup('validate'), function (er) {
+ t.pass("we didn't crash")
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/npm-api-not-loaded-error.js b/deps/npm/test/tap/npm-api-not-loaded-error.js
index afedfbcd07..48b71e5213 100644
--- a/deps/npm/test/tap/npm-api-not-loaded-error.js
+++ b/deps/npm/test/tap/npm-api-not-loaded-error.js
@@ -1,47 +1,47 @@
-var test = require("tap").test
-var npm = require("../..")
-var path = require("path")
-var rimraf = require("rimraf")
-var npmrc = path.join(__dirname, "npmrc")
-var fs = require("fs")
+var test = require('tap').test
+var npm = require('../..')
+var path = require('path')
+var rimraf = require('rimraf')
+var npmrc = path.join(__dirname, 'npmrc')
+var fs = require('fs')
-test("setup", function (t) {
- fs.writeFileSync(npmrc, "foo = bar\n", "ascii")
+test('setup', function (t) {
+ fs.writeFileSync(npmrc, 'foo = bar\n', 'ascii')
t.end()
})
-test("calling set/get on config pre-load should throw", function (t) {
+test('calling set/get on config pre-load should throw', function (t) {
var threw = true
try {
- npm.config.get("foo")
+ npm.config.get('foo')
threw = false
} catch (er) {
- t.equal(er.message, "npm.load() required")
+ t.equal(er.message, 'npm.load() required')
} finally {
- t.ok(threw, "get before load should throw")
+ t.ok(threw, 'get before load should throw')
}
threw = true
try {
- npm.config.set("foo", "bar")
+ npm.config.set('foo', 'bar')
threw = false
} catch (er) {
- t.equal(er.message, "npm.load() required")
+ t.equal(er.message, 'npm.load() required')
} finally {
- t.ok(threw, "set before load should throw")
+ t.ok(threw, 'set before load should throw')
}
npm.load({ userconfig: npmrc }, function (er) {
- if (er)
- throw er
- t.equal(npm.config.get("foo"), "bar")
- npm.config.set("foo", "baz")
- t.equal(npm.config.get("foo"), "baz")
+ if (er) throw er
+
+ t.equal(npm.config.get('foo'), 'bar')
+ npm.config.set('foo', 'baz')
+ t.equal(npm.config.get('foo'), 'baz')
t.end()
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(npmrc)
t.end()
})
diff --git a/deps/npm/test/tap/optional-metadep-rollback-collision.js b/deps/npm/test/tap/optional-metadep-rollback-collision.js
index 4b21f965ed..d5116f30fc 100644
--- a/deps/npm/test/tap/optional-metadep-rollback-collision.js
+++ b/deps/npm/test/tap/optional-metadep-rollback-collision.js
@@ -10,7 +10,7 @@ var common = require('../common-tap.js')
var pkg = path.resolve(__dirname, 'optional-metadep-rollback-collision')
var deps = path.resolve(pkg, 'deps')
-var nm = path.resolve(pkg, 'node_modules')
+var opdep = path.resolve(pkg, 'node_modules', 'opdep')
var cache = path.resolve(pkg, 'cache')
var pidfile = path.resolve(pkg, 'child.pid')
@@ -49,7 +49,7 @@ var d2 = {
}
}
-var opdep = {
+var opdep_json = {
name: 'opdep',
version: '1.0.0',
description: 'To explode, of course!',
@@ -63,7 +63,6 @@ var opdep = {
}
}
-
var badServer = function () {/*
var createServer = require('http').createServer
var spawn = require('child_process').spawn
@@ -179,7 +178,7 @@ test('setup', function (t) {
mkdirp.sync(path.join(deps, 'opdep'))
fs.writeFileSync(
path.join(deps, 'opdep', 'package.json'),
- JSON.stringify(opdep, null, 2)
+ JSON.stringify(opdep_json, null, 2)
)
fs.writeFileSync(path.join(deps, 'opdep', 'bad-server.js'), badServer)
@@ -205,9 +204,12 @@ test('go go test racer', function (t) {
},
function (er, code, stdout, stderr) {
t.ifError(er, 'install ran to completion without error')
- t.notOk(code, 'npm install exited with code 0')
+ t.is(code, 0, 'npm install exited with code 0')
+ t.is(stderr, '')
- t.equal(stdout, 'ok\nok\n')
+ // stdout should be empty, because we only have one, optional, dep and
+ // if it fails we shouldn't try installing anything
+ t.equal(stdout, '')
t.notOk(/not ok/.test(stdout), 'should not contain the string \'not ok\'')
t.end()
}
@@ -216,7 +218,7 @@ test('go go test racer', function (t) {
test('verify results', function (t) {
t.throws(function () {
- fs.statSync(nm)
+ fs.statSync(opdep)
})
t.end()
})
diff --git a/deps/npm/test/tap/outdated-depth-deep.js b/deps/npm/test/tap/outdated-depth-deep.js
index c208669b37..c39e029aae 100644
--- a/deps/npm/test/tap/outdated-depth-deep.js
+++ b/deps/npm/test/tap/outdated-depth-deep.js
@@ -1,26 +1,26 @@
-var common = require("../common-tap")
- , path = require("path")
- , test = require("tap").test
- , rimraf = require("rimraf")
- , npm = require("../../")
- , mr = require("npm-registry-mock")
- , pkg = path.resolve(__dirname, "outdated-depth-deep")
- , cache = path.resolve(pkg, "cache")
+var common = require('../common-tap')
+var path = require('path')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var npm = require('../../')
+var mr = require('npm-registry-mock')
+var pkg = path.resolve(__dirname, 'outdated-depth-deep')
+var cache = path.resolve(pkg, 'cache')
-var osenv = require("osenv")
-var mkdirp = require("mkdirp")
-var fs = require("fs")
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var fs = require('fs')
var pj = JSON.stringify({
- "name": "whatever",
- "description": "yeah idk",
- "version": "1.2.3",
- "main": "index.js",
- "dependencies": {
- "underscore": "1.3.1",
- "npm-test-peer-deps": "0.0.0"
+ 'name': 'whatever',
+ 'description': 'yeah idk',
+ 'version': '1.2.3',
+ 'main': 'index.js',
+ 'dependencies': {
+ 'underscore': '1.3.1',
+ 'npm-test-peer-deps': '0.0.0'
},
- "repository": "git://github.com/luk-/whatever"
+ 'repository': 'git://github.com/luk-/whatever'
}, null, 2)
function cleanup () {
@@ -31,33 +31,35 @@ function cleanup () {
function setup () {
mkdirp.sync(pkg)
process.chdir(pkg)
- fs.writeFileSync(path.resolve(pkg, "package.json"), pj)
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), pj)
}
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
setup()
t.end()
})
-test("outdated depth deep (9999)", function (t) {
- var underscoreOutdated = ["underscore", "1.3.1", "1.3.1", "1.5.1", "1.3.1"]
- var childPkg = path.resolve(pkg, "node_modules", "npm-test-peer-deps")
+test('outdated depth deep (9999)', function (t) {
+ var underscoreOutdated = ['underscore', '1.3.1', '1.3.1', '1.5.1', '1.3.1']
+ var childPkg = path.resolve(pkg, 'node_modules', 'npm-test-peer-deps')
- var expected = [ [pkg].concat(underscoreOutdated),
- [childPkg].concat(underscoreOutdated) ]
+ var expected = [ [childPkg].concat(underscoreOutdated).concat([null]),
+ [pkg].concat(underscoreOutdated).concat([null]) ]
process.chdir(pkg)
- mr({port : common.port}, function (er, s) {
+ mr({ port: common.port }, function (er, s) {
npm.load({
- cache: cache
- , loglevel: "silent"
- , registry: common.registry
- , depth: 9999
- }
- , function () {
- npm.install(".", function (er) {
+ cache: cache,
+ loglevel: 'silent',
+ registry: common.registry,
+ depth: 9999
+ },
+ function () {
+ npm.install('.', function (er) {
+ if (er) throw new Error(er)
+ npm.explore('npm-test-peer-deps', 'npm', 'install', 'underscore', function (er) {
if (er) throw new Error(er)
npm.outdated(function (err, d) {
if (err) throw new Error(err)
@@ -66,13 +68,12 @@ test("outdated depth deep (9999)", function (t) {
t.end()
})
})
- }
- )
+ })
+ })
})
})
-
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
diff --git a/deps/npm/test/tap/outdated-depth-integer.js b/deps/npm/test/tap/outdated-depth-integer.js
index 485e84e30f..ddd2dd7c35 100644
--- a/deps/npm/test/tap/outdated-depth-integer.js
+++ b/deps/npm/test/tap/outdated-depth-integer.js
@@ -1,24 +1,24 @@
var common = require('../common-tap')
- , test = require('tap').test
- , rimraf = require('rimraf')
- , npm = require('../../')
- , mr = require('npm-registry-mock')
- , pkg = __dirname + '/outdated-depth-integer'
+var test = require('tap').test
+var rimraf = require('rimraf')
+var npm = require('../../')
+var mr = require('npm-registry-mock')
+var pkg = __dirname + '/outdated-depth-integer'
-var osenv = require("osenv")
-var mkdirp = require("mkdirp")
-var fs = require("fs")
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var fs = require('fs')
var pj = JSON.stringify({
- "name": "whatever",
- "description": "yeah idk",
- "version": "1.2.3",
- "main": "index.js",
- "dependencies": {
- "underscore": "1.3.1"
+ 'name': 'whatever',
+ 'description': 'yeah idk',
+ 'version': '1.2.3',
+ 'main': 'index.js',
+ 'dependencies': {
+ 'underscore': '1.3.1'
},
- "repository": "git://github.com/luk-/whatever"
-}, null, 2);
+ 'repository': 'git://github.com/luk-/whatever'
+}, null, 2)
function cleanup () {
process.chdir(osenv.tmpdir())
@@ -28,10 +28,10 @@ function cleanup () {
function setup () {
mkdirp.sync(pkg)
process.chdir(pkg)
- fs.writeFileSync("package.json", pj)
+ fs.writeFileSync('package.json', pj)
}
-test("setup", function (t) {
+test('setup', function (t) {
cleanup()
setup()
t.end()
@@ -46,15 +46,16 @@ test('outdated depth integer', function (t) {
undefined, // no version installed
'1.3.1', // wanted
'1.5.1', // latest
- '1.3.1'
+ '1.3.1',
+ null
]]
- mr({port : common.port}, function (er, s) {
+ mr({ port: common.port }, function (er, s) {
npm.load({
- cache: pkg + '/cache'
- , loglevel: 'silent'
- , registry: common.registry
- , depth: 5
+ cache: pkg + '/cache',
+ loglevel: 'silent',
+ registry: common.registry,
+ depth: 5
}
, function () {
npm.install('request@0.9.0', function (er) {
@@ -71,7 +72,7 @@ test('outdated depth integer', function (t) {
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
diff --git a/deps/npm/test/tap/outdated-depth.js b/deps/npm/test/tap/outdated-depth.js
index 2f06127917..13220dfa7b 100644
--- a/deps/npm/test/tap/outdated-depth.js
+++ b/deps/npm/test/tap/outdated-depth.js
@@ -40,7 +40,8 @@ test('outdated depth zero', function (t) {
'1.3.1',
'1.3.1',
'1.5.1',
- '1.3.1'
+ '1.3.1',
+ null
]
mr({ port: common.port }, function (er, s) {
diff --git a/deps/npm/test/tap/outdated-git.js b/deps/npm/test/tap/outdated-git.js
index 2162c743c1..1a61a0c4d2 100644
--- a/deps/npm/test/tap/outdated-git.js
+++ b/deps/npm/test/tap/outdated-git.js
@@ -2,7 +2,7 @@ var path = require('path')
var test = require('tap').test
var mkdirp = require('mkdirp')
-var fs = require("graceful-fs")
+var fs = require('graceful-fs')
var rimraf = require('rimraf')
var common = require('../common-tap.js')
diff --git a/deps/npm/test/tap/outdated-local.js b/deps/npm/test/tap/outdated-local.js
index f9b8af4420..067696ca90 100644
--- a/deps/npm/test/tap/outdated-local.js
+++ b/deps/npm/test/tap/outdated-local.js
@@ -65,7 +65,6 @@ var pjLocalOptimistBumped = JSON.stringify({
version: '0.5.0'
}, null, 2) + '\n'
-
function mocks (server) {
server.get('/local-module')
.reply(404)
diff --git a/deps/npm/test/tap/outdated-notarget.js b/deps/npm/test/tap/outdated-notarget.js
index 6058ddee42..5fd2b0634d 100644
--- a/deps/npm/test/tap/outdated-notarget.js
+++ b/deps/npm/test/tap/outdated-notarget.js
@@ -1,23 +1,23 @@
// Fixes Issue #1770
-var common = require("../common-tap.js")
-var test = require("tap").test
-var npm = require("../../")
-var osenv = require("osenv")
-var path = require("path")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var pkg = path.resolve(__dirname, "outdated-notarget")
-var cache = path.resolve(pkg, "cache")
-var mr = require("npm-registry-mock")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var pkg = path.resolve(__dirname, 'outdated-notarget')
+var cache = path.resolve(pkg, 'cache')
+var mr = require('npm-registry-mock')
-test("outdated-target: if no viable version is found, show error", function (t) {
+test('outdated-target: if no viable version is found, show error', function (t) {
t.plan(1)
setup()
- mr({port : common.port}, function (er, s) {
+ mr({ port: common.port }, function (er, s) {
npm.load({ cache: cache, registry: common.registry}, function () {
npm.commands.update(function (er) {
- t.equal(er.code, "ETARGET")
+ t.equal(er.code, 'ETARGET')
s.close()
t.end()
})
@@ -25,23 +25,23 @@ test("outdated-target: if no viable version is found, show error", function (t)
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
t.end()
})
-function setup() {
+function setup () {
mkdirp.sync(pkg)
mkdirp.sync(cache)
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify({
- author: "Evan Lucas",
- name: "outdated-notarget",
- version: "0.0.0",
- description: "Test for outdated-target",
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
+ author: 'Evan Lucas',
+ name: 'outdated-notarget',
+ version: '0.0.0',
+ description: 'Test for outdated-target',
dependencies: {
- underscore: "~199.7.1"
+ underscore: '~199.7.1'
}
- }), "utf8")
+ }), 'utf8')
process.chdir(pkg)
}
diff --git a/deps/npm/test/tap/outdated-private.js b/deps/npm/test/tap/outdated-private.js
index 882d7d9479..1d5e460c6e 100644
--- a/deps/npm/test/tap/outdated-private.js
+++ b/deps/npm/test/tap/outdated-private.js
@@ -1,79 +1,80 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var npm = require("../../")
-var rimraf = require("rimraf")
-var path = require("path")
-var mr = require("npm-registry-mock")
-var osenv = require("osenv")
-var mkdirp = require("mkdirp")
-var fs = require("graceful-fs")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var rimraf = require('rimraf')
+var path = require('path')
+var mr = require('npm-registry-mock')
+var osenv = require('osenv')
+var mkdirp = require('mkdirp')
+var fs = require('graceful-fs')
-var pkg = path.resolve(__dirname, "outdated-private")
-var pkgLocalPrivate = path.resolve(pkg, "local-private")
-var pkgScopedLocalPrivate = path.resolve(pkg, "another-local-private")
-var pkgLocalUnderscore = path.resolve(pkg, "underscore")
+var pkg = path.resolve(__dirname, 'outdated-private')
+var pkgLocalPrivate = path.resolve(pkg, 'local-private')
+var pkgScopedLocalPrivate = path.resolve(pkg, 'another-local-private')
+var pkgLocalUnderscore = path.resolve(pkg, 'underscore')
var pjParent = JSON.stringify({
- name : "outdated-private",
- version : "1.0.0",
- dependencies : {
- "local-private" : "file:local-private",
- "@scoped/another-local-private" : "file:another-local-private",
- "underscore" : "file:underscore"
+ name: 'outdated-private',
+ version: '1.0.0',
+ dependencies: {
+ 'local-private': 'file:local-private',
+ '@scoped/another-local-private': 'file:another-local-private',
+ 'underscore': 'file:underscore'
}
-}, null, 2) + "\n"
+}, null, 2) + '\n'
var pjLocalPrivate = JSON.stringify({
- name : "local-private",
- version : "1.0.0",
- private : true
-}, null, 2) + "\n"
+ name: 'local-private',
+ version: '1.0.0',
+ 'private': true
+}, null, 2) + '\n'
var pjLocalPrivateBumped = JSON.stringify({
- name : "local-private",
- version : "1.1.0",
- private : true
-}, null, 2) + "\n"
+ name: 'local-private',
+ version: '1.1.0',
+ 'private': true
+}, null, 2) + '\n'
var pjScopedLocalPrivate = JSON.stringify({
- name : "@scoped/another-local-private",
- version : "1.0.0",
- private : true
-}, null, 2) + "\n"
+ name: '@scoped/another-local-private',
+ version: '1.0.0',
+ 'private': true
+}, null, 2) + '\n'
var pjLocalUnderscore = JSON.stringify({
- name : "underscore",
- version : "1.3.1"
-}, null, 2) + "\n"
+ name: 'underscore',
+ version: '1.3.1'
+}, null, 2) + '\n'
-test("setup", function (t) {
+test('setup', function (t) {
bootstrap()
t.end()
})
-test("outdated ignores private modules", function (t) {
+test('outdated ignores private modules', function (t) {
t.plan(3)
process.chdir(pkg)
- mr({ port : common.port }, function (err, s) {
+ mr({ port: common.port }, function (er, s) {
npm.load(
{
- loglevel : "silent",
- parseable : true,
- registry : common.registry
+ loglevel: 'silent',
+ parseable: true,
+ registry: common.registry
},
function () {
- npm.install(".", function (err) {
- t.ifError(err, "install success")
+ npm.install('.', function (err) {
+ t.ifError(err, 'install success')
bumpLocalPrivate()
npm.outdated(function (er, d) {
- t.ifError(er, "outdated success")
+ t.ifError(er, 'outdated success')
t.deepEqual(d, [[
- path.resolve(__dirname, "outdated-private"),
- "underscore",
- "1.3.1",
- "1.5.1",
- "1.5.1",
- "underscore@1.5.1"
+ path.resolve(__dirname, 'outdated-private'),
+ 'underscore',
+ '1.3.1',
+ '1.5.1',
+ '1.5.1',
+ 'underscore@1.5.1',
+ null
]])
s.close()
})
@@ -83,27 +84,27 @@ test("outdated ignores private modules", function (t) {
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
function bootstrap () {
mkdirp.sync(pkg)
- fs.writeFileSync(path.resolve(pkg, "package.json"), pjParent)
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), pjParent)
mkdirp.sync(pkgLocalPrivate)
- fs.writeFileSync(path.resolve(pkgLocalPrivate, "package.json"), pjLocalPrivate)
+ fs.writeFileSync(path.resolve(pkgLocalPrivate, 'package.json'), pjLocalPrivate)
mkdirp.sync(pkgScopedLocalPrivate)
- fs.writeFileSync(path.resolve(pkgScopedLocalPrivate, "package.json"), pjScopedLocalPrivate)
+ fs.writeFileSync(path.resolve(pkgScopedLocalPrivate, 'package.json'), pjScopedLocalPrivate)
mkdirp.sync(pkgLocalUnderscore)
- fs.writeFileSync(path.resolve(pkgLocalUnderscore, "package.json"), pjLocalUnderscore)
+ fs.writeFileSync(path.resolve(pkgLocalUnderscore, 'package.json'), pjLocalUnderscore)
}
function bumpLocalPrivate () {
- fs.writeFileSync(path.resolve(pkgLocalPrivate, "package.json"), pjLocalPrivateBumped)
+ fs.writeFileSync(path.resolve(pkgLocalPrivate, 'package.json'), pjLocalPrivateBumped)
}
function cleanup () {
diff --git a/deps/npm/test/tap/outdated.js b/deps/npm/test/tap/outdated.js
index 146c2007a3..c5ce8d182f 100644
--- a/deps/npm/test/tap/outdated.js
+++ b/deps/npm/test/tap/outdated.js
@@ -64,7 +64,8 @@ test('it should not throw', function (t) {
'0.2.9',
'0.2.9',
'0.2.10',
- '0.2.9'
+ '0.2.9',
+ null
],
[
pkg,
@@ -72,7 +73,8 @@ test('it should not throw', function (t) {
'0.5.1',
'0.5.1',
'0.5.2',
- '0.5.1'
+ '0.5.1',
+ null
],
[
pkg,
@@ -80,7 +82,8 @@ test('it should not throw', function (t) {
'1.3.1',
'1.3.1',
'1.5.1',
- '1.3.1'
+ '1.3.1',
+ null
]
]
diff --git a/deps/npm/test/tap/owner.js b/deps/npm/test/tap/owner.js
index 938c216657..4bef1a0d87 100644
--- a/deps/npm/test/tap/owner.js
+++ b/deps/npm/test/tap/owner.js
@@ -1,79 +1,79 @@
-var mr = require("npm-registry-mock")
-var test = require("tap").test
+var mr = require('npm-registry-mock')
+var test = require('tap').test
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
var server
var EXEC_OPTS = {}
var jashkenas = {
- name : "jashkenas",
- email : "jashkenas@gmail.com"
+ name: 'jashkenas',
+ email: 'jashkenas@gmail.com'
}
var othiym23 = {
- name : "othiym23",
- email : "forrest@npmjs.com"
+ name: 'othiym23',
+ email: 'forrest@npmjs.com'
}
var bcoe = {
- name : "bcoe",
- email : "ben@npmjs.com"
+ name: 'bcoe',
+ email: 'ben@npmjs.com'
}
function shrt (user) {
- return user.name+" <"+user.email+">\n"
+ return user.name + ' <' + user.email + '>\n'
}
function mocks (server) {
- server.get("/-/user/org.couchdb.user:othiym23")
+ server.get('/-/user/org.couchdb.user:othiym23')
.many().reply(200, othiym23)
// test 1
- server.get("/underscore")
- .reply(200, {_id:"underscore",_rev:1,maintainers:[jashkenas]})
+ server.get('/underscore')
+ .reply(200, { _id: 'underscore', _rev: 1, maintainers: [jashkenas] })
server.put(
- "/underscore/-rev/1",
- {_id:"underscore",_rev:1,maintainers:[jashkenas,othiym23]},
+ '/underscore/-rev/1',
+ { _id: 'underscore', _rev: 1, maintainers: [jashkenas, othiym23] },
{}
- ).reply(200, {_id:"underscore",_rev:2,maintainers:[jashkenas,othiym23]})
+ ).reply(200, { _id: 'underscore', _rev: 2, maintainers: [jashkenas, othiym23] })
// test 2
- server.get("/@xxx%2fscoped")
- .reply(200, {_id:"@xxx/scoped",_rev:1,maintainers:[bcoe]})
+ server.get('/@xxx%2fscoped')
+ .reply(200, { _id: '@xxx/scoped', _rev: 1, maintainers: [bcoe] })
server.put(
- "/@xxx%2fscoped/-rev/1",
- {_id:"@xxx/scoped",_rev:1,maintainers:[bcoe,othiym23]},
+ '/@xxx%2fscoped/-rev/1',
+ { _id: '@xxx/scoped', _rev: 1, maintainers: [bcoe, othiym23] },
{}
- ).reply(200, {_id:"@xxx/scoped",_rev:2,maintainers:[bcoe,othiym23]})
+ ).reply(200, { _id: '@xxx/scoped', _rev: 2, maintainers: [bcoe, othiym23] })
// test 3
- server.get("/underscore")
- .reply(200, {_id:"underscore",_rev:2,maintainers:[jashkenas,othiym23]})
+ server.get('/underscore')
+ .reply(200, { _id: 'underscore', _rev: 2, maintainers: [jashkenas, othiym23] })
// test 4
- server.get("/underscore")
- .reply(200, {_id:"underscore",_rev:2,maintainers:[jashkenas,othiym23]})
+ server.get('/underscore')
+ .reply(200, { _id: 'underscore', _rev: 2, maintainers: [jashkenas, othiym23] })
server.put(
- "/underscore/-rev/2",
- {_id:"underscore",_rev:2,maintainers:[jashkenas]},
+ '/underscore/-rev/2',
+ { _id: 'underscore', _rev: 2, maintainers: [jashkenas] },
{}
- ).reply(200, {_id:"underscore",_rev:3,maintainers:[jashkenas]})
+ ).reply(200, { _id: 'underscore', _rev: 3, maintainers: [jashkenas] })
}
-test("setup", function (t) {
+test('setup', function (t) {
common.npm(
[
- "--loglevel", "silent",
- "cache", "clean"
+ '--loglevel', 'silent',
+ 'cache', 'clean'
],
EXEC_OPTS,
function (err, code) {
- t.ifError(err, "npm cache clean ran without error")
- t.notOk(code, "npm cache clean exited cleanly")
+ t.ifError(err, 'npm cache clean ran without error')
+ t.notOk(code, 'npm cache clean exited cleanly')
- mr({ port : common.port, plugin : mocks }, function (err, s) {
+ mr({ port: common.port, plugin: mocks }, function (er, s) {
server = s
t.end()
})
@@ -81,83 +81,83 @@ test("setup", function (t) {
)
})
-test("npm owner add", function (t) {
+test('npm owner add', function (t) {
common.npm(
[
- "--loglevel", "silent",
- "--registry", common.registry,
- "owner", "add", "othiym23", "underscore"
+ '--loglevel', 'silent',
+ '--registry', common.registry,
+ 'owner', 'add', 'othiym23', 'underscore'
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm owner add ran without error")
- t.notOk(code, "npm owner add exited cleanly")
- t.notOk(stderr, "npm owner add ran silently")
- t.equal(stdout, "+ othiym23 (underscore)\n", "got expected add output")
+ t.ifError(err, 'npm owner add ran without error')
+ t.notOk(code, 'npm owner add exited cleanly')
+ t.notOk(stderr, 'npm owner add ran silently')
+ t.equal(stdout, '+ othiym23 (underscore)\n', 'got expected add output')
t.end()
}
)
})
-test("npm owner add (scoped)", function (t) {
+test('npm owner add (scoped)', function (t) {
common.npm(
[
- "--loglevel", "silent",
- "--registry", common.registry,
- "owner", "add", "othiym23", "@xxx/scoped"
+ '--loglevel', 'silent',
+ '--registry', common.registry,
+ 'owner', 'add', 'othiym23', '@xxx/scoped'
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm owner add (scoped) ran without error")
- t.notOk(code, "npm owner add (scoped) exited cleanly")
- t.notOk(stderr, "npm owner add (scoped) ran silently")
- t.equal(stdout, "+ othiym23 (@xxx/scoped)\n", "got expected scoped add output")
+ t.ifError(err, 'npm owner add (scoped) ran without error')
+ t.notOk(code, 'npm owner add (scoped) exited cleanly')
+ t.notOk(stderr, 'npm owner add (scoped) ran silently')
+ t.equal(stdout, '+ othiym23 (@xxx/scoped)\n', 'got expected scoped add output')
t.end()
}
)
})
-test("npm owner ls", function (t) {
+test('npm owner ls', function (t) {
common.npm(
[
- "--loglevel", "silent",
- "--registry", common.registry,
- "owner", "ls", "underscore"
+ '--loglevel', 'silent',
+ '--registry', common.registry,
+ 'owner', 'ls', 'underscore'
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm owner ls ran without error")
- t.notOk(code, "npm owner ls exited cleanly")
- t.notOk(stderr, "npm owner ls ran silently")
- t.equal(stdout, shrt(jashkenas)+shrt(othiym23), "got expected ls output")
+ t.ifError(err, 'npm owner ls ran without error')
+ t.notOk(code, 'npm owner ls exited cleanly')
+ t.notOk(stderr, 'npm owner ls ran silently')
+ t.equal(stdout, shrt(jashkenas) + shrt(othiym23), 'got expected ls output')
t.end()
}
)
})
-test("npm owner rm", function (t) {
+test('npm owner rm', function (t) {
common.npm(
[
- "--loglevel", "silent",
- "--registry", common.registry,
- "owner", "rm", "othiym23", "underscore"
+ '--loglevel', 'silent',
+ '--registry', common.registry,
+ 'owner', 'rm', 'othiym23', 'underscore'
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "npm owner rm ran without error")
- t.notOk(code, "npm owner rm exited cleanly")
- t.notOk(stderr, "npm owner rm ran silently")
- t.equal(stdout, "- othiym23 (underscore)\n", "got expected rm output")
+ t.ifError(err, 'npm owner rm ran without error')
+ t.notOk(code, 'npm owner rm exited cleanly')
+ t.notOk(stderr, 'npm owner rm ran silently')
+ t.equal(stdout, '- othiym23 (underscore)\n', 'got expected rm output')
t.end()
}
)
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
server.close()
t.end()
})
diff --git a/deps/npm/test/tap/pack-scoped.js b/deps/npm/test/tap/pack-scoped.js
index 5c351339cb..05b9d12a83 100644
--- a/deps/npm/test/tap/pack-scoped.js
+++ b/deps/npm/test/tap/pack-scoped.js
@@ -1,29 +1,29 @@
// verify that prepublish runs on pack and publish
-var test = require("tap").test
-var common = require("../common-tap")
-var fs = require("graceful-fs")
-var join = require("path").join
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
+var test = require('tap').test
+var common = require('../common-tap')
+var fs = require('graceful-fs')
+var join = require('path').join
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
-var pkg = join(__dirname, "scoped_package")
-var manifest = join(pkg, "package.json")
-var tmp = join(pkg, "tmp")
-var cache = join(pkg, "cache")
+var pkg = join(__dirname, 'scoped_package')
+var manifest = join(pkg, 'package.json')
+var tmp = join(pkg, 'tmp')
+var cache = join(pkg, 'cache')
var data = {
- name : "@scope/generic-package",
- version : "90000.100001.5"
+ name: '@scope/generic-package',
+ version: '90000.100001.5'
}
-test("setup", function (t) {
+test('setup', function (t) {
var n = 0
rimraf.sync(pkg)
- mkdirp(pkg, then())
+ mkdirp(pkg, then())
mkdirp(cache, then())
- mkdirp(tmp, then())
+ mkdirp(tmp, then())
function then () {
n++
@@ -34,23 +34,23 @@ test("setup", function (t) {
}
function next () {
- fs.writeFile(manifest, JSON.stringify(data), "ascii", done)
+ fs.writeFile(manifest, JSON.stringify(data), 'ascii', done)
}
function done (er) {
t.ifError(er)
- t.pass("setup done")
+ t.pass('setup done')
t.end()
}
})
-test("test", function (t) {
+test('test', function (t) {
var env = {
- "npm_config_cache" : cache,
- "npm_config_tmp" : tmp,
- "npm_config_prefix" : pkg,
- "npm_config_global" : "false"
+ 'npm_config_cache': cache,
+ 'npm_config_tmp': tmp,
+ 'npm_config_prefix': pkg,
+ 'npm_config_global': 'false'
}
for (var i in process.env) {
@@ -58,24 +58,24 @@ test("test", function (t) {
}
common.npm([
- "pack",
- "--loglevel", "warn"
+ 'pack',
+ '--loglevel', 'warn'
], {
cwd: pkg,
env: env
- }, function(err, code, stdout, stderr) {
- t.ifErr(err, "npm pack finished without error")
- t.equal(code, 0, "npm pack exited ok")
- t.notOk(stderr, "got stderr data: " + JSON.stringify("" + stderr))
+ }, function (err, code, stdout, stderr) {
+ t.ifErr(err, 'npm pack finished without error')
+ t.equal(code, 0, 'npm pack exited ok')
+ t.notOk(stderr, 'got stderr data: ' + JSON.stringify('' + stderr))
stdout = stdout.trim()
- var regex = new RegExp("scope-generic-package-90000.100001.5.tgz", "ig")
- t.ok(stdout.match(regex), "found package")
+ var regex = new RegExp('scope-generic-package-90000.100001.5.tgz', 'ig')
+ t.ok(stdout.match(regex), 'found package')
t.end()
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(pkg)
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
diff --git a/deps/npm/test/tap/peer-deps-invalid.js b/deps/npm/test/tap/peer-deps-invalid.js
index 453f9617f3..39ad612e5a 100644
--- a/deps/npm/test/tap/peer-deps-invalid.js
+++ b/deps/npm/test/tap/peer-deps-invalid.js
@@ -69,25 +69,23 @@ test('installing dependencies that have conflicting peerDependencies', function
'/invalid.js': [200, path.join(pkg, 'file-fail.js')]
}
}
- mr({port: common.port, mocks: customMocks}, function (err, s) { // create mock registry.
+ mr({port: common.port, mocks: customMocks}, function (err, s) {
t.ifError(err, 'mock registry started')
- npm.load({
- cache: pkg + "/cache",
- registry: common.registry
- }, function () {
- npm.commands.install([], function (err) {
- if (!err) {
- t.fail("No error!")
- } else {
- t.equal(err.code, "EPEERINVALID")
- t.equal(err.packageName, "underscore")
- t.equal(err.packageVersion, "1.3.3")
- t.equal(err.message, "The package underscore@1.3.3 does not satisfy its siblings' peerDependencies requirements!")
- }
- s.close() // shutdown mock registry.
- t.end()
- })
- })
+ npm.load(
+ {
+ cache: cache,
+ registry: common.registry
+ },
+ function () {
+ npm.commands.install([], function (err, additions, tree) {
+ t.error(err)
+ var invalid = tree.warnings.filter(function (warning) { return warning.code === 'EPEERINVALID' })
+ t.is(invalid.length, 2)
+ s.close()
+ t.end()
+ })
+ }
+ )
})
})
diff --git a/deps/npm/test/tap/peer-deps-toplevel.js b/deps/npm/test/tap/peer-deps-toplevel.js
index 5b5e29b06e..61c3ecb0d7 100644
--- a/deps/npm/test/tap/peer-deps-toplevel.js
+++ b/deps/npm/test/tap/peer-deps-toplevel.js
@@ -15,6 +15,10 @@ var pkg = path.resolve(__dirname, 'peer-deps-toplevel')
var expected = {
name: 'npm-test-peer-deps-toplevel',
version: '0.0.0',
+ problems: [
+ 'peer dep missing: mkdirp@*, required by npm-test-peer-deps-toplevel@0.0.0',
+ 'peer dep missing: request@0.9.x, required by npm-test-peer-deps@0.0.0'
+ ],
dependencies: {
'npm-test-peer-deps': {
version: '0.0.0',
@@ -29,14 +33,28 @@ var expected = {
}
},
mkdirp: {
- version: '0.3.5',
- from: 'mkdirp@*',
- resolved: common.registry + '/mkdirp/-/mkdirp-0.3.5.tgz'
+ peerMissing: true,
+ required: {
+ _id: 'mkdirp@*',
+ name: 'mkdirp',
+ version: '*',
+ peerMissing: [
+ {requiredBy: 'npm-test-peer-deps-toplevel@0.0.0', requires: 'mkdirp@*'}
+ ],
+ dependencies: {}
+ }
},
request: {
- version: '0.9.5',
- from: 'request@>=0.9.0 <0.10.0',
- resolved: common.registry + '/request/-/request-0.9.5.tgz'
+ peerMissing: true,
+ required: {
+ _id: 'request@0.9.x',
+ dependencies: {},
+ name: 'request',
+ peerMissing: [
+ {requiredBy: 'npm-test-peer-deps@0.0.0', requires: 'request@0.9.x'}
+ ],
+ version: '0.9.x'
+ }
}
}
}
diff --git a/deps/npm/test/tap/peer-deps-without-package-json.js b/deps/npm/test/tap/peer-deps-without-package-json.js
index 08322eefaa..ad863e9f97 100644
--- a/deps/npm/test/tap/peer-deps-without-package-json.js
+++ b/deps/npm/test/tap/peer-deps-without-package-json.js
@@ -51,17 +51,15 @@ test('installing a peerDeps-using package without package.json', function (t) {
registry: common.registry,
cache: cache
}, function () {
- npm.install(common.registry + '/ok.js', function (err) {
+ npm.install(common.registry + '/ok.js', function (err, additions, result) {
t.ifError(err, 'installed ok.js')
t.ok(
fs.existsSync(path.join(nodeModules, 'npm-test-peer-deps-file')),
'passive peer dep installed'
)
- t.ok(
- fs.existsSync(path.join(nodeModules, 'underscore')),
- 'underscore installed'
- )
+ var invalid = result.warnings.filter(function (warning) { return warning.code === 'EPEERINVALID' })
+ t.is(invalid.length, 1, 'got a warning for a missing/invalid peer dep')
t.end()
s.close() // shutdown mock registry.
diff --git a/deps/npm/test/tap/peer-deps.js b/deps/npm/test/tap/peer-deps.js
index 48023d7ac7..7116e428b4 100644
--- a/deps/npm/test/tap/peer-deps.js
+++ b/deps/npm/test/tap/peer-deps.js
@@ -12,29 +12,7 @@ var npm = npm = require('../../')
var pkg = path.resolve(__dirname, 'peer-deps')
-var expected = {
- name: 'npm-test-peer-deps-installer',
- version: '0.0.0',
- dependencies: {
- 'npm-test-peer-deps': {
- version: '0.0.0',
- from: 'npm-test-peer-deps@*',
- resolved: common.registry + '/npm-test-peer-deps/-/npm-test-peer-deps-0.0.0.tgz',
- dependencies: {
- underscore: {
- version: '1.3.1',
- from: 'underscore@1.3.1',
- resolved: common.registry + '/underscore/-/underscore-1.3.1.tgz'
- }
- }
- },
- request: {
- version: '0.9.5',
- from: 'request@>=0.9.0 <0.10.0',
- resolved: common.registry + '/request/-/request-0.9.5.tgz'
- }
- }
-}
+var expected = [ 'peer dep missing: request@0.9.x, required by npm-test-peer-deps@0.0.0' ]
var json = {
author: 'Domenic Denicola',
@@ -56,7 +34,7 @@ test('installs the peer dependency directory structure', function (t) {
npm.commands.ls([], true, function (err, _, results) {
if (err) return t.fail(err)
- t.deepEqual(results, expected)
+ t.deepEqual(results.problems, expected)
s.close()
t.end()
})
diff --git a/deps/npm/test/tap/prepublish.js b/deps/npm/test/tap/prepublish.js
index 36391beeb3..f065a656a9 100644
--- a/deps/npm/test/tap/prepublish.js
+++ b/deps/npm/test/tap/prepublish.js
@@ -1,16 +1,16 @@
// verify that prepublish runs on pack and publish
-var common = require("../common-tap")
-var test = require("tap").test
-var fs = require("graceful-fs")
-var join = require("path").join
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
+var common = require('../common-tap')
+var test = require('tap').test
+var fs = require('graceful-fs')
+var join = require('path').join
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
-var pkg = join(__dirname, "prepublish_package")
-var tmp = join(pkg, "tmp")
-var cache = join(pkg, "cache")
+var pkg = join(__dirname, 'prepublish_package')
+var tmp = join(pkg, 'tmp')
+var cache = join(pkg, 'cache')
-test("setup", function (t) {
+test('setup', function (t) {
var n = 0
cleanup()
mkdirp(pkg, then())
@@ -25,58 +25,60 @@ test("setup", function (t) {
}
function next () {
- fs.writeFile(join(pkg, "package.json"), JSON.stringify({
- name: "npm-test-prepublish",
- version: "1.2.5",
- scripts: { prepublish: "echo ok" }
- }), "ascii", function (er) {
+ fs.writeFile(join(pkg, 'package.json'), JSON.stringify({
+ name: 'npm-test-prepublish',
+ version: '1.2.5',
+ scripts: { prepublish: 'echo ok' }
+ }), 'ascii', function (er) {
if (er) throw er
- t.pass("setup done")
+ t.pass('setup done')
t.end()
})
}
})
-test("test", function (t) {
+test('test', function (t) {
var env = {
- "npm_config_cache" : cache,
- "npm_config_tmp" : tmp,
- "npm_config_prefix" : pkg,
- "npm_config_global" : "false"
+ 'npm_config_cache': cache,
+ 'npm_config_tmp': tmp,
+ 'npm_config_prefix': pkg,
+ 'npm_config_global': 'false'
}
+
for (var i in process.env) {
- if (!/^npm_config_/.test(i))
+ if (!/^npm_config_/.test(i)) {
env[i] = process.env[i]
+ }
}
common.npm([
- "pack",
- "--loglevel", "warn"
- ], { cwd: pkg, env: env }, function(err, code, stdout, stderr) {
- t.equal(code, 0, "pack finished successfully")
- t.ifErr(err, "pack finished successfully")
+ 'pack',
+ '--loglevel', 'warn'
+ ], { cwd: pkg, env: env }, function (err, code, stdout, stderr) {
+ t.equal(code, 0, 'pack finished successfully')
+ t.ifErr(err, 'pack finished successfully')
- t.notOk(stderr, "got stderr data:" + JSON.stringify("" + stderr))
+ t.notOk(stderr, 'got stderr data:' + JSON.stringify('' + stderr))
var c = stdout.trim()
- var regex = new RegExp("" +
- "> npm-test-prepublish@1.2.5 prepublish [^\\r\\n]+\\r?\\n" +
- "> echo ok\\r?\\n" +
- "\\r?\\n" +
- "ok\\r?\\n" +
- "npm-test-prepublish-1.2.5.tgz", "ig")
+ var regex = new RegExp('' +
+ '> npm-test-prepublish@1.2.5 prepublish [^\\r\\n]+\\r?\\n' +
+ '> echo ok\\r?\\n' +
+ '\\r?\\n' +
+ 'ok\\r?\\n' +
+ 'npm-test-prepublish-1.2.5.tgz', 'ig')
t.ok(c.match(regex))
t.end()
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
-function cleanup() {
+function cleanup () {
rimraf.sync(pkg)
}
diff --git a/deps/npm/test/tap/progress-config.js b/deps/npm/test/tap/progress-config.js
new file mode 100644
index 0000000000..4b6f806dd3
--- /dev/null
+++ b/deps/npm/test/tap/progress-config.js
@@ -0,0 +1,56 @@
+'use strict'
+var test = require('tap').test
+var log = require('npmlog')
+
+// We use requireInject to get a fresh copy of
+// the npm singleton each time we require it.
+// If we didn't, we'd have shared state between
+// these various tests.
+var requireInject = require('require-inject')
+
+// Make sure existing environment vars don't muck up the test
+process.env = {}
+
+test('disabled', function (t) {
+ t.plan(1)
+ var npm = requireInject('../../lib/npm.js', {})
+ npm.load({progress: false}, function () {
+ t.is(log.progressEnabled, false, 'should be disabled')
+ })
+})
+
+test('enabled', function (t) {
+ t.plan(1)
+ var npm = requireInject('../../lib/npm.js', {})
+ npm.load({progress: true}, function () {
+ t.is(log.progressEnabled, true, 'should be enabled')
+ })
+})
+
+test('default', function (t) {
+ t.plan(1)
+ var npm = requireInject('../../lib/npm.js', {})
+ npm.load({}, function () {
+ t.is(log.progressEnabled, true, 'should be enabled')
+ })
+})
+
+test('default-travis', function (t) {
+ t.plan(1)
+ global.process.env.TRAVIS = 'true'
+ var npm = requireInject('../../lib/npm.js', {})
+ npm.load({}, function () {
+ t.is(log.progressEnabled, false, 'should be disabled')
+ delete global.process.env.TRAVIS
+ })
+})
+
+test('default-ci', function (t) {
+ t.plan(1)
+ global.process.env.CI = 'true'
+ var npm = requireInject('../../lib/npm.js', {})
+ npm.load({}, function () {
+ t.is(log.progressEnabled, false, 'should be disabled')
+ delete global.process.env.CI
+ })
+})
diff --git a/deps/npm/test/tap/publish-access-scoped.js b/deps/npm/test/tap/publish-access-scoped.js
index e734ebfd78..adc67a48e3 100644
--- a/deps/npm/test/tap/publish-access-scoped.js
+++ b/deps/npm/test/tap/publish-access-scoped.js
@@ -1,15 +1,15 @@
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var nock = require("nock")
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var nock = require('nock')
-var npm = require("../../")
-var common = require("../common-tap.js")
+var npm = require('../../')
+var common = require('../common-tap.js')
-var pkg = path.join(__dirname, "publish-access")
+var pkg = path.join(__dirname, 'publish-access')
// TODO: nock uses setImmediate, breaks 0.8: replace with mockRegistry
if (!global.setImmediate) {
@@ -19,46 +19,46 @@ if (!global.setImmediate) {
}
}
-test("setup", function (t) {
- mkdirp(path.join(pkg, "cache"), function () {
+test('setup', function (t) {
+ mkdirp(path.join(pkg, 'cache'), function () {
var configuration = {
- cache : path.join(pkg, "cache"),
- loglevel : "silent",
- registry : common.registry
+ cache: path.join(pkg, 'cache'),
+ loglevel: 'silent',
+ registry: common.registry
}
npm.load(configuration, next)
})
function next (er) {
- t.ifError(er, "npm loaded successfully")
+ t.ifError(er, 'npm loaded successfully')
process.chdir(pkg)
fs.writeFile(
- path.join(pkg, "package.json"),
+ path.join(pkg, 'package.json'),
JSON.stringify({
- name: "@bigco/publish-access",
- version: "1.2.5"
+ name: '@bigco/publish-access',
+ version: '1.2.5'
}),
- "ascii",
+ 'ascii',
function (er) {
t.ifError(er)
- t.pass("setup done")
+ t.pass('setup done')
t.end()
}
)
}
})
-test("scoped packages pass public access if set", function (t) {
+test('scoped packages pass public access if set', function (t) {
var put = nock(common.registry)
- .put("/@bigco%2fpublish-access")
+ .put('/@bigco%2fpublish-access')
.reply(201, verify)
- npm.config.set("access", "public")
+ npm.config.set('access', 'public')
npm.commands.publish([], false, function (er) {
- t.ifError(er, "published without error")
+ t.ifError(er, 'published without error')
put.done()
t.end()
@@ -67,14 +67,14 @@ test("scoped packages pass public access if set", function (t) {
function verify (_, body) {
t.doesNotThrow(function () {
var parsed = JSON.parse(body)
- t.equal(parsed.access, "public", "access level is correct")
- }, "converted body back into object")
+ t.equal(parsed.access, 'public', 'access level is correct')
+ }, 'converted body back into object')
return {ok: true}
}
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(__dirname)
rimraf(pkg, function (er) {
t.ifError(er)
diff --git a/deps/npm/test/tap/publish-access-unscoped-restricted-fails.js b/deps/npm/test/tap/publish-access-unscoped-restricted-fails.js
index 4d39b00b16..b975399384 100644
--- a/deps/npm/test/tap/publish-access-unscoped-restricted-fails.js
+++ b/deps/npm/test/tap/publish-access-unscoped-restricted-fails.js
@@ -1,14 +1,14 @@
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
-var npm = require("../../")
-var common = require("../common-tap.js")
+var npm = require('../../')
+var common = require('../common-tap.js')
-var pkg = path.join(__dirname, "publish-access-unscoped")
+var pkg = path.join(__dirname, 'publish-access-unscoped')
// TODO: nock uses setImmediate, breaks 0.8: replace with mockRegistry
if (!global.setImmediate) {
@@ -18,49 +18,49 @@ if (!global.setImmediate) {
}
}
-test("setup", function (t) {
- mkdirp(path.join(pkg, "cache"), function () {
+test('setup', function (t) {
+ mkdirp(path.join(pkg, 'cache'), function () {
var configuration = {
- cache : path.join(pkg, "cache"),
- loglevel : "silent",
- registry : common.registry
+ cache: path.join(pkg, 'cache'),
+ loglevel: 'silent',
+ registry: common.registry
}
npm.load(configuration, next)
})
function next (er) {
- t.ifError(er, "npm loaded successfully")
+ t.ifError(er, 'npm loaded successfully')
process.chdir(pkg)
fs.writeFile(
- path.join(pkg, "package.json"),
+ path.join(pkg, 'package.json'),
JSON.stringify({
- name: "publish-access",
- version: "1.2.5"
+ name: 'publish-access',
+ version: '1.2.5'
}),
- "ascii",
+ 'ascii',
function (er) {
t.ifError(er)
- t.pass("setup done")
+ t.pass('setup done')
t.end()
}
)
}
})
-test("unscoped packages cannot be restricted", function (t) {
- npm.config.set("access", "restricted")
+test('unscoped packages cannot be restricted', function (t) {
+ npm.config.set('access', 'restricted')
npm.commands.publish([], false, function (er) {
- t.ok(er, "got an error back")
+ t.ok(er, 'got an error back')
t.equal(er.message, "Can't restrict access to unscoped packages.")
t.end()
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(__dirname)
rimraf(pkg, function (er) {
t.ifError(er)
diff --git a/deps/npm/test/tap/publish-access-unscoped.js b/deps/npm/test/tap/publish-access-unscoped.js
index 023bfba5f2..48b12ed521 100644
--- a/deps/npm/test/tap/publish-access-unscoped.js
+++ b/deps/npm/test/tap/publish-access-unscoped.js
@@ -1,15 +1,15 @@
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var nock = require("nock")
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var nock = require('nock')
-var npm = require("../../")
-var common = require("../common-tap.js")
+var npm = require('../../')
+var common = require('../common-tap.js')
-var pkg = path.join(__dirname, "publish-access-unscoped")
+var pkg = path.join(__dirname, 'publish-access-unscoped')
// TODO: nock uses setImmediate, breaks 0.8: replace with mockRegistry
if (!global.setImmediate) {
@@ -19,46 +19,46 @@ if (!global.setImmediate) {
}
}
-test("setup", function (t) {
- mkdirp(path.join(pkg, "cache"), function () {
+test('setup', function (t) {
+ mkdirp(path.join(pkg, 'cache'), function () {
var configuration = {
- cache : path.join(pkg, "cache"),
- loglevel : "silent",
- registry : common.registry
+ cache: path.join(pkg, 'cache'),
+ loglevel: 'silent',
+ registry: common.registry
}
npm.load(configuration, next)
})
function next (er) {
- t.ifError(er, "npm loaded successfully")
+ t.ifError(er, 'npm loaded successfully')
process.chdir(pkg)
fs.writeFile(
- path.join(pkg, "package.json"),
+ path.join(pkg, 'package.json'),
JSON.stringify({
- name: "publish-access",
- version: "1.2.5"
+ name: 'publish-access',
+ version: '1.2.5'
}),
- "ascii",
+ 'ascii',
function (er) {
t.ifError(er)
- t.pass("setup done")
+ t.pass('setup done')
t.end()
}
)
}
})
-test("unscoped packages can be explicitly set as public", function (t) {
+test('unscoped packages can be explicitly set as public', function (t) {
var put = nock(common.registry)
- .put("/publish-access")
+ .put('/publish-access')
.reply(201, verify)
- npm.config.set("access", "public")
+ npm.config.set('access', 'public')
npm.commands.publish([], false, function (er) {
- t.ifError(er, "published without error")
+ t.ifError(er, 'published without error')
put.done()
t.end()
@@ -67,14 +67,14 @@ test("unscoped packages can be explicitly set as public", function (t) {
function verify (_, body) {
t.doesNotThrow(function () {
var parsed = JSON.parse(body)
- t.equal(parsed.access, "public", "access level is correct")
- }, "converted body back into object")
+ t.equal(parsed.access, 'public', 'access level is correct')
+ }, 'converted body back into object')
return {ok: true}
}
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(__dirname)
rimraf(pkg, function (er) {
t.ifError(er)
diff --git a/deps/npm/test/tap/publish-config.js b/deps/npm/test/tap/publish-config.js
index 1d063535b8..57070f78ba 100644
--- a/deps/npm/test/tap/publish-config.js
+++ b/deps/npm/test/tap/publish-config.js
@@ -1,37 +1,37 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var fs = require("fs")
-var osenv = require("osenv")
-var pkg = process.env.npm_config_tmp || "/tmp"
-pkg += "/npm-test-publish-config"
+var common = require('../common-tap.js')
+var test = require('tap').test
+var fs = require('fs')
+var osenv = require('osenv')
+var pkg = process.env.npm_config_tmp || '/tmp'
+pkg += '/npm-test-publish-config'
-require("mkdirp").sync(pkg)
+require('mkdirp').sync(pkg)
-fs.writeFileSync(pkg + "/package.json", JSON.stringify({
- name: "npm-test-publish-config",
- version: "1.2.3",
+fs.writeFileSync(pkg + '/package.json', JSON.stringify({
+ name: 'npm-test-publish-config',
+ version: '1.2.3',
publishConfig: { registry: common.registry }
-}), "utf8")
+}), 'utf8')
-fs.writeFileSync(pkg + "/fixture_npmrc",
- "//localhost:1337/:email = fancy@feast.net\n" +
- "//localhost:1337/:username = fancy\n" +
- "//localhost:1337/:_password = " + new Buffer("feast").toString("base64") + "\n" +
- "registry = http://localhost:1337/")
+fs.writeFileSync(pkg + '/fixture_npmrc',
+ '//localhost:1337/:email = fancy@feast.net\n' +
+ '//localhost:1337/:username = fancy\n' +
+ '//localhost:1337/:_password = ' + new Buffer('feast').toString('base64') + '\n' +
+ 'registry = http://localhost:1337/')
test(function (t) {
var child
t.plan(4)
- require("http").createServer(function (req, res) {
- t.pass("got request on the fakey fake registry")
+ require('http').createServer(function (req, res) {
+ t.pass('got request on the fakey fake registry')
this.close()
res.statusCode = 500
res.end(JSON.stringify({
- error: "sshhh. naptime nao. \\^O^/ <(YAWWWWN!)"
+ error: 'sshhh. naptime nao. \\^O^/ <(YAWWWWN!)'
}))
child.kill('SIGHUP')
}).listen(common.port, function () {
- t.pass("server is listening")
+ t.pass('server is listening')
// don't much care about listening to the child's results
// just wanna make sure it hits the server we just set up.
@@ -40,20 +40,20 @@ test(function (t) {
// itself functions normally.
//
// Make sure that we don't sit around waiting for lock files
- child = common.npm(["publish", "--userconfig=" + pkg + "/fixture_npmrc"], {
+ child = common.npm(['publish', '--userconfig=' + pkg + '/fixture_npmrc'], {
cwd: pkg,
- stdio: "inherit",
+ stdio: 'inherit',
env: {
- "npm_config_cache_lock_stale": 1000,
- "npm_config_cache_lock_wait": 1000,
+ 'npm_config_cache_lock_stale': 1000,
+ 'npm_config_cache_lock_wait': 1000,
HOME: process.env.HOME,
Path: process.env.PATH,
PATH: process.env.PATH,
USERPROFILE: osenv.home()
}
}, function (err, code) {
- t.ifError(err, "publish command finished successfully")
- t.notOk(code, "npm install exited with code 0")
+ t.ifError(err, 'publish command finished successfully')
+ t.notOk(code, 'npm install exited with code 0')
})
})
})
diff --git a/deps/npm/test/tap/publish-scoped.js b/deps/npm/test/tap/publish-scoped.js
index f74ca2e616..eb14ae5049 100644
--- a/deps/npm/test/tap/publish-scoped.js
+++ b/deps/npm/test/tap/publish-scoped.js
@@ -1,60 +1,60 @@
-var fs = require("fs")
-var path = require("path")
+var fs = require('fs')
+var path = require('path')
-var test = require("tap").test
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var nock = require("nock")
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var nock = require('nock')
-var npm = require("../../")
-var common = require("../common-tap.js")
+var npm = require('../../')
+var common = require('../common-tap.js')
-var pkg = path.join(__dirname, "prepublish_package")
+var pkg = path.join(__dirname, 'prepublish_package')
-test("setup", function (t) {
- mkdirp(path.join(pkg, "cache"), next)
+test('setup', function (t) {
+ mkdirp(path.join(pkg, 'cache'), next)
function next () {
process.chdir(pkg)
fs.writeFile(
- path.join(pkg, "package.json"),
+ path.join(pkg, 'package.json'),
JSON.stringify({
- name: "@bigco/publish-organized",
- version: "1.2.5"
+ name: '@bigco/publish-organized',
+ version: '1.2.5'
}),
- "ascii",
+ 'ascii',
function (er) {
t.ifError(er)
- t.pass("setup done")
+ t.pass('setup done')
t.end()
}
)
}
})
-test("npm publish should honor scoping", function (t) {
+test('npm publish should honor scoping', function (t) {
var put = nock(common.registry)
- .put("/@bigco%2fpublish-organized")
+ .put('/@bigco%2fpublish-organized')
.reply(201, verify)
var configuration = {
- cache : path.join(pkg, "cache"),
- loglevel : "silent",
- registry : "http://nonexistent.lvh.me",
- "//localhost:1337/:username" : "username",
- "//localhost:1337/:_password" : new Buffer("password").toString("base64"),
- "//localhost:1337/:email" : "ogd@aoaioxxysz.net"
+ cache: path.join(pkg, 'cache'),
+ loglevel: 'silent',
+ registry: 'http://nonexistent.lvh.me',
+ '//localhost:1337/:username': 'username',
+ '//localhost:1337/:_password': new Buffer('password').toString('base64'),
+ '//localhost:1337/:email': 'ogd@aoaioxxysz.net'
}
npm.load(configuration, onload)
function onload (er) {
- t.ifError(er, "npm bootstrapped successfully")
+ t.ifError(er, 'npm bootstrapped successfully')
- npm.config.set("@bigco:registry", common.registry)
+ npm.config.set('@bigco:registry', common.registry)
npm.commands.publish([], false, function (er) {
- t.ifError(er, "published without error")
+ t.ifError(er, 'published without error')
put.done()
@@ -65,25 +65,25 @@ test("npm publish should honor scoping", function (t) {
function verify (_, body) {
t.doesNotThrow(function () {
var parsed = JSON.parse(body)
- var current = parsed.versions["1.2.5"]
+ var current = parsed.versions['1.2.5']
t.equal(
current._npmVersion,
- require(path.resolve(__dirname, "../../package.json")).version,
- "npm version is correct"
+ require(path.resolve(__dirname, '../../package.json')).version,
+ 'npm version is correct'
)
t.equal(
current._nodeVersion,
process.versions.node,
- "node version is correct"
+ 'node version is correct'
)
- }, "converted body back into object")
+ }, 'converted body back into object')
return {ok: true}
}
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(__dirname)
rimraf(pkg, function (er) {
t.ifError(er)
diff --git a/deps/npm/test/tap/pwd-prefix.js b/deps/npm/test/tap/pwd-prefix.js
index 237096e0a2..1b59f5c838 100644
--- a/deps/npm/test/tap/pwd-prefix.js
+++ b/deps/npm/test/tap/pwd-prefix.js
@@ -2,31 +2,31 @@
// thing when the cwd is where package.json is, and when
// the package.json is one level up.
-var test = require("tap").test
-var common = require("../common-tap.js")
-var path = require("path")
-var root = path.resolve(__dirname, "../..")
-var lib = path.resolve(root, "lib")
-var commands = ["run", "version"]
+var test = require('tap').test
+var common = require('../common-tap.js')
+var path = require('path')
+var root = path.resolve(__dirname, '../..')
+var lib = path.resolve(root, 'lib')
+var commands = ['run', 'version']
commands.forEach(function (cmd) {
// Should get the same stdout and stderr each time
var stdout, stderr
- test(cmd + " in root", function (t) {
+ test(cmd + ' in root', function (t) {
common.npm([cmd], {cwd: root}, function (er, code, so, se) {
if (er) throw er
- t.notOk(code, "npm " + cmd + " exited with code 0")
+ t.notOk(code, 'npm ' + cmd + ' exited with code 0')
stdout = so
stderr = se
t.end()
})
})
- test(cmd + " in lib", function (t) {
+ test(cmd + ' in lib', function (t) {
common.npm([cmd], {cwd: lib}, function (er, code, so, se) {
if (er) throw er
- t.notOk(code, "npm " + cmd + " exited with code 0")
+ t.notOk(code, 'npm ' + cmd + ' exited with code 0')
t.equal(so, stdout)
t.equal(se, stderr)
t.end()
diff --git a/deps/npm/test/tap/referer.js b/deps/npm/test/tap/referer.js
index c1b173d976..8c3dbed72c 100644
--- a/deps/npm/test/tap/referer.js
+++ b/deps/npm/test/tap/referer.js
@@ -1,16 +1,16 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var http = require("http")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var http = require('http')
-test("should send referer http header", function (t) {
+test('should send referer http header', function (t) {
http.createServer(function (q, s) {
- t.equal(q.headers.referer, "install foo")
+ t.equal(q.headers.referer, 'install foo')
s.statusCode = 404
- s.end(JSON.stringify({error: "whatever"}))
+ s.end(JSON.stringify({error: 'whatever'}))
this.close()
}).listen(common.port, function () {
- var reg = "http://localhost:" + common.port
- var args = [ "install", "foo", "--registry", reg ]
+ var reg = 'http://localhost:' + common.port
+ var args = [ 'install', 'foo', '--registry', reg ]
common.npm(args, {}, function (er, code) {
if (er) {
throw er
diff --git a/deps/npm/test/tap/registry.js b/deps/npm/test/tap/registry.js
index 060d9b67b6..7ff4075bf2 100644
--- a/deps/npm/test/tap/registry.js
+++ b/deps/npm/test/tap/registry.js
@@ -1,34 +1,31 @@
// Run all the tests in the `npm-registry-couchapp` suite
// This verifies that the server-side stuff still works.
-var common = require("../common-tap")
-var test = require("tap").test
+var common = require('../common-tap')
+var test = require('tap').test
-var npmExec = require.resolve("../../bin/npm-cli.js")
-var path = require("path")
-var ca = path.resolve(__dirname, "../../node_modules/npm-registry-couchapp")
+var npmExec = require.resolve('../../bin/npm-cli.js')
+var path = require('path')
+var ca = path.resolve(__dirname, '../../node_modules/npm-registry-couchapp')
-var which = require("which")
+var which = require('which')
-var v = process.versions.node.split(".").map(function (n) { return parseInt(n, 10) })
+var v = process.versions.node.split('.').map(function (n) { return parseInt(n, 10) })
if (v[0] === 0 && v[1] < 10) {
console.error(
- "WARNING: need a recent Node for npm-registry-couchapp tests to run, have",
+ 'WARNING: need a recent Node for npm-registry-couchapp tests to run, have',
process.versions.node
)
-}
-else {
- which("couchdb", function (er) {
+} else {
+ which('couchdb', function (er) {
if (er) {
- console.error("WARNING: need couch to run test: " + er.message)
- }
- else {
+ console.error('WARNING: need couch to run test: ' + er.message)
+ } else {
runTests()
}
})
}
-
function runTests () {
var env = { TAP: 1 }
for (var i in process.env) env[i] = process.env[i]
@@ -36,13 +33,13 @@ function runTests () {
var opts = {
cwd: ca,
- stdio: "inherit"
+ stdio: 'inherit'
}
- common.npm(["install"], opts, function (err, code) {
+ common.npm(['install'], opts, function (err, code) {
if (err) { throw err }
if (code) {
- return test("need install to work", function (t) {
- t.fail("install failed with: " + code)
+ return test('need install to work', function (t) {
+ t.fail('install failed with: ' + code)
t.end()
})
@@ -50,22 +47,22 @@ function runTests () {
opts = {
cwd: ca,
env: env,
- stdio: "inherit"
+ stdio: 'inherit'
}
- common.npm(["test", "--", "-Rtap"], opts, function (err, code) {
+ common.npm(['test', '--', '-Rtap'], opts, function (err, code) {
if (err) { throw err }
if (code) {
- return test("need test to work", function (t) {
- t.fail("test failed with: " + code)
+ return test('need test to work', function (t) {
+ t.fail('test failed with: ' + code)
t.end()
})
}
opts = {
cwd: ca,
env: env,
- stdio: "inherit"
+ stdio: 'inherit'
}
- common.npm(["prune", "--production"], opts, function (err, code) {
+ common.npm(['prune', '--production'], opts, function (err, code) {
if (err) { throw err }
process.exit(code || 0)
})
diff --git a/deps/npm/test/tap/repo.js b/deps/npm/test/tap/repo.js
index 565842b9a6..292415705e 100644
--- a/deps/npm/test/tap/repo.js
+++ b/deps/npm/test/tap/repo.js
@@ -1,76 +1,75 @@
-if (process.platform === "win32") {
- console.error("skipping test, because windows and shebangs")
- return
+if (process.platform === 'win32') {
+ console.error('skipping test, because windows and shebangs')
+ process.exit(0)
}
-var common = require("../common-tap.js")
-var mr = require("npm-registry-mock")
+var common = require('../common-tap.js')
+var mr = require('npm-registry-mock')
-var test = require("tap").test
-var npm = require.resolve("../../bin/npm-cli.js")
-var node = process.execPath
-var rimraf = require("rimraf")
-var spawn = require("child_process").spawn
-var fs = require("fs")
+var test = require('tap').test
+var rimraf = require('rimraf')
+var fs = require('fs')
var path = require('path')
var outFile = path.join(__dirname, '/_output')
var opts = { cwd: __dirname }
-test("setup", function (t) {
- var s = "#!/usr/bin/env bash\n" +
- "echo \"$@\" > " + JSON.stringify(__dirname) + "/_output\n"
- fs.writeFileSync(__dirname + "/_script.sh", s, "ascii")
- fs.chmodSync(__dirname + "/_script.sh", "0755")
- t.pass("made script")
+test('setup', function (t) {
+ var s = '#!/usr/bin/env bash\n' +
+ 'echo \"$@\" > ' + JSON.stringify(__dirname) + '/_output\n'
+ fs.writeFileSync(__dirname + '/_script.sh', s, 'ascii')
+ fs.chmodSync(__dirname + '/_script.sh', '0755')
+ t.pass('made script')
t.end()
})
-test("npm repo underscore", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm repo underscore', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
'repo', 'underscore',
'--registry=' + common.registry,
'--loglevel=silent',
'--browser=' + __dirname + '/_script.sh'
], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'repo command ran without error')
t.equal(code, 0, 'exit ok')
var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://github.com/jashkenas/underscore\n")
+ t.equal(res, 'https://github.com/jashkenas/underscore\n')
rimraf.sync(outFile)
t.end()
})
})
})
-
test('npm repo optimist - github (https://)', function (t) {
- mr({port : common.port}, function (er, s) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
'repo', 'optimist',
'--registry=' + common.registry,
'--loglevel=silent',
'--browser=' + __dirname + '/_script.sh'
], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'repo command ran without error')
t.equal(code, 0, 'exit ok')
var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://github.com/substack/node-optimist\n")
+ t.equal(res, 'https://github.com/substack/node-optimist\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm repo npm-test-peer-deps - no repo", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm repo npm-test-peer-deps - no repo', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
'repo', 'npm-test-peer-deps',
'--registry=' + common.registry,
'--loglevel=silent',
'--browser=' + __dirname + '/_script.sh'
], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'repo command ran without error')
t.equal(code, 1, 'exit not ok')
s.close()
t.end()
@@ -78,62 +77,65 @@ test("npm repo npm-test-peer-deps - no repo", function (t) {
})
})
-test("npm repo test-repo-url-http - non-github (http://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm repo test-repo-url-http - non-github (http://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
'repo', 'test-repo-url-http',
'--registry=' + common.registry,
'--loglevel=silent',
'--browser=' + __dirname + '/_script.sh'
], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'repo command ran without error')
t.equal(code, 0, 'exit ok')
var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "http://gitlab.com/evanlucas/test-repo-url-http\n")
+ t.equal(res, 'http://gitlab.com/evanlucas/test-repo-url-http\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm repo test-repo-url-https - non-github (https://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm repo test-repo-url-https - non-github (https://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
'repo', 'test-repo-url-https',
'--registry=' + common.registry,
'--loglevel=silent',
'--browser=' + __dirname + '/_script.sh'
], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'repo command ran without error')
t.equal(code, 0, 'exit ok')
var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "https://gitlab.com/evanlucas/test-repo-url-https\n")
+ t.equal(res, 'https://gitlab.com/evanlucas/test-repo-url-https\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("npm repo test-repo-url-ssh - non-github (ssh://)", function (t) {
- mr({port : common.port}, function (er, s) {
+test('npm repo test-repo-url-ssh - non-github (ssh://)', function (t) {
+ mr({ port: common.port }, function (er, s) {
common.npm([
'repo', 'test-repo-url-ssh',
'--registry=' + common.registry,
'--loglevel=silent',
'--browser=' + __dirname + '/_script.sh'
], opts, function (err, code, stdout, stderr) {
+ t.ifError(err, 'repo command ran without error')
t.equal(code, 0, 'exit ok')
var res = fs.readFileSync(outFile, 'ascii')
s.close()
- t.equal(res, "http://gitlab.com/evanlucas/test-repo-url-ssh\n")
+ t.equal(res, 'https://gitlab.com/evanlucas/test-repo-url-ssh\n')
rimraf.sync(outFile)
t.end()
})
})
})
-test("cleanup", function (t) {
- fs.unlinkSync(__dirname + "/_script.sh")
- t.pass("cleaned up")
+test('cleanup', function (t) {
+ fs.unlinkSync(__dirname + '/_script.sh')
+ t.pass('cleaned up')
t.end()
})
diff --git a/deps/npm/test/tap/rm-linked.js b/deps/npm/test/tap/rm-linked.js
new file mode 100644
index 0000000000..cd46c013ad
--- /dev/null
+++ b/deps/npm/test/tap/rm-linked.js
@@ -0,0 +1,136 @@
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var path = require('path')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var writeFileSync = require('fs').writeFileSync
+
+var common = require('../common-tap.js')
+
+var link = path.join(__dirname, 'rmlinked')
+var linkDep = path.join(link, 'node_modules', 'baz')
+var linkInstall = path.join(__dirname, 'rmlinked-install')
+var linkRoot = path.join(__dirname, 'rmlinked-root')
+
+var config = 'prefix = ' + linkRoot
+var configPath = path.join(link, '_npmrc')
+
+var OPTS = {
+ env: {
+ 'npm_config_userconfig': configPath
+ }
+}
+
+var linkedJSON = {
+ name: 'foo',
+ version: '1.0.0',
+ description: '',
+ main: 'index.js',
+ scripts: {
+ test: 'echo \"Error: no test specified\" && exit 1'
+ },
+ dependencies: {
+ 'baz': '1.0.0'
+ },
+ author: '',
+ license: 'ISC'
+}
+
+var linkedDepJSON = {
+ name: 'baz',
+ version: '1.0.0',
+ description: '',
+ main: 'index.js',
+ scripts: {
+ test: 'echo \"Error: no test specified\" && exit 1'
+ },
+ author: '',
+ license: 'ISC'
+}
+
+var installJSON = {
+ name: 'bar',
+ version: '1.0.0',
+ description: '',
+ main: 'index.js',
+ scripts: {
+ test: 'echo \"Error: no test specified\" && exit 1'
+ },
+ dependencies: {
+ 'foo': '1.0.0'
+ },
+ author: '',
+ license: 'ISC'
+}
+
+test('setup', function (t) {
+ setup()
+ common.npm(['ls', '-g', '--depth=0'], OPTS, function (err, c, out) {
+ t.ifError(err)
+ t.equal(c, 0, 'set up ok')
+ t.notOk(out.match(/UNMET DEPENDENCY foo@/), "foo isn't in global")
+ t.end()
+ })
+})
+
+test('creates global link', function (t) {
+ process.chdir(link)
+ common.npm(['link'], OPTS, function (err, c, out) {
+ t.ifError(err, 'link has no error')
+ common.npm(['ls', '-g'], OPTS, function (err, c, out, stderr) {
+ t.ifError(err)
+ t.equal(c, 0)
+ t.equal(stderr, '', 'got expected stderr')
+ t.has(out, /foo@1.0.0/, 'creates global link ok')
+ t.end()
+ })
+ })
+})
+
+test('uninstall the global linked package', function (t) {
+ process.chdir(osenv.tmpdir())
+ common.npm(['uninstall', '-g', 'foo'], OPTS, function (err) {
+ t.ifError(err, 'uninstall has no error')
+ process.chdir(link)
+ common.npm(['ls'], OPTS, function (err, c, out) {
+ t.ifError(err)
+ t.equal(c, 0)
+ t.has(out, /baz@1.0.0/, "uninstall didn't remove dep")
+ t.end()
+ })
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ try { rimraf.sync(linkRoot) } catch (e) { }
+ try { rimraf.sync(linkDep) } catch (e) { }
+ try { rimraf.sync(link) } catch (e) { }
+ try { rimraf.sync(linkInstall) } catch (e) { }
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(linkRoot)
+ mkdirp.sync(link)
+ writeFileSync(
+ path.join(link, 'package.json'),
+ JSON.stringify(linkedJSON, null, 2)
+ )
+ mkdirp.sync(linkDep)
+ writeFileSync(
+ path.join(linkDep, 'package.json'),
+ JSON.stringify(linkedDepJSON, null, 2)
+ )
+ mkdirp.sync(linkInstall)
+ writeFileSync(
+ path.join(linkInstall, 'package.json'),
+ JSON.stringify(installJSON, null, 2)
+ )
+ writeFileSync(configPath, config)
+}
diff --git a/deps/npm/test/tap/run-script.js b/deps/npm/test/tap/run-script.js
index 5d414d8e92..d7087693df 100644
--- a/deps/npm/test/tap/run-script.js
+++ b/deps/npm/test/tap/run-script.js
@@ -62,15 +62,14 @@ var preversionOnly = {
}
}
-
function testOutput (t, command, er, code, stdout, stderr) {
var lines
- if (er)
- throw er
+ if (er) throw er
- if (stderr)
+ if (stderr) {
throw new Error('npm ' + command + ' stderr: ' + stderr.toString())
+ }
lines = stdout.trim().split('\n')
stdout = lines.filter(function (line) {
diff --git a/deps/npm/test/tap/semver-doc.js b/deps/npm/test/tap/semver-doc.js
index 963cace101..31c75fffd8 100644
--- a/deps/npm/test/tap/semver-doc.js
+++ b/deps/npm/test/tap/semver-doc.js
@@ -1,12 +1,12 @@
-var test = require("tap").test
+var test = require('tap').test
-test("semver doc is up to date", function (t) {
- var path = require("path")
- var moddoc = path.join(__dirname, "../../node_modules/semver/README.md")
- var mydoc = path.join(__dirname, "../../doc/misc/semver.md")
- var fs = require("fs")
- var mod = fs.readFileSync(moddoc, "utf8").replace(/semver\(1\)/, "semver(7)")
- var my = fs.readFileSync(mydoc, "utf8")
+test('semver doc is up to date', function (t) {
+ var path = require('path')
+ var moddoc = path.join(__dirname, '../../node_modules/semver/README.md')
+ var mydoc = path.join(__dirname, '../../doc/misc/semver.md')
+ var fs = require('fs')
+ var mod = fs.readFileSync(moddoc, 'utf8').replace(/semver\(1\)/, 'semver(7)')
+ var my = fs.readFileSync(mydoc, 'utf8')
t.equal(my, mod)
t.end()
})
diff --git a/deps/npm/test/tap/semver-tag.js b/deps/npm/test/tap/semver-tag.js
index 03dcdf85b6..b4feb75176 100644
--- a/deps/npm/test/tap/semver-tag.js
+++ b/deps/npm/test/tap/semver-tag.js
@@ -1,11 +1,11 @@
// should not allow tagging with a valid semver range
-var common = require("../common-tap.js")
-var test = require("tap").test
+var common = require('../common-tap.js')
+var test = require('tap').test
-test("try to tag with semver range as tag name", function (t) {
- var cmd = ["tag", "zzzz@1.2.3", "v2.x", "--registry=http://localhost"]
+test('try to tag with semver range as tag name', function (t) {
+ var cmd = ['tag', 'zzzz@1.2.3', 'v2.x', '--registry=http://localhost']
common.npm(cmd, {
- stdio: "pipe"
+ stdio: 'pipe'
}, function (er, code, so, se) {
if (er) throw er
t.similar(se, /Tag name must not be a valid SemVer range: v2.x\n/)
diff --git a/deps/npm/test/tap/shrinkwrap-dev-dependency.js b/deps/npm/test/tap/shrinkwrap-dev-dependency.js
index a124c2b7fe..0a239e97ce 100644
--- a/deps/npm/test/tap/shrinkwrap-dev-dependency.js
+++ b/deps/npm/test/tap/shrinkwrap-dev-dependency.js
@@ -77,9 +77,7 @@ function setup (cb) {
var opts = {
cache: path.resolve(pkg, 'cache'),
- registry: common.registry,
- // important to make sure devDependencies don't get stripped
- dev: true
+ registry: common.registry
}
npm.load(opts, cb)
}
diff --git a/deps/npm/test/tap/shrinkwrap-empty-deps.js b/deps/npm/test/tap/shrinkwrap-empty-deps.js
index 32cbd5eb40..cf7e9a6e80 100644
--- a/deps/npm/test/tap/shrinkwrap-empty-deps.js
+++ b/deps/npm/test/tap/shrinkwrap-empty-deps.js
@@ -51,8 +51,7 @@ test('returns a list of removed items', function (t) {
t.same(
{
'name': 'shrinkwrap-empty-deps',
- 'version': '0.0.0',
- 'dependencies': {}
+ 'version': '0.0.0'
},
JSON.parse(desired),
'shrinkwrap handled empty deps without exploding'
diff --git a/deps/npm/test/tap/shrinkwrap-local-dependency.js b/deps/npm/test/tap/shrinkwrap-local-dependency.js
index ffbde6574e..8d7c0712f9 100644
--- a/deps/npm/test/tap/shrinkwrap-local-dependency.js
+++ b/deps/npm/test/tap/shrinkwrap-local-dependency.js
@@ -1,63 +1,62 @@
-var test = require("tap").test
-var path = require("path")
-var fs = require("fs")
-var osenv = require("osenv")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var common = require("../common-tap.js")
-
-var PKG_DIR = path.resolve(__dirname, "shrinkwrap-local-dependency")
-var CACHE_DIR = path.resolve(PKG_DIR, "cache")
-var DEP_DIR = path.resolve(PKG_DIR, "dep")
+var test = require('tap').test
+var path = require('path')
+var fs = require('fs')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var common = require('../common-tap.js')
+
+var PKG_DIR = path.resolve(__dirname, 'shrinkwrap-local-dependency')
+var CACHE_DIR = path.resolve(PKG_DIR, 'cache')
+var DEP_DIR = path.resolve(PKG_DIR, 'dep')
var desired = {
- "name": "npm-test-shrinkwrap-local-dependency",
- "version": "0.0.0",
- "dependencies": {
- "npm-test-shrinkwrap-local-dependency-dep": {
- "version": "0.0.0",
- "from": "dep",
- "resolved": "file:dep"
+ 'name': 'npm-test-shrinkwrap-local-dependency',
+ 'version': '0.0.0',
+ 'dependencies': {
+ 'npm-test-shrinkwrap-local-dependency-dep': {
+ 'version': '0.0.0',
+ 'from': 'dep',
+ 'resolved': 'file:dep'
}
}
}
var root = {
- "author": "Thomas Torp",
- "name": "npm-test-shrinkwrap-local-dependency",
- "version": "0.0.0",
- "dependencies": {
- "npm-test-shrinkwrap-local-dependency-dep": "file:./dep"
+ 'author': 'Thomas Torp',
+ 'name': 'npm-test-shrinkwrap-local-dependency',
+ 'version': '0.0.0',
+ 'dependencies': {
+ 'npm-test-shrinkwrap-local-dependency-dep': 'file:./dep'
}
}
var dependency = {
- "author": "Thomas Torp",
- "name": "npm-test-shrinkwrap-local-dependency-dep",
- "version": "0.0.0"
+ 'author': 'Thomas Torp',
+ 'name': 'npm-test-shrinkwrap-local-dependency-dep',
+ 'version': '0.0.0'
}
-
-test("shrinkwrap uses resolved with file: on local deps", function(t) {
+test('shrinkwrap uses resolved with file: on local deps', function (t) {
setup()
common.npm(
- ["--cache="+CACHE_DIR, "--loglevel=silent", "install", "."],
+ ['--cache=' + CACHE_DIR, '--loglevel=silent', 'install', '.'],
{},
function (err, code) {
- t.ifError(err, "npm install worked")
- t.equal(code, 0, "npm exited normally")
+ t.ifError(err, 'npm install worked')
+ t.equal(code, 0, 'npm exited normally')
common.npm(
- ["--cache="+CACHE_DIR, "--loglevel=silent", "shrinkwrap"],
+ ['--cache=' + CACHE_DIR, '--loglevel=silent', 'shrinkwrap'],
{},
function (err, code) {
- t.ifError(err, "npm shrinkwrap worked")
- t.equal(code, 0, "npm exited normally")
+ t.ifError(err, 'npm shrinkwrap worked')
+ t.equal(code, 0, 'npm exited normally')
- fs.readFile("npm-shrinkwrap.json", { encoding : "utf8" }, function (err, data) {
- t.ifError(err, "read file correctly")
- t.deepEqual(JSON.parse(data), desired, "shrinkwrap looks correct")
+ fs.readFile('npm-shrinkwrap.json', { encoding: 'utf8' }, function (err, data) {
+ t.ifError(err, 'read file correctly')
+ t.deepEqual(JSON.parse(data), desired, 'shrinkwrap looks correct')
t.end()
})
@@ -67,22 +66,22 @@ test("shrinkwrap uses resolved with file: on local deps", function(t) {
)
})
-test('"npm install" should install local packages from shrinkwrap', function (t) {
+test("'npm install' should install local packages from shrinkwrap", function (t) {
cleanNodeModules()
common.npm(
- ["--cache="+CACHE_DIR, "--loglevel=silent", "install", "."],
+ ['--cache=' + CACHE_DIR, '--loglevel=silent', 'install', '.'],
{},
function (err, code) {
- t.ifError(err, "install ran correctly")
- t.notOk(code, "npm install exited with code 0")
+ t.ifError(err, 'install ran correctly')
+ t.notOk(code, 'npm install exited with code 0')
var dependencyPackageJson = path.resolve(
PKG_DIR,
- "node_modules/npm-test-shrinkwrap-local-dependency-dep/package.json"
+ 'node_modules/npm-test-shrinkwrap-local-dependency-dep/package.json'
)
t.ok(
- JSON.parse(fs.readFileSync(dependencyPackageJson, "utf8")),
- "package with local dependency installed from shrinkwrap"
+ JSON.parse(fs.readFileSync(dependencyPackageJson, 'utf8')),
+ 'package with local dependency installed from shrinkwrap'
)
t.end()
@@ -90,32 +89,32 @@ test('"npm install" should install local packages from shrinkwrap', function (t)
)
})
-test("cleanup", function(t) {
+test('cleanup', function (t) {
cleanup()
t.end()
})
-function setup() {
+function setup () {
cleanup()
mkdirp.sync(PKG_DIR)
mkdirp.sync(CACHE_DIR)
mkdirp.sync(DEP_DIR)
fs.writeFileSync(
- path.resolve(PKG_DIR, "package.json"),
+ path.resolve(PKG_DIR, 'package.json'),
JSON.stringify(root, null, 2)
)
fs.writeFileSync(
- path.resolve(DEP_DIR, "package.json"),
+ path.resolve(DEP_DIR, 'package.json'),
JSON.stringify(dependency, null, 2)
)
process.chdir(PKG_DIR)
}
-function cleanNodeModules() {
- rimraf.sync(path.resolve(PKG_DIR, "node_modules"))
+function cleanNodeModules () {
+ rimraf.sync(path.resolve(PKG_DIR, 'node_modules'))
}
-function cleanup() {
+function cleanup () {
process.chdir(osenv.tmpdir())
cleanNodeModules()
rimraf.sync(PKG_DIR)
diff --git a/deps/npm/test/tap/shrinkwrap-prod-dependency-also.js b/deps/npm/test/tap/shrinkwrap-prod-dependency-also.js
new file mode 100644
index 0000000000..5bcae6d2f5
--- /dev/null
+++ b/deps/npm/test/tap/shrinkwrap-prod-dependency-also.js
@@ -0,0 +1,93 @@
+var fs = require('fs')
+var path = require('path')
+
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var npm = npm = require('../../')
+
+var common = require('../common-tap.js')
+var pkg = path.resolve(__dirname, 'shrinkwrap-prod-dependency')
+
+test("shrinkwrap --also=development doesn't strip out prod dependencies", function (t) {
+ t.plan(1)
+
+ mr({port: common.port}, function (er, s) {
+ setup({}, function (err) {
+ if (err) return t.fail(err)
+
+ npm.install('.', function (err) {
+ if (err) return t.fail(err)
+
+ npm.config.set('also', 'development')
+ npm.commands.shrinkwrap([], true, function (err, results) {
+ if (err) return t.fail(err)
+
+ t.deepEqual(results, desired)
+ s.close()
+ t.end()
+ })
+ })
+ })
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+var desired = {
+ name: 'npm-test-shrinkwrap-prod-dependency',
+ version: '0.0.0',
+ dependencies: {
+ request: {
+ version: '0.9.0',
+ from: 'request@0.9.0',
+ resolved: common.registry + '/request/-/request-0.9.0.tgz'
+ },
+ underscore: {
+ version: '1.5.1',
+ from: 'underscore@1.5.1',
+ resolved: common.registry + '/underscore/-/underscore-1.5.1.tgz'
+ }
+ }
+}
+
+var json = {
+ author: 'Domenic Denicola',
+ name: 'npm-test-shrinkwrap-prod-dependency',
+ version: '0.0.0',
+ dependencies: {
+ request: '0.9.0'
+ },
+ devDependencies: {
+ underscore: '1.5.1'
+ }
+}
+
+function setup (opts, cb) {
+ cleanup()
+ mkdirp.sync(pkg)
+ fs.writeFileSync(path.join(pkg, 'package.json'), JSON.stringify(json, null, 2))
+ process.chdir(pkg)
+
+ var allOpts = {
+ cache: path.resolve(pkg, 'cache'),
+ registry: common.registry
+ }
+
+ for (var key in opts) {
+ allOpts[key] = opts[key]
+ }
+
+ npm.load(allOpts, cb)
+}
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(pkg)
+}
diff --git a/deps/npm/test/tap/shrinkwrap-scoped-auth.js b/deps/npm/test/tap/shrinkwrap-scoped-auth.js
index 79414ccd22..8fe0d1e23e 100644
--- a/deps/npm/test/tap/shrinkwrap-scoped-auth.js
+++ b/deps/npm/test/tap/shrinkwrap-scoped-auth.js
@@ -1,92 +1,102 @@
-var resolve = require("path").resolve
-var writeFileSync = require("graceful-fs").writeFileSync
-
-var mkdirp = require("mkdirp")
-var mr = require("npm-registry-mock")
-var osenv = require("osenv")
-var rimraf = require("rimraf")
-var test = require("tap").test
-
-var common = require("../common-tap.js")
-var toNerfDart = require("../../lib/config/nerf-dart.js")
-
-var pkg = resolve(__dirname, "shrinkwrap-scoped-auth")
-var outfile = resolve(pkg, "_npmrc")
-var modules = resolve(pkg, "node_modules")
-var tarballPath = "/scoped-underscore/-/scoped-underscore-1.3.1.tgz"
+var resolve = require('path').resolve
+var writeFileSync = require('graceful-fs').writeFileSync
+
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var common = require('../common-tap.js')
+var toNerfDart = require('../../lib/config/nerf-dart.js')
+
+var pkg = resolve(__dirname, 'shrinkwrap-scoped-auth')
+var outfile = resolve(pkg, '_npmrc')
+var modules = resolve(pkg, 'node_modules')
+var tarballPath = '/scoped-underscore/-/scoped-underscore-1.3.1.tgz'
var tarballURL = common.registry + tarballPath
-var tarball = resolve(__dirname, "../fixtures/scoped-underscore-1.3.1.tgz")
+var tarball = resolve(__dirname, '../fixtures/scoped-underscore-1.3.1.tgz')
var server
-var EXEC_OPTS = {
- cwd : pkg
-}
+var EXEC_OPTS = { cwd: pkg }
function mocks (server) {
- var auth = "Bearer 0xabad1dea"
- server.get(tarballPath, { authorization : auth }).replyWithFile(200, tarball)
+ var auth = 'Bearer 0xabad1dea'
+ server.get(tarballPath, { authorization: auth }).replyWithFile(200, tarball)
server.get(tarballPath).reply(401, {
- error : "unauthorized",
- reason : "You are not authorized to access this db."
+ error: 'unauthorized',
+ reason: 'You are not authorized to access this db.'
})
}
-test("setup", function (t) {
- mr({ port : common.port, plugin : mocks }, function (err, s) {
+test('setup', function (t) {
+ mr({ port: common.port, plugin: mocks }, function (er, s) {
server = s
- t.ok(s, "set up mock registry")
+ t.ok(s, 'set up mock registry')
setup()
t.end()
})
})
-test("authed npm install with shrinkwrapped scoped package", function (t) {
+test('authed npm install with shrinkwrapped scoped package', function (t) {
common.npm(
[
- "install",
- "--loglevel", "silent",
- "--fetch-retries", 0,
- "--userconfig", outfile
+ 'install',
+ '--loglevel', 'silent',
+ '--json',
+ '--fetch-retries', 0,
+ '--userconfig', outfile
],
EXEC_OPTS,
function (err, code, stdout, stderr) {
- t.ifError(err, "test runner executed without error")
- t.equal(code, 0, "npm install exited OK")
- t.notOk(stderr, "no output on stderr")
- t.equal(
- stdout,
- "@scoped/underscore@1.3.1 node_modules/@scoped/underscore\n",
- "module installed where expected"
- )
+ console.error(stderr)
+ t.ifError(err, 'test runner executed without error')
+ t.equal(code, 0, 'npm install exited OK')
+ t.notOk(stderr, 'no output on stderr')
+ try {
+ var results = JSON.parse(stdout)
+ } catch (ex) {
+ console.error('#', ex)
+ t.ifError(ex, 'stdout was valid JSON')
+ }
+
+ if (results) {
+ var installedversion = {
+ 'version': '1.3.1',
+ 'from': '>=1.3.1 <2',
+ 'resolved': 'http://localhost:1337/scoped-underscore/-/scoped-underscore-1.3.1.tgz'
+ }
+ t.isDeeply(results.dependencies['@scoped/underscore'], installedversion, '@scoped/underscore installed')
+ }
t.end()
}
)
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
server.close()
cleanup()
t.end()
})
-var contents = "@scoped:registry="+common.registry+"\n" +
- toNerfDart(common.registry)+":_authToken=0xabad1dea\n"
+var contents = '@scoped:registry=' + common.registry + '\n' +
+ toNerfDart(common.registry) + ':_authToken=0xabad1dea\n'
var json = {
- name : "test-package-install",
- version : "1.0.0"
+ name: 'test-package-install',
+ version: '1.0.0'
}
var shrinkwrap = {
- name : "test-package-install",
- version : "1.0.0",
- dependencies : {
- "@scoped/underscore" : {
- resolved : tarballURL,
- from : ">=1.3.1 <2",
- version : "1.3.1"
+ name: 'test-package-install',
+ version: '1.0.0',
+ dependencies: {
+ '@scoped/underscore': {
+ resolved: tarballURL,
+ from: '>=1.3.1 <2',
+ version: '1.3.1'
}
}
}
@@ -94,15 +104,15 @@ var shrinkwrap = {
function setup () {
cleanup()
mkdirp.sync(modules)
- writeFileSync(resolve(pkg, "package.json"), JSON.stringify(json, null, 2)+"\n")
+ writeFileSync(resolve(pkg, 'package.json'), JSON.stringify(json, null, 2) + '\n')
writeFileSync(outfile, contents)
writeFileSync(
- resolve(pkg, "npm-shrinkwrap.json"),
- JSON.stringify(shrinkwrap, null, 2)+"\n"
+ resolve(pkg, 'npm-shrinkwrap.json'),
+ JSON.stringify(shrinkwrap, null, 2) + '\n'
)
}
-function cleanup() {
+function cleanup () {
process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
}
diff --git a/deps/npm/test/tap/sorted-package-json.js b/deps/npm/test/tap/sorted-package-json.js
index 6853cf3020..9b2e935926 100644
--- a/deps/npm/test/tap/sorted-package-json.js
+++ b/deps/npm/test/tap/sorted-package-json.js
@@ -1,21 +1,20 @@
-var test = require("tap").test
- , path = require("path")
- , rimraf = require("rimraf")
- , mkdirp = require("mkdirp")
- , spawn = require("child_process").spawn
- , npm = require.resolve("../../bin/npm-cli.js")
- , node = process.execPath
- , pkg = path.resolve(__dirname, "sorted-package-json")
- , tmp = path.join(pkg, "tmp")
- , cache = path.join(pkg, "cache")
- , fs = require("fs")
- , common = require("../common-tap.js")
- , mr = require("npm-registry-mock")
- , osenv = require("osenv")
+var test = require('tap').test
+var path = require('path')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var spawn = require('child_process').spawn
+var npm = require.resolve('../../bin/npm-cli.js')
+var node = process.execPath
+var pkg = path.resolve(__dirname, 'sorted-package-json')
+var tmp = path.join(pkg, 'tmp')
+var cache = path.join(pkg, 'cache')
+var fs = require('fs')
+var common = require('../common-tap.js')
+var mr = require('npm-registry-mock')
+var osenv = require('osenv')
-
-test("sorting dependencies", function (t) {
- var packageJson = path.resolve(pkg, "package.json")
+test('sorting dependencies', function (t) {
+ var packageJson = path.resolve(pkg, 'package.json')
cleanup()
mkdirp.sync(cache)
@@ -24,27 +23,27 @@ test("sorting dependencies", function (t) {
var before = JSON.parse(fs.readFileSync(packageJson).toString())
- mr({port : common.port}, function (er, s) {
+ mr({ port: common.port }, function (er, s) {
// underscore is already in the package.json,
// but --save will trigger a rewrite with sort
- var child = spawn(node, [npm, "install", "--save", "underscore@1.3.3"], {
+ var child = spawn(node, [npm, 'install', '--save', 'underscore@1.3.3'], {
cwd: pkg,
env: {
- "npm_config_registry": common.registry,
- "npm_config_cache": cache,
- "npm_config_tmp": tmp,
- "npm_config_prefix": pkg,
- "npm_config_global": "false",
+ 'npm_config_registry': common.registry,
+ 'npm_config_cache': cache,
+ 'npm_config_tmp': tmp,
+ 'npm_config_prefix': pkg,
+ 'npm_config_global': 'false',
HOME: process.env.HOME,
Path: process.env.PATH,
PATH: process.env.PATH
}
})
- child.on("close", function (code) {
- t.equal(code, 0, "npm install exited with code")
+ child.on('close', function (code) {
+ t.equal(code, 0, 'npm install exited with code')
var result = fs.readFileSync(packageJson).toString()
- , resultAsJson = JSON.parse(result)
+ var resultAsJson = JSON.parse(result)
s.close()
@@ -61,33 +60,33 @@ test("sorting dependencies", function (t) {
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
cleanup()
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
-function setup() {
+function setup () {
mkdirp.sync(pkg)
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify({
- "name": "sorted-package-json",
- "version": "0.0.0",
- "description": "",
- "main": "index.js",
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
+ 'name': 'sorted-package-json',
+ 'version': '0.0.0',
+ 'description': '',
+ 'main': 'index.js',
+ 'scripts': {
+ 'test': 'echo \'Error: no test specified\' && exit 1'
},
- "author": "Rocko Artischocko",
- "license": "ISC",
- "dependencies": {
- "underscore": "^1.3.3",
- "request": "^0.9.0"
+ 'author': 'Rocko Artischocko',
+ 'license': 'ISC',
+ 'dependencies': {
+ 'underscore': '^1.3.3',
+ 'request': '^0.9.0'
}
- }, null, 2), "utf8")
+ }, null, 2), 'utf8')
}
-function cleanup() {
+function cleanup () {
process.chdir(osenv.tmpdir())
rimraf.sync(cache)
rimraf.sync(pkg)
diff --git a/deps/npm/test/tap/spawn-enoent-help.js b/deps/npm/test/tap/spawn-enoent-help.js
index 70fb078faf..716f6ebd15 100644
--- a/deps/npm/test/tap/spawn-enoent-help.js
+++ b/deps/npm/test/tap/spawn-enoent-help.js
@@ -1,25 +1,25 @@
-var path = require("path")
-var test = require("tap").test
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var common = require("../common-tap.js")
+var path = require('path')
+var test = require('tap').test
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, "spawn-enoent-help")
+var pkg = path.resolve(__dirname, 'spawn-enoent-help')
-test("setup", function (t) {
+test('setup', function (t) {
rimraf.sync(pkg)
mkdirp.sync(pkg)
t.end()
})
-test("enoent help", function (t) {
- common.npm(["help", "config"], {
+test('enoent help', function (t) {
+ common.npm(['help', 'config'], {
cwd: pkg,
env: {
- PATH: "",
- Path: "",
- "npm_config_loglevel": "warn",
- "npm_config_viewer": "woman"
+ PATH: '',
+ Path: '',
+ 'npm_config_loglevel': 'warn',
+ 'npm_config_viewer': 'woman'
}
}, function (er, code, sout, serr) {
t.similar(serr, /Check if the file 'emacsclient' is present./)
@@ -28,7 +28,7 @@ test("enoent help", function (t) {
})
})
-test("clean", function (t) {
+test('clean', function (t) {
rimraf.sync(pkg)
t.end()
})
diff --git a/deps/npm/test/tap/spawn-enoent.js b/deps/npm/test/tap/spawn-enoent.js
index 29b70f6f8a..320e477e0e 100644
--- a/deps/npm/test/tap/spawn-enoent.js
+++ b/deps/npm/test/tap/spawn-enoent.js
@@ -1,32 +1,31 @@
-var path = require("path")
-var test = require("tap").test
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var common = require("../common-tap.js")
+var path = require('path')
+var test = require('tap').test
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var common = require('../common-tap.js')
-var pkg = path.resolve(__dirname, "spawn-enoent")
+var pkg = path.resolve(__dirname, 'spawn-enoent')
var pj = JSON.stringify({
- name:"x",
- version: "1.2.3",
- scripts: { start: "wharble-garble-blorst" }
-}, null, 2) + "\n"
+ name: 'x',
+ version: '1.2.3',
+ scripts: { start: 'wharble-garble-blorst' }
+}, null, 2) + '\n'
-
-test("setup", function (t) {
+test('setup', function (t) {
rimraf.sync(pkg)
mkdirp.sync(pkg)
- fs.writeFileSync(pkg + "/package.json", pj)
+ fs.writeFileSync(pkg + '/package.json', pj)
t.end()
})
-test("enoent script", function (t) {
- common.npm(["start"], {
+test('enoent script', function (t) {
+ common.npm(['start'], {
cwd: pkg,
env: {
PATH: process.env.PATH,
Path: process.env.Path,
- "npm_config_loglevel": "warn"
+ 'npm_config_loglevel': 'warn'
}
}, function (er, code, sout, serr) {
t.similar(serr, /npm ERR! Failed at the x@1\.2\.3 start script 'wharble-garble-blorst'\./)
@@ -34,7 +33,7 @@ test("enoent script", function (t) {
})
})
-test("clean", function (t) {
+test('clean', function (t) {
rimraf.sync(pkg)
t.end()
})
diff --git a/deps/npm/test/tap/splat-with-only-prerelease-to-latest.js b/deps/npm/test/tap/splat-with-only-prerelease-to-latest.js
index d402bed296..09eb4ebe3b 100644
--- a/deps/npm/test/tap/splat-with-only-prerelease-to-latest.js
+++ b/deps/npm/test/tap/splat-with-only-prerelease-to-latest.js
@@ -1,7 +1,6 @@
'use strict'
var test = require('tap').test
var npm = require('../../lib/npm')
-var log = require('npmlog')
var stream = require('readable-stream')
var moduleName = 'xyzzy-wibble'
@@ -42,13 +41,13 @@ var testModule = {
shasum: 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
tarball: 'http://registry.npmjs.org/aproba/-/xyzzy-wibble-1.3.0-a.tgz'
}
- },
- },
+ }
+ }
}
var lastFetched
test('setup', function (t) {
- npm.load(function(){
+ npm.load(function () {
npm.config.set('loglevel', 'silly')
npm.registry = {
get: function (uri, opts, cb) {
@@ -69,13 +68,13 @@ test('setup', function (t) {
})
})
-
test('splat', function (t) {
- t.plan(3)
+ t.plan(4)
var addNamed = require('../../lib/cache/add-named.js')
addNamed('xyzzy-wibble', '*', testModule, function (err, pkg) {
t.error(err, 'Succesfully resolved a splat package')
t.is(pkg.name, moduleName)
t.is(pkg.version, testModule['dist-tags'].latest)
+ t.is(lastFetched, 'https://registry.npmjs.org/aproba/-/xyzzy-wibble-1.3.0-a.tgz')
})
})
diff --git a/deps/npm/test/tap/symlink-cycle.js b/deps/npm/test/tap/symlink-cycle.js
new file mode 100644
index 0000000000..b09b25acc8
--- /dev/null
+++ b/deps/npm/test/tap/symlink-cycle.js
@@ -0,0 +1,61 @@
+'use strict'
+var fs = require('fs')
+var path = require('path')
+var test = require('tap').test
+var mkdirp = require('mkdirp')
+var osenv = require('osenv')
+var rimraf = require('rimraf')
+var writeFileSync = require('fs').writeFileSync
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+var cycle = path.join(base, 'cycle')
+
+var cycleJSON = {
+ name: 'cycle',
+ version: '1.0.0',
+ description: '',
+ main: 'index.js',
+ scripts: {
+ test: 'echo \"Error: no test specified\" && exit 1'
+ },
+ dependencies: {
+ 'cycle': '*'
+ },
+ author: '',
+ license: 'ISC'
+}
+
+test('setup', function (t) {
+ setup()
+ t.end()
+})
+
+test('ls', function (t) {
+ process.chdir(cycle)
+ common.npm(['ls'], {}, function (err, code, stdout, stderr) {
+ t.ifError(err, 'installed w/o error')
+ t.is(stderr, '', 'no warnings printed to stderr')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ process.chdir(osenv.tmpdir())
+ cleanup()
+ t.end()
+})
+
+function cleanup () {
+ rimraf.sync(base)
+}
+
+function setup () {
+ cleanup()
+ mkdirp.sync(path.join(cycle, 'node_modules'))
+ writeFileSync(
+ path.join(cycle, 'package.json'),
+ JSON.stringify(cycleJSON, null, 2)
+ )
+ fs.symlinkSync(cycle, path.join(cycle, 'node_modules', 'cycle'))
+}
diff --git a/deps/npm/test/tap/team.js b/deps/npm/test/tap/team.js
index 4bfcbaddb2..b13fa86e8b 100644
--- a/deps/npm/test/tap/team.js
+++ b/deps/npm/test/tap/team.js
@@ -1,6 +1,3 @@
-var fs = require('fs')
-var path = require('path')
-var rimraf = require('rimraf')
var mr = require('npm-registry-mock')
var test = require('tap').test
diff --git a/deps/npm/test/tap/test-run-ls.js b/deps/npm/test/tap/test-run-ls.js
index 252c6e8f93..ea495879f3 100644
--- a/deps/npm/test/tap/test-run-ls.js
+++ b/deps/npm/test/tap/test-run-ls.js
@@ -1,30 +1,30 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var path = require("path")
-var cwd = path.resolve(__dirname, "..", "..")
-var testscript = require("../../package.json").scripts.test
-var tsregexp = testscript.replace(/([\[\.\*\]])/g, "\\$1")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var path = require('path')
+var cwd = path.resolve(__dirname, '..', '..')
+var testscript = require('../../package.json').scripts.test
+var tsregexp = testscript.replace(/([\[\.\*\]])/g, '\\$1')
-test("default", function (t) {
- common.npm(["run"], { cwd: cwd }, function (er, code, so) {
+test('default', function (t) {
+ common.npm(['run'], { cwd: cwd }, function (er, code, so) {
if (er) throw er
t.notOk(code)
- t.similar(so, new RegExp("\\n test\\n " + tsregexp + "\\n"))
+ t.similar(so, new RegExp('\\n test\\n ' + tsregexp + '\\n'))
t.end()
})
})
-test("parseable", function (t) {
- common.npm(["run", "-p"], { cwd: cwd }, function (er, code, so) {
+test('parseable', function (t) {
+ common.npm(['run', '-p'], { cwd: cwd }, function (er, code, so) {
if (er) throw er
t.notOk(code)
- t.similar(so, new RegExp("\\ntest:" + tsregexp + "\\n"))
+ t.similar(so, new RegExp('\\ntest:' + tsregexp + '\\n'))
t.end()
})
})
-test("parseable", function (t) {
- common.npm(["run", "--json"], { cwd: cwd }, function (er, code, so) {
+test('parseable', function (t) {
+ common.npm(['run', '--json'], { cwd: cwd }, function (er, code, so) {
if (er) throw er
t.notOk(code)
t.equal(JSON.parse(so).test, testscript)
diff --git a/deps/npm/test/tap/uninstall-in-reverse.js b/deps/npm/test/tap/uninstall-in-reverse.js
new file mode 100644
index 0000000000..2d8fe2bcfc
--- /dev/null
+++ b/deps/npm/test/tap/uninstall-in-reverse.js
@@ -0,0 +1,38 @@
+'use strict'
+var test = require('tap').test
+var requireInject = require('require-inject')
+var log = require('npmlog')
+
+/*
+The remove actions need to happen in the opposite of their normally defined
+order. That is, they need to go shallow -> deep.
+*/
+
+var removed = []
+var npm = requireInject.installGlobally('../../lib/npm.js', {
+ '../../lib/install/action/remove.js': function (top, buildpath, pkg, log, next) {
+ removed.push(pkg.package.name)
+ next()
+ }
+})
+
+test('setup', function (t) {
+ npm.load(function () {
+ t.pass('npm loaded')
+ t.end()
+ })
+})
+
+test('abc', function (t) {
+ var Installer = require('../../lib/install.js').Installer
+ var inst = new Installer(__dirname, false, [])
+ inst.progress = {executeActions: log}
+ inst.todo = [
+ ['remove', {package: {name: 'first'}}],
+ ['remove', {package: {name: 'second'}}]
+ ]
+ inst.executeActions(function () {
+ t.isDeeply(removed, ['second', 'first'])
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/uninstall-package.js b/deps/npm/test/tap/uninstall-package.js
index 6e86df531a..549b403ccf 100644
--- a/deps/npm/test/tap/uninstall-package.js
+++ b/deps/npm/test/tap/uninstall-package.js
@@ -56,8 +56,8 @@ test('returns a list of removed items', function (t) {
function (err, code, stdout, stderr) {
t.ifError(err, 'uninstall ran without issue')
t.notOk(code, 'uninstall ran without raising error code')
- t.has(stdout, /unbuild underscore@1.3.3/, 'underscore uninstalled')
- t.has(stdout, /unbuild request@0.9.5/, 'request uninstalled')
+ t.has(stdout, /- underscore@1.3.3/, 'underscore uninstalled')
+ t.has(stdout, /- request@0.9.5/, 'request uninstalled')
s.close()
t.end()
diff --git a/deps/npm/test/tap/update-examples.js b/deps/npm/test/tap/update-examples.js
index 633713d9d7..ae67e4a911 100644
--- a/deps/npm/test/tap/update-examples.js
+++ b/deps/npm/test/tap/update-examples.js
@@ -1,6 +1,5 @@
var common = require('../common-tap.js')
var test = require('tap').test
-var npm = require('../../lib/npm.js')
var mkdirp = require('mkdirp')
var rimraf = require('rimraf')
var path = require('path')
@@ -29,9 +28,19 @@ var DEP_PKG = {
}
var INSTALLED = {
- dependencies: {
- 'dep1': '1.1.1'
- }
+ path: '/mock/root',
+ realpath: '/mock/root',
+ isLink: false,
+ package: DEFAULT_PKG,
+ children: [
+ {
+ path: '/mock/root/node_modules/dep1',
+ realpath: '/mock/root/node_modules/dep1',
+ isLink: false,
+ package: DEP_PKG,
+ children: []
+ }
+ ]
}
var DEP1_REGISTRY = { name: 'dep1',
@@ -87,16 +96,18 @@ function resetPackage (options) {
if (options.wanted) {
mockParentJson.dependencies.dep1 = options.wanted
+ mockInstalled.package.dependencies.dep1 = options.wanted
mockDepJson._from = options.wanted
}
if (options.installed) {
- mockInstalled.dependencies.dep1 = options.installed
+ mockInstalled.package.dependencies.dep1 = options.installed
+ mockInstalled.children[0].package.version = options.installed
mockDepJson.version = options.installed
}
}
-function mockReadInstalled (dir, opts, cb) {
+function mockReadPackageTree (dir, cb) {
cb(null, mockInstalled)
}
@@ -109,30 +120,47 @@ function mockCommand (npm, name, fn) {
npm.commands[name] = fn
}
+function mockInstaller (where, dryrun, what) {
+ installAskedFor = what[0]
+}
+mockInstaller.prototype = {}
+mockInstaller.prototype.run = function (cb) {
+ cb()
+}
+
+var npm = requireInject.installGlobally('../../lib/npm.js', {
+ 'read-package-tree': mockReadPackageTree,
+ 'read-package-json': mockReadJson,
+ '../../lib/install': {
+ Installer: mockInstaller
+ }
+})
+
test('setup', function (t) {
+ t.plan(5)
process.chdir(osenv.tmpdir())
mkdirp.sync(PKG_DIR)
process.chdir(PKG_DIR)
+ t.pass('made ' + PKG_DIR)
resetPackage({})
mr({ port: common.port, mocks: registryMocks }, function (er, server) {
+ t.pass('mock registry active')
npm.load({ cache: CACHE_DIR,
registry: common.registry,
cwd: PKG_DIR }, function (err) {
t.ifError(err, 'started server')
mockServer = server
+ t.pass('npm.load complete')
+
mockCommand(npm, 'install', function mockInstall (where, what, cb) {
installAskedFor = what
cb(null)
})
- mockCommand(npm, 'outdated', requireInject('../../lib/outdated', {
- 'read-installed': mockReadInstalled,
- 'read-package-json': mockReadJson
- }))
-
+ t.pass('mocks configured')
t.end()
})
})
@@ -141,9 +169,10 @@ test('setup', function (t) {
test('update caret dependency to latest', function (t) {
resetPackage({ wanted: '^1.1.1' })
+ npm.config.set('loglevel', 'silly')
npm.commands.update([], function (err) {
t.ifError(err)
- t.equal('dep1@1.2.2', installAskedFor, 'should want to install dep@1.2.2')
+ t.equal(installAskedFor, 'dep1@1.2.2', 'should want to install dep@1.2.2')
t.end()
})
})
@@ -153,7 +182,7 @@ test('update tilde dependency to latest', function (t) {
npm.commands.update([], function (err) {
t.ifError(err)
- t.equal('dep1@1.1.2', installAskedFor, 'should want to install dep@1.1.2')
+ t.equal(installAskedFor, 'dep1@1.1.2', 'should want to install dep@1.1.2')
t.end()
})
})
@@ -173,7 +202,7 @@ test('update old caret dependency with no newer', function (t) {
npm.commands.update([], function (err) {
t.ifError(err)
- t.equal('dep1@0.2.0', installAskedFor, 'should want to install dep@0.2.0')
+ t.equal(installAskedFor, 'dep1@0.2.0', 'should want to install dep@0.2.0')
t.end()
})
})
@@ -183,7 +212,7 @@ test('update old caret dependency with newer', function (t) {
npm.commands.update([], function (err) {
t.ifError(err)
- t.equal('dep1@0.4.1', installAskedFor, 'should want to install dep@0.4.1')
+ t.equal(installAskedFor, 'dep1@0.4.1', 'should want to install dep@0.4.1')
t.end()
})
})
diff --git a/deps/npm/test/tap/update-path.js b/deps/npm/test/tap/update-path.js
new file mode 100644
index 0000000000..1578669a25
--- /dev/null
+++ b/deps/npm/test/tap/update-path.js
@@ -0,0 +1,35 @@
+'use strict'
+var test = require('tap').test
+var requireInject = require('require-inject')
+
+var mockNpm = {
+ config: {
+ get: function (key) {
+ return false
+ }
+ },
+ commands: {
+ outdated: function (args, silent, cb) {
+ cb(null, [
+ [{path: '/incorrect', parent: {path: '/correct'}}, 'abc', '1.0.0', '1.1.0', '1.1.0', '^1.1.0']
+ ])
+ }
+ }
+}
+
+// What we're testing here is that updates use the parent module's path to
+// install from.
+test('update', function (t) {
+ var update = requireInject('../../lib/update.js', {
+ '../../lib/npm.js': mockNpm,
+ '../../lib/install.js': {
+ 'Installer': function (where, dryrun, args) {
+ t.is(where, '/correct', 'We should be installing to the parent of the modules being updated')
+ this.run = function (cb) { cb() }
+ }
+ }
+ })
+ update(['abc'], function () {
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/verify-no-lifecycle-on-repo.js b/deps/npm/test/tap/verify-no-lifecycle-on-repo.js
new file mode 100644
index 0000000000..29f79e2983
--- /dev/null
+++ b/deps/npm/test/tap/verify-no-lifecycle-on-repo.js
@@ -0,0 +1,54 @@
+'use strict'
+var path = require('path')
+var fs = require('graceful-fs')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var test = require('tap').test
+var common = require('../common-tap.js')
+
+var base = path.join(__dirname, path.basename(__filename, '.js'))
+
+var baseJSON = {
+ name: 'base',
+ version: '1.0.0',
+ repository: {
+ type: 'git',
+ url: 'http://example.com'
+ },
+ scripts: {
+ prepublish: 'false'
+ }
+}
+
+test('setup', function (t) {
+ cleanup()
+ setup()
+ t.end()
+})
+
+test('repo', function (t) {
+ common.npm(['repo', '--browser=echo'], {cwd: base}, function (er, code, stdout, stderr) {
+ t.ifError(er, 'npm config ran without issue')
+ t.is(code, 0, 'exited with a non-error code')
+ t.is(stderr, '', 'Ran without errors')
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
+
+function saveJson (pkgPath, json) {
+ mkdirp.sync(pkgPath)
+ fs.writeFileSync(path.join(pkgPath, 'package.json'), JSON.stringify(json, null, 2))
+}
+
+function setup () {
+ saveJson(base, baseJSON)
+}
+
+function cleanup () {
+ rimraf.sync(base)
+}
diff --git a/deps/npm/test/tap/version-no-git.js b/deps/npm/test/tap/version-no-git.js
index 0acd0ab6a5..0a859c7af2 100644
--- a/deps/npm/test/tap/version-no-git.js
+++ b/deps/npm/test/tap/version-no-git.js
@@ -1,54 +1,54 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var npm = require("../../")
-var osenv = require("osenv")
-var path = require("path")
-var fs = require("fs")
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
-var requireInject = require("require-inject")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
+var requireInject = require('require-inject')
-var pkg = path.resolve(__dirname, "version-no-git")
-var cache = path.resolve(pkg, "cache")
-var gitDir = path.resolve(pkg, ".git")
+var pkg = path.resolve(__dirname, 'version-no-git')
+var cache = path.resolve(pkg, 'cache')
+var gitDir = path.resolve(pkg, '.git')
-test("npm version <semver> in a git repo without the git binary", function(t) {
+test('npm version <semver> in a git repo without the git binary', function (t) {
setup()
- npm.load({cache: cache, registry: common.registry}, function() {
- var version = requireInject("../../lib/version", {
- which: function(cmd, cb) {
- process.nextTick(function() {
+ npm.load({cache: cache, registry: common.registry}, function () {
+ var version = requireInject('../../lib/version', {
+ which: function (cmd, cb) {
+ process.nextTick(function () {
cb(new Error('ENOGIT!'))
})
}
})
- version(["patch"], function(err) {
- if (! t.error(err)) return t.end()
- var p = path.resolve(pkg, "package")
+ version(['patch'], function (err) {
+ if (!t.error(err)) return t.end()
+ var p = path.resolve(pkg, 'package')
var testPkg = require(p)
- t.equal("0.0.1", testPkg.version, "\"" + testPkg.version+"\" === \"0.0.1\"")
+ t.equal('0.0.1', testPkg.version, '\'' + testPkg.version + '\' === \'0.0.1\'')
t.end()
})
})
})
-test("cleanup", function(t) {
+test('cleanup', function (t) {
process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
t.end()
})
-function setup() {
+function setup () {
mkdirp.sync(pkg)
mkdirp.sync(cache)
mkdirp.sync(gitDir)
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify({
- author: "Terin Stock",
- name: "version-no-git-test",
- version: "0.0.0",
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
+ author: 'Terin Stock',
+ name: 'version-no-git-test',
+ version: '0.0.0',
description: "Test for npm version if git binary doesn't exist"
- }), "utf8")
+ }), 'utf8')
process.chdir(pkg)
}
diff --git a/deps/npm/test/tap/version-no-package.js b/deps/npm/test/tap/version-no-package.js
index 539f53feb7..755f99317e 100644
--- a/deps/npm/test/tap/version-no-package.js
+++ b/deps/npm/test/tap/version-no-package.js
@@ -1,45 +1,45 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var osenv = require("osenv")
-var path = require("path")
-var mkdirp = require("mkdirp")
-var rimraf = require("rimraf")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var osenv = require('osenv')
+var path = require('path')
+var mkdirp = require('mkdirp')
+var rimraf = require('rimraf')
-var pkg = path.resolve(__dirname, "version-no-package")
+var pkg = path.resolve(__dirname, 'version-no-package')
-test("setup", function (t) {
+test('setup', function (t) {
setup()
t.end()
})
-test("npm version in a prefix with no package.json", function(t) {
+test('npm version in a prefix with no package.json', function (t) {
setup()
common.npm(
- ["version", "--json", "--prefix", pkg],
- { cwd : pkg },
+ ['version', '--json', '--prefix', pkg],
+ { cwd: pkg },
function (er, code, stdout, stderr) {
t.ifError(er, "npm version doesn't care that there's no package.json")
- t.notOk(code, "npm version ran without barfing")
- t.ok(stdout, "got version output")
- t.notOk(stderr, "no error output")
+ t.notOk(code, 'npm version ran without barfing')
+ t.ok(stdout, 'got version output')
+ t.notOk(stderr, 'no error output')
t.doesNotThrow(function () {
var metadata = JSON.parse(stdout)
- t.equal(metadata.node, process.versions.node, "node versions match")
+ t.equal(metadata.node, process.versions.node, 'node versions match')
t.end()
- }, "able to reconstitute version object from stdout")
+ }, 'able to reconstitute version object from stdout')
}
)
})
-test("cleanup", function(t) {
+test('cleanup', function (t) {
process.chdir(osenv.tmpdir())
rimraf.sync(pkg)
t.end()
})
-function setup() {
+function setup () {
mkdirp.sync(pkg)
process.chdir(pkg)
}
diff --git a/deps/npm/test/tap/version-no-tags.js b/deps/npm/test/tap/version-no-tags.js
index cb6f195f8b..ed2bed32c2 100644
--- a/deps/npm/test/tap/version-no-tags.js
+++ b/deps/npm/test/tap/version-no-tags.js
@@ -1,47 +1,47 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var npm = require("../../")
-var osenv = require("osenv")
-var path = require("path")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
-var which = require("which")
-var spawn = require("child_process").spawn
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var which = require('which')
+var spawn = require('child_process').spawn
-var pkg = path.resolve(__dirname, "version-no-tags")
-var cache = path.resolve(pkg, "cache")
+var pkg = path.resolve(__dirname, 'version-no-tags')
+var cache = path.resolve(pkg, 'cache')
-test("npm version <semver> without git tag", function (t) {
+test('npm version <semver> without git tag', function (t) {
setup()
npm.load({ cache: cache, registry: common.registry}, function () {
- which("git", function (err, git) {
- t.ifError(err, "git found on system")
- function tagExists(tag, _cb) {
- var child1 = spawn(git, ["tag", "-l", tag])
- var out = ""
- child1.stdout.on("data", function (d) {
+ which('git', function (err, git) {
+ t.ifError(err, 'git found on system')
+ function tagExists (tag, _cb) {
+ var child1 = spawn(git, ['tag', '-l', tag])
+ var out = ''
+ child1.stdout.on('data', function (d) {
out += d.toString()
})
- child1.on("exit", function () {
+ child1.on('exit', function () {
return _cb(null, Boolean(~out.indexOf(tag)))
})
}
- var child2 = spawn(git, ["init"])
+ var child2 = spawn(git, ['init'])
child2.stdout.pipe(process.stdout)
- child2.on("exit", function () {
- npm.config.set("git-tag-version", false)
- npm.commands.version(["patch"], function (err) {
- if (err) return t.fail("Error perform version patch")
- var p = path.resolve(pkg, "package")
+ child2.on('exit', function () {
+ npm.config.set('git-tag-version', false)
+ npm.commands.version(['patch'], function (err) {
+ if (err) return t.fail('Error perform version patch')
+ var p = path.resolve(pkg, 'package')
var testPkg = require(p)
- if (testPkg.version !== "0.0.1") t.fail(testPkg.version+" !== \"0.0.1\"")
- t.equal("0.0.1", testPkg.version)
- tagExists("v0.0.1", function (err, exists) {
- t.ifError(err, "tag found to exist")
- t.equal(exists, false, "git tag DOES exist")
- t.pass("git tag does not exist")
+ if (testPkg.version !== '0.0.1') t.fail(testPkg.version + ' !== \'0.0.1\'')
+ t.equal('0.0.1', testPkg.version)
+ tagExists('v0.0.1', function (err, exists) {
+ t.ifError(err, 'tag found to exist')
+ t.equal(exists, false, 'git tag DOES exist')
+ t.pass('git tag does not exist')
t.end()
})
})
@@ -50,7 +50,7 @@ test("npm version <semver> without git tag", function (t) {
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
// windows fix for locked files
process.chdir(osenv.tmpdir())
@@ -58,14 +58,14 @@ test("cleanup", function (t) {
t.end()
})
-function setup() {
+function setup () {
mkdirp.sync(pkg)
mkdirp.sync(cache)
- fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify({
- author: "Evan Lucas",
- name: "version-no-tags-test",
- version: "0.0.0",
- description: "Test for git-tag-version flag"
- }), "utf8")
+ fs.writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify({
+ author: 'Evan Lucas',
+ name: 'version-no-tags-test',
+ version: '0.0.0',
+ description: 'Test for git-tag-version flag'
+ }), 'utf8')
process.chdir(pkg)
}
diff --git a/deps/npm/test/tap/view.js b/deps/npm/test/tap/view.js
index dcfd281011..84a0a69d30 100644
--- a/deps/npm/test/tap/view.js
+++ b/deps/npm/test/tap/view.js
@@ -1,97 +1,97 @@
-var common = require("../common-tap.js")
-var test = require("tap").test
-var osenv = require("osenv")
-var path = require("path")
-var fs = require("fs")
-var rimraf = require("rimraf")
-var mkdirp = require("mkdirp")
+var common = require('../common-tap.js')
+var test = require('tap').test
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
var tmp = osenv.tmpdir()
-var t1dir = path.resolve(tmp, "view-local-no-pkg")
-var t2dir = path.resolve(tmp, "view-local-notmine")
-var t3dir = path.resolve(tmp, "view-local-mine")
-var mr = require("npm-registry-mock")
+var t1dir = path.resolve(tmp, 'view-local-no-pkg')
+var t2dir = path.resolve(tmp, 'view-local-notmine')
+var t3dir = path.resolve(tmp, 'view-local-mine')
+var mr = require('npm-registry-mock')
-test("setup", function (t) {
+test('setup', function (t) {
mkdirp.sync(t1dir)
mkdirp.sync(t2dir)
mkdirp.sync(t3dir)
- fs.writeFileSync(t2dir + "/package.json", JSON.stringify({
- author: "Evan Lucas"
- , name: "test-repo-url-https"
- , version: "0.0.1"
- }), "utf8")
+ fs.writeFileSync(t2dir + '/package.json', JSON.stringify({
+ author: 'Evan Lucas',
+ name: 'test-repo-url-https',
+ version: '0.0.1'
+ }), 'utf8')
- fs.writeFileSync(t3dir + "/package.json", JSON.stringify({
- author: "Evan Lucas"
- , name: "biscuits"
- , version: "0.0.1"
- }), "utf8")
+ fs.writeFileSync(t3dir + '/package.json', JSON.stringify({
+ author: 'Evan Lucas',
+ name: 'biscuits',
+ version: '0.0.1'
+ }), 'utf8')
- t.pass("created fixtures")
+ t.pass('created fixtures')
t.end()
})
function plugin (server) {
server
- .get("/biscuits")
+ .get('/biscuits')
.many()
- .reply(404, {"error": "version not found"})
+ .reply(404, {'error': 'version not found'})
}
-test("npm view . in global mode", function (t) {
+test('npm view . in global mode', function (t) {
process.chdir(t1dir)
common.npm([
- "view"
- , "."
- , "--registry=" + common.registry
- , "--global"
+ 'view',
+ '.',
+ '--registry=' + common.registry,
+ '--global'
], { cwd: t1dir }, function (err, code, stdout, stderr) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 1, "exit not ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 1, 'exit not ok')
t.similar(stderr, /Cannot use view command in global mode./m)
t.end()
})
})
-test("npm view --global", function(t) {
+test('npm view --global', function (t) {
process.chdir(t1dir)
common.npm([
- "view"
- , "--registry=" + common.registry
- , "--global"
- ], { cwd: t1dir }, function(err, code, stdout, stderr) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 1, "exit not ok")
+ 'view',
+ '--registry=' + common.registry,
+ '--global'
+ ], { cwd: t1dir }, function (err, code, stdout, stderr) {
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 1, 'exit not ok')
t.similar(stderr, /Cannot use view command in global mode./m)
t.end()
})
})
-test("npm view . with no package.json", function(t) {
+test('npm view . with no package.json', function (t) {
process.chdir(t1dir)
common.npm([
- "view"
- , "."
- , "--registry=" + common.registry
+ 'view',
+ '.',
+ '--registry=' + common.registry
], { cwd: t1dir }, function (err, code, stdout, stderr) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 1, "exit not ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 1, 'exit not ok')
t.similar(stderr, /Invalid package.json/m)
t.end()
})
})
-test("npm view . with no published package", function (t) {
+test('npm view . with no published package', function (t) {
process.chdir(t3dir)
- mr({port : common.port, plugin : plugin}, function (er, s) {
+ mr({ port: common.port, plugin: plugin}, function (er, s) {
common.npm([
- "view"
- , "."
- , "--registry=" + common.registry
+ 'view',
+ '.',
+ '--registry=' + common.registry
], { cwd: t3dir }, function (err, code, stdout, stderr) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 1, "exit not ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 1, 'exit not ok')
t.similar(stderr, /version not found/m)
s.close()
t.end()
@@ -99,16 +99,16 @@ test("npm view . with no published package", function (t) {
})
})
-test("npm view .", function (t) {
+test('npm view .', function (t) {
process.chdir(t2dir)
- mr({port : common.port, plugin : plugin}, function (er, s) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , "."
- , "--registry=" + common.registry
+ 'view',
+ '.',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
var re = new RegExp("name: 'test-repo-url-https'")
t.similar(stdout, re)
s.close()
@@ -117,161 +117,160 @@ test("npm view .", function (t) {
})
})
-test("npm view . select fields", function (t) {
+test('npm view . select fields', function (t) {
process.chdir(t2dir)
- mr({port : common.port, plugin : plugin}, function (er, s) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , "."
- , "main"
- , "--registry=" + common.registry
+ 'view',
+ '.',
+ 'main',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
- t.equal(stdout.trim(), "index.js", "should print `index.js`")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout.trim(), 'index.js', 'should print `index.js`')
s.close()
t.end()
})
})
})
-test("npm view .@<version>", function (t) {
+test('npm view .@<version>', function (t) {
process.chdir(t2dir)
- mr({port : common.port, plugin : plugin}, function (er, s) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , ".@0.0.0"
- , "version"
- , "--registry=" + common.registry
+ 'view',
+ '.@0.0.0',
+ 'version',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
- t.equal(stdout.trim(), "0.0.0", "should print `0.0.0`")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout.trim(), '0.0.0', 'should print `0.0.0`')
s.close()
t.end()
})
})
})
-test("npm view .@<version> --json", function (t) {
+test('npm view .@<version> --json', function (t) {
process.chdir(t2dir)
- mr({port : common.port, plugin : plugin}, function (er, s) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , ".@0.0.0"
- , "version"
- , "--json"
- , "--registry=" + common.registry
+ 'view',
+ '.@0.0.0',
+ 'version',
+ '--json',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
- t.equal(stdout.trim(), "\"0.0.0\"", "should print `\"0.0.0\"`")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout.trim(), '"0.0.0"', 'should print `"0.0.0"`')
s.close()
t.end()
})
})
})
-test("npm view <package name>", function (t) {
- mr({port : common.port, plugin : plugin}, function (er, s) {
+test('npm view <package name>', function (t) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , "underscore"
- , "--registry=" + common.registry
+ 'view',
+ 'underscore',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
var re = new RegExp("name: 'underscore'")
- t.similar(stdout, re, "should have name `underscore`")
+ t.similar(stdout, re, 'should have name `underscore`')
s.close()
t.end()
})
})
})
-test("npm view <package name> --global", function(t) {
- mr({port : common.port, plugin : plugin}, function (er, s) {
+test('npm view <package name> --global', function (t) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , "underscore"
- , "--global"
- , "--registry=" + common.registry
- ], { cwd: t2dir }, function(err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
+ 'view',
+ 'underscore',
+ '--global',
+ '--registry=' + common.registry
+ ], { cwd: t2dir }, function (err, code, stdout) {
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
var re = new RegExp("name: 'underscore'")
- t.similar(stdout, re, "should have name `underscore`")
+ t.similar(stdout, re, 'should have name `underscore`')
s.close()
t.end()
})
})
})
-test("npm view <package name> --json", function(t) {
+test('npm view <package name> --json', function (t) {
t.plan(3)
- mr({port : common.port, plugin : plugin}, function (er, s) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , "underscore"
- , "--json"
- , "--registry=" + common.registry
+ 'view',
+ 'underscore',
+ '--json',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
s.close()
try {
var out = JSON.parse(stdout.trim())
t.similar(out, {
- maintainers: "jashkenas <jashkenas@gmail.com>"
- }, "should have the same maintainer")
- }
- catch (er) {
- t.fail("Unable to parse JSON")
+ maintainers: ['jashkenas <jashkenas@gmail.com>']
+ }, 'should have the same maintainer')
+ } catch (er) {
+ t.fail('Unable to parse JSON')
}
})
})
})
-test("npm view <package name> <field>", function (t) {
- mr({port : common.port, plugin : plugin}, function (er, s) {
+test('npm view <package name> <field>', function (t) {
+ mr({ port: common.port, plugin: plugin }, function (er, s) {
common.npm([
- "view"
- , "underscore"
- , "homepage"
- , "--registry=" + common.registry
+ 'view',
+ 'underscore',
+ 'homepage',
+ '--registry=' + common.registry
], { cwd: t2dir }, function (err, code, stdout) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 0, "exit ok")
- t.equal(stdout.trim(), "http://underscorejs.org",
- "homepage should equal `http://underscorejs.org`")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout.trim(), 'http://underscorejs.org',
+ 'homepage should equal `http://underscorejs.org`')
s.close()
t.end()
})
})
})
-test("npm view with invalid package name", function (t) {
- var invalidName = "InvalidPackage"
- obj = {}
- obj["/" + invalidName] = [404, {"error": "not found"}]
+test('npm view with invalid package name', function (t) {
+ var invalidName = 'InvalidPackage'
+ var obj = {}
+ obj['/' + invalidName] = [404, {'error': 'not found'}]
- mr({port : common.port, mocks: {"get": obj}}, function (er, s) {
+ mr({ port: common.port, mocks: { 'get': obj } }, function (er, s) {
common.npm([
- "view"
- , invalidName
- , "--registry=" + common.registry
+ 'view',
+ invalidName,
+ '--registry=' + common.registry
], {}, function (err, code, stdout, stderr) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 1, "exit not ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 1, 'exit not ok')
- t.similar(stderr, new RegExp("is not in the npm registry"),
- "Package should NOT be found")
+ t.similar(stderr, new RegExp('is not in the npm registry'),
+ 'Package should NOT be found')
- t.dissimilar(stderr, new RegExp("use the name yourself!"),
- "Suggestion should not be there")
+ t.dissimilar(stderr, new RegExp('use the name yourself!'),
+ 'Suggestion should not be there')
- t.similar(stderr, new RegExp("name can no longer contain capital letters"),
- "Suggestion about Capital letter should be there")
+ t.similar(stderr, new RegExp('name can no longer contain capital letters'),
+ 'Suggestion about Capital letter should be there')
s.close()
t.end()
@@ -279,27 +278,26 @@ test("npm view with invalid package name", function (t) {
})
})
-
-test("npm view with valid but non existent package name", function (t) {
- mr({port : common.port, mocks: {
- "get": {
- "/valid-but-non-existent-package" : [404, {"error": "not found"}]
+test('npm view with valid but non existent package name', function (t) {
+ mr({ port: common.port, mocks: {
+ 'get': {
+ '/valid-but-non-existent-package': [404, {'error': 'not found'}]
}
}}, function (er, s) {
common.npm([
- "view"
- , "valid-but-non-existent-package"
- , "--registry=" + common.registry
+ 'view',
+ 'valid-but-non-existent-package',
+ '--registry=' + common.registry
], {}, function (err, code, stdout, stderr) {
- t.ifError(err, "view command finished successfully")
- t.equal(code, 1, "exit not ok")
+ t.ifError(err, 'view command finished successfully')
+ t.equal(code, 1, 'exit not ok')
t.similar(stderr,
new RegExp("'valid-but-non-existent-package' is not in the npm registry\."),
- "Package should NOT be found")
+ 'Package should NOT be found')
- t.similar(stderr, new RegExp("use the name yourself!"),
- "Suggestion should be there")
+ t.similar(stderr, new RegExp('use the name yourself!'),
+ 'Suggestion should be there')
s.close()
t.end()
@@ -307,11 +305,11 @@ test("npm view with valid but non existent package name", function (t) {
})
})
-test("cleanup", function (t) {
+test('cleanup', function (t) {
process.chdir(osenv.tmpdir())
rimraf.sync(t1dir)
rimraf.sync(t2dir)
rimraf.sync(t3dir)
- t.pass("cleaned up")
+ t.pass('cleaned up')
t.end()
})
diff --git a/deps/npm/test/tap/whoami.js b/deps/npm/test/tap/whoami.js
index 558d0db9ae..268e0f94fe 100644
--- a/deps/npm/test/tap/whoami.js
+++ b/deps/npm/test/tap/whoami.js
@@ -1,55 +1,55 @@
-var common = require("../common-tap.js")
+var common = require('../common-tap.js')
-var fs = require("fs")
-var path = require("path")
-var createServer = require("http").createServer
+var fs = require('fs')
+var path = require('path')
+var createServer = require('http').createServer
-var test = require("tap").test
-var rimraf = require("rimraf")
+var test = require('tap').test
+var rimraf = require('rimraf')
var opts = { cwd: __dirname }
-var FIXTURE_PATH = path.resolve(__dirname, "fixture_npmrc")
+var FIXTURE_PATH = path.resolve(__dirname, 'fixture_npmrc')
-test("npm whoami with basic auth", function (t) {
- var s = "//registry.lvh.me/:username = wombat\n" +
- "//registry.lvh.me/:_password = YmFkIHBhc3N3b3Jk\n" +
- "//registry.lvh.me/:email = lindsay@wdu.org.au\n"
- fs.writeFileSync(FIXTURE_PATH, s, "ascii")
- fs.chmodSync(FIXTURE_PATH, "0444")
+test('npm whoami with basic auth', function (t) {
+ var s = '//registry.lvh.me/:username = wombat\n' +
+ '//registry.lvh.me/:_password = YmFkIHBhc3N3b3Jk\n' +
+ '//registry.lvh.me/:email = lindsay@wdu.org.au\n'
+ fs.writeFileSync(FIXTURE_PATH, s, 'ascii')
+ fs.chmodSync(FIXTURE_PATH, '0444')
common.npm(
[
- "whoami",
- "--userconfig=" + FIXTURE_PATH,
- "--registry=http://registry.lvh.me/"
+ 'whoami',
+ '--userconfig=' + FIXTURE_PATH,
+ '--registry=http://registry.lvh.me/'
],
opts,
function (err, code, stdout, stderr) {
t.ifError(err)
- t.equal(stderr, "", "got nothing on stderr")
- t.equal(code, 0, "exit ok")
- t.equal(stdout, "wombat\n", "got username")
+ t.equal(stderr, '', 'got nothing on stderr')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout, 'wombat\n', 'got username')
rimraf.sync(FIXTURE_PATH)
t.end()
}
)
})
-test("npm whoami with bearer auth", {timeout : 2 * 1000}, function (t) {
- var s = "//localhost:" + common.port +
- "/:_authToken = wombat-developers-union\n"
- fs.writeFileSync(FIXTURE_PATH, s, "ascii")
- fs.chmodSync(FIXTURE_PATH, "0444")
+test('npm whoami with bearer auth', { timeout: 2 * 1000 }, function (t) {
+ var s = '//localhost:' + common.port +
+ '/:_authToken = wombat-developers-union\n'
+ fs.writeFileSync(FIXTURE_PATH, s, 'ascii')
+ fs.chmodSync(FIXTURE_PATH, '0444')
- function verify(req, res) {
- t.equal(req.method, "GET")
- t.equal(req.url, "/-/whoami")
+ function verify (req, res) {
+ t.equal(req.method, 'GET')
+ t.equal(req.url, '/-/whoami')
- res.setHeader("content-type", "application/json")
+ res.setHeader('content-type', 'application/json')
res.writeHeader(200)
- res.end(JSON.stringify({username : "wombat"}), "utf8")
+ res.end(JSON.stringify({ username: 'wombat' }), 'utf8')
}
var server = createServer(verify)
@@ -57,17 +57,17 @@ test("npm whoami with bearer auth", {timeout : 2 * 1000}, function (t) {
server.listen(common.port, function () {
common.npm(
[
- "whoami",
- "--userconfig=" + FIXTURE_PATH,
- "--registry=http://localhost:" + common.port + "/"
+ 'whoami',
+ '--userconfig=' + FIXTURE_PATH,
+ '--registry=http://localhost:' + common.port + '/'
],
opts,
function (err, code, stdout, stderr) {
t.ifError(err)
- t.equal(stderr, "", "got nothing on stderr")
- t.equal(code, 0, "exit ok")
- t.equal(stdout, "wombat\n", "got username")
+ t.equal(stderr, '', 'got nothing on stderr')
+ t.equal(code, 0, 'exit ok')
+ t.equal(stdout, 'wombat\n', 'got username')
rimraf.sync(FIXTURE_PATH)
server.close()
t.end()
diff --git a/deps/npm/test/tap/zz-cleanup.js b/deps/npm/test/tap/zz-cleanup.js
index c491cbf071..e1020aa3b1 100644
--- a/deps/npm/test/tap/zz-cleanup.js
+++ b/deps/npm/test/tap/zz-cleanup.js
@@ -1,8 +1,8 @@
-var common = require("../common-tap")
-var test = require("tap").test
-var rimraf = require("rimraf")
+var common = require('../common-tap')
+var test = require('tap').test
+var rimraf = require('rimraf')
-test("cleanup", function (t) {
+test('cleanup', function (t) {
rimraf.sync(common.npm_config_cache)
t.end()
})