From 4fd5b96d646ed1b13062d08909710a440fd45b23 Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Thu, 19 Mar 2020 12:53:27 -0400 Subject: [PATCH] deps: update npm to 6.14.3 --- deps/npm/AUTHORS | 3 + deps/npm/CHANGELOG.md | 31 +++ .../docs/content/cli-commands/npm-access.md | 6 +- .../docs/content/cli-commands/npm-adduser.md | 6 +- .../docs/content/cli-commands/npm-audit.md | 2 +- deps/npm/docs/content/cli-commands/npm-bin.md | 6 +- .../npm/docs/content/cli-commands/npm-bugs.md | 8 +- .../docs/content/cli-commands/npm-build.md | 4 +- .../docs/content/cli-commands/npm-bundle.md | 2 +- .../docs/content/cli-commands/npm-cache.md | 8 +- deps/npm/docs/content/cli-commands/npm-ci.md | 4 +- .../docs/content/cli-commands/npm-config.md | 2 +- .../docs/content/cli-commands/npm-dedupe.md | 6 +- .../content/cli-commands/npm-deprecate.md | 2 +- .../docs/content/cli-commands/npm-dist-tag.md | 8 +- .../npm/docs/content/cli-commands/npm-docs.md | 6 +- .../docs/content/cli-commands/npm-doctor.md | 6 +- .../npm/docs/content/cli-commands/npm-edit.md | 6 +- .../docs/content/cli-commands/npm-explore.md | 8 +- .../npm/docs/content/cli-commands/npm-fund.md | 8 +- .../content/cli-commands/npm-help-search.md | 2 +- .../npm/docs/content/cli-commands/npm-help.md | 4 +- .../npm/docs/content/cli-commands/npm-init.md | 2 +- .../cli-commands/npm-install-ci-test.md | 4 +- .../content/cli-commands/npm-install-test.md | 4 +- .../docs/content/cli-commands/npm-install.md | 24 +-- .../npm/docs/content/cli-commands/npm-link.md | 4 +- .../docs/content/cli-commands/npm-logout.md | 6 +- deps/npm/docs/content/cli-commands/npm-ls.md | 12 +- .../docs/content/cli-commands/npm-outdated.md | 4 +- .../docs/content/cli-commands/npm-owner.md | 4 +- .../npm/docs/content/cli-commands/npm-pack.md | 6 +- .../npm/docs/content/cli-commands/npm-ping.md | 2 +- .../docs/content/cli-commands/npm-prefix.md | 8 +- .../docs/content/cli-commands/npm-profile.md | 2 +- .../docs/content/cli-commands/npm-prune.md | 4 +- .../docs/content/cli-commands/npm-publish.md | 4 +- .../docs/content/cli-commands/npm-rebuild.md | 4 +- .../npm/docs/content/cli-commands/npm-repo.md | 4 +- .../docs/content/cli-commands/npm-restart.md | 10 +- .../npm/docs/content/cli-commands/npm-root.md | 6 +- .../content/cli-commands/npm-run-script.md | 10 +- .../docs/content/cli-commands/npm-search.md | 4 +- .../content/cli-commands/npm-shrinkwrap.md | 6 +- .../npm/docs/content/cli-commands/npm-star.md | 6 +- .../docs/content/cli-commands/npm-stars.md | 8 +- .../docs/content/cli-commands/npm-start.md | 10 +- .../npm/docs/content/cli-commands/npm-stop.md | 8 +- .../npm/docs/content/cli-commands/npm-team.md | 4 +- .../npm/docs/content/cli-commands/npm-test.md | 8 +- .../content/cli-commands/npm-uninstall.md | 6 +- .../content/cli-commands/npm-unpublish.md | 34 ++- .../docs/content/cli-commands/npm-update.md | 12 +- .../docs/content/cli-commands/npm-version.md | 4 +- .../npm/docs/content/cli-commands/npm-view.md | 6 +- .../docs/content/cli-commands/npm-whoami.md | 4 +- .../docs/content/configuring-npm/folders.md | 12 +- .../npm/docs/content/configuring-npm/npmrc.md | 2 +- .../content/configuring-npm/package-json.md | 16 +- .../configuring-npm/package-lock-json.md | 4 +- .../content/configuring-npm/package-locks.md | 4 +- .../configuring-npm/shrinkwrap-json.md | 6 +- deps/npm/docs/content/using-npm/config.md | 12 +- deps/npm/docs/content/using-npm/disputes.md | 2 +- deps/npm/docs/content/using-npm/orgs.md | 8 +- deps/npm/docs/content/using-npm/registry.md | 4 +- deps/npm/docs/content/using-npm/removal.md | 4 +- deps/npm/docs/content/using-npm/scope.md | 8 +- deps/npm/docs/content/using-npm/scripts.md | 12 +- .../public/cli-commands/npm-access/index.html | 10 +- .../cli-commands/npm-adduser/index.html | 10 +- .../public/cli-commands/npm-audit/index.html | 6 +- .../public/cli-commands/npm-bin/index.html | 10 +- .../public/cli-commands/npm-bugs/index.html | 12 +- .../public/cli-commands/npm-build/index.html | 8 +- .../public/cli-commands/npm-bundle/index.html | 6 +- .../public/cli-commands/npm-cache/index.html | 12 +- .../public/cli-commands/npm-ci/index.html | 8 +- .../cli-commands/npm-completion/index.html | 4 +- .../public/cli-commands/npm-config/index.html | 6 +- .../public/cli-commands/npm-dedupe/index.html | 10 +- .../cli-commands/npm-deprecate/index.html | 6 +- .../cli-commands/npm-dist-tag/index.html | 12 +- .../public/cli-commands/npm-docs/index.html | 10 +- .../public/cli-commands/npm-doctor/index.html | 10 +- .../public/cli-commands/npm-edit/index.html | 10 +- .../cli-commands/npm-explore/index.html | 12 +- .../public/cli-commands/npm-fund/index.html | 12 +- .../cli-commands/npm-help-search/index.html | 6 +- .../public/cli-commands/npm-help/index.html | 8 +- .../public/cli-commands/npm-hook/index.html | 4 +- .../public/cli-commands/npm-init/index.html | 6 +- .../npm-install-ci-test/index.html | 8 +- .../cli-commands/npm-install-test/index.html | 8 +- .../cli-commands/npm-install/index.html | 28 +-- .../public/cli-commands/npm-link/index.html | 8 +- .../public/cli-commands/npm-logout/index.html | 10 +- .../public/cli-commands/npm-ls/index.html | 18 +- .../public/cli-commands/npm-org/index.html | 4 +- .../cli-commands/npm-outdated/index.html | 8 +- .../public/cli-commands/npm-owner/index.html | 8 +- .../public/cli-commands/npm-pack/index.html | 10 +- .../public/cli-commands/npm-ping/index.html | 6 +- .../public/cli-commands/npm-prefix/index.html | 12 +- .../cli-commands/npm-profile/index.html | 6 +- .../public/cli-commands/npm-prune/index.html | 8 +- .../cli-commands/npm-publish/index.html | 8 +- .../cli-commands/npm-rebuild/index.html | 8 +- .../public/cli-commands/npm-repo/index.html | 8 +- .../cli-commands/npm-restart/index.html | 14 +- .../public/cli-commands/npm-root/index.html | 10 +- .../cli-commands/npm-run-script/index.html | 14 +- .../public/cli-commands/npm-search/index.html | 8 +- .../cli-commands/npm-shrinkwrap/index.html | 10 +- .../public/cli-commands/npm-star/index.html | 10 +- .../public/cli-commands/npm-stars/index.html | 12 +- .../public/cli-commands/npm-start/index.html | 14 +- .../public/cli-commands/npm-stop/index.html | 12 +- .../public/cli-commands/npm-team/index.html | 7 +- .../public/cli-commands/npm-test/index.html | 12 +- .../public/cli-commands/npm-token/index.html | 4 +- .../cli-commands/npm-uninstall/index.html | 10 +- .../cli-commands/npm-unpublish/index.html | 33 ++- .../public/cli-commands/npm-update/index.html | 15 +- .../cli-commands/npm-version/index.html | 8 +- .../public/cli-commands/npm-view/index.html | 10 +- .../public/cli-commands/npm-whoami/index.html | 8 +- .../docs/public/cli-commands/npm/index.html | 6 +- .../public/configuring-npm/folders/index.html | 16 +- .../public/configuring-npm/install/index.html | 4 +- .../public/configuring-npm/npmrc/index.html | 6 +- .../configuring-npm/package-json/index.html | 20 +- .../package-lock-json/index.html | 8 +- .../configuring-npm/package-locks/index.html | 8 +- .../shrinkwrap-json/index.html | 10 +- deps/npm/docs/public/index.html | 2 +- .../docs/public/using-npm/config/index.html | 16 +- .../public/using-npm/developers/index.html | 4 +- .../docs/public/using-npm/disputes/index.html | 6 +- .../npm/docs/public/using-npm/orgs/index.html | 12 +- .../docs/public/using-npm/registry/index.html | 8 +- .../docs/public/using-npm/removal/index.html | 8 +- .../docs/public/using-npm/scope/index.html | 12 +- .../docs/public/using-npm/scripts/index.html | 16 +- .../docs/public/using-npm/semver/index.html | 4 +- deps/npm/lib/team.js | 8 +- deps/npm/lib/unpublish.js | 8 +- deps/npm/man/man1/npm-README.1 | 2 +- deps/npm/man/man1/npm-access.1 | 2 +- deps/npm/man/man1/npm-adduser.1 | 2 +- deps/npm/man/man1/npm-audit.1 | 2 +- deps/npm/man/man1/npm-bin.1 | 2 +- deps/npm/man/man1/npm-bugs.1 | 2 +- deps/npm/man/man1/npm-build.1 | 2 +- deps/npm/man/man1/npm-bundle.1 | 2 +- deps/npm/man/man1/npm-cache.1 | 2 +- deps/npm/man/man1/npm-ci.1 | 2 +- deps/npm/man/man1/npm-completion.1 | 2 +- deps/npm/man/man1/npm-config.1 | 2 +- deps/npm/man/man1/npm-dedupe.1 | 2 +- deps/npm/man/man1/npm-deprecate.1 | 2 +- deps/npm/man/man1/npm-dist-tag.1 | 2 +- deps/npm/man/man1/npm-docs.1 | 2 +- deps/npm/man/man1/npm-doctor.1 | 2 +- deps/npm/man/man1/npm-edit.1 | 2 +- deps/npm/man/man1/npm-explore.1 | 2 +- deps/npm/man/man1/npm-fund.1 | 2 +- deps/npm/man/man1/npm-help-search.1 | 2 +- deps/npm/man/man1/npm-help.1 | 2 +- deps/npm/man/man1/npm-hook.1 | 2 +- deps/npm/man/man1/npm-init.1 | 2 +- deps/npm/man/man1/npm-install-ci-test.1 | 2 +- deps/npm/man/man1/npm-install-test.1 | 2 +- deps/npm/man/man1/npm-install.1 | 2 +- deps/npm/man/man1/npm-link.1 | 2 +- deps/npm/man/man1/npm-logout.1 | 2 +- deps/npm/man/man1/npm-ls.1 | 4 +- deps/npm/man/man1/npm-org.1 | 2 +- deps/npm/man/man1/npm-outdated.1 | 2 +- deps/npm/man/man1/npm-owner.1 | 2 +- deps/npm/man/man1/npm-pack.1 | 2 +- deps/npm/man/man1/npm-ping.1 | 2 +- deps/npm/man/man1/npm-prefix.1 | 2 +- deps/npm/man/man1/npm-profile.1 | 2 +- deps/npm/man/man1/npm-prune.1 | 2 +- deps/npm/man/man1/npm-publish.1 | 2 +- deps/npm/man/man1/npm-rebuild.1 | 2 +- deps/npm/man/man1/npm-repo.1 | 2 +- deps/npm/man/man1/npm-restart.1 | 2 +- deps/npm/man/man1/npm-root.1 | 2 +- deps/npm/man/man1/npm-run-script.1 | 2 +- deps/npm/man/man1/npm-search.1 | 2 +- deps/npm/man/man1/npm-shrinkwrap.1 | 2 +- deps/npm/man/man1/npm-star.1 | 2 +- deps/npm/man/man1/npm-stars.1 | 2 +- deps/npm/man/man1/npm-start.1 | 2 +- deps/npm/man/man1/npm-stop.1 | 2 +- deps/npm/man/man1/npm-team.1 | 4 +- deps/npm/man/man1/npm-test.1 | 2 +- deps/npm/man/man1/npm-token.1 | 2 +- deps/npm/man/man1/npm-uninstall.1 | 2 +- deps/npm/man/man1/npm-unpublish.1 | 31 ++- deps/npm/man/man1/npm-update.1 | 6 +- deps/npm/man/man1/npm-version.1 | 2 +- deps/npm/man/man1/npm-view.1 | 2 +- deps/npm/man/man1/npm-whoami.1 | 2 +- deps/npm/man/man1/npm.1 | 4 +- deps/npm/man/man5/folders.5 | 2 +- deps/npm/man/man5/install.5 | 2 +- deps/npm/man/man5/npmrc.5 | 2 +- deps/npm/man/man5/package-json.5 | 2 +- deps/npm/man/man5/package-lock-json.5 | 2 +- deps/npm/man/man5/package-locks.5 | 2 +- deps/npm/man/man5/shrinkwrap-json.5 | 2 +- deps/npm/man/man7/config.7 | 2 +- deps/npm/man/man7/developers.7 | 2 +- deps/npm/man/man7/disputes.7 | 2 +- deps/npm/man/man7/orgs.7 | 2 +- deps/npm/man/man7/registry.7 | 2 +- deps/npm/man/man7/removal.7 | 2 +- deps/npm/man/man7/scope.7 | 2 +- deps/npm/man/man7/scripts.7 | 2 +- deps/npm/man/man7/semver.7 | 2 +- deps/npm/node_modules/glob/README.md | 2 + deps/npm/node_modules/glob/package.json | 26 ++- .../node_modules/hosted-git-info/CHANGELOG.md | 10 + .../npm/node_modules/hosted-git-info/index.js | 2 +- .../node_modules/hosted-git-info/package.json | 26 +-- deps/npm/node_modules/minimist/.travis.yml | 4 - deps/npm/node_modules/mkdirp/examples/pow.js | 6 - .../{ => node_modules/minimist}/.travis.yml | 0 .../node_modules}/minimist/LICENSE | 0 .../node_modules}/minimist/example/parse.js | 2 +- .../node_modules}/minimist/index.js | 197 +++++++++++------- .../node_modules}/minimist/package.json | 30 +-- .../node_modules}/minimist/readme.markdown | 34 ++- .../node_modules/minimist/test/all_bool.js | 32 +++ .../mkdirp/node_modules/minimist/test/bool.js | 178 ++++++++++++++++ .../node_modules}/minimist/test/dash.js | 7 + .../minimist/test/default_bool.js | 15 ++ .../node_modules}/minimist/test/dotted.js | 6 + .../node_modules/minimist/test/kv_short.js | 16 ++ .../node_modules}/minimist/test/long.js | 0 .../mkdirp/node_modules/minimist/test/num.js | 36 ++++ .../node_modules}/minimist/test/parse.js | 177 +++------------- .../minimist/test/parse_modified.js | 4 +- .../node_modules/minimist/test/proto.js | 44 ++++ .../node_modules}/minimist/test/short.js | 4 +- .../node_modules/minimist/test/stop_early.js | 15 ++ .../node_modules/minimist/test/unknown.js | 102 +++++++++ .../node_modules}/minimist/test/whitespace.js | 0 deps/npm/node_modules/mkdirp/package.json | 49 +++-- deps/npm/node_modules/mkdirp/test/chmod.js | 41 ---- deps/npm/node_modules/mkdirp/test/clobber.js | 38 ---- deps/npm/node_modules/mkdirp/test/mkdirp.js | 28 --- deps/npm/node_modules/mkdirp/test/opts_fs.js | 29 --- .../node_modules/mkdirp/test/opts_fs_sync.js | 27 --- deps/npm/node_modules/mkdirp/test/perm.js | 32 --- .../npm/node_modules/mkdirp/test/perm_sync.js | 36 ---- deps/npm/node_modules/mkdirp/test/race.js | 37 ---- deps/npm/node_modules/mkdirp/test/rel.js | 32 --- deps/npm/node_modules/mkdirp/test/return.js | 25 --- .../node_modules/mkdirp/test/return_sync.js | 24 --- deps/npm/node_modules/mkdirp/test/root.js | 19 -- deps/npm/node_modules/mkdirp/test/sync.js | 32 --- deps/npm/node_modules/mkdirp/test/umask.js | 28 --- .../node_modules/mkdirp/test/umask_sync.js | 32 --- .../.github/workflows/Python_tests.yml | 40 ++++ deps/npm/node_modules/node-gyp/.travis.yml | 71 ++++--- deps/npm/node_modules/node-gyp/CHANGELOG.md | 18 ++ deps/npm/node_modules/node-gyp/README.md | 8 +- .../node-gyp/gyp/pylib/gyp/MSVSUtil.pyc | Bin 0 -> 7654 bytes .../node-gyp/gyp/pylib/gyp/MSVSVersion.pyc | Bin 0 -> 14398 bytes .../node-gyp/gyp/pylib/gyp/__init__.pyc | Bin 0 -> 16426 bytes .../node-gyp/gyp/pylib/gyp/common.pyc | Bin 0 -> 19552 bytes .../gyp/pylib/gyp/generator/__init__.pyc | Bin 0 -> 168 bytes .../node-gyp/gyp/pylib/gyp/generator/make.pyc | Bin 0 -> 71261 bytes .../gyp/pylib/gyp/generator/ninja.pyc | Bin 0 -> 68498 bytes .../gyp/pylib/gyp/generator/xcode.pyc | Bin 0 -> 26219 bytes .../node-gyp/gyp/pylib/gyp/input.py | 2 +- .../node-gyp/gyp/pylib/gyp/input.pyc | Bin 0 -> 63378 bytes .../node-gyp/gyp/pylib/gyp/msvs_emulation.pyc | Bin 0 -> 48168 bytes .../node-gyp/gyp/pylib/gyp/ninja_syntax.pyc | Bin 0 -> 6457 bytes .../node-gyp/gyp/pylib/gyp/simple_copy.pyc | Bin 0 -> 2222 bytes .../gyp/pylib/gyp/xcode_emulation.pyc | Bin 0 -> 61720 bytes .../node-gyp/gyp/pylib/gyp/xcode_ninja.pyc | Bin 0 -> 7555 bytes .../node-gyp/gyp/pylib/gyp/xcodeproj_file.pyc | Bin 0 -> 93565 bytes .../node-gyp/lib/Find-VisualStudio.cs | 9 +- .../node_modules/node-gyp/lib/find-python.js | 2 +- deps/npm/node_modules/node-gyp/lib/install.js | 6 +- .../npm/node_modules/node-gyp/lib/node-gyp.js | 1 + deps/npm/node_modules/node-gyp/lib/proxy.js | 92 ++++++++ .../node_modules/node-gyp/macOS_Catalina.md | 49 +++-- deps/npm/node_modules/node-gyp/package.json | 22 +- deps/npm/node_modules/node-gyp/test/docker.sh | 112 ---------- .../node-gyp/test/test-download.js | 97 ++++++++- deps/npm/node_modules/npm-profile/index.js | 27 ++- .../npm/node_modules/npm-profile/package.json | 28 +-- deps/npm/node_modules/rimraf/package.json | 29 +-- deps/npm/node_modules/rimraf/rimraf.js | 10 +- .../term-size/vendor/macos/term-size | Bin 27264 -> 8760 bytes deps/npm/package.json | 18 +- .../test/fixtures/config/userconfig-with-gc | 23 -- 303 files changed, 1859 insertions(+), 1713 deletions(-) delete mode 100644 deps/npm/node_modules/minimist/.travis.yml delete mode 100644 deps/npm/node_modules/mkdirp/examples/pow.js rename deps/npm/node_modules/mkdirp/{ => node_modules/minimist}/.travis.yml (100%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/LICENSE (100%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/example/parse.js (72%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/index.js (50%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/package.json (63%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/readme.markdown (53%) create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/dash.js (74%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/default_bool.js (58%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/dotted.js (75%) create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/long.js (100%) create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/parse.js (54%) rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/parse_modified.js (77%) create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/short.js (99%) create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/stop_early.js create mode 100644 deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js rename deps/npm/node_modules/{ => mkdirp/node_modules}/minimist/test/whitespace.js (100%) delete mode 100644 deps/npm/node_modules/mkdirp/test/chmod.js delete mode 100644 deps/npm/node_modules/mkdirp/test/clobber.js delete mode 100644 deps/npm/node_modules/mkdirp/test/mkdirp.js delete mode 100644 deps/npm/node_modules/mkdirp/test/opts_fs.js delete mode 100644 deps/npm/node_modules/mkdirp/test/opts_fs_sync.js delete mode 100644 deps/npm/node_modules/mkdirp/test/perm.js delete mode 100644 deps/npm/node_modules/mkdirp/test/perm_sync.js delete mode 100644 deps/npm/node_modules/mkdirp/test/race.js delete mode 100644 deps/npm/node_modules/mkdirp/test/rel.js delete mode 100644 deps/npm/node_modules/mkdirp/test/return.js delete mode 100644 deps/npm/node_modules/mkdirp/test/return_sync.js delete mode 100644 deps/npm/node_modules/mkdirp/test/root.js delete mode 100644 deps/npm/node_modules/mkdirp/test/sync.js delete mode 100644 deps/npm/node_modules/mkdirp/test/umask.js delete mode 100644 deps/npm/node_modules/mkdirp/test/umask_sync.js create mode 100644 deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.pyc create mode 100644 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.pyc create mode 100644 deps/npm/node_modules/node-gyp/lib/proxy.js delete mode 100755 deps/npm/node_modules/node-gyp/test/docker.sh delete mode 100644 deps/npm/test/fixtures/config/userconfig-with-gc diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS index 89270e3c127b..c2a38c02d53f 100644 --- a/deps/npm/AUTHORS +++ b/deps/npm/AUTHORS @@ -688,3 +688,6 @@ Netanel Gilad Dave Nicolson Ajay Narain Mathur Vitaliy Markitanov <9357021+vit100@users.noreply.github.com> +simon_s +John Kennedy +Bernard Kitchens diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md index ff02d1dea0bc..1c0779eb25e5 100644 --- a/deps/npm/CHANGELOG.md +++ b/deps/npm/CHANGELOG.md @@ -1,3 +1,34 @@ +## 6.14.3 (2020-03-19) + +### DOCUMENTATION + +* [`4ad221487`](https://github.com/npm/cli/commit4ad2214873cddfd4a0eff1bd188516b08fae9f9e) [#1020](https://github.com/npm/cli/pull/1020) docs(teams): updated team docs to reflect MFA workflow ([@blkdm0n](https://github.com/blkdm0n)) +* [`4a31a4ba2`](https://github.com/npm/cli/commit/4a31a4ba2db0a5db2d1d0890ee934ba1babb73a6) [#1034](https://github.com/npm/cli/pull/1034) docs: cleanup ([@ruyadorno](https://github.com/ruyadorno)) +* [`0eac801cd`](https://github.com/npm/cli/commit/0eac801cdef344e9fbda6270145e062211255b0e) [#1013](https://github.com/npm/cli/pull/1013) docs: fix links to cli commands ([@alenros](https://github.com/alenros)) +* [`7d8e5b99c`](https://github.com/npm/cli/commit/7d8e5b99c4ef8c394cffa7fc845f54a25ff37e3a) [#755](https://github.com/npm/cli/pull/755) docs: correction to `npm update -g` behaviour ([@johnkennedy9147](https://github.com/johnkennedy9147)) + +### DEPENDENCIES + +* [`e11167646`](https://github.com/npm/cli/commit/e111676467f090f73802b97e8da7ece481b18f99) `mkdirp@0.5.3` + * [`c5b97d17d`](https://github.com/isaacs/node-mkdirp/commit/c5b97d17d45a22bcf4c815645cbb989dab57ddd8) fix: bump `minimist` dep to resolve security issue ([@isaacs](https://github.com/isaacs)) +* [`c50d679c6`](https://github.com/npm/cli/commit/c50d679c68b39dd03ad127d34f540ddcb1b1e804) `rimraf@2.7.1` +* [`a2de99ff9`](https://github.com/npm/cli/commit/a2de99ff9e02425a3ccc25280f390178be755a36) `npm-registry-mock@1.3.1` +* [`217debeb9`](https://github.com/npm/cli/commit/217debeb9812e037a6686cbf6ec67a0cd47fa68a) `npm-registry-couchapp@2.7.4` + +## 6.14.2 (2020-03-03) + +### DOCUMENTATION +* [`f9248c0be`](https://github.com/npm/cli/commit/f9248c0be63fba37a30098dc9215c752474380e3) [#730](https://github.com/npm/cli/pull/730) chore(docs): update unpublish docs & policy reference ([@nomadtechie](https://github.com/nomadtechie), [@mikemimik](https://github.com/mikemimik)) + +### DEPENDENCIES + +* [`909cc3918`](https://github.com/npm/cli/commit/909cc39180a352f206898481add5772206c8b65f) `hosted-git-info@2.8.8` ([@darcyclarke](https://github.com/darcyclarke)) + * [`5038b1891`](https://github.com/npm/hosted-git-info/commit/5038b1891a61ca3cd7453acbf85d7011fe0086bb) fix: regression in old node versions w/ respect to url.URL implmentation +* [`9204ffa58`](https://github.com/npm/cli/commit/9204ffa584c140c5e22b1ee37f6df2c98f5dc70b) `npm-profile@4.0.4` ([@isaacs](https://github.com/isaacs)) + * [`6bcf0860a`](https://github.com/npm/npm-profile/commit/6bcf0860a3841865099d0115dbcbde8b78109bd9) fix: treat non-http/https login urls as invalid +* [`0365d39bd`](https://github.com/npm/cli/commit/0365d39bdc74960a18caac674f51d0e2a98b31e6) `glob@7.1.6` ([@isaacs](https://github.com/isaacs)) +* [`dab030536`](https://github.com/nodejs/node-gyp/commit/dab030536b6a70ecae37debc74c581db9e5280fd) `node-gyp@5.1.0` ([@rvagg](https://github.com/rvagg)) + ## 6.14.1 (2020-02-26) * [`303e5c11e`](https://github.com/npm/cli/commit/303e5c11e7db34cf014107aecd2e81c821bfde8d) diff --git a/deps/npm/docs/content/cli-commands/npm-access.md b/deps/npm/docs/content/cli-commands/npm-access.md index 0fbce9c0759d..f4088fe88551 100644 --- a/deps/npm/docs/content/cli-commands/npm-access.md +++ b/deps/npm/docs/content/cli-commands/npm-access.md @@ -87,7 +87,7 @@ Management of teams and team memberships is done with the `npm team` command. ### See Also * [`libnpmaccess`](https://npm.im/libnpmaccess) -* [npm team](/cli-commands/npm-team) -* [npm publish](/cli-commands/npm-publish) -* [npm config](/cli-commands/npm-config) +* [npm team](/cli-commands/team) +* [npm publish](/cli-commands/publish) +* [npm config](/cli-commands/config) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/cli-commands/npm-adduser.md b/deps/npm/docs/content/cli-commands/npm-adduser.md index 2df35e45fc55..ec61cdd39acb 100644 --- a/deps/npm/docs/content/cli-commands/npm-adduser.md +++ b/deps/npm/docs/content/cli-commands/npm-adduser.md @@ -89,7 +89,7 @@ username/password entry in legacy npm. ### See Also * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm owner](/cli-commands/npm-owner) -* [npm whoami](/cli-commands/npm-whoami) +* [npm owner](/cli-commands/owner) +* [npm whoami](/cli-commands/whoami) diff --git a/deps/npm/docs/content/cli-commands/npm-audit.md b/deps/npm/docs/content/cli-commands/npm-audit.md index 0aba874f96df..8b944e94cc12 100644 --- a/deps/npm/docs/content/cli-commands/npm-audit.md +++ b/deps/npm/docs/content/cli-commands/npm-audit.md @@ -131,6 +131,6 @@ configuration setting. ### See Also -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) * [package-locks](/configuring-npm/package-locks) * [config](/using-npm/config) diff --git a/deps/npm/docs/content/cli-commands/npm-bin.md b/deps/npm/docs/content/cli-commands/npm-bin.md index 6c7ce0eee54e..eb0912ae48a9 100644 --- a/deps/npm/docs/content/cli-commands/npm-bin.md +++ b/deps/npm/docs/content/cli-commands/npm-bin.md @@ -19,8 +19,8 @@ Print the folder where npm will install executables. ### See Also -* [npm prefix](/cli-commands/npm-prefix) -* [npm root](/cli-commands/npm-root) +* [npm prefix](/cli-commands/prefix) +* [npm root](/cli-commands/root) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-bugs.md b/deps/npm/docs/content/cli-commands/npm-bugs.md index dcc9c358df14..6e59f2bd1a05 100644 --- a/deps/npm/docs/content/cli-commands/npm-bugs.md +++ b/deps/npm/docs/content/cli-commands/npm-bugs.md @@ -41,10 +41,10 @@ The base URL of the npm package registry. ### See Also -* [npm docs](/cli-commands/npm-docs) -* [npm view](/cli-commands/npm-view) -* [npm publish](/cli-commands/npm-publish) +* [npm docs](/cli-commands/docs) +* [npm view](/cli-commands/view) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-build.md b/deps/npm/docs/content/cli-commands/npm-build.md index b65712978766..eca5397d9c77 100644 --- a/deps/npm/docs/content/cli-commands/npm-build.md +++ b/deps/npm/docs/content/cli-commands/npm-build.md @@ -28,7 +28,7 @@ directly, run: ### See Also -* [npm install](/cli-commands/npm-install) -* [npm link](/cli-commands/npm-link) +* [npm install](/cli-commands/install) +* [npm link](/cli-commands/link) * [npm scripts](/using-npm/scripts) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-bundle.md b/deps/npm/docs/content/cli-commands/npm-bundle.md index 76417ac8b0b0..c4fdc5e6bb0e 100644 --- a/deps/npm/docs/content/cli-commands/npm-bundle.md +++ b/deps/npm/docs/content/cli-commands/npm-bundle.md @@ -18,4 +18,4 @@ Just use `npm install` now to do what `npm bundle` used to do. ### See Also -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-cache.md b/deps/npm/docs/content/cli-commands/npm-cache.md index ed31a320421b..4d19749b80f2 100644 --- a/deps/npm/docs/content/cli-commands/npm-cache.md +++ b/deps/npm/docs/content/cli-commands/npm-cache.md @@ -82,10 +82,10 @@ The root cache folder. ### See Also * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm install](/cli-commands/npm-install) -* [npm publish](/cli-commands/npm-publish) -* [npm pack](/cli-commands/npm-pack) +* [npm install](/cli-commands/install) +* [npm publish](/cli-commands/publish) +* [npm pack](/cli-commands/pack) * https://npm.im/cacache * https://npm.im/pacote diff --git a/deps/npm/docs/content/cli-commands/npm-ci.md b/deps/npm/docs/content/cli-commands/npm-ci.md index 357ba16cf6ad..b5b6447a485f 100644 --- a/deps/npm/docs/content/cli-commands/npm-ci.md +++ b/deps/npm/docs/content/cli-commands/npm-ci.md @@ -45,7 +45,7 @@ cache: ### Description -This command is similar to [`npm install`](/cli-commands/npm-install), except it's meant to be used in +This command is similar to [`npm install`](/cli-commands/install), except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment -- or any situation where you want to make sure you're doing a clean install of your dependencies. It can be significantly faster than a regular npm @@ -63,5 +63,5 @@ In short, the main differences between using `npm install` and `npm ci` are: ### See Also -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) * [package-locks](/configuring-npm/package-locks) diff --git a/deps/npm/docs/content/cli-commands/npm-config.md b/deps/npm/docs/content/cli-commands/npm-config.md index c2f2033b066d..68d403746fc1 100644 --- a/deps/npm/docs/content/cli-commands/npm-config.md +++ b/deps/npm/docs/content/cli-commands/npm-config.md @@ -79,7 +79,7 @@ global config. ### See Also * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [package.json](/configuring-npm/package-json) * [npmrc](/configuring-npm/npmrc) * [npm](/cli-commands/npm) diff --git a/deps/npm/docs/content/cli-commands/npm-dedupe.md b/deps/npm/docs/content/cli-commands/npm-dedupe.md index e15a12ba7c18..a146885a0440 100644 --- a/deps/npm/docs/content/cli-commands/npm-dedupe.md +++ b/deps/npm/docs/content/cli-commands/npm-dedupe.md @@ -62,6 +62,6 @@ result in new modules being installed. ### See Also -* [npm ls](/cli-commands/npm-ls) -* [npm update](/cli-commands/npm-update) -* [npm install](/cli-commands/npm-install) +* [npm ls](/cli-commands/ls) +* [npm update](/cli-commands/update) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-deprecate.md b/deps/npm/docs/content/cli-commands/npm-deprecate.md index d2d9613f653c..252c0e703707 100644 --- a/deps/npm/docs/content/cli-commands/npm-deprecate.md +++ b/deps/npm/docs/content/cli-commands/npm-deprecate.md @@ -32,5 +32,5 @@ format an empty string. ### See Also -* [npm publish](/cli-commands/npm-publish) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/cli-commands/npm-dist-tag.md b/deps/npm/docs/content/cli-commands/npm-dist-tag.md index c7921c7f739d..4f7fcb9f58f1 100644 --- a/deps/npm/docs/content/cli-commands/npm-dist-tag.md +++ b/deps/npm/docs/content/cli-commands/npm-dist-tag.md @@ -92,9 +92,9 @@ begin with a number or the letter `v`. ### See Also -* [npm publish](/cli-commands/npm-publish) -* [npm install](/cli-commands/npm-install) -* [npm dedupe](/cli-commands/npm-dedupe) +* [npm publish](/cli-commands/publish) +* [npm install](/cli-commands/install) +* [npm dedupe](/cli-commands/dedupe) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-docs.md b/deps/npm/docs/content/cli-commands/npm-docs.md index 46f5cd0d900a..f157e200dc51 100644 --- a/deps/npm/docs/content/cli-commands/npm-docs.md +++ b/deps/npm/docs/content/cli-commands/npm-docs.md @@ -44,9 +44,9 @@ The base URL of the npm package registry. ### See Also -* [npm view](/cli-commands/npm-view) -* [npm publish](/cli-commands/npm-publish) +* [npm view](/cli-commands/view) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-doctor.md b/deps/npm/docs/content/cli-commands/npm-doctor.md index 7cec349e5a81..60a57ea4765a 100644 --- a/deps/npm/docs/content/cli-commands/npm-doctor.md +++ b/deps/npm/docs/content/cli-commands/npm-doctor.md @@ -106,6 +106,6 @@ cache, you should probably run `npm cache clean` and reset the cache. ### See Also -* [npm bugs](/cli-commands/npm-bugs) -* [npm help](/cli-commands/npm-help) -* [npm ping](/cli-commands/npm-ping) +* [npm bugs](/cli-commands/bugs) +* [npm help](/cli-commands/help) +* [npm ping](/cli-commands/ping) diff --git a/deps/npm/docs/content/cli-commands/npm-edit.md b/deps/npm/docs/content/cli-commands/npm-edit.md index 94b6a087fa10..d4b9bbb819b9 100644 --- a/deps/npm/docs/content/cli-commands/npm-edit.md +++ b/deps/npm/docs/content/cli-commands/npm-edit.md @@ -41,7 +41,7 @@ The command to run for `npm edit` or `npm config edit`. ### See Also * [npm folders](/configuring-npm/folders) -* [npm explore](/cli-commands/npm-explore) -* [npm install](/cli-commands/npm-install) -* [npm config](/cli-commands/npm-config) +* [npm explore](/cli-commands/explore) +* [npm install](/cli-commands/install) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-explore.md b/deps/npm/docs/content/cli-commands/npm-explore.md index 8ded96d40984..dfa4d9c07374 100644 --- a/deps/npm/docs/content/cli-commands/npm-explore.md +++ b/deps/npm/docs/content/cli-commands/npm-explore.md @@ -44,7 +44,7 @@ The shell to run for the `npm explore` command. ### See Also * [npm folders](/configuring-npm/folders) -* [npm edit](/cli-commands/npm-edit) -* [npm rebuild](/cli-commands/npm-rebuild) -* [npm build](/cli-commands/npm-build) -* [npm install](/cli-commands/npm-install) +* [npm edit](/cli-commands/edit) +* [npm rebuild](/cli-commands/rebuild) +* [npm build](/cli-commands/build) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-fund.md b/deps/npm/docs/content/cli-commands/npm-fund.md index 5a751eec4668..73910ff7c07b 100644 --- a/deps/npm/docs/content/cli-commands/npm-fund.md +++ b/deps/npm/docs/content/cli-commands/npm-fund.md @@ -61,8 +61,8 @@ If there are multiple funding sources, which 1-indexed source URL to open. ## See Also -* [npm docs](/cli-commands/npm-docs) -* [npm config](/cli-commands/npm-config) -* [npm install](/cli-commands/npm-install) -* [npm ls](/cli-commands/npm-ls) +* [npm docs](/cli-commands/docs) +* [npm config](/cli-commands/config) +* [npm install](/cli-commands/install) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-help-search.md b/deps/npm/docs/content/cli-commands/npm-help-search.md index 69d005cb160e..967818565513 100644 --- a/deps/npm/docs/content/cli-commands/npm-help-search.md +++ b/deps/npm/docs/content/cli-commands/npm-help-search.md @@ -40,4 +40,4 @@ If false, then help-search will just list out the help topics found. ### See Also * [npm](/cli-commands/npm) -* [npm help](/cli-commands/npm-help) +* [npm help](/cli-commands/help) diff --git a/deps/npm/docs/content/cli-commands/npm-help.md b/deps/npm/docs/content/cli-commands/npm-help.md index c47676ffcac1..358010c05ece 100644 --- a/deps/npm/docs/content/cli-commands/npm-help.md +++ b/deps/npm/docs/content/cli-commands/npm-help.md @@ -38,7 +38,7 @@ Set to `"browser"` to view html help content in the default web browser. * [npm](/cli-commands/npm) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [package.json](/configuring-npm/package-json) -* [npm help-search](/cli-commands/npm-help-search) +* [npm help-search](/cli-commands/help-search) diff --git a/deps/npm/docs/content/cli-commands/npm-init.md b/deps/npm/docs/content/cli-commands/npm-init.md index 73ad74b23ea9..32b7f8230199 100644 --- a/deps/npm/docs/content/cli-commands/npm-init.md +++ b/deps/npm/docs/content/cli-commands/npm-init.md @@ -70,5 +70,5 @@ will create a scoped package. * * [package.json](/configuring-npm/package-json) -* [npm version](/cli-commands/npm-version) +* [npm version](/cli-commands/version) * [npm scope](/using-npm/scope) diff --git a/deps/npm/docs/content/cli-commands/npm-install-ci-test.md b/deps/npm/docs/content/cli-commands/npm-install-ci-test.md index 98e40f4b27a7..09d738c79fbe 100644 --- a/deps/npm/docs/content/cli-commands/npm-install-ci-test.md +++ b/deps/npm/docs/content/cli-commands/npm-install-ci-test.md @@ -22,5 +22,5 @@ This command runs an `npm ci` followed immediately by an `npm test`. ### See Also -* [npm ci](/cli-commands/npm-ci) -* [npm test](/cli-commands/npm-test) +* [npm ci](/cli-commands/ci) +* [npm test](/cli-commands/test) diff --git a/deps/npm/docs/content/cli-commands/npm-install-test.md b/deps/npm/docs/content/cli-commands/npm-install-test.md index b86a5199117c..58b8844b4fcf 100644 --- a/deps/npm/docs/content/cli-commands/npm-install-test.md +++ b/deps/npm/docs/content/cli-commands/npm-install-test.md @@ -31,5 +31,5 @@ takes exactly the same arguments as `npm install`. ### See Also -* [npm install](/cli-commands/npm-install) -* [npm test](/cli-commands/npm-test) +* [npm install](/cli-commands/install) +* [npm test](/cli-commands/test) diff --git a/deps/npm/docs/content/cli-commands/npm-install.md b/deps/npm/docs/content/cli-commands/npm-install.md index 8e661bf643f3..be196fa82554 100644 --- a/deps/npm/docs/content/cli-commands/npm-install.md +++ b/deps/npm/docs/content/cli-commands/npm-install.md @@ -32,7 +32,7 @@ common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional] [-E|--save-exa This command installs a package, and any packages that it depends on. If the package has a package-lock or shrinkwrap file, the installation of dependencies will be driven by that, with an `npm-shrinkwrap.json` taking precedence if both -files exist. See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli-commands/npm-shrinkwrap). +files exist. See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli-commands/shrinkwrap). A `package` is: @@ -40,7 +40,7 @@ A `package` is: * b) a gzipped tarball containing (a) * c) a url that resolves to (b) * d) a `@` that is published on the registry (see [`registry`](/using-npm/registry)) with (c) -* e) a `@` (see [`npm dist-tag`](/cli-commands/npm-dist-tag)) that points to (d) +* e) a `@` (see [`npm dist-tag`](/cli-commands/dist-tag)) that points to (d) * f) a `` that has a "latest" tag satisfying (e) * g) a `` that resolves to (a) @@ -503,17 +503,17 @@ affects a real use-case, it will be investigated. ### See Also * [npm folders](/configuring-npm/folders) -* [npm update](/cli-commands/npm-update) -* [npm audit](/cli-commands/npm-audit) -* [npm fund](/cli-commands/npm-fund) -* [npm link](/cli-commands/npm-link) -* [npm rebuild](/cli-commands/npm-rebuild) +* [npm update](/cli-commands/update) +* [npm audit](/cli-commands/audit) +* [npm fund](/cli-commands/fund) +* [npm link](/cli-commands/link) +* [npm rebuild](/cli-commands/rebuild) * [npm scripts](/using-npm/scripts) -* [npm build](/cli-commands/npm-build) -* [npm config](/cli-commands/npm-config) +* [npm build](/cli-commands/build) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [npm registry](/using-npm/registry) -* [npm dist-tag](/cli-commands/npm-dist-tag) -* [npm uninstall](/cli-commands/npm-uninstall) -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm dist-tag](/cli-commands/dist-tag) +* [npm uninstall](/cli-commands/uninstall) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [package.json](/configuring-npm/package-json) diff --git a/deps/npm/docs/content/cli-commands/npm-link.md b/deps/npm/docs/content/cli-commands/npm-link.md index a6d2908c4a32..3f513868dfeb 100644 --- a/deps/npm/docs/content/cli-commands/npm-link.md +++ b/deps/npm/docs/content/cli-commands/npm-link.md @@ -86,7 +86,7 @@ npm link @myorg/privatepackage * [npm developers](/using-npm/developers) * [package.json](/configuring-npm/package-json) -* [npm- nstall](/cli-commands/npm-install) +* [npm- nstall](/cli-commands/install) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-logout.md b/deps/npm/docs/content/cli-commands/npm-logout.md index ca7d86f2d196..5fb7100e8ef7 100644 --- a/deps/npm/docs/content/cli-commands/npm-logout.md +++ b/deps/npm/docs/content/cli-commands/npm-logout.md @@ -48,7 +48,7 @@ npm logout --scope=@myco ### See Also -* [npm adduser](/cli-commands/npm-adduser) +* [npm adduser](/cli-commands/adduser) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) -* [npm whoami](/cli-commands/npm-whoami) +* [npm config](/cli-commands/config) +* [npm whoami](/cli-commands/whoami) diff --git a/deps/npm/docs/content/cli-commands/npm-ls.md b/deps/npm/docs/content/cli-commands/npm-ls.md index 64a399155ff6..797f15a50d84 100644 --- a/deps/npm/docs/content/cli-commands/npm-ls.md +++ b/deps/npm/docs/content/cli-commands/npm-ls.md @@ -119,11 +119,11 @@ Set it to false in order to use all-ansi output. ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [npm folders](/configuring-npm/folders) -* [npm install](/cli-commands/npm-install) -* [npm link](/cli-commands/npm-link) -* [npm prune](/cli-commands/npm-prune) -* [npm outdated](/cli-commands/npm-outdated) -* [npm update](/cli-commands/npm-update) +* [npm install](/cli-commands/install) +* [npm link](/cli-commands/link) +* [npm prune](/cli-commands/prune) +* [npm outdated](/cli-commands/outdated) +* [npm update](/cli-commands/update) diff --git a/deps/npm/docs/content/cli-commands/npm-outdated.md b/deps/npm/docs/content/cli-commands/npm-outdated.md index c7934109dca3..3dae28c465f4 100644 --- a/deps/npm/docs/content/cli-commands/npm-outdated.md +++ b/deps/npm/docs/content/cli-commands/npm-outdated.md @@ -118,7 +118,7 @@ Max depth for checking dependency tree. ### See Also -* [npm update](/cli-commands/npm-update) -* [npm dist-tag](/cli-commands/npm-dist-tag) +* [npm update](/cli-commands/update) +* [npm dist-tag](/cli-commands/dist-tag) * [npm registry](/using-npm/registry) * [npm folders](/configuring-npm/folders) diff --git a/deps/npm/docs/content/cli-commands/npm-owner.md b/deps/npm/docs/content/cli-commands/npm-owner.md index bc2fbc82fb28..7088cdaf5cb3 100644 --- a/deps/npm/docs/content/cli-commands/npm-owner.md +++ b/deps/npm/docs/content/cli-commands/npm-owner.md @@ -41,7 +41,7 @@ with `--otp`. ### See Also -* [npm publish](/cli-commands/npm-publish) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm adduser](/cli-commands/npm-adduser) +* [npm adduser](/cli-commands/adduser) * [npm disputes](/using-npm/disputes) diff --git a/deps/npm/docs/content/cli-commands/npm-pack.md b/deps/npm/docs/content/cli-commands/npm-pack.md index acf18559c14e..d4774ff37167 100644 --- a/deps/npm/docs/content/cli-commands/npm-pack.md +++ b/deps/npm/docs/content/cli-commands/npm-pack.md @@ -32,7 +32,7 @@ actually packing anything. Reports on what would have gone into the tarball. ### See Also -* [npm cache](/cli-commands/npm-cache) -* [npm publish](/cli-commands/npm-publish) -* [npm config](/cli-commands/npm-config) +* [npm cache](/cli-commands/cache) +* [npm publish](/cli-commands/publish) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-ping.md b/deps/npm/docs/content/cli-commands/npm-ping.md index 93d18b57f840..8f765501ac9f 100644 --- a/deps/npm/docs/content/cli-commands/npm-ping.md +++ b/deps/npm/docs/content/cli-commands/npm-ping.md @@ -29,5 +29,5 @@ Ping error: {*Detail about error} ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-prefix.md b/deps/npm/docs/content/cli-commands/npm-prefix.md index b82fec663a14..c6b1f7441bcd 100644 --- a/deps/npm/docs/content/cli-commands/npm-prefix.md +++ b/deps/npm/docs/content/cli-commands/npm-prefix.md @@ -21,12 +21,12 @@ to contain a `package.json` file or `node_modules` directory, unless `-g` is also specified. If `-g` is specified, this will be the value of the global prefix. See -[`npm config`](/cli-commands/npm-config) for more detail. +[`npm config`](/cli-commands/config) for more detail. ### See Also -* [npm root](/cli-commands/npm-root) -* [npm bin](/cli-commands/npm-bin) +* [npm root](/cli-commands/root) +* [npm bin](/cli-commands/bin) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-profile.md b/deps/npm/docs/content/cli-commands/npm-profile.md index 9fe82cd2d3a9..7cc38e2c9c3f 100644 --- a/deps/npm/docs/content/cli-commands/npm-profile.md +++ b/deps/npm/docs/content/cli-commands/npm-profile.md @@ -79,4 +79,4 @@ available on non npmjs.com registries. ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) diff --git a/deps/npm/docs/content/cli-commands/npm-prune.md b/deps/npm/docs/content/cli-commands/npm-prune.md index c6b61e62f828..586c2e702464 100644 --- a/deps/npm/docs/content/cli-commands/npm-prune.md +++ b/deps/npm/docs/content/cli-commands/npm-prune.md @@ -41,6 +41,6 @@ and it's up to you to run `npm prune` from time-to-time to remove them. ### See Also -* [npm uninstall](/cli-commands/npm-uninstall) +* [npm uninstall](/cli-commands/uninstall) * [npm folders](/configuring-npm/folders) -* [npm ls](/cli-commands/npm-ls) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-publish.md b/deps/npm/docs/content/cli-commands/npm-publish.md index 44c36e0b7ac6..199377fa0df3 100644 --- a/deps/npm/docs/content/cli-commands/npm-publish.md +++ b/deps/npm/docs/content/cli-commands/npm-publish.md @@ -60,13 +60,13 @@ the specified registry. Once a package is published with a given name and version, that specific name and version combination can never be used again, even if -it is removed with [`npm unpublish`](/cli-commands/npm-unpublish). +it is removed with [`npm unpublish`](/cli-commands/unpublish). As of `npm@5`, both a sha1sum and an integrity field with a sha512sum of the tarball will be submitted to the registry during publication. Subsequent installs will use the strongest supported algorithm to verify downloads. -Similar to `--dry-run` see [`npm pack`](/cli-commands/npm-pack), which figures out the files to be +Similar to `--dry-run` see [`npm pack`](/cli-commands/pack), which figures out the files to be included and packs them into a tarball to be uploaded to the registry. ### See Also diff --git a/deps/npm/docs/content/cli-commands/npm-rebuild.md b/deps/npm/docs/content/cli-commands/npm-rebuild.md index 414b9ca55a19..9503d6aae842 100644 --- a/deps/npm/docs/content/cli-commands/npm-rebuild.md +++ b/deps/npm/docs/content/cli-commands/npm-rebuild.md @@ -22,5 +22,5 @@ This command runs the `npm build` command on the matched folders. This is usefu ### See Also -* [npm build](/cli-commands/npm-build) -* [npm install](/cli-commands/npm-install) +* [npm build](/cli-commands/build) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/cli-commands/npm-repo.md b/deps/npm/docs/content/cli-commands/npm-repo.md index ad41ea571253..48021d9af5d9 100644 --- a/deps/npm/docs/content/cli-commands/npm-repo.md +++ b/deps/npm/docs/content/cli-commands/npm-repo.md @@ -32,5 +32,5 @@ The browser that is called by the `npm repo` command to open websites. ### See Also -* [npm docs](/cli-commands/npm-docs) -* [npm config](/cli-commands/npm-config) +* [npm docs](/cli-commands/docs) +* [npm config](/cli-commands/config) diff --git a/deps/npm/docs/content/cli-commands/npm-restart.md b/deps/npm/docs/content/cli-commands/npm-restart.md index d6d388b224ab..663b8f450660 100644 --- a/deps/npm/docs/content/cli-commands/npm-restart.md +++ b/deps/npm/docs/content/cli-commands/npm-restart.md @@ -41,9 +41,9 @@ behavior will be accompanied by an increase in major version number ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm start](/cli-commands/npm-start) -* [npm stop](/cli-commands/npm-stop) -* [npm restart](/cli-commands/npm-restart) \ No newline at end of file +* [npm test](/cli-commands/test) +* [npm start](/cli-commands/start) +* [npm stop](/cli-commands/stop) +* [npm restart](/cli-commands/restart) \ No newline at end of file diff --git a/deps/npm/docs/content/cli-commands/npm-root.md b/deps/npm/docs/content/cli-commands/npm-root.md index 2b27878af4c6..fce4490de78e 100644 --- a/deps/npm/docs/content/cli-commands/npm-root.md +++ b/deps/npm/docs/content/cli-commands/npm-root.md @@ -19,8 +19,8 @@ Print the effective `node_modules` folder to standard out. ### See Also -* [npm prefix](/cli-commands/npm-prefix) -* [npm bin](/cli-commands/npm-bin) +* [npm prefix](/cli-commands/prefix) +* [npm bin](/cli-commands/bin) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-run-script.md b/deps/npm/docs/content/cli-commands/npm-run-script.md index 51def74c3c4c..1ee381e00f2f 100644 --- a/deps/npm/docs/content/cli-commands/npm-run-script.md +++ b/deps/npm/docs/content/cli-commands/npm-run-script.md @@ -90,8 +90,8 @@ without breaking the execution chain. ### See Also * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm start](/cli-commands/npm-start) -* [npm restart](/cli-commands/npm-restart) -* [npm stop](/cli-commands/npm-stop) -* [npm config](/cli-commands/npm-config) +* [npm test](/cli-commands/test) +* [npm start](/cli-commands/start) +* [npm restart](/cli-commands/restart) +* [npm stop](/cli-commands/stop) +* [npm config](/cli-commands/config) diff --git a/deps/npm/docs/content/cli-commands/npm-search.md b/deps/npm/docs/content/cli-commands/npm-search.md index e066106faf71..c65e489cba27 100644 --- a/deps/npm/docs/content/cli-commands/npm-search.md +++ b/deps/npm/docs/content/cli-commands/npm-search.md @@ -109,6 +109,6 @@ setting. ### See Also * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm view](/cli-commands/npm-view) +* [npm view](/cli-commands/view) diff --git a/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md b/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md index 342fb001675a..a22aed88e125 100644 --- a/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md +++ b/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md @@ -24,11 +24,11 @@ of package locks in npm, see [package-locks](/configuring-npm/package-locks). ### See Also -* [npm install](/cli-commands/npm-install) -* [npm run-script](/cli-commands/npm-run-script) +* [npm install](/cli-commands/install) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) * [package.js](/configuring-npm/package-json) * [package-locks](/configuring-npm/package-locks) * [package-lock.json](/configuring-npm/package-lock-json) * [shrinkwrap.json](/configuring-npm/shrinkwrap-json) -* [npm ls](/cli-commands/npm-ls) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-star.md b/deps/npm/docs/content/cli-commands/npm-star.md index 1912e9c654bc..440d15d05c65 100644 --- a/deps/npm/docs/content/cli-commands/npm-star.md +++ b/deps/npm/docs/content/cli-commands/npm-star.md @@ -26,6 +26,6 @@ It's a boolean thing. Starring repeatedly has no additional effect. ### See Also -* [npm view](/cli-commands/npm-view) -* [npm whoami](/cli-commands/npm-whoami) -* [npm adduser](/cli-commands/npm-adduser) +* [npm view](/cli-commands/view) +* [npm whoami](/cli-commands/whoami) +* [npm adduser](/cli-commands/adduser) diff --git a/deps/npm/docs/content/cli-commands/npm-stars.md b/deps/npm/docs/content/cli-commands/npm-stars.md index 475547bb4b7f..87b1664ef859 100644 --- a/deps/npm/docs/content/cli-commands/npm-stars.md +++ b/deps/npm/docs/content/cli-commands/npm-stars.md @@ -23,7 +23,7 @@ you will most certainly enjoy this command. ### See Also -* [npm star](/cli-commands/npm-star) -* [npm view](/cli-commands/npm-view) -* [npm whoami](/cli-commands/npm-whoami) -* [npm adduser](/cli-commands/npm-adduser) +* [npm star](/cli-commands/star) +* [npm view](/cli-commands/view) +* [npm whoami](/cli-commands/whoami) +* [npm adduser](/cli-commands/adduser) diff --git a/deps/npm/docs/content/cli-commands/npm-start.md b/deps/npm/docs/content/cli-commands/npm-start.md index 839528257b6d..70221c9926a5 100644 --- a/deps/npm/docs/content/cli-commands/npm-start.md +++ b/deps/npm/docs/content/cli-commands/npm-start.md @@ -21,12 +21,12 @@ its `"scripts"` object. If no `"start"` property is specified on the `"scripts"` object, it will run `node server.js`. As of [`npm@2.0.0`](https://blog.npmjs.org/post/98131109725/npm-2-0-0), you can -use custom arguments when executing scripts. Refer to [`npm run-script`](/cli-commands/npm-run-script) for more details. +use custom arguments when executing scripts. Refer to [`npm run-script`](/cli-commands/run-script) for more details. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm restart](/cli-commands/npm-restart) -* [npm stop](/cli-commands/npm-stop) +* [npm test](/cli-commands/test) +* [npm restart](/cli-commands/restart) +* [npm stop](/cli-commands/stop) diff --git a/deps/npm/docs/content/cli-commands/npm-stop.md b/deps/npm/docs/content/cli-commands/npm-stop.md index da759047cb19..889f04ec41e3 100644 --- a/deps/npm/docs/content/cli-commands/npm-stop.md +++ b/deps/npm/docs/content/cli-commands/npm-stop.md @@ -20,8 +20,8 @@ This runs a package's "stop" script, if one was provided. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm test](/cli-commands/npm-test) -* [npm start](/cli-commands/npm-start) -* [npm restart](/cli-commands/npm-restart) +* [npm test](/cli-commands/test) +* [npm start](/cli-commands/start) +* [npm restart](/cli-commands/restart) diff --git a/deps/npm/docs/content/cli-commands/npm-team.md b/deps/npm/docs/content/cli-commands/npm-team.md index 9a63b10c26f3..53e084d47d14 100644 --- a/deps/npm/docs/content/cli-commands/npm-team.md +++ b/deps/npm/docs/content/cli-commands/npm-team.md @@ -30,6 +30,8 @@ handle permissions for packages. Teams must always be fully qualified with the organization/scope they belong to when operating on them, separated by a colon (`:`). That is, if you have a `wombats` team in a `wisdom` organization, you must always refer to that team as `wisdom:wombats` in these commands. +If you have two-factor authentication enabled in `auth-and-writes` mode, then you can provide a code from your authenticator with `[--otp ]`. If you don't include this then you will be prompted. + * create / destroy: Create a new team, or destroy an existing one. Note: You cannot remove the `developers` team, learn more. * add / rm: @@ -60,5 +62,5 @@ use the `npm access` command to grant or revoke the appropriate permissions. ### See Also -* [npm access](/cli-commands/npm-access) +* [npm access](/cli-commands/access) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/cli-commands/npm-test.md b/deps/npm/docs/content/cli-commands/npm-test.md index 99c027e3e057..11900fd2fbf5 100644 --- a/deps/npm/docs/content/cli-commands/npm-test.md +++ b/deps/npm/docs/content/cli-commands/npm-test.md @@ -22,8 +22,8 @@ This runs a package's "test" script, if one was provided. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) -* [npm start](/cli-commands/npm-start) -* [npm restart](/cli-commands/npm-restart) -* [npm stop](/cli-commands/npm-stop) +* [npm start](/cli-commands/start) +* [npm restart](/cli-commands/restart) +* [npm stop](/cli-commands/stop) diff --git a/deps/npm/docs/content/cli-commands/npm-uninstall.md b/deps/npm/docs/content/cli-commands/npm-uninstall.md index 96fdc4ebe05b..2b994ba6180b 100644 --- a/deps/npm/docs/content/cli-commands/npm-uninstall.md +++ b/deps/npm/docs/content/cli-commands/npm-uninstall.md @@ -57,8 +57,8 @@ npm uninstall lodash --no-save ### See Also -* [npm prune](/cli-commands/npm-prune) -* [npm install](/cli-commands/npm-install) +* [npm prune](/cli-commands/prune) +* [npm install](/cli-commands/install) * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) diff --git a/deps/npm/docs/content/cli-commands/npm-unpublish.md b/deps/npm/docs/content/cli-commands/npm-unpublish.md index 5348023d9a84..9b918ed432c3 100644 --- a/deps/npm/docs/content/cli-commands/npm-unpublish.md +++ b/deps/npm/docs/content/cli-commands/npm-unpublish.md @@ -10,19 +10,21 @@ description: Remove a package from the registry ### Synopsis +#### Unpublishing a single version of a package + ```bash -npm unpublish [<@scope>/][@] +npm unpublish [<@scope>/]@ ``` -### Warning +#### Unpublishing an entire package -**It is generally considered bad behavior to remove versions of a library -that others are depending on!** +```bash +npm unpublish [<@scope>/] --force +``` -Consider using the `deprecate` command -instead, if your intent is to encourage users to upgrade. +### Warning -There is plenty of room on the registry. +Consider using the `deprecate` command instead, if your intent is to encourage users to upgrade, or if you no longer want to maintain a package. ### Description @@ -34,21 +36,15 @@ the root package entry is removed from the registry entirely. Even if a package version is unpublished, that specific name and version combination can never be reused. In order to publish the -package again, a new version number must be used. Additionally, -new versions of packages with every version unpublished may not -be republished until 24 hours have passed. +package again, a new version number must be used. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed. -With the default registry (`registry.npmjs.org`), unpublish is -only allowed with versions published in the last 72 hours. If you -are trying to unpublish a version published longer ago than that, -contact support@npmjs.com. +To learn more about how unpublish is treated on the npm registry, see our unpublish policies. -The scope is optional and follows the usual rules for [`scope`](/using-npm/scope). ### See Also -* [npm deprecate](/cli-commands/npm-deprecate) -* [npm publish](/cli-commands/npm-publish) +* [npm deprecate](/cli-commands/deprecate) +* [npm publish](/cli-commands/publish) * [npm registry](/using-npm/registry) -* [npm adduser](/cli-commands/npm-adduser) -* [npm owner](/cli-commands/npm-owner) +* [npm adduser](/cli-commands/adduser) +* [npm owner](/cli-commands/owner) diff --git a/deps/npm/docs/content/cli-commands/npm-update.md b/deps/npm/docs/content/cli-commands/npm-update.md index f2e93b6dc33d..706d8acf208f 100644 --- a/deps/npm/docs/content/cli-commands/npm-update.md +++ b/deps/npm/docs/content/cli-commands/npm-update.md @@ -122,7 +122,9 @@ version that satisfies `^0.4.0` (`>= 0.4.0 <0.5.0`) `npm update -g` will apply the `update` action to each globally installed package that is `outdated` -- that is, has a version that is different from -`latest`. +`wanted`. + +Note: Globally installed packages are treated as if they are installed with a caret semver range specified. So if you require to update to `latest` you may need to run `npm install -g [...]` NOTE: If a package has been upgraded to a version newer than `latest`, it will be _downgraded_. @@ -130,9 +132,9 @@ be _downgraded_. ### See Also -* [npm install](/cli-commands/npm-install) -* [npm outdated](/cli-commands/npm-outdated) -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm install](/cli-commands/install) +* [npm outdated](/cli-commands/outdated) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [npm registry](/using-npm/registry) * [npm folders](/configuring-npm/folders) -* [npm ls](/cli-commands/npm-ls) +* [npm ls](/cli-commands/ls) diff --git a/deps/npm/docs/content/cli-commands/npm-version.md b/deps/npm/docs/content/cli-commands/npm-version.md index a47e9e33326a..05a2ea4c8d80 100644 --- a/deps/npm/docs/content/cli-commands/npm-version.md +++ b/deps/npm/docs/content/cli-commands/npm-version.md @@ -126,8 +126,8 @@ Note that you must have a default GPG key set up in your git config for this to ### See Also -* [npm init](/cli-commands/npm-init) -* [npm run-script](/cli-commands/npm-run-script) +* [npm init](/cli-commands/init) +* [npm run-script](/cli-commands/run-script) * [npm scripts](/using-npm/scripts) * [package.json](/configuring-npm/package-json) * [semver](/using-npm/semver) diff --git a/deps/npm/docs/content/cli-commands/npm-view.md b/deps/npm/docs/content/cli-commands/npm-view.md index 0c108e6f5661..b4c68471f5a7 100644 --- a/deps/npm/docs/content/cli-commands/npm-view.md +++ b/deps/npm/docs/content/cli-commands/npm-view.md @@ -117,8 +117,8 @@ the field name. ### See Also -* [npm search](/cli-commands/npm-search) +* [npm search](/cli-commands/search) * [npm registry](/using-npm/registry) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm docs](/cli-commands/npm-docs) +* [npm docs](/cli-commands/docs) diff --git a/deps/npm/docs/content/cli-commands/npm-whoami.md b/deps/npm/docs/content/cli-commands/npm-whoami.md index b0eda4e46aa6..d82f1f89732d 100644 --- a/deps/npm/docs/content/cli-commands/npm-whoami.md +++ b/deps/npm/docs/content/cli-commands/npm-whoami.md @@ -19,6 +19,6 @@ Print the `username` config to standard output. ### See Also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) -* [npm adduser](/cli-commands/npm-adduser) +* [npm adduser](/cli-commands/adduser) diff --git a/deps/npm/docs/content/configuring-npm/folders.md b/deps/npm/docs/content/configuring-npm/folders.md index 96a8f4783d71..abb6133fd170 100644 --- a/deps/npm/docs/content/configuring-npm/folders.md +++ b/deps/npm/docs/content/configuring-npm/folders.md @@ -73,7 +73,7 @@ Man pages are not installed on Windows systems. #### Cache -See [`npm cache`](/cli-commands/npm-cache). Cache files are stored in `~/.npm` on Posix, or +See [`npm cache`](/cli-commands/cache). Cache files are stored in `~/.npm` on Posix, or `%AppData%/npm-cache` on Windows. This is controlled by the `cache` configuration param. @@ -214,10 +214,10 @@ cannot be found elsewhere. See [`package.json`](/configuring-npm/package.json) ### See also * [package.json](/configuring-npm/package-json) -* [npm install](/cli-commands/npm-install) -* [npm pack](/cli-commands/npm-pack) -* [npm cache](/cli-commands/npm-cache) -* [npm config](/cli-commands/npm-config) +* [npm install](/cli-commands/install) +* [npm pack](/cli-commands/pack) +* [npm cache](/cli-commands/cache) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [config](/using-npm/config) -* [npm publish](/cli-commands/npm-publish) +* [npm publish](/cli-commands/publish) diff --git a/deps/npm/docs/content/configuring-npm/npmrc.md b/deps/npm/docs/content/configuring-npm/npmrc.md index 090ed5944fcc..3439c0a8bfcf 100644 --- a/deps/npm/docs/content/configuring-npm/npmrc.md +++ b/deps/npm/docs/content/configuring-npm/npmrc.md @@ -97,7 +97,7 @@ manner. ### See also * [npm folders](/configuring-npm/folders) -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [config](/using-npm/config) * [package.json](/configuring-npm/package-json) * [npm](/cli-commands/npm) diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md index 9af70ea0ab2c..6d9cae346b19 100644 --- a/deps/npm/docs/content/configuring-npm/package-json.md +++ b/deps/npm/docs/content/configuring-npm/package-json.md @@ -533,7 +533,7 @@ See [semver](/using-npm/semver) for more details about specifying version ranges * `range1 || range2` Passes if either range1 or range2 are satisfied. * `git...` See 'Git URLs as Dependencies' below * `user/repo` See 'GitHub URLs' below -* `tag` A specific version tagged and published as `tag` See [`npm dist-tag`](/cli-commands/npm-dist-tag) +* `tag` A specific version tagged and published as `tag` See [`npm dist-tag`](/cli-commands/dist-tag) * `path/path/path` See [Local Paths](#local-paths) below For example, these are all valid: @@ -910,10 +910,10 @@ npm will default some values based on package contents. ### SEE ALSO * [semver](/using-npm/semver) -* [npm init](/cli-commands/npm-init) -* [npm version](/cli-commands/npm-version) -* [npm config](/cli-commands/npm-config) -* [npm help](/cli-commands/npm-help) -* [npm install](/cli-commands/npm-install) -* [npm publish](/cli-commands/npm-publish) -* [npm uninstall](/cli-commands/npm-uninstall) +* [npm init](/cli-commands/init) +* [npm version](/cli-commands/version) +* [npm config](/cli-commands/config) +* [npm help](/cli-commands/help) +* [npm install](/cli-commands/install) +* [npm publish](/cli-commands/publish) +* [npm uninstall](/cli-commands/uninstall) diff --git a/deps/npm/docs/content/configuring-npm/package-lock-json.md b/deps/npm/docs/content/configuring-npm/package-lock-json.md index 9f3ca4683def..0ab0aaa4ce24 100644 --- a/deps/npm/docs/content/configuring-npm/package-lock-json.md +++ b/deps/npm/docs/content/configuring-npm/package-lock-json.md @@ -142,8 +142,8 @@ The dependencies of this dependency, exactly as at the top level. ### See also -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [shrinkwrap.json](/configuring-npm/shrinkwrap-json) * [package-locks](/configuring-npm/package-locks) * [package.json](/configuring-npm/package-json) -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/configuring-npm/package-locks.md b/deps/npm/docs/content/configuring-npm/package-locks.md index de65e3c634f0..81d21298ae84 100644 --- a/deps/npm/docs/content/configuring-npm/package-locks.md +++ b/deps/npm/docs/content/configuring-npm/package-locks.md @@ -10,7 +10,7 @@ description: An explanation of npm lockfiles ### Description -Conceptually, the "input" to [`npm install`](/cli-commands/npm-install) is a [package.json](/configuring-npm/package-json), while its +Conceptually, the "input" to [`npm install`](/cli-commands/install) is a [package.json](/configuring-npm/package-json), while its "output" is a fully-formed `node_modules` tree: a representation of the dependencies you declared. In an ideal world, npm would work like a pure function: the same `package.json` should produce the exact same `node_modules` @@ -179,4 +179,4 @@ pre-`npm@5.7.0` versions of npm 5, albeit a bit more noisily. Note that if * [package.json](/configuring-npm/package-json) * [package-lock.json](/configuring-npm/package-lock-json) * [shrinkwrap.json](/configuring-npm/shrinkwrap-json) -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm shrinkwrap](/cli-commands/shrinkwrap) diff --git a/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md b/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md index bc5e061d55b0..fcb32952f937 100644 --- a/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md +++ b/deps/npm/docs/content/configuring-npm/shrinkwrap-json.md @@ -10,7 +10,7 @@ description: A publishable lockfile ### Description -`npm-shrinkwrap.json` is a file created by [`npm shrinkwrap`](/cli-commands/npm-shrinkwrap). It is identical to +`npm-shrinkwrap.json` is a file created by [`npm shrinkwrap`](/cli-commands/shrinkwrap). It is identical to `package-lock.json`, with one major caveat: Unlike `package-lock.json`, `npm-shrinkwrap.json` may be included when publishing a package. @@ -28,7 +28,7 @@ to the manual page for [package-lock.json](/configuring-npm/package-lock-json). ### See also -* [npm shrinkwrap](/cli-commands/npm-shrinkwrap) +* [npm shrinkwrap](/cli-commands/shrinkwrap) * [package-lock.json](/configuring-npm/package-lock-json) * [package.json](/configuring-npm/package-json) -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md index a6947b17d58d..fcf116d7f1ff 100644 --- a/deps/npm/docs/content/using-npm/config.md +++ b/deps/npm/docs/content/using-npm/config.md @@ -179,7 +179,7 @@ When "dev" or "development" and running local `npm shrinkwrap`, When "true" submit audit reports alongside `npm install` runs to the default registry and all registries configured for scopes. See the documentation -for [`npm audit`](/cli-commands/npm-audit) for details on what is submitted. +for [`npm audit`](/cli-commands/audit) for details on what is submitted. #### audit-level @@ -270,7 +270,7 @@ well as for the CA information to be stored in a file on disk. * Default: Windows: `%AppData%\npm-cache`, Posix: `~/.npm` * Type: path -The location of npm's cache directory. See [`npm cache`](/cli-commands/npm-cache) +The location of npm's cache directory. See [`npm cache`](/cli-commands/cache) #### cache-lock-stale @@ -456,7 +456,7 @@ packages. When "true" displays the message at the end of each `npm install` aknowledging the number of dependencies looking for funding. -See [`npm fund`](/cli-commands/npm-fund) for details. +See [`npm fund`](/cli-commands/fund) for details. #### git @@ -571,7 +571,7 @@ If true, npm does not run scripts specified in package.json files. A module that will be loaded by the `npm init` command. See the documentation for the [init-package-json](https://github.com/isaacs/init-package-json) module -for more information, or [npm init](/cli-commands/npm-init). +for more information, or [npm init](/cli-commands/init). #### init-author-name @@ -1228,7 +1228,7 @@ version of npm than the latest. * Type: Boolean Set to show short usage output (like the -H output) -instead of complete help when doing [`npm help`](/cli-commands/npm-help). +instead of complete help when doing [`npm help`](/cli-commands/help). #### user @@ -1293,7 +1293,7 @@ Set to `"browser"` to view html help content in the default web browser. ### See also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [npmrc](/configuring-npm/npmrc) * [npm scripts](/using-npm/scripts) * [npm folders](/configuring-npm/folders) diff --git a/deps/npm/docs/content/using-npm/disputes.md b/deps/npm/docs/content/using-npm/disputes.md index bb2d25663cb2..37a724e6b0f1 100644 --- a/deps/npm/docs/content/using-npm/disputes.md +++ b/deps/npm/docs/content/using-npm/disputes.md @@ -134,4 +134,4 @@ License. ### See also * [npm registry](/using-npm/registry) -* [npm owner](/cli-commands/npm-owner) +* [npm owner](/cli-commands/owner) diff --git a/deps/npm/docs/content/using-npm/orgs.md b/deps/npm/docs/content/using-npm/orgs.md index 9709a12d7267..107bac7a9454 100644 --- a/deps/npm/docs/content/using-npm/orgs.md +++ b/deps/npm/docs/content/using-npm/orgs.md @@ -24,8 +24,8 @@ The developer will be able to access packages based on the teams they are on. Ac There are two main commands: -1. `npm team` see [npm team](/cli-commands/npm-team) for more details -2. `npm access` see [npm access](/cli-commands/npm-access) for more details +1. `npm team` see [npm team](/cli-commands/team) for more details +2. `npm access` see [npm access](/cli-commands/access) for more details ### Team Admins create teams @@ -92,6 +92,6 @@ npm access ls-collaborators ### See also -* [npm team](/cli-commands/npm-team) -* [npm access](/cli-commands/npm-access) +* [npm team](/cli-commands/team) +* [npm access](/cli-commands/access) * [npm scope](/using-npm/scope) diff --git a/deps/npm/docs/content/using-npm/registry.md b/deps/npm/docs/content/using-npm/registry.md index cd6a2e4d71ee..44d059413292 100644 --- a/deps/npm/docs/content/using-npm/registry.md +++ b/deps/npm/docs/content/using-npm/registry.md @@ -33,7 +33,7 @@ available at . The registry URL used is determined by the scope of the package (see [`scope`](/using-npm/scope). If no scope is specified, the default registry is used, which is -supplied by the `registry` config parameter. See [`npm config`](/cli-commands/npm-config), +supplied by the `registry` config parameter. See [`npm config`](/cli-commands/config), [`npmrc`](/configuring-npm/npmrc), and [`config`](/using-npm/config) for more on managing npm's configuration. ### Does npm send any information about me back to the registry? @@ -100,7 +100,7 @@ Yes, head over to ### See also -* [npm config](/cli-commands/npm-config) +* [npm config](/cli-commands/config) * [config](/using-npm/config) * [npmrc](/configuring-npm/npmrc) * [npm developers](/using-npm/developers) diff --git a/deps/npm/docs/content/using-npm/removal.md b/deps/npm/docs/content/using-npm/removal.md index 7c8368467324..20f353dc3475 100644 --- a/deps/npm/docs/content/using-npm/removal.md +++ b/deps/npm/docs/content/using-npm/removal.md @@ -66,5 +66,5 @@ find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ; ### See also -* [npm uninstall](/cli-commands/npm-uninstall) -* [npm prune](/cli-commands/npm-prune) +* [npm uninstall](/cli-commands/uninstall) +* [npm prune](/cli-commands/prune) diff --git a/deps/npm/docs/content/using-npm/scope.md b/deps/npm/docs/content/using-npm/scope.md index 2cbc108f0db9..81c55060ff60 100644 --- a/deps/npm/docs/content/using-npm/scope.md +++ b/deps/npm/docs/content/using-npm/scope.md @@ -55,7 +55,7 @@ Or in `package.json`: ``` Note that if the `@` symbol is omitted, in either case, npm will instead attempt to -install from GitHub; see [`npm install`](/cli-commands/npm-install). +install from GitHub; see [`npm install`](/cli-commands/install). ### Requiring scoped packages @@ -125,7 +125,7 @@ that registry instead. ### See also -* [npm install](/cli-commands/npm-install) -* [npm publish](/cli-commands/npm-publish) -* [npm access](/cli-commands/npm-access) +* [npm install](/cli-commands/install) +* [npm publish](/cli-commands/publish) +* [npm access](/cli-commands/access) * [npm registry](/using-npm/registry) diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md index a518e804727a..a9ca433fdea0 100644 --- a/deps/npm/docs/content/using-npm/scripts.md +++ b/deps/npm/docs/content/using-npm/scripts.md @@ -78,7 +78,7 @@ The advantage of doing these things at `prepublish` time is that they can be don ### Life Cycle Operation Order -#### [`npm publish`](/cli-commands/npm-publish) +#### [`npm publish`](/cli-commands/publish) * `prepublishOnly` * `prepare` @@ -86,12 +86,12 @@ The advantage of doing these things at `prepublish` time is that they can be don * `publish` * `postpublish` -#### [`npm pack`](/cli-commands/npm-pack) +#### [`npm pack`](/cli-commands/pack) * `prepack` * `postpack` -#### [`npm install`](/cli-commands/npm-install) +#### [`npm install`](/cli-commands/install) * `preinstall` * `install` @@ -102,7 +102,7 @@ Also triggers * `prepublish` (when on local) * `prepare` (when on local) -#### [`npm start`](/cli-commands/npm-start) +#### [`npm start`](/cli-commands/start) `npm run start` has an `npm start` shorthand. @@ -290,7 +290,7 @@ above. ### See Also -* [npm run-script](/cli-commands/npm-run-script) +* [npm run-script](/cli-commands/run-script) * [package.json](/configuring-npm/package-json) * [npm developers](/using-npm/developers) -* [npm install](/cli-commands/npm-install) +* [npm install](/cli-commands/install) diff --git a/deps/npm/docs/public/cli-commands/npm-access/index.html b/deps/npm/docs/public/cli-commands/npm-access/index.html index 925113b9b8e9..42d6d5374f26 100644 --- a/deps/npm/docs/public/cli-commands/npm-access/index.html +++ b/deps/npm/docs/public/cli-commands/npm-access/index.html @@ -74,7 +74,7 @@ } } }) -

npm access

+

npm access

Set access level on published packages

Synopsis

npm access public [<package>]
@@ -137,9 +137,9 @@ 

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-adduser/index.html b/deps/npm/docs/public/cli-commands/npm-adduser/index.html index 38de0b0d9a8b..755c36040bf4 100644 --- a/deps/npm/docs/public/cli-commands/npm-adduser/index.html +++ b/deps/npm/docs/public/cli-commands/npm-adduser/index.html @@ -74,7 +74,7 @@ } } }) -

+

section: cli-commands title: npm-adduser description: Set access level on published packages

@@ -132,10 +132,10 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-audit/index.html b/deps/npm/docs/public/cli-commands/npm-audit/index.html index 38e49d8acfd5..af60442b3d8b 100644 --- a/deps/npm/docs/public/cli-commands/npm-audit/index.html +++ b/deps/npm/docs/public/cli-commands/npm-audit/index.html @@ -74,7 +74,7 @@ } } }) -

npm audit

+

npm audit

Run a security audit

Synopsis

npm audit [--json|--parseable|--audit-level=(low|moderate|high|critical)]
@@ -155,7 +155,7 @@ 

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-bin/index.html b/deps/npm/docs/public/cli-commands/npm-bin/index.html index 9ab0c902e28d..a90382b1fa30 100644 --- a/deps/npm/docs/public/cli-commands/npm-bin/index.html +++ b/deps/npm/docs/public/cli-commands/npm-bin/index.html @@ -74,7 +74,7 @@ } } }) -

npm bin

+

npm bin

Display npm bin folder

Synopsis

npm bin [-g|--global]
@@ -82,10 +82,10 @@

Print the folder where npm will install executables.

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-bugs/index.html b/deps/npm/docs/public/cli-commands/npm-bugs/index.html index 2be442a22d22..abdf2358c207 100644 --- a/deps/npm/docs/public/cli-commands/npm-bugs/index.html +++ b/deps/npm/docs/public/cli-commands/npm-bugs/index.html @@ -74,7 +74,7 @@ } } }) -

npm bugs

+

npm bugs

Bugs for a package in a web browser maybe

Synopsis

npm bugs [<pkgname>]
@@ -100,11 +100,11 @@ 

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-build/index.html b/deps/npm/docs/public/cli-commands/npm-build/index.html index 8e1a7d49e312..d62835342020 100644 --- a/deps/npm/docs/public/cli-commands/npm-build/index.html +++ b/deps/npm/docs/public/cli-commands/npm-build/index.html @@ -74,7 +74,7 @@ } } }) -

npm build

+

npm build

Build a package

Synopsis

npm build [<package-folder>]
@@ -89,8 +89,8 @@

    npm run-script build

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-bundle/index.html b/deps/npm/docs/public/cli-commands/npm-bundle/index.html index 4860ead9435e..1d2afb83593e 100644 --- a/deps/npm/docs/public/cli-commands/npm-bundle/index.html +++ b/deps/npm/docs/public/cli-commands/npm-bundle/index.html @@ -74,7 +74,7 @@ } } }) -

npm bundle

+

npm bundle

REMOVED

Description

The npm bundle command has been removed in 1.0, for the simple reason @@ -83,7 +83,7 @@

Just use npm install now to do what npm bundle used to do.

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-cache/index.html b/deps/npm/docs/public/cli-commands/npm-cache/index.html index ae8d90e7b63b..f60c5bdab9a2 100644 --- a/deps/npm/docs/public/cli-commands/npm-cache/index.html +++ b/deps/npm/docs/public/cli-commands/npm-cache/index.html @@ -74,7 +74,7 @@ } } }) -

npm cache

+

npm cache

Manipulates packages cache

Synopsis

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-ci/index.html b/deps/npm/docs/public/cli-commands/npm-ci/index.html index fd0561cfc04e..d502204291cb 100644 --- a/deps/npm/docs/public/cli-commands/npm-ci/index.html +++ b/deps/npm/docs/public/cli-commands/npm-ci/index.html @@ -74,7 +74,7 @@ } } }) -

npm ci

+

npm ci

Install a project with a clean slate

Synopsis

npm ci
@@ -96,7 +96,7 @@

"$HOME/.npm"

Description

-

This command is similar to npm install, except it's meant to be used in +

This command is similar to npm install, except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment -- or any situation where you want to make sure you're doing a clean install of your dependencies. It can be significantly faster than a regular npm @@ -113,7 +113,7 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-completion/index.html b/deps/npm/docs/public/cli-commands/npm-completion/index.html index a97a27f53f49..e97603b0ab3c 100644 --- a/deps/npm/docs/public/cli-commands/npm-completion/index.html +++ b/deps/npm/docs/public/cli-commands/npm-completion/index.html @@ -74,7 +74,7 @@ } } }) -

npm completion

+

npm completion

Tab Completion for npm

Synopsis

source <(npm completion)
@@ -104,4 +104,4 @@

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-config/index.html b/deps/npm/docs/public/cli-commands/npm-config/index.html index 445ffb15f02d..0af6041b1384 100644 --- a/deps/npm/docs/public/cli-commands/npm-config/index.html +++ b/deps/npm/docs/public/cli-commands/npm-config/index.html @@ -74,7 +74,7 @@ } } }) -

npm config

+

npm config

Manage the npm configuration files

Synopsis

npm config set <key> <value> [-g|--global]
@@ -117,7 +117,7 @@ 

See Also

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-dedupe/index.html b/deps/npm/docs/public/cli-commands/npm-dedupe/index.html index 617444b4bda9..6e9e8cca40b8 100644 --- a/deps/npm/docs/public/cli-commands/npm-dedupe/index.html +++ b/deps/npm/docs/public/cli-commands/npm-dedupe/index.html @@ -74,7 +74,7 @@ } } }) -

npm dedupe

+

npm dedupe

Reduce duplication

Synopsis

npm dedupe
@@ -111,9 +111,9 @@ 

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-deprecate/index.html b/deps/npm/docs/public/cli-commands/npm-deprecate/index.html index 188fe3ecfe2d..18996ef9a79b 100644 --- a/deps/npm/docs/public/cli-commands/npm-deprecate/index.html +++ b/deps/npm/docs/public/cli-commands/npm-deprecate/index.html @@ -74,7 +74,7 @@ } } }) -

npm deprecate

+

npm deprecate

Deprecate a version of a package

Synopsis

npm deprecate <pkg>[@<version>] <message>
@@ -91,7 +91,7 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html b/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html index d5644af8ace9..6a79d5c45dfa 100644 --- a/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html +++ b/deps/npm/docs/public/cli-commands/npm-dist-tag/index.html @@ -74,7 +74,7 @@ } } }) -

+

section: cli-commands title: npm-dist-tag description: Modify package distribution tags

@@ -136,11 +136,11 @@

v.

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-docs/index.html b/deps/npm/docs/public/cli-commands/npm-docs/index.html index 1ce1101b8f38..f83c2dcc9190 100644 --- a/deps/npm/docs/public/cli-commands/npm-docs/index.html +++ b/deps/npm/docs/public/cli-commands/npm-docs/index.html @@ -74,7 +74,7 @@ } } }) -

npm docs

+

npm docs

Docs for a package in a web browser maybe

Synopsis

npm docs [<pkgname> [<pkgname> ...]]
@@ -102,10 +102,10 @@ 

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-doctor/index.html b/deps/npm/docs/public/cli-commands/npm-doctor/index.html index 8d7a375fd383..af07d1dc13dd 100644 --- a/deps/npm/docs/public/cli-commands/npm-doctor/index.html +++ b/deps/npm/docs/public/cli-commands/npm-doctor/index.html @@ -74,7 +74,7 @@ } } }) -

npm doctor

+

npm doctor

Check your environments

Synopsis

npm doctor
@@ -153,9 +153,9 @@

npm cache clean and reset the cache.

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-edit/index.html b/deps/npm/docs/public/cli-commands/npm-edit/index.html index 54e32d0a5dbb..5637ae9b937f 100644 --- a/deps/npm/docs/public/cli-commands/npm-edit/index.html +++ b/deps/npm/docs/public/cli-commands/npm-edit/index.html @@ -74,7 +74,7 @@ } } }) -

npm edit

+

npm edit

Edit an installed package

Synopsis

npm edit <pkg>[/<subpkg>...]
@@ -99,9 +99,9 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-explore/index.html b/deps/npm/docs/public/cli-commands/npm-explore/index.html index 45fdf5557d58..b303ef87fa6a 100644 --- a/deps/npm/docs/public/cli-commands/npm-explore/index.html +++ b/deps/npm/docs/public/cli-commands/npm-explore/index.html @@ -74,7 +74,7 @@ } } }) -

+

section: cli-commands title: npm-explore description: Browse an installed package

@@ -103,10 +103,10 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-fund/index.html b/deps/npm/docs/public/cli-commands/npm-fund/index.html index a924adfadaed..6316163ea625 100644 --- a/deps/npm/docs/public/cli-commands/npm-fund/index.html +++ b/deps/npm/docs/public/cli-commands/npm-fund/index.html @@ -74,7 +74,7 @@ } } }) -

npm fund

+

npm fund

Retrieve funding information

Synopsis

    npm fund [<pkg>]
@@ -117,10 +117,10 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-help-search/index.html b/deps/npm/docs/public/cli-commands/npm-help-search/index.html index ba2f9d323b12..7d14ad4482c3 100644 --- a/deps/npm/docs/public/cli-commands/npm-help-search/index.html +++ b/deps/npm/docs/public/cli-commands/npm-help-search/index.html @@ -74,7 +74,7 @@ } } }) -

npm help-search

+

npm help-search

Search npm help documentation

Synopsis

npm help-search <text>
@@ -97,7 +97,7 @@

See Also

👀 Found a typo? Let us know!

The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

\ No newline at end of file +
\ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-help/index.html b/deps/npm/docs/public/cli-commands/npm-help/index.html index f547a63b990d..ccb5a130407f 100644 --- a/deps/npm/docs/public/cli-commands/npm-help/index.html +++ b/deps/npm/docs/public/cli-commands/npm-help/index.html @@ -74,7 +74,7 @@ } } }) -

npm help

+

npm help

Get help on npm

Synopsis

npm help <term> [<terms..>]
@@ -96,10 +96,10 @@

npm
  • npm folders
  • -
  • npm config
  • +
  • npm config
  • npmrc
  • package.json
  • -
  • npm help-search
  • +
  • npm help-search
  • 👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-hook/index.html b/deps/npm/docs/public/cli-commands/npm-hook/index.html index de18367b6a74..bce71b0de492 100644 --- a/deps/npm/docs/public/cli-commands/npm-hook/index.html +++ b/deps/npm/docs/public/cli-commands/npm-hook/index.html @@ -74,7 +74,7 @@ } } }) -

    npm hook

    +

    npm hook

    Manage registry hooks

    Synopsis

    npm hook ls [pkg]
    @@ -119,4 +119,4 @@ 

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-init/index.html b/deps/npm/docs/public/cli-commands/npm-init/index.html index 436d4865354c..534721f110b3 100644 --- a/deps/npm/docs/public/cli-commands/npm-init/index.html +++ b/deps/npm/docs/public/cli-commands/npm-init/index.html @@ -74,7 +74,7 @@ } } }) -

    npm init

    +

    npm init

    create a package.json file

    Synopsis

    npm init [--force|-f|--yes|-y|--scope]
    @@ -117,7 +117,7 @@ 

    https://github.com/isaacs/init-package-json
  • package.json
  • -
  • npm version
  • +
  • npm version
  • npm scope
  • 👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html b/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html index 5e4f7b005d1e..b44a6c6569b2 100644 --- a/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html +++ b/deps/npm/docs/public/cli-commands/npm-install-ci-test/index.html @@ -74,7 +74,7 @@ } } }) -

    npm install-ci-test

    +

    npm install-ci-test

    Install a project with a clean slate and run tests

    Synopsis

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-install-test/index.html b/deps/npm/docs/public/cli-commands/npm-install-test/index.html index 3f2748ab4963..ca4592503462 100644 --- a/deps/npm/docs/public/cli-commands/npm-install-test/index.html +++ b/deps/npm/docs/public/cli-commands/npm-install-test/index.html @@ -74,7 +74,7 @@ } } }) -

    npm install-test

    +

    npm install-test

    Install package(s) and run tests

    Synopsis

    npm install-test (with no args, in package dir)
    @@ -93,8 +93,8 @@ 

    npm install.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-install/index.html b/deps/npm/docs/public/cli-commands/npm-install/index.html index 81db8d705a57..c809fc102b07 100644 --- a/deps/npm/docs/public/cli-commands/npm-install/index.html +++ b/deps/npm/docs/public/cli-commands/npm-install/index.html @@ -74,7 +74,7 @@ } } }) -

    npm install

    +

    npm install

    Install a package

    Synopsis

    npm install (with no args, in package dir)
    @@ -95,14 +95,14 @@ 

    This command installs a package, and any packages that it depends on. If the package has a package-lock or shrinkwrap file, the installation of dependencies will be driven by that, with an npm-shrinkwrap.json taking precedence if both -files exist. See package-lock.json and npm shrinkwrap.

    +files exist. See package-lock.json and npm shrinkwrap.

    A package is:

    • a) a folder containing a program described by a package.json file
    • b) a gzipped tarball containing (a)
    • c) a url that resolves to (b)
    • d) a <name>@<version> that is published on the registry (see registry) with (c)
    • -
    • e) a <name>@<tag> (see npm dist-tag) that points to (d)
    • +
    • e) a <name>@<tag> (see npm dist-tag) that points to (d)
    • f) a <name> that has a "latest" tag satisfying (e)
    • g) a <git remote url> that resolves to (a)
    @@ -447,19 +447,19 @@

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-link/index.html b/deps/npm/docs/public/cli-commands/npm-link/index.html index a4f7fcee9147..1b0a4516ea94 100644 --- a/deps/npm/docs/public/cli-commands/npm-link/index.html +++ b/deps/npm/docs/public/cli-commands/npm-link/index.html @@ -74,7 +74,7 @@ } } }) -

    npm link

    +

    npm link

    Synopsis

    npm link (in package dir)
    @@ -123,9 +123,9 @@ 

    npm developers
  • package.json
  • -
  • npm- nstall
  • +
  • npm- nstall
  • npm folders
  • -
  • npm config
  • +
  • npm config
  • npmrc
  • 👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-logout/index.html b/deps/npm/docs/public/cli-commands/npm-logout/index.html index 3168c941901e..3ed2e62a05a4 100644 --- a/deps/npm/docs/public/cli-commands/npm-logout/index.html +++ b/deps/npm/docs/public/cli-commands/npm-logout/index.html @@ -74,7 +74,7 @@ } } }) -

    npm logout

    +

    npm logout

    Log out of the registry

    Synopsis

    npm logout [--registry=<url>] [--scope=<@scope>]
    @@ -98,10 +98,10 @@

    npm logout --scope=@myco

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-ls/index.html b/deps/npm/docs/public/cli-commands/npm-ls/index.html index 60e60c921ad3..3cc086aace51 100644 --- a/deps/npm/docs/public/cli-commands/npm-ls/index.html +++ b/deps/npm/docs/public/cli-commands/npm-ls/index.html @@ -74,7 +74,7 @@ } } }) -

    npm ls

    +

    npm ls

    List installed packages

    Synopsis

    npm ls [[<@scope>/]<pkg> ...]
    @@ -87,7 +87,7 @@ 

    also show the paths to the specified packages. For example, running npm ls promzard in npm's source tree will show:

    -

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-org/index.html b/deps/npm/docs/public/cli-commands/npm-org/index.html index 6ca3da7e3197..c522ab4571b5 100644 --- a/deps/npm/docs/public/cli-commands/npm-org/index.html +++ b/deps/npm/docs/public/cli-commands/npm-org/index.html @@ -74,7 +74,7 @@ } } }) -

    npm org

    +

    npm org

    Manage orgs

    Synopsis

    npm org set <orgname> <username> [developer | admin | owner]
    @@ -107,4 +107,4 @@ 

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-outdated/index.html b/deps/npm/docs/public/cli-commands/npm-outdated/index.html index a9764a487afd..270d8ed1417a 100644 --- a/deps/npm/docs/public/cli-commands/npm-outdated/index.html +++ b/deps/npm/docs/public/cli-commands/npm-outdated/index.html @@ -74,7 +74,7 @@ } } }) -

    npm outdated

    +

    npm outdated

    Check for outdated packages

    Synopsis

    npm outdated [[<@scope>/]<pkg> ...]
    @@ -167,8 +167,8 @@

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-owner/index.html b/deps/npm/docs/public/cli-commands/npm-owner/index.html index 7eb600b8972e..2d2a9205b791 100644 --- a/deps/npm/docs/public/cli-commands/npm-owner/index.html +++ b/deps/npm/docs/public/cli-commands/npm-owner/index.html @@ -74,7 +74,7 @@ } } }) -

    npm owner

    +

    npm owner

    Manage package owners

    Synopsis

    npm owner add <user> [<@scope>/]<pkg>
    @@ -103,9 +103,9 @@ 

    --otp.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-pack/index.html b/deps/npm/docs/public/cli-commands/npm-pack/index.html index f0920804fde8..c17aa71cea73 100644 --- a/deps/npm/docs/public/cli-commands/npm-pack/index.html +++ b/deps/npm/docs/public/cli-commands/npm-pack/index.html @@ -74,7 +74,7 @@ } } }) -

    npm pack

    +

    npm pack

    Create a tarball from a package

    Synopsis

    npm pack [[<@scope>/]<pkg>...] [--dry-run]
    @@ -91,9 +91,9 @@

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-ping/index.html b/deps/npm/docs/public/cli-commands/npm-ping/index.html index a3c47f6d5cf5..12d116088d3a 100644 --- a/deps/npm/docs/public/cli-commands/npm-ping/index.html +++ b/deps/npm/docs/public/cli-commands/npm-ping/index.html @@ -74,7 +74,7 @@ } } }) -

    npm ping

    +

    npm ping

    Ping npm registry

    Synopsis

    npm ping [--registry <registry>]
    @@ -86,7 +86,7 @@

    Ping error: {*Detail about error}

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-prefix/index.html b/deps/npm/docs/public/cli-commands/npm-prefix/index.html index bd592f89e1b8..6d181e522ded 100644 --- a/deps/npm/docs/public/cli-commands/npm-prefix/index.html +++ b/deps/npm/docs/public/cli-commands/npm-prefix/index.html @@ -74,7 +74,7 @@ } } }) -

    npm prefix

    +

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-profile/index.html b/deps/npm/docs/public/cli-commands/npm-profile/index.html index ae212cc643e9..2be07fe468bd 100644 --- a/deps/npm/docs/public/cli-commands/npm-profile/index.html +++ b/deps/npm/docs/public/cli-commands/npm-profile/index.html @@ -74,7 +74,7 @@ } } }) -

    npm profile

    +

    npm profile

    Change settings on your registry profile

    Synopsis

    npm profile get [--json|--parseable] [<property>]
    @@ -140,7 +140,7 @@ 

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-prune/index.html b/deps/npm/docs/public/cli-commands/npm-prune/index.html index aa9972bf58d0..9acabd16d78b 100644 --- a/deps/npm/docs/public/cli-commands/npm-prune/index.html +++ b/deps/npm/docs/public/cli-commands/npm-prune/index.html @@ -74,7 +74,7 @@ } } }) -

    npm prune

    +

    npm prune

    Remove extraneous packages

    Synopsis

    npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
    @@ -98,9 +98,9 @@

    npm prune from time-to-time to remove them.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-publish/index.html b/deps/npm/docs/public/cli-commands/npm-publish/index.html index 9d163ecb6640..12adfb432ac4 100644 --- a/deps/npm/docs/public/cli-commands/npm-publish/index.html +++ b/deps/npm/docs/public/cli-commands/npm-publish/index.html @@ -74,7 +74,7 @@ } } }) -

    npm publish

    +

    npm publish

    Publish a package

    Synopsis

    npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run]
    @@ -117,11 +117,11 @@ 

    Once a package is published with a given name and version, that specific name and version combination can never be used again, even if -it is removed with npm unpublish.

    +it is removed with npm unpublish.

    As of npm@5, both a sha1sum and an integrity field with a sha512sum of the tarball will be submitted to the registry during publication. Subsequent installs will use the strongest supported algorithm to verify downloads.

    -

    Similar to --dry-run see npm pack, which figures out the files to be +

    Similar to --dry-run see npm pack, which figures out the files to be included and packs them into a tarball to be uploaded to the registry.

    See Also

      @@ -140,4 +140,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-rebuild/index.html b/deps/npm/docs/public/cli-commands/npm-rebuild/index.html index a5252346e9eb..a1544c2c7cc2 100644 --- a/deps/npm/docs/public/cli-commands/npm-rebuild/index.html +++ b/deps/npm/docs/public/cli-commands/npm-rebuild/index.html @@ -74,7 +74,7 @@ } } }) -

    npm rebuild

    +

    npm rebuild

    Rebuild a package

    Synopsis

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-repo/index.html b/deps/npm/docs/public/cli-commands/npm-repo/index.html index 4eae022c2d1c..479482c78b6c 100644 --- a/deps/npm/docs/public/cli-commands/npm-repo/index.html +++ b/deps/npm/docs/public/cli-commands/npm-repo/index.html @@ -74,7 +74,7 @@ } } }) -

    npm repo

    +

    npm repo

    Open package repository page in the browser

    Synopsis

    npm repo [<pkg>]
    @@ -92,8 +92,8 @@

    npm repo command to open websites.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-restart/index.html b/deps/npm/docs/public/cli-commands/npm-restart/index.html index 3c7836d05063..7b15c970ea63 100644 --- a/deps/npm/docs/public/cli-commands/npm-restart/index.html +++ b/deps/npm/docs/public/cli-commands/npm-restart/index.html @@ -74,7 +74,7 @@ } } }) -

    npm restart

    +

    npm restart

    Restart a package

    Synopsis

    npm restart [-- <args>]
    @@ -100,12 +100,12 @@

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-root/index.html b/deps/npm/docs/public/cli-commands/npm-root/index.html index a26538db7c89..5dff9f57139a 100644 --- a/deps/npm/docs/public/cli-commands/npm-root/index.html +++ b/deps/npm/docs/public/cli-commands/npm-root/index.html @@ -74,7 +74,7 @@ } } }) -

    npm root

    +

    npm root

    Display npm root

    Synopsis

    npm root [-g]
    @@ -82,10 +82,10 @@

    Print the effective node_modules folder to standard out.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-run-script/index.html b/deps/npm/docs/public/cli-commands/npm-run-script/index.html index 4575220b5414..154359086264 100644 --- a/deps/npm/docs/public/cli-commands/npm-run-script/index.html +++ b/deps/npm/docs/public/cli-commands/npm-run-script/index.html @@ -74,7 +74,7 @@ } } }) -

    npm run-script

    +

    npm run-script

    Run arbitrary package scripts

    Synopsis

    npm run-script <command> [--silent] [-- <args>...]
    @@ -131,11 +131,11 @@ 

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-search/index.html b/deps/npm/docs/public/cli-commands/npm-search/index.html index 1c44fd0cbf4c..beb2c3449b0e 100644 --- a/deps/npm/docs/public/cli-commands/npm-search/index.html +++ b/deps/npm/docs/public/cli-commands/npm-search/index.html @@ -74,7 +74,7 @@ } } }) -

    npm search

    +

    npm search

    Search for packages

    Synopsis

    npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...]
    @@ -158,9 +158,9 @@ 

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html b/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html index aeb9ab9a9d57..f3de0a29e8f1 100644 --- a/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html +++ b/deps/npm/docs/public/cli-commands/npm-shrinkwrap/index.html @@ -74,7 +74,7 @@ } } }) -

    npm shrinkwrap

    +

    npm shrinkwrap

    Lock down dependency versions for publication

    Synopsis

    npm shrinkwrap
    @@ -86,14 +86,14 @@

    package-locks.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-star/index.html b/deps/npm/docs/public/cli-commands/npm-star/index.html index 641b39795e0a..ea0fbdb1988d 100644 --- a/deps/npm/docs/public/cli-commands/npm-star/index.html +++ b/deps/npm/docs/public/cli-commands/npm-star/index.html @@ -74,7 +74,7 @@ } } }) -

    npm star

    +

    npm star

    Mark your favorite packages

    Synopsis

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-stars/index.html b/deps/npm/docs/public/cli-commands/npm-stars/index.html index 821469b4585e..ae9d0a68c5b0 100644 --- a/deps/npm/docs/public/cli-commands/npm-stars/index.html +++ b/deps/npm/docs/public/cli-commands/npm-stars/index.html @@ -74,7 +74,7 @@ } } }) -

    npm stars

    +

    npm stars

    View packages marked as favorites

    Synopsis

    npm stars [<user>]
    @@ -85,10 +85,10 @@

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-start/index.html b/deps/npm/docs/public/cli-commands/npm-start/index.html index 3cc8120bd3b8..38a286bf5391 100644 --- a/deps/npm/docs/public/cli-commands/npm-start/index.html +++ b/deps/npm/docs/public/cli-commands/npm-start/index.html @@ -74,7 +74,7 @@ } } }) -

    npm start

    +

    npm start

    Start a package

    Synopsis

    npm start [-- <args>]
    @@ -83,14 +83,14 @@

    "scripts" object. If no "start" property is specified on the "scripts" object, it will run node server.js.

    As of npm@2.0.0, you can -use custom arguments when executing scripts. Refer to npm run-script for more details.

    +use custom arguments when executing scripts. Refer to npm run-script for more details.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-stop/index.html b/deps/npm/docs/public/cli-commands/npm-stop/index.html index 94c7b6861645..be1fd5d5108e 100644 --- a/deps/npm/docs/public/cli-commands/npm-stop/index.html +++ b/deps/npm/docs/public/cli-commands/npm-stop/index.html @@ -74,7 +74,7 @@ } } }) -

    npm stop

    +

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-team/index.html b/deps/npm/docs/public/cli-commands/npm-team/index.html index b8af3c5821bb..438c0af40fa4 100644 --- a/deps/npm/docs/public/cli-commands/npm-team/index.html +++ b/deps/npm/docs/public/cli-commands/npm-team/index.html @@ -74,7 +74,7 @@ } } }) -

    npm team

    +

    npm team

    Manage organization teams and team memberships

    Synopsis

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-test/index.html b/deps/npm/docs/public/cli-commands/npm-test/index.html index f65035e5b245..0e509da74b22 100644 --- a/deps/npm/docs/public/cli-commands/npm-test/index.html +++ b/deps/npm/docs/public/cli-commands/npm-test/index.html @@ -74,7 +74,7 @@ } } }) -

    npm test

    +

    npm test

    Test a package

    Synopsis

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-token/index.html b/deps/npm/docs/public/cli-commands/npm-token/index.html index f94d350e8dc9..16d94a6d7176 100644 --- a/deps/npm/docs/public/cli-commands/npm-token/index.html +++ b/deps/npm/docs/public/cli-commands/npm-token/index.html @@ -74,7 +74,7 @@ } } }) -

    npm token

    +

    npm token

    Manage your authentication tokens

    Synopsis

      npm token list [--json|--parseable]
    @@ -133,4 +133,4 @@ 

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-uninstall/index.html b/deps/npm/docs/public/cli-commands/npm-uninstall/index.html index 80f165f90dd7..9264061d7c35 100644 --- a/deps/npm/docs/public/cli-commands/npm-uninstall/index.html +++ b/deps/npm/docs/public/cli-commands/npm-uninstall/index.html @@ -74,7 +74,7 @@ } } }) -

    npm uninstall

    +

    npm uninstall

    Remove a package

    Synopsis

    npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|-D|--save-dev|-O|--save-optional|--no-save]
    @@ -106,10 +106,10 @@ 

    npm uninstall lodash --no-save

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-unpublish/index.html b/deps/npm/docs/public/cli-commands/npm-unpublish/index.html index 7f42a97a7def..ae663f1eb94f 100644 --- a/deps/npm/docs/public/cli-commands/npm-unpublish/index.html +++ b/deps/npm/docs/public/cli-commands/npm-unpublish/index.html @@ -74,16 +74,15 @@ } } }) -

    npm unpublish

    +

    npm unpublish

    Remove a package from the registry

    Synopsis

    -
    npm unpublish [<@scope>/]<pkg>[@<version>]
    +

    Unpublishing a single version of a package

    +
    npm unpublish [<@scope>/]<pkg>@<version>
    +

    Unpublishing an entire package

    +
    npm unpublish [<@scope>/]<pkg> --force

    Warning

    -

    It is generally considered bad behavior to remove versions of a library -that others are depending on!

    -

    Consider using the deprecate command -instead, if your intent is to encourage users to upgrade.

    -

    There is plenty of room on the registry.

    +

    Consider using the deprecate command instead, if your intent is to encourage users to upgrade, or if you no longer want to maintain a package.

    Description

    This removes a package version from the registry, deleting its entry and removing the tarball.

    @@ -91,21 +90,15 @@

    Even if a package version is unpublished, that specific name and version combination can never be reused. In order to publish the -package again, a new version number must be used. Additionally, -new versions of packages with every version unpublished may not -be republished until 24 hours have passed.

    -

    With the default registry (registry.npmjs.org), unpublish is -only allowed with versions published in the last 72 hours. If you -are trying to unpublish a version published longer ago than that, -contact support@npmjs.com.

    -

    The scope is optional and follows the usual rules for scope.

    +package again, a new version number must be used. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed.

    +

    To learn more about how unpublish is treated on the npm registry, see our unpublish policies.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-update/index.html b/deps/npm/docs/public/cli-commands/npm-update/index.html index 2f81638b91dd..19e83c6baf52 100644 --- a/deps/npm/docs/public/cli-commands/npm-update/index.html +++ b/deps/npm/docs/public/cli-commands/npm-update/index.html @@ -74,7 +74,7 @@ } } }) -

    npm update

    +

    npm update

    Update a package

    Synopsis

    npm update [-g] [<pkg>...]
    @@ -148,17 +148,18 @@ 

    Updating Globally-Installed Packages

    npm update -g will apply the update action to each globally installed package that is outdated -- that is, has a version that is different from -latest.

    +wanted.

    +

    Note: Globally installed packages are treated as if they are installed with a caret semver range specified. So if you require to update to latest you may need to run npm install -g [<pkg>...]

    NOTE: If a package has been upgraded to a version newer than latest, it will be downgraded.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-version/index.html b/deps/npm/docs/public/cli-commands/npm-version/index.html index 047c689cf300..59d72822ff95 100644 --- a/deps/npm/docs/public/cli-commands/npm-version/index.html +++ b/deps/npm/docs/public/cli-commands/npm-version/index.html @@ -74,7 +74,7 @@ } } }) -

    npm version

    +

    npm version

    Bump a package version

    Synopsis

    npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
    @@ -167,8 +167,8 @@ 

    Note that you must have a default GPG key set up in your git config for this to work properly.

    See Also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-view/index.html b/deps/npm/docs/public/cli-commands/npm-view/index.html index 23115f84ff61..3fc7a4bd29fb 100644 --- a/deps/npm/docs/public/cli-commands/npm-view/index.html +++ b/deps/npm/docs/public/cli-commands/npm-view/index.html @@ -74,7 +74,7 @@ } } }) -

    npm view

    +

    npm view

    View registry info

    Synopsis

    npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
    @@ -133,11 +133,11 @@ 

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm-whoami/index.html b/deps/npm/docs/public/cli-commands/npm-whoami/index.html index aca97476eb19..30f978f3423b 100644 --- a/deps/npm/docs/public/cli-commands/npm-whoami/index.html +++ b/deps/npm/docs/public/cli-commands/npm-whoami/index.html @@ -74,7 +74,7 @@ } } }) -

    npm whoami

    +

    npm whoami

    Display npm username

    Synopsis

    npm whoami [--registry <registry>]
    @@ -82,9 +82,9 @@

    Print the username config to standard output.

    See Also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/cli-commands/npm/index.html b/deps/npm/docs/public/cli-commands/npm/index.html index 610982c2e0d8..bfb6cd559117 100644 --- a/deps/npm/docs/public/cli-commands/npm/index.html +++ b/deps/npm/docs/public/cli-commands/npm/index.html @@ -74,12 +74,12 @@ } } }) -

    npm

    +

    npm

    javascript package manager

    Synopsis

    npm <command> [args]

    Version

    -

    6.14.1

    +

    6.14.3

    Description

    npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency @@ -211,4 +211,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/folders/index.html b/deps/npm/docs/public/configuring-npm/folders/index.html index 3e94c99b2ce6..af6b56d09bd7 100644 --- a/deps/npm/docs/public/configuring-npm/folders/index.html +++ b/deps/npm/docs/public/configuring-npm/folders/index.html @@ -74,7 +74,7 @@ } } }) -

    folders

    +

    folders

    Folder Structures Used by npm

    Description

    npm puts various things on your computer. That's its job.

    @@ -122,7 +122,7 @@

    Cache

    -

    See npm cache. Cache files are stored in ~/.npm on Posix, or +

    See npm cache. Cache files are stored in ~/.npm on Posix, or %AppData%/npm-cache on Windows.

    This is controlled by the cache configuration param.

    Temp Files

    @@ -226,13 +226,13 @@

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/install/index.html b/deps/npm/docs/public/configuring-npm/install/index.html index 2b9dee47e6dc..f36bcf6c3606 100644 --- a/deps/npm/docs/public/configuring-npm/install/index.html +++ b/deps/npm/docs/public/configuring-npm/install/index.html @@ -74,7 +74,7 @@ } } }) -

    install

    +

    install

    Download and Install npm

    Description

    To publish and install packages to and from the public npm registry, you must install Node.js and the npm command line interface using either a Node version manager or a Node installer. We strongly recommend using a Node version manager to install Node.js and npm. We do not recommend using a Node installer, since the Node installation process installs npm in a directory with local permissions and can cause permissions errors when you run npm packages globally.

    @@ -123,4 +123,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/npmrc/index.html b/deps/npm/docs/public/configuring-npm/npmrc/index.html index b7fed53c9059..a05313359580 100644 --- a/deps/npm/docs/public/configuring-npm/npmrc/index.html +++ b/deps/npm/docs/public/configuring-npm/npmrc/index.html @@ -74,7 +74,7 @@ } } }) -

    npmrc

    +

    npmrc

    The npm config files

    Description

    npm gets its config settings from the command line, environment @@ -134,7 +134,7 @@

    See also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/package-json/index.html b/deps/npm/docs/public/configuring-npm/package-json/index.html index ef1025e327d9..c4f28223828a 100644 --- a/deps/npm/docs/public/configuring-npm/package-json/index.html +++ b/deps/npm/docs/public/configuring-npm/package-json/index.html @@ -74,7 +74,7 @@ } } }) -

    package.json

    +

    package.json

    Specifics of npm's package.json handling

    Description

    This document is all you need to know about what's required in your package.json @@ -440,7 +440,7 @@

    range1 || range2 Passes if either range1 or range2 are satisfied.
  • git... See 'Git URLs as Dependencies' below
  • user/repo See 'GitHub URLs' below
  • -
  • tag A specific version tagged and published as tag See npm dist-tag
  • +
  • tag A specific version tagged and published as tag See npm dist-tag
  • path/path/path See Local Paths below
  • For example, these are all valid:

    @@ -699,13 +699,13 @@

    SEE ALSO

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/package-lock-json/index.html b/deps/npm/docs/public/configuring-npm/package-lock-json/index.html index 7256154fe32d..b1922b55d44d 100644 --- a/deps/npm/docs/public/configuring-npm/package-lock-json/index.html +++ b/deps/npm/docs/public/configuring-npm/package-lock-json/index.html @@ -74,7 +74,7 @@ } } }) -

    package-lock.json

    +

    package-lock.json

    A manifestation of the manifest

    Description

    package-lock.json is automatically generated for any operations where npm @@ -174,11 +174,11 @@

    The dependencies of this dependency, exactly as at the top level.

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/package-locks/index.html b/deps/npm/docs/public/configuring-npm/package-locks/index.html index 16fdc3eeea2c..9ca424f40d2d 100644 --- a/deps/npm/docs/public/configuring-npm/package-locks/index.html +++ b/deps/npm/docs/public/configuring-npm/package-locks/index.html @@ -74,10 +74,10 @@ } } }) -

    package-locks

    +

    package-locks

    An explanation of npm lockfiles

    Description

    -

    Conceptually, the "input" to npm install is a package.json, while its +

    Conceptually, the "input" to npm install is a package.json, while its "output" is a fully-formed node_modules tree: a representation of the dependencies you declared. In an ideal world, npm would work like a pure function: the same package.json should produce the exact same node_modules @@ -206,7 +206,7 @@

    package.json
  • package-lock.json
  • shrinkwrap.json
  • -
  • npm shrinkwrap
  • +
  • npm shrinkwrap
  • 👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html b/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html index 1f0ac45677ee..95d88d30a599 100644 --- a/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html +++ b/deps/npm/docs/public/configuring-npm/shrinkwrap-json/index.html @@ -74,10 +74,10 @@ } } }) -

    npm shrinkwrap.json

    +

    npm shrinkwrap.json

    A publishable lockfile

    Description

    -

    npm-shrinkwrap.json is a file created by npm shrinkwrap. It is identical to +

    npm-shrinkwrap.json is a file created by npm shrinkwrap. It is identical to package-lock.json, with one major caveat: Unlike package-lock.json, npm-shrinkwrap.json may be included when publishing a package.

    The recommended use-case for npm-shrinkwrap.json is applications deployed @@ -91,10 +91,10 @@

    package-lock.json.

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/index.html b/deps/npm/docs/public/index.html index 8b66aab22a45..265bf4ca533d 100644 --- a/deps/npm/docs/public/index.html +++ b/deps/npm/docs/public/index.html @@ -128,4 +128,4 @@ } } }) -
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!

    The current stable version of npm is available on GitHub.

    To upgrade, run: npm install npm@latest -g

    \ No newline at end of file +
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!
    npm cli _
    The intelligent package manager for the Node Javascript Platform. Install stuff and get coding!

    The current stable version of npm is available on GitHub.

    To upgrade, run: npm install npm@latest -g

    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/config/index.html b/deps/npm/docs/public/using-npm/config/index.html index 14b2f75498ec..fa60cc1ed1ca 100644 --- a/deps/npm/docs/public/using-npm/config/index.html +++ b/deps/npm/docs/public/using-npm/config/index.html @@ -74,7 +74,7 @@ } } }) -

    config

    +

    config

    More than you probably want to know about npm configuration

    Description

    npm gets its configuration values from the following sources, sorted by priority:

    @@ -207,7 +207,7 @@

    npm install runs to the default registry and all registries configured for scopes. See the documentation -for npm audit for details on what is submitted.

    +for npm audit for details on what is submitted.

    audit-level

    -

    The location of npm's cache directory. See npm cache

    +

    The location of npm's cache directory. See npm cache

    cache-lock-stale

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/developers/index.html b/deps/npm/docs/public/using-npm/developers/index.html index 98b491cb57a7..16dfd872f013 100644 --- a/deps/npm/docs/public/using-npm/developers/index.html +++ b/deps/npm/docs/public/using-npm/developers/index.html @@ -74,7 +74,7 @@ } } }) -

    developers

    +

    developers

    Developer Guide

    Description

    So, you've decided to use npm to develop (and maybe publish/deploy) @@ -259,4 +259,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/disputes/index.html b/deps/npm/docs/public/using-npm/disputes/index.html index 19011ba37b70..a96090bc963e 100644 --- a/deps/npm/docs/public/using-npm/disputes/index.html +++ b/deps/npm/docs/public/using-npm/disputes/index.html @@ -74,7 +74,7 @@ } } }) -

    disputes

    +

    disputes

    Handling Module Name Disputes

    This document describes the steps that you should take to resolve module name disputes with other npm publishers. It also describes special steps you should @@ -184,7 +184,7 @@

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/orgs/index.html b/deps/npm/docs/public/using-npm/orgs/index.html index d3583790ce35..6985aac6bbf1 100644 --- a/deps/npm/docs/public/using-npm/orgs/index.html +++ b/deps/npm/docs/public/using-npm/orgs/index.html @@ -74,7 +74,7 @@ } } }) -

    orgs

    +

    orgs

    Working with Teams & Orgs

    Description

    There are three levels of org users:

    @@ -88,8 +88,8 @@

    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 team for more details
    2. -
    3. npm access see npm access for more details
    4. +
    5. npm team see npm team for more details
    6. +
    7. npm access see npm access for more details

    Team Admins create teams

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/registry/index.html b/deps/npm/docs/public/using-npm/registry/index.html index 91e28bb9514e..332a1d0944b2 100644 --- a/deps/npm/docs/public/using-npm/registry/index.html +++ b/deps/npm/docs/public/using-npm/registry/index.html @@ -74,7 +74,7 @@ } } }) -

    registry

    +

    registry

    The JavaScript Package Registry

    Description

    To resolve packages by name and version, npm talks to a registry website @@ -95,7 +95,7 @@

    https://github.com/npm/npm-registry-couchapp.

    The registry URL used is determined by the scope of the package (see scope. If no scope is specified, the default registry is used, which is -supplied by the registry config parameter. See npm config, +supplied by the registry config parameter. See npm config, npmrc, and config for more on managing npm's configuration.

    Does npm send any information about me back to the registry?

    Yes.

    @@ -144,7 +144,7 @@

    https://www.npmjs.com/

    See also

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/removal/index.html b/deps/npm/docs/public/using-npm/removal/index.html index d537016410ea..cc20f5f34468 100644 --- a/deps/npm/docs/public/using-npm/removal/index.html +++ b/deps/npm/docs/public/using-npm/removal/index.html @@ -74,7 +74,7 @@ } } }) -

    removal

    +

    removal

    Cleaning the Slate

    Synopsis

    So sad to see you go.

    @@ -107,8 +107,8 @@

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/scope/index.html b/deps/npm/docs/public/using-npm/scope/index.html index 1fcfa14853a6..fdd0038f4ddd 100644 --- a/deps/npm/docs/public/using-npm/scope/index.html +++ b/deps/npm/docs/public/using-npm/scope/index.html @@ -74,7 +74,7 @@ } } }) -

    scope

    +

    scope

    Scoped packages

    Description

    All npm packages have a name. Some package names also have a scope. A scope @@ -106,7 +106,7 @@

    "@myorg/mypackage": "^1.3.0" }

    Note that if the @ symbol is omitted, in either case, npm will instead attempt to -install from GitHub; see npm install.

    +install from GitHub; see npm install.

    Requiring scoped packages

    Because scoped packages are installed into a scope folder, you have to include the name of the scope when requiring them in your code, e.g.

    @@ -148,9 +148,9 @@

    See also

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/scripts/index.html b/deps/npm/docs/public/using-npm/scripts/index.html index 8e10a99e532e..aab873ddb350 100644 --- a/deps/npm/docs/public/using-npm/scripts/index.html +++ b/deps/npm/docs/public/using-npm/scripts/index.html @@ -74,7 +74,7 @@ } } }) -

    scripts

    +

    scripts

    How npm handles the "scripts" field

    Description

    The "scripts" property of of your package.json file supports a number of built-in scripts and their preset life cycle events as well as arbitrary scripts. These all can be executed by running npm run-script <stage> or npm run <stage> for short. Pre and post commands with matching names will be run for those as well (e.g. premyscript, myscript, postmyscript). Scripts from dependencies can be run with npm explore <pkg> -- npm run <stage>.

    @@ -138,7 +138,7 @@

    Life Cycle Operation Order

    -

    npm publish

    +

    npm publish

    -

    npm pack

    +

    npm pack

    • prepack
    • postpack
    -

    npm install

    +

    npm install

    -

    npm start

    +

    npm start

    npm run start has an npm start shorthand.

    👀 Found a typo? Let us know!

    The current stable version of npm is here. To upgrade, run: npm install npm@latest -g

    To report bugs or submit feature requests for the docs, please post here. Submit npm issues here.

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/docs/public/using-npm/semver/index.html b/deps/npm/docs/public/using-npm/semver/index.html index bd26f5f4d4ce..513a6cf741a4 100644 --- a/deps/npm/docs/public/using-npm/semver/index.html +++ b/deps/npm/docs/public/using-npm/semver/index.html @@ -74,7 +74,7 @@ } } }) -

    semver(7) -- The semantic versioner for npm

    +

    semver(7) -- The semantic versioner for npm

    Install

    npm install --save semver

    Usage

    @@ -435,4 +435,4 @@

    \ No newline at end of file +
    \ No newline at end of file diff --git a/deps/npm/lib/team.js b/deps/npm/lib/team.js index 2b56e3b14f95..e24f733475a2 100644 --- a/deps/npm/lib/team.js +++ b/deps/npm/lib/team.js @@ -14,10 +14,10 @@ team.subcommands = ['create', 'destroy', 'add', 'rm', 'ls', 'edit'] team.usage = usage( 'team', - 'npm team create \n' + - 'npm team destroy \n' + - 'npm team add \n' + - 'npm team rm \n' + + 'npm team create [--otp ]\n' + + 'npm team destroy [--otp ]\n' + + 'npm team add [--otp ]\n' + + 'npm team rm [--otp ]\n' + 'npm team ls |\n' + 'npm team edit ' ) diff --git a/deps/npm/lib/unpublish.js b/deps/npm/lib/unpublish.js index 203c8b592f10..59d7d1b5887d 100644 --- a/deps/npm/lib/unpublish.js +++ b/deps/npm/lib/unpublish.js @@ -20,7 +20,11 @@ const readJson = BB.promisify(require('read-package-json')) const usage = require('./utils/usage.js') const whoami = BB.promisify(require('./whoami.js')) -unpublish.usage = usage('npm unpublish [<@scope>/][@]') +unpublish.usage = usage( + 'unpublish', + '\nnpm unpublish [<@scope>/]@' + + '\nnpm unpublish [<@scope>/] --force' +) function UsageError () { throw Object.assign(new Error(`Usage: ${unpublish.usage}`), { @@ -75,7 +79,7 @@ function unpublish (args, cb) { 'Refusing to delete entire project.\n' + 'Run with --force to do this.\n' + unpublish.usage - ), {code: 'EUSAGE'}) + ), { code: 'EUSAGE' }) } if (!spec || path.resolve(spec.name) === npm.localPrefix) { // if there's a package.json in the current folder, then diff --git a/deps/npm/man/man1/npm-README.1 b/deps/npm/man/man1/npm-README.1 index bc250bdaabc4..2ba6afd57c0e 100644 --- a/deps/npm/man/man1/npm-README.1 +++ b/deps/npm/man/man1/npm-README.1 @@ -1,4 +1,4 @@ -.TH "NPM" "1" "February 2020" "" "" +.TH "NPM" "1" "March 2020" "" "" .SH "NAME" \fBnpm\fR \- a JavaScript package manager .P diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1 index 5521fd45a5ea..448c9859a44a 100644 --- a/deps/npm/man/man1/npm-access.1 +++ b/deps/npm/man/man1/npm-access.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ACCESS" "1" "February 2020" "" "" +.TH "NPM\-ACCESS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-access\fR \- Set access level on published packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1 index 9e2ed19a86b3..3d005b13029d 100644 --- a/deps/npm/man/man1/npm-adduser.1 +++ b/deps/npm/man/man1/npm-adduser.1 @@ -3,7 +3,7 @@ section: cli\-commands title: npm\-adduser .SH description: Set access level on published packages -.TH "NPM\-ADDUSER" "1" "February 2020" "" "" +.TH "NPM\-ADDUSER" "1" "March 2020" "" "" .SH "NAME" \fBnpm-adduser\fR \- Add a registry user account .SS Synopsis diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1 index 3665ef2f7b69..d0a77fdf0d78 100644 --- a/deps/npm/man/man1/npm-audit.1 +++ b/deps/npm/man/man1/npm-audit.1 @@ -1,4 +1,4 @@ -.TH "NPM\-AUDIT" "1" "February 2020" "" "" +.TH "NPM\-AUDIT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-audit\fR \- Run a security audit .SS Synopsis diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1 index 806e11757fb0..26480b0d0ff6 100644 --- a/deps/npm/man/man1/npm-bin.1 +++ b/deps/npm/man/man1/npm-bin.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BIN" "1" "February 2020" "" "" +.TH "NPM\-BIN" "1" "March 2020" "" "" .SH "NAME" \fBnpm-bin\fR \- Display npm bin folder .SS Synopsis diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1 index 019763dd8c8c..1566c8706c1c 100644 --- a/deps/npm/man/man1/npm-bugs.1 +++ b/deps/npm/man/man1/npm-bugs.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUGS" "1" "February 2020" "" "" +.TH "NPM\-BUGS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-bugs\fR \- Bugs for a package in a web browser maybe .SS Synopsis diff --git a/deps/npm/man/man1/npm-build.1 b/deps/npm/man/man1/npm-build.1 index f199a43ad953..20919da86c19 100644 --- a/deps/npm/man/man1/npm-build.1 +++ b/deps/npm/man/man1/npm-build.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUILD" "1" "February 2020" "" "" +.TH "NPM\-BUILD" "1" "March 2020" "" "" .SH "NAME" \fBnpm-build\fR \- Build a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-bundle.1 b/deps/npm/man/man1/npm-bundle.1 index 7c927041da9d..a2cb2ad35b4f 100644 --- a/deps/npm/man/man1/npm-bundle.1 +++ b/deps/npm/man/man1/npm-bundle.1 @@ -1,4 +1,4 @@ -.TH "NPM\-BUNDLE" "1" "February 2020" "" "" +.TH "NPM\-BUNDLE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-bundle\fR \- REMOVED .SS Description diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1 index 330f127fed0c..30186d7925cf 100644 --- a/deps/npm/man/man1/npm-cache.1 +++ b/deps/npm/man/man1/npm-cache.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CACHE" "1" "February 2020" "" "" +.TH "NPM\-CACHE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-cache\fR \- Manipulates packages cache .SS Synopsis diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1 index ae835891432f..625cf2ef7b4e 100644 --- a/deps/npm/man/man1/npm-ci.1 +++ b/deps/npm/man/man1/npm-ci.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CI" "1" "February 2020" "" "" +.TH "NPM\-CI" "1" "March 2020" "" "" .SH "NAME" \fBnpm-ci\fR \- Install a project with a clean slate .SS Synopsis diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1 index 92d201f8c055..263e04cba278 100644 --- a/deps/npm/man/man1/npm-completion.1 +++ b/deps/npm/man/man1/npm-completion.1 @@ -1,4 +1,4 @@ -.TH "NPM\-COMPLETION" "1" "February 2020" "" "" +.TH "NPM\-COMPLETION" "1" "March 2020" "" "" .SH "NAME" \fBnpm-completion\fR \- Tab Completion for npm .SS Synopsis diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1 index 278a7df70c65..2c71ad1410e4 100644 --- a/deps/npm/man/man1/npm-config.1 +++ b/deps/npm/man/man1/npm-config.1 @@ -1,4 +1,4 @@ -.TH "NPM\-CONFIG" "1" "February 2020" "" "" +.TH "NPM\-CONFIG" "1" "March 2020" "" "" .SH "NAME" \fBnpm-config\fR \- Manage the npm configuration files .SS Synopsis diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1 index 22653cc2729c..53e71c0f4050 100644 --- a/deps/npm/man/man1/npm-dedupe.1 +++ b/deps/npm/man/man1/npm-dedupe.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DEDUPE" "1" "February 2020" "" "" +.TH "NPM\-DEDUPE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-dedupe\fR \- Reduce duplication .SS Synopsis diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1 index 82a5c34b1b43..3d7c160d987b 100644 --- a/deps/npm/man/man1/npm-deprecate.1 +++ b/deps/npm/man/man1/npm-deprecate.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DEPRECATE" "1" "February 2020" "" "" +.TH "NPM\-DEPRECATE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-deprecate\fR \- Deprecate a version of a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1 index 9fe3f66a3b6b..9e8fb37ac0db 100644 --- a/deps/npm/man/man1/npm-dist-tag.1 +++ b/deps/npm/man/man1/npm-dist-tag.1 @@ -3,7 +3,7 @@ section: cli\-commands title: npm\-dist\-tag .SH description: Modify package distribution tags -.TH "NPM\-DIST\-TAG" "1" "February 2020" "" "" +.TH "NPM\-DIST\-TAG" "1" "March 2020" "" "" .SH "NAME" \fBnpm-dist-tag\fR \- Modify package distribution tags .SS Synopsis diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1 index 24d9054c0683..e518a5082fd6 100644 --- a/deps/npm/man/man1/npm-docs.1 +++ b/deps/npm/man/man1/npm-docs.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DOCS" "1" "February 2020" "" "" +.TH "NPM\-DOCS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-docs\fR \- Docs for a package in a web browser maybe .SS Synopsis diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1 index fb947f1b205a..4c04a7b6be9d 100644 --- a/deps/npm/man/man1/npm-doctor.1 +++ b/deps/npm/man/man1/npm-doctor.1 @@ -1,4 +1,4 @@ -.TH "NPM\-DOCTOR" "1" "February 2020" "" "" +.TH "NPM\-DOCTOR" "1" "March 2020" "" "" .SH "NAME" \fBnpm-doctor\fR \- Check your environments .SS Synopsis diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1 index 2f8332a88813..9f992f04d55f 100644 --- a/deps/npm/man/man1/npm-edit.1 +++ b/deps/npm/man/man1/npm-edit.1 @@ -1,4 +1,4 @@ -.TH "NPM\-EDIT" "1" "February 2020" "" "" +.TH "NPM\-EDIT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-edit\fR \- Edit an installed package .SS Synopsis diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1 index bce86b07718f..74159220bece 100644 --- a/deps/npm/man/man1/npm-explore.1 +++ b/deps/npm/man/man1/npm-explore.1 @@ -3,7 +3,7 @@ section: cli\-commands title: npm\-explore .SH description: Browse an installed package -.TH "NPM\-EXPLORE" "1" "February 2020" "" "" +.TH "NPM\-EXPLORE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-explore\fR \- Browse an installed package .SS Synopsis diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1 index 75e3eb5bc36a..e4c418f8dae8 100644 --- a/deps/npm/man/man1/npm-fund.1 +++ b/deps/npm/man/man1/npm-fund.1 @@ -1,4 +1,4 @@ -.TH "NPM\-FUND" "1" "February 2020" "" "" +.TH "NPM\-FUND" "1" "March 2020" "" "" .SH "NAME" \fBnpm-fund\fR \- Retrieve funding information .SS Synopsis diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1 index 35020590bcfc..19c7d7b5f569 100644 --- a/deps/npm/man/man1/npm-help-search.1 +++ b/deps/npm/man/man1/npm-help-search.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HELP\-SEARCH" "1" "February 2020" "" "" +.TH "NPM\-HELP\-SEARCH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-help-search\fR \- Search npm help documentation .SS Synopsis diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1 index 3e1f7cf8cbd6..6fa907cc9000 100644 --- a/deps/npm/man/man1/npm-help.1 +++ b/deps/npm/man/man1/npm-help.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HELP" "1" "February 2020" "" "" +.TH "NPM\-HELP" "1" "March 2020" "" "" .SH "NAME" \fBnpm-help\fR \- Get help on npm .SS Synopsis diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1 index a7f11bbf11ae..74169fb4423c 100644 --- a/deps/npm/man/man1/npm-hook.1 +++ b/deps/npm/man/man1/npm-hook.1 @@ -1,4 +1,4 @@ -.TH "NPM\-HOOK" "1" "February 2020" "" "" +.TH "NPM\-HOOK" "1" "March 2020" "" "" .SH "NAME" \fBnpm-hook\fR \- Manage registry hooks .SS Synopsis diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1 index 50e1bfa21b01..5c1b522ccbf7 100644 --- a/deps/npm/man/man1/npm-init.1 +++ b/deps/npm/man/man1/npm-init.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INIT" "1" "February 2020" "" "" +.TH "NPM\-INIT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-init\fR \- create a package\.json file .SS Synopsis diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1 index b9de2ba2a63c..e5962b93fdae 100644 --- a/deps/npm/man/man1/npm-install-ci-test.1 +++ b/deps/npm/man/man1/npm-install-ci-test.1 @@ -1,4 +1,4 @@ -.TH "NPM" "" "February 2020" "" "" +.TH "NPM" "" "March 2020" "" "" .SH "NAME" \fBnpm\fR .SS Synopsis diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1 index d5fb253f77c1..73c7400b73d3 100644 --- a/deps/npm/man/man1/npm-install-test.1 +++ b/deps/npm/man/man1/npm-install-test.1 @@ -1,4 +1,4 @@ -.TH "NPM" "" "February 2020" "" "" +.TH "NPM" "" "March 2020" "" "" .SH "NAME" \fBnpm\fR .SS Synopsis diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1 index 099a1534e13c..6bd9a4cd58e4 100644 --- a/deps/npm/man/man1/npm-install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -1,4 +1,4 @@ -.TH "NPM\-INSTALL" "1" "February 2020" "" "" +.TH "NPM\-INSTALL" "1" "March 2020" "" "" .SH "NAME" \fBnpm-install\fR \- Install a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1 index f9f4ec3e37ae..79ad02d88ca0 100644 --- a/deps/npm/man/man1/npm-link.1 +++ b/deps/npm/man/man1/npm-link.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LINK" "1" "February 2020" "" "" +.TH "NPM\-LINK" "1" "March 2020" "" "" .SH "NAME" \fBnpm-link\fR \- Symlink a package folder .SS Synopsis diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1 index 7f53279a540c..d9020ea68413 100644 --- a/deps/npm/man/man1/npm-logout.1 +++ b/deps/npm/man/man1/npm-logout.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LOGOUT" "1" "February 2020" "" "" +.TH "NPM\-LOGOUT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-logout\fR \- Log out of the registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index a621cf829ecd..550ae7c67d17 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -1,4 +1,4 @@ -.TH "NPM\-LS" "1" "February 2020" "" "" +.TH "NPM\-LS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-ls\fR \- List installed packages .SS Synopsis @@ -22,7 +22,7 @@ For example, running \fBnpm ls promzard\fP in npm's source tree will show: .P .RS 2 .nf - npm@6\.14\.1 /path/to/npm + npm@6\.14\.3 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 .fi diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1 index b8fde0ed95d6..d3f1531252ed 100644 --- a/deps/npm/man/man1/npm-org.1 +++ b/deps/npm/man/man1/npm-org.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ORG" "1" "February 2020" "" "" +.TH "NPM\-ORG" "1" "March 2020" "" "" .SH "NAME" \fBnpm-org\fR \- Manage orgs .SS Synopsis diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1 index f547f08a1c31..808555c7b1b9 100644 --- a/deps/npm/man/man1/npm-outdated.1 +++ b/deps/npm/man/man1/npm-outdated.1 @@ -1,4 +1,4 @@ -.TH "NPM\-OUTDATED" "1" "February 2020" "" "" +.TH "NPM\-OUTDATED" "1" "March 2020" "" "" .SH "NAME" \fBnpm-outdated\fR \- Check for outdated packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1 index 1c15beef6cff..f0e2f07a0cbc 100644 --- a/deps/npm/man/man1/npm-owner.1 +++ b/deps/npm/man/man1/npm-owner.1 @@ -1,4 +1,4 @@ -.TH "NPM\-OWNER" "1" "February 2020" "" "" +.TH "NPM\-OWNER" "1" "March 2020" "" "" .SH "NAME" \fBnpm-owner\fR \- Manage package owners .SS Synopsis diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1 index eca5f3c7b6db..dac6963b4a26 100644 --- a/deps/npm/man/man1/npm-pack.1 +++ b/deps/npm/man/man1/npm-pack.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PACK" "1" "February 2020" "" "" +.TH "NPM\-PACK" "1" "March 2020" "" "" .SH "NAME" \fBnpm-pack\fR \- Create a tarball from a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1 index 0611ffe2e118..28ae935229cd 100644 --- a/deps/npm/man/man1/npm-ping.1 +++ b/deps/npm/man/man1/npm-ping.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PING" "1" "February 2020" "" "" +.TH "NPM\-PING" "1" "March 2020" "" "" .SH "NAME" \fBnpm-ping\fR \- Ping npm registry .SS Synopsis diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1 index d65e3b45ecc5..3b695b870e08 100644 --- a/deps/npm/man/man1/npm-prefix.1 +++ b/deps/npm/man/man1/npm-prefix.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PREFIX" "1" "February 2020" "" "" +.TH "NPM\-PREFIX" "1" "March 2020" "" "" .SH "NAME" \fBnpm-prefix\fR \- Display prefix .SS Synopsis diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1 index ee5018341e54..b0990f099e50 100644 --- a/deps/npm/man/man1/npm-profile.1 +++ b/deps/npm/man/man1/npm-profile.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PROFILE" "1" "February 2020" "" "" +.TH "NPM\-PROFILE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-profile\fR \- Change settings on your registry profile .SS Synopsis diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1 index 81c474ccf089..b51f829ca9c9 100644 --- a/deps/npm/man/man1/npm-prune.1 +++ b/deps/npm/man/man1/npm-prune.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PRUNE" "1" "February 2020" "" "" +.TH "NPM\-PRUNE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-prune\fR \- Remove extraneous packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1 index 7bb65ff36bd8..eec1f60120a4 100644 --- a/deps/npm/man/man1/npm-publish.1 +++ b/deps/npm/man/man1/npm-publish.1 @@ -1,4 +1,4 @@ -.TH "NPM\-PUBLISH" "1" "February 2020" "" "" +.TH "NPM\-PUBLISH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-publish\fR \- Publish a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1 index 9666d94ab140..7e0d43fadf13 100644 --- a/deps/npm/man/man1/npm-rebuild.1 +++ b/deps/npm/man/man1/npm-rebuild.1 @@ -1,4 +1,4 @@ -.TH "NPM\-REBUILD" "1" "February 2020" "" "" +.TH "NPM\-REBUILD" "1" "March 2020" "" "" .SH "NAME" \fBnpm-rebuild\fR \- Rebuild a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1 index 3da701d2e094..68920454a691 100644 --- a/deps/npm/man/man1/npm-repo.1 +++ b/deps/npm/man/man1/npm-repo.1 @@ -1,4 +1,4 @@ -.TH "NPM\-REPO" "1" "February 2020" "" "" +.TH "NPM\-REPO" "1" "March 2020" "" "" .SH "NAME" \fBnpm-repo\fR \- Open package repository page in the browser .SS Synopsis diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1 index 25d39529847e..d90bebb90633 100644 --- a/deps/npm/man/man1/npm-restart.1 +++ b/deps/npm/man/man1/npm-restart.1 @@ -1,4 +1,4 @@ -.TH "NPM\-RESTART" "1" "February 2020" "" "" +.TH "NPM\-RESTART" "1" "March 2020" "" "" .SH "NAME" \fBnpm-restart\fR \- Restart a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1 index b87596ea23ed..dab19fcabf5a 100644 --- a/deps/npm/man/man1/npm-root.1 +++ b/deps/npm/man/man1/npm-root.1 @@ -1,4 +1,4 @@ -.TH "NPM\-ROOT" "1" "February 2020" "" "" +.TH "NPM\-ROOT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-root\fR \- Display npm root .SS Synopsis diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1 index e0ae4fe6a3bb..8a7d2b6e2ff0 100644 --- a/deps/npm/man/man1/npm-run-script.1 +++ b/deps/npm/man/man1/npm-run-script.1 @@ -1,4 +1,4 @@ -.TH "NPM\-RUN\-SCRIPT" "1" "February 2020" "" "" +.TH "NPM\-RUN\-SCRIPT" "1" "March 2020" "" "" .SH "NAME" \fBnpm-run-script\fR \- Run arbitrary package scripts .SS Synopsis diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1 index 6ba914b01bc0..9b9b7861dab8 100644 --- a/deps/npm/man/man1/npm-search.1 +++ b/deps/npm/man/man1/npm-search.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SEARCH" "1" "February 2020" "" "" +.TH "NPM\-SEARCH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-search\fR \- Search for packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1 index 07283a8a3263..59b2e499d1e9 100644 --- a/deps/npm/man/man1/npm-shrinkwrap.1 +++ b/deps/npm/man/man1/npm-shrinkwrap.1 @@ -1,4 +1,4 @@ -.TH "NPM\-SHRINKWRAP" "1" "February 2020" "" "" +.TH "NPM\-SHRINKWRAP" "1" "March 2020" "" "" .SH "NAME" \fBnpm-shrinkwrap\fR \- Lock down dependency versions for publication .SS Synopsis diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1 index e8384832905b..e5a18f85be13 100644 --- a/deps/npm/man/man1/npm-star.1 +++ b/deps/npm/man/man1/npm-star.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STAR" "1" "February 2020" "" "" +.TH "NPM\-STAR" "1" "March 2020" "" "" .SH "NAME" \fBnpm-star\fR \- Mark your favorite packages .SS Synopsis diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1 index 5f666362a900..bcc7cce20518 100644 --- a/deps/npm/man/man1/npm-stars.1 +++ b/deps/npm/man/man1/npm-stars.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STARS" "1" "February 2020" "" "" +.TH "NPM\-STARS" "1" "March 2020" "" "" .SH "NAME" \fBnpm-stars\fR \- View packages marked as favorites .SS Synopsis diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1 index b7d61384e4a3..64a22b7cb946 100644 --- a/deps/npm/man/man1/npm-start.1 +++ b/deps/npm/man/man1/npm-start.1 @@ -1,4 +1,4 @@ -.TH "NPM\-START" "1" "February 2020" "" "" +.TH "NPM\-START" "1" "March 2020" "" "" .SH "NAME" \fBnpm-start\fR \- Start a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1 index 15b7fea95073..5144671e15fc 100644 --- a/deps/npm/man/man1/npm-stop.1 +++ b/deps/npm/man/man1/npm-stop.1 @@ -1,4 +1,4 @@ -.TH "NPM\-STOP" "1" "February 2020" "" "" +.TH "NPM\-STOP" "1" "March 2020" "" "" .SH "NAME" \fBnpm-stop\fR \- Stop a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1 index 5b04f786639a..6e0b1da57d6e 100644 --- a/deps/npm/man/man1/npm-team.1 +++ b/deps/npm/man/man1/npm-team.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TEAM" "1" "February 2020" "" "" +.TH "NPM\-TEAM" "1" "March 2020" "" "" .SH "NAME" \fBnpm-team\fR \- Manage organization teams and team memberships .SS Synopsis @@ -23,6 +23,8 @@ handle permissions for packages\. .P Teams must always be fully qualified with the organization/scope they belong to when operating on them, separated by a colon (\fB:\fP)\. That is, if you have a \fBwombats\fP team in a \fBwisdom\fP organization, you must always refer to that team as \fBwisdom:wombats\fP in these commands\. +.P +If you have two\-factor authentication enabled in \fBauth\-and\-writes\fP mode, then you can provide a code from your authenticator with \fB[\-\-otp ]\fP\|\. If you don't include this then you will be prompted\. .RS 0 .IP \(bu 2 create / destroy: diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1 index c5e017eaea2d..fed0b5d5bb2d 100644 --- a/deps/npm/man/man1/npm-test.1 +++ b/deps/npm/man/man1/npm-test.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TEST" "1" "February 2020" "" "" +.TH "NPM\-TEST" "1" "March 2020" "" "" .SH "NAME" \fBnpm-test\fR \- Test a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1 index 7e2a93d26219..2ef8c563f1eb 100644 --- a/deps/npm/man/man1/npm-token.1 +++ b/deps/npm/man/man1/npm-token.1 @@ -1,4 +1,4 @@ -.TH "NPM\-TOKEN" "1" "February 2020" "" "" +.TH "NPM\-TOKEN" "1" "March 2020" "" "" .SH "NAME" \fBnpm-token\fR \- Manage your authentication tokens .SS Synopsis diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1 index a46cc6b1e153..72172f08c8f1 100644 --- a/deps/npm/man/man1/npm-uninstall.1 +++ b/deps/npm/man/man1/npm-uninstall.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UNINSTALL" "1" "February 2020" "" "" +.TH "NPM\-UNINSTALL" "1" "March 2020" "" "" .SH "NAME" \fBnpm-uninstall\fR \- Remove a package .SS Synopsis diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1 index 73c4c17b0d04..5db95caffc36 100644 --- a/deps/npm/man/man1/npm-unpublish.1 +++ b/deps/npm/man/man1/npm-unpublish.1 @@ -1,22 +1,24 @@ -.TH "NPM\-UNPUBLISH" "1" "February 2020" "" "" +.TH "NPM\-UNPUBLISH" "1" "March 2020" "" "" .SH "NAME" \fBnpm-unpublish\fR \- Remove a package from the registry .SS Synopsis +.SS Unpublishing a single version of a package .P .RS 2 .nf -npm unpublish [<@scope>/][@] +npm unpublish [<@scope>/]@ .fi .RE -.SS Warning -.P -\fBIt is generally considered bad behavior to remove versions of a library -that others are depending on!\fR +.SS Unpublishing an entire package .P -Consider using the \fBdeprecate\fP command -instead, if your intent is to encourage users to upgrade\. +.RS 2 +.nf +npm unpublish [<@scope>/] \-\-force +.fi +.RE +.SS Warning .P -There is plenty of room on the registry\. +Consider using the \fBdeprecate\fP command instead, if your intent is to encourage users to upgrade, or if you no longer want to maintain a package\. .SS Description .P This removes a package version from the registry, deleting its @@ -27,16 +29,9 @@ the root package entry is removed from the registry entirely\. .P Even if a package version is unpublished, that specific name and version combination can never be reused\. In order to publish the -package again, a new version number must be used\. Additionally, -new versions of packages with every version unpublished may not -be republished until 24 hours have passed\. -.P -With the default registry (\fBregistry\.npmjs\.org\fP), unpublish is -only allowed with versions published in the last 72 hours\. If you -are trying to unpublish a version published longer ago than that, -contact support@npmjs\.com\|\. +package again, a new version number must be used\. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed\. .P -The scope is optional and follows the usual rules for npm help \fBscope\fP\|\. +To learn more about how unpublish is treated on the npm registry, see our unpublish policies\|\. .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1 index e91c4a0a09f2..b236b1eaaaa5 100644 --- a/deps/npm/man/man1/npm-update.1 +++ b/deps/npm/man/man1/npm-update.1 @@ -1,4 +1,4 @@ -.TH "NPM\-UPDATE" "1" "February 2020" "" "" +.TH "NPM\-UPDATE" "1" "March 2020" "" "" .SH "NAME" \fBnpm-update\fR \- Update a package .SS Synopsis @@ -120,7 +120,9 @@ version that satisfies \fB^0\.4\.0\fP (\fB>= 0\.4\.0 <0\.5\.0\fP) .P \fBnpm update \-g\fP will apply the \fBupdate\fP action to each globally installed package that is \fBoutdated\fP \-\- that is, has a version that is different from -\fBlatest\fP\|\. +\fBwanted\fP\|\. +.P +Note: Globally installed packages are treated as if they are installed with a caret semver range specified\. So if you require to update to \fBlatest\fP you may need to run \fBnpm install \-g [\.\.\.]\fP .P NOTE: If a package has been upgraded to a version newer than \fBlatest\fP, it will be \fIdowngraded\fR\|\. diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1 index 83040d770932..22dc7a71ed4b 100644 --- a/deps/npm/man/man1/npm-version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -1,4 +1,4 @@ -.TH "NPM\-VERSION" "1" "February 2020" "" "" +.TH "NPM\-VERSION" "1" "March 2020" "" "" .SH "NAME" \fBnpm-version\fR \- Bump a package version .SS Synopsis diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1 index 7aec57fbc7c6..0bed92ababc3 100644 --- a/deps/npm/man/man1/npm-view.1 +++ b/deps/npm/man/man1/npm-view.1 @@ -1,4 +1,4 @@ -.TH "NPM\-VIEW" "1" "February 2020" "" "" +.TH "NPM\-VIEW" "1" "March 2020" "" "" .SH "NAME" \fBnpm-view\fR \- View registry info .SS Synopsis diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1 index 1fe3c7a0327f..c581a1f0a4d3 100644 --- a/deps/npm/man/man1/npm-whoami.1 +++ b/deps/npm/man/man1/npm-whoami.1 @@ -1,4 +1,4 @@ -.TH "NPM\-WHOAMI" "1" "February 2020" "" "" +.TH "NPM\-WHOAMI" "1" "March 2020" "" "" .SH "NAME" \fBnpm-whoami\fR \- Display npm username .SS Synopsis diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index d2626ef19f1a..3a0308ea98f1 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -1,4 +1,4 @@ -.TH "NPM" "1" "February 2020" "" "" +.TH "NPM" "1" "March 2020" "" "" .SH "NAME" \fBnpm\fR \- javascript package manager .SS Synopsis @@ -10,7 +10,7 @@ npm [args] .RE .SS Version .P -6\.14\.1 +6\.14\.3 .SS Description .P npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man5/folders.5 b/deps/npm/man/man5/folders.5 index 95b668999f2a..c88bdecd34f1 100644 --- a/deps/npm/man/man5/folders.5 +++ b/deps/npm/man/man5/folders.5 @@ -1,4 +1,4 @@ -.TH "FOLDERS" "5" "February 2020" "" "" +.TH "FOLDERS" "5" "March 2020" "" "" .SH "NAME" \fBfolders\fR \- Folder Structures Used by npm .SS Description diff --git a/deps/npm/man/man5/install.5 b/deps/npm/man/man5/install.5 index 745eab3ed3f6..9309aa1f17c0 100644 --- a/deps/npm/man/man5/install.5 +++ b/deps/npm/man/man5/install.5 @@ -1,4 +1,4 @@ -.TH "INSTALL" "5" "February 2020" "" "" +.TH "INSTALL" "5" "March 2020" "" "" .SH "NAME" \fBinstall\fR \- Download and Install npm .SS Description diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5 index f3f9057d8837..bc3f8fdaed0e 100644 --- a/deps/npm/man/man5/npmrc.5 +++ b/deps/npm/man/man5/npmrc.5 @@ -1,4 +1,4 @@ -.TH "NPMRC" "5" "February 2020" "" "" +.TH "NPMRC" "5" "March 2020" "" "" .SH "NAME" \fBnpmrc\fR \- The npm config files .SS Description diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5 index f188a08e50a4..13d908541314 100644 --- a/deps/npm/man/man5/package-json.5 +++ b/deps/npm/man/man5/package-json.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\.JSON" "5" "February 2020" "" "" +.TH "PACKAGE\.JSON" "5" "March 2020" "" "" .SH "NAME" \fBpackage.json\fR \- Specifics of npm's package\.json handling .SS Description diff --git a/deps/npm/man/man5/package-lock-json.5 b/deps/npm/man/man5/package-lock-json.5 index 6a4dece03d00..43c6e4193677 100644 --- a/deps/npm/man/man5/package-lock-json.5 +++ b/deps/npm/man/man5/package-lock-json.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\-LOCK\.JSON" "5" "February 2020" "" "" +.TH "PACKAGE\-LOCK\.JSON" "5" "March 2020" "" "" .SH "NAME" \fBpackage-lock.json\fR \- A manifestation of the manifest .SS Description diff --git a/deps/npm/man/man5/package-locks.5 b/deps/npm/man/man5/package-locks.5 index 0658ff24682a..f610e42ba4ba 100644 --- a/deps/npm/man/man5/package-locks.5 +++ b/deps/npm/man/man5/package-locks.5 @@ -1,4 +1,4 @@ -.TH "PACKAGE\-LOCKS" "5" "February 2020" "" "" +.TH "PACKAGE\-LOCKS" "5" "March 2020" "" "" .SH "NAME" \fBpackage-locks\fR \- An explanation of npm lockfiles .SS Description diff --git a/deps/npm/man/man5/shrinkwrap-json.5 b/deps/npm/man/man5/shrinkwrap-json.5 index 11f24412a9c6..e891c84ecff4 100644 --- a/deps/npm/man/man5/shrinkwrap-json.5 +++ b/deps/npm/man/man5/shrinkwrap-json.5 @@ -1,4 +1,4 @@ -.TH "NPM\-SHRINKWRAP\.JSON" "5" "February 2020" "" "" +.TH "NPM\-SHRINKWRAP\.JSON" "5" "March 2020" "" "" .SH "NAME" \fBnpm-shrinkwrap.json\fR \- A publishable lockfile .SS Description diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7 index 32612e44c55f..0f653366b1d2 100644 --- a/deps/npm/man/man7/config.7 +++ b/deps/npm/man/man7/config.7 @@ -1,4 +1,4 @@ -.TH "CONFIG" "7" "February 2020" "" "" +.TH "CONFIG" "7" "March 2020" "" "" .SH "NAME" \fBconfig\fR \- More than you probably want to know about npm configuration .SS Description diff --git a/deps/npm/man/man7/developers.7 b/deps/npm/man/man7/developers.7 index da4a8a0af5c9..a84548af27c6 100644 --- a/deps/npm/man/man7/developers.7 +++ b/deps/npm/man/man7/developers.7 @@ -1,4 +1,4 @@ -.TH "DEVELOPERS" "7" "February 2020" "" "" +.TH "DEVELOPERS" "7" "March 2020" "" "" .SH "NAME" \fBdevelopers\fR \- Developer Guide .SS Description diff --git a/deps/npm/man/man7/disputes.7 b/deps/npm/man/man7/disputes.7 index 64088b488db6..a94c70b3d833 100644 --- a/deps/npm/man/man7/disputes.7 +++ b/deps/npm/man/man7/disputes.7 @@ -1,4 +1,4 @@ -.TH "DISPUTES" "7" "February 2020" "" "" +.TH "DISPUTES" "7" "March 2020" "" "" .SH "NAME" \fBdisputes\fR \- Handling Module Name Disputes .P diff --git a/deps/npm/man/man7/orgs.7 b/deps/npm/man/man7/orgs.7 index 9674c00d19b7..418537ead8c2 100644 --- a/deps/npm/man/man7/orgs.7 +++ b/deps/npm/man/man7/orgs.7 @@ -1,4 +1,4 @@ -.TH "ORGS" "7" "February 2020" "" "" +.TH "ORGS" "7" "March 2020" "" "" .SH "NAME" \fBorgs\fR \- Working with Teams & Orgs .SS Description diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7 index 1bfb2dcf609e..f22059121e84 100644 --- a/deps/npm/man/man7/registry.7 +++ b/deps/npm/man/man7/registry.7 @@ -1,4 +1,4 @@ -.TH "REGISTRY" "7" "February 2020" "" "" +.TH "REGISTRY" "7" "March 2020" "" "" .SH "NAME" \fBregistry\fR \- The JavaScript Package Registry .SS Description diff --git a/deps/npm/man/man7/removal.7 b/deps/npm/man/man7/removal.7 index cfc7bce1ba97..7b7322628f2c 100644 --- a/deps/npm/man/man7/removal.7 +++ b/deps/npm/man/man7/removal.7 @@ -1,4 +1,4 @@ -.TH "REMOVAL" "7" "February 2020" "" "" +.TH "REMOVAL" "7" "March 2020" "" "" .SH "NAME" \fBremoval\fR \- Cleaning the Slate .SS Synopsis diff --git a/deps/npm/man/man7/scope.7 b/deps/npm/man/man7/scope.7 index 6c6aae668bd9..1884347b8b6a 100644 --- a/deps/npm/man/man7/scope.7 +++ b/deps/npm/man/man7/scope.7 @@ -1,4 +1,4 @@ -.TH "SCOPE" "7" "February 2020" "" "" +.TH "SCOPE" "7" "March 2020" "" "" .SH "NAME" \fBscope\fR \- Scoped packages .SS Description diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7 index b9103a3f2de4..17b549b05e7c 100644 --- a/deps/npm/man/man7/scripts.7 +++ b/deps/npm/man/man7/scripts.7 @@ -1,4 +1,4 @@ -.TH "SCRIPTS" "7" "February 2020" "" "" +.TH "SCRIPTS" "7" "March 2020" "" "" .SH "NAME" \fBscripts\fR \- How npm handles the "scripts" field .SS Description diff --git a/deps/npm/man/man7/semver.7 b/deps/npm/man/man7/semver.7 index 85623a5000ad..419716a83d73 100644 --- a/deps/npm/man/man7/semver.7 +++ b/deps/npm/man/man7/semver.7 @@ -1,4 +1,4 @@ -.TH "SEMVER" "7" "February 2020" "" "" +.TH "SEMVER" "7" "March 2020" "" "" .SH "NAME" \fBsemver\fR \- The semantic versioner for npm .SH Install diff --git a/deps/npm/node_modules/glob/README.md b/deps/npm/node_modules/glob/README.md index e71b967ea288..0916a48255cd 100644 --- a/deps/npm/node_modules/glob/README.md +++ b/deps/npm/node_modules/glob/README.md @@ -371,3 +371,5 @@ npm run bench # to profile javascript npm run prof ``` + +![](oh-my-glob.gif) diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json index 788801e299e4..0e1fa5805bcc 100644 --- a/deps/npm/node_modules/glob/package.json +++ b/deps/npm/node_modules/glob/package.json @@ -1,23 +1,24 @@ { - "_from": "glob@7.1.4", - "_id": "glob@7.1.4", + "_from": "glob@7.1.6", + "_id": "glob@7.1.6", "_inBundle": false, - "_integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "_integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "_location": "/glob", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "glob@7.1.4", + "raw": "glob@7.1.6", "name": "glob", "escapedName": "glob", - "rawSpec": "7.1.4", + "rawSpec": "7.1.6", "saveSpec": null, - "fetchSpec": "7.1.4" + "fetchSpec": "7.1.6" }, "_requiredBy": [ "#USER", "/", + "/cacache", "/deglob", "/eslint", "/init-package-json", @@ -30,10 +31,10 @@ "/tap-mocha-reporter", "/test-exclude" ], - "_resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "_shasum": "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255", - "_spec": "glob@7.1.4", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "_shasum": "141f33b81a7c2492e125594307480c46679278a6", + "_spec": "glob@7.1.6", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", @@ -67,6 +68,9 @@ "sync.js", "common.js" ], + "funding": { + "url": "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/sponsors/isaacs" + }, "homepage": "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/isaacs/node-glob#readme", "license": "ISC", "main": "glob.js", @@ -84,5 +88,5 @@ "test": "tap test/*.js --cov", "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js" }, - "version": "7.1.4" + "version": "7.1.6" } diff --git a/deps/npm/node_modules/hosted-git-info/CHANGELOG.md b/deps/npm/node_modules/hosted-git-info/CHANGELOG.md index 21fe13ca652f..4f86601e029e 100644 --- a/deps/npm/node_modules/hosted-git-info/CHANGELOG.md +++ b/deps/npm/node_modules/hosted-git-info/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.8.8](https://github.com/npm/hosted-git-info/compare/v2.8.7...v2.8.8) (2020-02-29) + + +### Bug Fixes + +* [#61](https://github.com/npm/hosted-git-info/issues/61) & [#65](https://github.com/npm/hosted-git-info/issues/65) addressing issues w/ url.URL implmentation which regressed node 6 support ([5038b18](https://github.com/npm/hosted-git-info/commit/5038b18)), closes [#66](https://github.com/npm/hosted-git-info/issues/66) + + + ## [2.8.7](https://github.com/npm/hosted-git-info/compare/v2.8.6...v2.8.7) (2020-02-26) diff --git a/deps/npm/node_modules/hosted-git-info/index.js b/deps/npm/node_modules/hosted-git-info/index.js index 08fa329760d8..21e53fe3724b 100644 --- a/deps/npm/node_modules/hosted-git-info/index.js +++ b/deps/npm/node_modules/hosted-git-info/index.js @@ -120,7 +120,7 @@ function parseGitUrl (giturl) { // Pull off just the auth and host, so we dont' get the confusing // scp-style URL, then pass that to the WhatWG parser to get the // auth properly escaped. - const authmatch = giturl.match(/[^@]+@[^:/]+/) + var authmatch = giturl.match(/[^@]+@[^:/]+/) /* istanbul ignore else - this should be impossible */ if (authmatch) { var whatwg = new url.URL(authmatch[0]) diff --git a/deps/npm/node_modules/hosted-git-info/package.json b/deps/npm/node_modules/hosted-git-info/package.json index 7ce00ce18c55..8d9c2b2046c7 100644 --- a/deps/npm/node_modules/hosted-git-info/package.json +++ b/deps/npm/node_modules/hosted-git-info/package.json @@ -1,19 +1,19 @@ { - "_from": "hosted-git-info@2.8.7", - "_id": "hosted-git-info@2.8.7", + "_from": "hosted-git-info@2.8.8", + "_id": "hosted-git-info@2.8.8", "_inBundle": false, - "_integrity": "sha512-ChkjQtKJ3GI6SsI4O5jwr8q8EPrWCnxuc4Tbx+vRI5x6mDOpjKKltNo1lRlszw3xwgTOSns1ZRBiMmmwpcvLxg==", + "_integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "_location": "/hosted-git-info", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "hosted-git-info@2.8.7", + "raw": "hosted-git-info@2.8.8", "name": "hosted-git-info", "escapedName": "hosted-git-info", - "rawSpec": "2.8.7", + "rawSpec": "2.8.8", "saveSpec": null, - "fetchSpec": "2.8.7" + "fetchSpec": "2.8.8" }, "_requiredBy": [ "#USER", @@ -21,10 +21,10 @@ "/normalize-package-data", "/npm-package-arg" ], - "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.7.tgz", - "_shasum": "4d2e0d5248e1cfabc984b0f6a6d75fe36e679511", - "_spec": "hosted-git-info@2.8.7", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "_shasum": "7539bd4bc1e0e0a895815a2e0262420b12858488", + "_spec": "hosted-git-info@2.8.8", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Rebecca Turner", "email": "me@re-becca.org", @@ -65,8 +65,8 @@ "posttest": "standard", "prerelease": "npm t", "release": "standard-version -s", - "test": "tap -J --100 --no-esm test/*.js", - "test:coverage": "tap --coverage-report=html -J --100 --no-esm test/*.js" + "test": "tap -J --coverage=90 --no-esm test/*.js", + "test:coverage": "tap --coverage-report=html -J --coverage=90 --no-esm test/*.js" }, - "version": "2.8.7" + "version": "2.8.8" } diff --git a/deps/npm/node_modules/minimist/.travis.yml b/deps/npm/node_modules/minimist/.travis.yml deleted file mode 100644 index cc4dba29d959..000000000000 --- a/deps/npm/node_modules/minimist/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - "0.8" - - "0.10" diff --git a/deps/npm/node_modules/mkdirp/examples/pow.js b/deps/npm/node_modules/mkdirp/examples/pow.js deleted file mode 100644 index e6924212e6a2..000000000000 --- a/deps/npm/node_modules/mkdirp/examples/pow.js +++ /dev/null @@ -1,6 +0,0 @@ -var mkdirp = require('mkdirp'); - -mkdirp('/tmp/foo/bar/baz', function (err) { - if (err) console.error(err) - else console.log('pow!') -}); diff --git a/deps/npm/node_modules/mkdirp/.travis.yml b/deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml similarity index 100% rename from deps/npm/node_modules/mkdirp/.travis.yml rename to deps/npm/node_modules/mkdirp/node_modules/minimist/.travis.yml diff --git a/deps/npm/node_modules/minimist/LICENSE b/deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE similarity index 100% rename from deps/npm/node_modules/minimist/LICENSE rename to deps/npm/node_modules/mkdirp/node_modules/minimist/LICENSE diff --git a/deps/npm/node_modules/minimist/example/parse.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js similarity index 72% rename from deps/npm/node_modules/minimist/example/parse.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js index abff3e8ee8f5..f7c8d49807f3 100644 --- a/deps/npm/node_modules/minimist/example/parse.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/example/parse.js @@ -1,2 +1,2 @@ var argv = require('../')(process.argv.slice(2)); -console.dir(argv); +console.log(argv); diff --git a/deps/npm/node_modules/minimist/index.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/index.js similarity index 50% rename from deps/npm/node_modules/minimist/index.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/index.js index 584f551a6da7..d5fa9d510fa1 100644 --- a/deps/npm/node_modules/minimist/index.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/index.js @@ -1,16 +1,20 @@ 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 flags = { bools : {}, strings : {}, unknownFn: null }; + + if (typeof opts['unknown'] === 'function') { + flags.unknownFn = opts['unknown']; + } + + if (typeof opts['boolean'] === 'boolean' && opts['boolean']) { + flags.allBools = true; + } else { + [].concat(opts['boolean']).filter(Boolean).forEach(function (key) { + flags.bools[key] = true; + }); + } + var aliases = {}; Object.keys(opts.alias || {}).forEach(function (key) { aliases[key] = [].concat(opts.alias[key]); @@ -20,14 +24,21 @@ module.exports = function (args, opts) { })); }); }); - + + [].concat(opts.string).filter(Boolean).forEach(function (key) { + flags.strings[key] = true; + if (aliases[key]) { + flags.strings[aliases[key]] = true; + } + }); + 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) { @@ -35,114 +46,183 @@ module.exports = function (args, opts) { args = args.slice(0, args.indexOf('--')); } - function setArg (key, val) { + function argDefined(key, arg) { + return (flags.allBools && /^--[^=]+$/.test(arg)) || + flags.strings[key] || flags.bools[key] || aliases[key]; + } + + function setArg (key, val, arg) { + if (arg && flags.unknownFn && !argDefined(key, arg)) { + if (flags.unknownFn(arg) === false) return; + } + var value = !flags.strings[key] && isNumber(val) ? Number(val) : val ; setKey(argv, key.split('.'), value); - + (aliases[key] || []).forEach(function (x) { setKey(argv, x.split('.'), value); }); } - + + function setKey (obj, keys, value) { + var o = obj; + for (var i = 0; i < keys.length-1; i++) { + var key = keys[i]; + if (key === '__proto__') return; + if (o[key] === undefined) o[key] = {}; + if (o[key] === Object.prototype || o[key] === Number.prototype + || o[key] === String.prototype) o[key] = {}; + if (o[key] === Array.prototype) o[key] = []; + o = o[key]; + } + + var key = keys[keys.length - 1]; + if (key === '__proto__') return; + if (o === Object.prototype || o === Number.prototype + || o === String.prototype) o = {}; + if (o === Array.prototype) o = []; + if (o[key] === undefined || flags.bools[key] || typeof o[key] === 'boolean') { + o[key] = value; + } + else if (Array.isArray(o[key])) { + o[key].push(value); + } + else { + o[key] = [ o[key], value ]; + } + } + + function aliasIsBoolean(key) { + return aliases[key].some(function (x) { + return flags.bools[x]; + }); + } + 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: // http://stackoverflow.com/a/1068308/13216 var m = arg.match(/^--([^=]+)=([\s\S]*)$/); - setArg(m[1], m[2]); + var key = m[1]; + var value = m[2]; + if (flags.bools[key]) { + value = value !== 'false'; + } + setArg(key, value, arg); } else if (/^--no-.+/.test(arg)) { var key = arg.match(/^--no-(.+)/)[1]; - setArg(key, false); + setArg(key, false, arg); } else if (/^--.+/.test(arg)) { var key = arg.match(/^--(.+)/)[1]; var next = args[i + 1]; if (next !== undefined && !/^-/.test(next) && !flags.bools[key] - && (aliases[key] ? !flags.bools[aliases[key]] : true)) { - setArg(key, next); + && !flags.allBools + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, next, arg); i++; } else if (/^(true|false)$/.test(next)) { - setArg(key, next === 'true'); + setArg(key, next === 'true', arg); i++; } else { - setArg(key, flags.strings[key] ? '' : true); + setArg(key, flags.strings[key] ? '' : true, arg); } } 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) + setArg(letters[j], next, arg) continue; } - + + if (/[A-Za-z]/.test(letters[j]) && /=/.test(next)) { + setArg(letters[j], next.split('=')[1], arg); + broken = true; + break; + } + if (/[A-Za-z]/.test(letters[j]) && /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { - setArg(letters[j], next); + setArg(letters[j], next, arg); broken = true; break; } - + if (letters[j+1] && letters[j+1].match(/\W/)) { - setArg(letters[j], arg.slice(j+2)); + setArg(letters[j], arg.slice(j+2), arg); broken = true; break; } else { - setArg(letters[j], flags.strings[letters[j]] ? '' : true); + setArg(letters[j], flags.strings[letters[j]] ? '' : true, arg); } } - + var key = arg.slice(-1)[0]; if (!broken && key !== '-') { if (args[i+1] && !/^(-|--)[^-]/.test(args[i+1]) && !flags.bools[key] - && (aliases[key] ? !flags.bools[aliases[key]] : true)) { - setArg(key, args[i+1]); + && (aliases[key] ? !aliasIsBoolean(key) : true)) { + setArg(key, args[i+1], arg); i++; } - else if (args[i+1] && /true|false/.test(args[i+1])) { - setArg(key, args[i+1] === 'true'); + else if (args[i+1] && /^(true|false)$/.test(args[i+1])) { + setArg(key, args[i+1] === 'true', arg); i++; } else { - setArg(key, flags.strings[key] ? '' : true); + setArg(key, flags.strings[key] ? '' : true, arg); } } } else { - argv._.push( - flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) - ); + if (!flags.unknownFn || flags.unknownFn(arg) !== false) { + argv._.push( + flags.strings['_'] || !isNumber(arg) ? arg : Number(arg) + ); + } + if (opts.stopEarly) { + argv._.push.apply(argv._, args.slice(i + 1)); + break; + } } } - + 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); - }); + + if (opts['--']) { + argv['--'] = new Array(); + notFlags.forEach(function(key) { + argv['--'].push(key); + }); + } + else { + notFlags.forEach(function(key) { + argv._.push(key); + }); + } return argv; }; @@ -157,31 +237,8 @@ function hasKey (obj, keys) { return key in o; } -function setKey (obj, keys, value) { - var o = obj; - keys.slice(0,-1).forEach(function (key) { - 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; - } - else if (Array.isArray(o[key])) { - o[key].push(value); - } - else { - o[key] = [ o[key], value ]; - } -} - function isNumber (x) { if (typeof x === 'number') return true; if (/^0x[0-9a-f]+$/i.test(x)) return true; return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x); } - -function longest (xs) { - return Math.max.apply(null, xs.map(function (x) { return x.length })); -} diff --git a/deps/npm/node_modules/minimist/package.json b/deps/npm/node_modules/mkdirp/node_modules/minimist/package.json similarity index 63% rename from deps/npm/node_modules/minimist/package.json rename to deps/npm/node_modules/mkdirp/node_modules/minimist/package.json index 0a1961342b71..2846f6885ae6 100644 --- a/deps/npm/node_modules/minimist/package.json +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/package.json @@ -1,27 +1,27 @@ { - "_from": "minimist@0.0.8", - "_id": "minimist@0.0.8", + "_from": "minimist@^1.2.5", + "_id": "minimist@1.2.5", "_inBundle": false, - "_integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "_location": "/minimist", + "_integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "_location": "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/mkdirp/minimist", "_phantomChildren": {}, "_requested": { - "type": "version", + "type": "range", "registry": true, - "raw": "minimist@0.0.8", + "raw": "minimist@^1.2.5", "name": "minimist", "escapedName": "minimist", - "rawSpec": "0.0.8", + "rawSpec": "^1.2.5", "saveSpec": null, - "fetchSpec": "0.0.8" + "fetchSpec": "^1.2.5" }, "_requiredBy": [ "/mkdirp" ], - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", - "_spec": "minimist@0.0.8", - "_where": "/Users/rebecca/code/npm/node_modules/mkdirp", + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "_shasum": "67d66014b66a6a8aaa0c083c5fd58df4e4e97602", + "_spec": "minimist@^1.2.5", + "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli/node_modules/mkdirp", "author": { "name": "James Halliday", "email": "mail@substack.net", @@ -34,8 +34,9 @@ "deprecated": false, "description": "parse argument options", "devDependencies": { + "covert": "^1.0.0", "tap": "~0.4.0", - "tape": "~1.0.4" + "tape": "^3.5.0" }, "homepage": "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/substack/minimist", "keywords": [ @@ -52,6 +53,7 @@ "url": "git://github.com/substack/minimist.git" }, "scripts": { + "coverage": "covert test/*.js", "test": "tap test/*.js" }, "testling": { @@ -67,5 +69,5 @@ "opera/12" ] }, - "version": "0.0.8" + "version": "1.2.5" } diff --git a/deps/npm/node_modules/minimist/readme.markdown b/deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown similarity index 53% rename from deps/npm/node_modules/minimist/readme.markdown rename to deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown index c25635323e16..5fd97ab11ee9 100644 --- a/deps/npm/node_modules/minimist/readme.markdown +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/readme.markdown @@ -5,15 +5,11 @@ parse argument options This module is the guts of optimist's argument parser without all the fanciful decoration. -[![browser support](https://ci.testling.com/substack/minimist.png)](http://ci.testling.com/substack/minimist) - -[![build status](https://secure.travis-ci.org/substack/minimist.png)](http://travis-ci.org/substack/minimist) - # example ``` js var argv = require('minimist')(process.argv.slice(2)); -console.dir(argv); +console.log(argv); ``` ``` @@ -33,6 +29,13 @@ $ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz beep: 'boop' } ``` +# security + +Previous versions had a prototype pollution bug that could cause privilege +escalation in some circumstances when handling untrusted user input. + +Please use version 1.2.3 or later: https://snyk.io/vuln/SNYK-JS-MINIMIST-559764 + # methods ``` js @@ -55,10 +58,29 @@ options can be: * `opts.string` - a string or array of strings argument names to always treat as strings -* `opts.boolean` - a string or array of strings to always treat as booleans +* `opts.boolean` - a boolean, string or array of strings to always treat as +booleans. if `true` will treat all double hyphenated arguments without equal signs +as boolean (e.g. affects `--foo`, not `-f` or `--foo=bar`) * `opts.alias` - an object mapping string names to strings or arrays of string argument names to use as aliases * `opts.default` - an object mapping string argument names to default values +* `opts.stopEarly` - when true, populate `argv._` with everything after the +first non-option +* `opts['--']` - when true, populate `argv._` with everything before the `--` +and `argv['--']` with everything after the `--`. Here's an example: + + ``` + > require('./')('one two three -- four five --six'.split(' '), { '--': true }) + { _: [ 'one', 'two', 'three' ], + '--': [ 'four', 'five', '--six' ] } + ``` + + Note that with `opts['--']` set, parsing for arguments still stops after the + `--`. + +* `opts.unknown` - a function which is invoked with a command line parameter not +defined in the `opts` configuration object. If the function returns `false`, the +unknown option is not added to `argv`. # install diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js new file mode 100644 index 000000000000..25df1654bc99 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/all_bool.js @@ -0,0 +1,32 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean true (default all --args to boolean)', function (t) { + var argv = parse(['moo', '--honk', 'cow'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); + +test('flag boolean true only affects double hyphen arguments without equals signs', function (t) { + var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], { + boolean: true + }); + + t.deepEqual(argv, { + honk: true, + tacos: 'good', + p: 55, + _: ['moo', 'cow'] + }); + + t.deepEqual(typeof argv.honk, 'boolean'); + t.end(); +}); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js new file mode 100644 index 000000000000..dc9666bc6197 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/bool.js @@ -0,0 +1,178 @@ +var parse = require('../'); +var test = require('tape'); + +test('flag boolean default false', function (t) { + var argv = parse(['moo'], { + 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(); + +}); + +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'); + t.end(); +}); +test('boolean and alias with chainable api', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + herp: { alias: 'h', boolean: true } + }; + var aliasedArgv = parse(aliased, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var propertyArgv = parse(regular, { + boolean: 'herp', + alias: { h: 'herp' } + }); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var opts = { + alias: { 'h': 'herp' }, + boolean: 'herp' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +test('boolean and alias array with options hash', function (t) { + var aliased = [ '-h', 'derp' ]; + var regular = [ '--herp', 'derp' ]; + var alt = [ '--harp', 'derp' ]; + var opts = { + alias: { 'h': ['herp', 'harp'] }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var altPropertyArgv = parse(alt, opts); + var expected = { + harp: true, + herp: true, + h: true, + '_': [ 'derp' ] + }; + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.same(altPropertyArgv, expected); + t.end(); +}); + +test('boolean and alias using explicit true', function (t) { + var aliased = [ '-h', 'true' ]; + var regular = [ '--herp', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h' + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + var expected = { + herp: true, + h: true, + '_': [ ] + }; + + t.same(aliasedArgv, expected); + t.same(propertyArgv, expected); + t.end(); +}); + +// regression, see https://github.com/substack/node-optimist/issues/71 +test('boolean and --x=true', function(t) { + var parsed = parse(['--boool', '--other=true'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'true'); + + parsed = parse(['--boool', '--other=false'], { + boolean: 'boool' + }); + + t.same(parsed.boool, true); + t.same(parsed.other, 'false'); + t.end(); +}); + +test('boolean --boool=true', function (t) { + var parsed = parse(['--boool=true'], { + default: { + boool: false + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, true); + t.end(); +}); + +test('boolean --boool=false', function (t) { + var parsed = parse(['--boool=false'], { + default: { + boool: true + }, + boolean: ['boool'] + }); + + t.same(parsed.boool, false); + t.end(); +}); + +test('boolean using something similar to true', function (t) { + var opts = { boolean: 'h' }; + var result = parse(['-h', 'true.txt'], opts); + var expected = { + h: true, + '_': ['true.txt'] + }; + + t.same(result, expected); + t.end(); +}); \ No newline at end of file diff --git a/deps/npm/node_modules/minimist/test/dash.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js similarity index 74% rename from deps/npm/node_modules/minimist/test/dash.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js index 8b034b99a9ea..5a4fa5be4185 100644 --- a/deps/npm/node_modules/minimist/test/dash.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dash.js @@ -22,3 +22,10 @@ test('-a -- b', function (t) { t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); t.deepEqual(parse([ '--a', '--', 'b' ]), { a: true, _: [ 'b' ] }); }); + +test('move arguments after the -- into their own `--` array', function(t) { + t.plan(1); + t.deepEqual( + parse([ '--name', 'John', 'before', '--', 'after' ], { '--': true }), + { name: 'John', _: [ 'before' ], '--': [ 'after' ] }); +}); diff --git a/deps/npm/node_modules/minimist/test/default_bool.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js similarity index 58% rename from deps/npm/node_modules/minimist/test/default_bool.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js index f0041ee40cd0..780a311270fc 100644 --- a/deps/npm/node_modules/minimist/test/default_bool.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/default_bool.js @@ -18,3 +18,18 @@ test('boolean default false', function (t) { t.equal(argv.somefalse, false); t.end(); }); + +test('boolean default to null', function (t) { + var argv = parse([], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, null); + var argv = parse(['--maybe'], { + boolean: 'maybe', + default: { maybe: null } + }); + t.equal(argv.maybe, true); + t.end(); + +}) diff --git a/deps/npm/node_modules/minimist/test/dotted.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js similarity index 75% rename from deps/npm/node_modules/minimist/test/dotted.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js index ef0ae349bf3b..d8b3e856ec79 100644 --- a/deps/npm/node_modules/minimist/test/dotted.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/dotted.js @@ -14,3 +14,9 @@ test('dotted default', function (t) { t.equal(argv.aa.bb, 11); t.end(); }); + +test('dotted default with no alias', function (t) { + var argv = parse('', {default: {'a.b': 11}}); + t.equal(argv.a.b, 11); + t.end(); +}); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js new file mode 100644 index 000000000000..ae880be4661d --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/kv_short.js @@ -0,0 +1,16 @@ +var parse = require('../'); +var test = require('tape'); + +test('short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-b=123' ]); + t.deepEqual(argv, { b: 123, _: [] }); +}); + +test('multi short -k=v' , function (t) { + t.plan(1); + + var argv = parse([ '-a=whatever', '-b=robots' ]); + t.deepEqual(argv, { a: 'whatever', b: 'robots', _: [] }); +}); diff --git a/deps/npm/node_modules/minimist/test/long.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js similarity index 100% rename from deps/npm/node_modules/minimist/test/long.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/long.js diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js new file mode 100644 index 000000000000..2cc77f4d62ff --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/num.js @@ -0,0 +1,36 @@ +var parse = require('../'); +var test = require('tape'); + +test('nums', function (t) { + var argv = parse([ + '-x', '1234', + '-y', '5.67', + '-z', '1e7', + '-w', '10f', + '--hex', '0xdeadbeef', + '789' + ]); + t.deepEqual(argv, { + x : 1234, + y : 5.67, + z : 1e7, + w : '10f', + hex : 0xdeadbeef, + _ : [ 789 ] + }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv.y, 'number'); + t.deepEqual(typeof argv.z, 'number'); + t.deepEqual(typeof argv.w, 'string'); + t.deepEqual(typeof argv.hex, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); + +test('already a number', function (t) { + var argv = parse([ '-x', 1234, 789 ]); + t.deepEqual(argv, { x : 1234, _ : [ 789 ] }); + t.deepEqual(typeof argv.x, 'number'); + t.deepEqual(typeof argv._[0], 'number'); + t.end(); +}); diff --git a/deps/npm/node_modules/minimist/test/parse.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js similarity index 54% rename from deps/npm/node_modules/minimist/test/parse.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js index 8a9064669662..58f24572c47d 100644 --- a/deps/npm/node_modules/minimist/test/parse.js +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse.js @@ -14,7 +14,7 @@ test('parse args', function (t) { ); t.end(); }); - + test('comprehensive', function (t) { t.deepEqual( parse([ @@ -42,32 +42,6 @@ test('comprehensive', function (t) { t.end(); }); -test('nums', function (t) { - var argv = parse([ - '-x', '1234', - '-y', '5.67', - '-z', '1e7', - '-w', '10f', - '--hex', '0xdeadbeef', - '789' - ]); - t.deepEqual(argv, { - x : 1234, - y : 5.67, - z : 1e7, - w : '10f', - hex : 0xdeadbeef, - _ : [ 789 ] - }); - t.deepEqual(typeof argv.x, 'number'); - t.deepEqual(typeof argv.y, 'number'); - t.deepEqual(typeof argv.z, 'number'); - t.deepEqual(typeof argv.w, 'string'); - t.deepEqual(typeof argv.hex, 'number'); - t.deepEqual(typeof argv._[0], 'number'); - t.end(); -}); - test('flag boolean', function (t) { var argv = parse([ '-t', 'moo' ], { boolean: 't' }); t.deepEqual(argv, { t : true, _ : [ 'moo' ] }); @@ -80,58 +54,22 @@ 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(); -}); -test('flag boolean default false', function (t) { - var argv = parse(['moo'], { - 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(); - -}); - -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'); - t.end(); }); 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 +83,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'); @@ -183,6 +121,29 @@ test('empty strings', function(t) { }); +test('string and alias', function(t) { + var x = parse([ '--str', '000123' ], { + string: 's', + alias: { s: 'str' } + }); + + t.equal(x.str, '000123'); + t.equal(typeof x.str, 'string'); + t.equal(x.s, '000123'); + t.equal(typeof x.s, 'string'); + + var y = parse([ '-s', '000123' ], { + string: 'str', + alias: { str: 's' } + }); + + t.equal(y.str, '000123'); + t.equal(typeof y.str, 'string'); + t.equal(y.s, '000123'); + t.equal(typeof y.s, 'string'); + t.end(); +}); + test('slashBreak', function (t) { t.same( parse([ '-I/foo/bar/baz' ]), @@ -222,7 +183,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, @@ -234,85 +195,3 @@ test('nested dotted objects', function (t) { t.same(argv.beep, { boop : true }); t.end(); }); - -test('boolean and alias with chainable api', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - herp: { alias: 'h', boolean: true } - }; - var aliasedArgv = parse(aliased, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var propertyArgv = parse(regular, { - boolean: 'herp', - alias: { h: 'herp' } - }); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias with options hash', function (t) { - var aliased = [ '-h', 'derp' ]; - var regular = [ '--herp', 'derp' ]; - var opts = { - alias: { 'h': 'herp' }, - boolean: 'herp' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ 'derp' ] - }; - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -test('boolean and alias using explicit true', function (t) { - var aliased = [ '-h', 'true' ]; - var regular = [ '--herp', 'true' ]; - var opts = { - alias: { h: 'herp' }, - boolean: 'h' - }; - var aliasedArgv = parse(aliased, opts); - var propertyArgv = parse(regular, opts); - var expected = { - herp: true, - h: true, - '_': [ ] - }; - - t.same(aliasedArgv, expected); - t.same(propertyArgv, expected); - t.end(); -}); - -// regression, see https://github.com/substack/node-optimist/issues/71 -test('boolean and --x=true', function(t) { - var parsed = parse(['--boool', '--other=true'], { - boolean: 'boool' - }); - - t.same(parsed.boool, true); - t.same(parsed.other, 'true'); - - 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/minimist/test/parse_modified.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js similarity index 77% rename from deps/npm/node_modules/minimist/test/parse_modified.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/parse_modified.js index 21851b036ee6..a22248532f0c 100644 --- a/deps/npm/node_modules/minimist/test/parse_modified.js +++ b/deps/npm/node_modules/mkdirp/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'] }); + t.deepEqual(argv, { b: true, _: [123] }); }); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js new file mode 100644 index 000000000000..8649107ecba1 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/proto.js @@ -0,0 +1,44 @@ +var parse = require('../'); +var test = require('tape'); + +test('proto pollution', function (t) { + var argv = parse(['--__proto__.x','123']); + t.equal({}.x, undefined); + t.equal(argv.__proto__.x, undefined); + t.equal(argv.x, undefined); + t.end(); +}); + +test('proto pollution (array)', function (t) { + var argv = parse(['--x','4','--x','5','--x.__proto__.z','789']); + t.equal({}.z, undefined); + t.deepEqual(argv.x, [4,5]); + t.equal(argv.x.z, undefined); + t.equal(argv.x.__proto__.z, undefined); + t.end(); +}); + +test('proto pollution (number)', function (t) { + var argv = parse(['--x','5','--x.__proto__.z','100']); + t.equal({}.z, undefined); + t.equal((4).z, undefined); + t.equal(argv.x, 5); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (string)', function (t) { + var argv = parse(['--x','abc','--x.__proto__.z','def']); + t.equal({}.z, undefined); + t.equal('...'.z, undefined); + t.equal(argv.x, 'abc'); + t.equal(argv.x.z, undefined); + t.end(); +}); + +test('proto pollution (constructor)', function (t) { + var argv = parse(['--constructor.prototype.y','123']); + t.equal({}.y, undefined); + t.equal(argv.y, undefined); + t.end(); +}); diff --git a/deps/npm/node_modules/minimist/test/short.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js similarity index 99% rename from deps/npm/node_modules/minimist/test/short.js rename to deps/npm/node_modules/mkdirp/node_modules/minimist/test/short.js index d513a1c25290..ac18880f1eb5 100644 --- a/deps/npm/node_modules/minimist/test/short.js +++ b/deps/npm/node_modules/mkdirp/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/stop_early.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/stop_early.js new file mode 100644 index 000000000000..bdf9fbcb0b57 --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/stop_early.js @@ -0,0 +1,15 @@ +var parse = require('../'); +var test = require('tape'); + +test('stops parsing on the first non-option when stopEarly is set', function (t) { + var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], { + stopEarly: true + }); + + t.deepEqual(argv, { + aaa: 'bbb', + _: ['ccc', '--ddd'] + }); + + t.end(); +}); diff --git a/deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js new file mode 100644 index 000000000000..462a36bdd7ec --- /dev/null +++ b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/unknown.js @@ -0,0 +1,102 @@ +var parse = require('../'); +var test = require('tape'); + +test('boolean and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'true', '--derp', 'true' ]; + var regular = [ '--herp', 'true', '-d', 'true' ]; + var opts = { + alias: { h: 'herp' }, + boolean: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('flag boolean true any double hyphen argument is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], { + boolean: true, + unknown: unknownFn + }); + t.same(unknown, ['--tacos=good', 'cow', '-p']); + t.same(argv, { + honk: true, + _: [] + }); + t.end(); +}); + +test('string and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello', '--derp', 'goodbye' ]; + var regular = [ '--herp', 'hello', '-d', 'moon' ]; + var opts = { + alias: { h: 'herp' }, + string: 'h', + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, ['--derp', '-d']); + t.end(); +}); + +test('default and alias is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '-h', 'hello' ]; + var regular = [ '--herp', 'hello' ]; + var opts = { + default: { 'h': 'bar' }, + alias: { 'h': 'herp' }, + unknown: unknownFn + }; + var aliasedArgv = parse(aliased, opts); + var propertyArgv = parse(regular, opts); + + t.same(unknown, []); + t.end(); + unknownFn(); // exercise fn for 100% coverage +}); + +test('value following -- is not unknown', function (t) { + var unknown = []; + function unknownFn(arg) { + unknown.push(arg); + return false; + } + var aliased = [ '--bad', '--', 'good', 'arg' ]; + var opts = { + '--': true, + unknown: unknownFn + }; + var argv = parse(aliased, opts); + + t.same(unknown, ['--bad']); + t.same(argv, { + '--': ['good', 'arg'], + '_': [] + }) + t.end(); +}); diff --git a/deps/npm/node_modules/minimist/test/whitespace.js b/deps/npm/node_modules/mkdirp/node_modules/minimist/test/whitespace.js similarity index 100% rename from deps/npm/node_modules/minimist/test/whitespace.js rename to deps/npm/node_modules/mkdirp/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 aa7b9061128f..a880e2ef5451 100644 --- a/deps/npm/node_modules/mkdirp/package.json +++ b/deps/npm/node_modules/mkdirp/package.json @@ -1,47 +1,41 @@ { - "_args": [ - [ - "mkdirp@0.5.1", - "/Users/rebecca/code/npm" - ] - ], - "_from": "mkdirp@0.5.1", - "_id": "mkdirp@0.5.1", + "_from": "mkdirp@0.5.3", + "_id": "mkdirp@0.5.3", "_inBundle": false, - "_integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "_integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", "_location": "/mkdirp", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "mkdirp@0.5.1", + "raw": "mkdirp@0.5.3", "name": "mkdirp", "escapedName": "mkdirp", - "rawSpec": "0.5.1", + "rawSpec": "0.5.3", "saveSpec": null, - "fetchSpec": "0.5.1" + "fetchSpec": "0.5.3" }, "_requiredBy": [ + "#USER", "/", "/cacache", "/cmd-shim", "/copy-concurrently", "/eslint", - "/fstream", "/gentle-fs", + "/libcipm", "/move-concurrently", "/node-gyp", - "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/npm-profile/cacache", - "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/npm-registry-fetch/cacache", "/pacote", - "/tacks", + "/spawn-wrap", "/tap", "/tar", "/write" ], - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "_spec": "0.5.1", - "_where": "/Users/rebecca/code/npm", + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "_shasum": "5a514b7179259287952881e94410ec5465659f8c", + "_spec": "mkdirp@0.5.3", + "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli", "author": { "name": "James Halliday", "email": "mail@substack.net", @@ -53,14 +47,20 @@ "bugs": { "url": "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/substack/node-mkdirp/issues" }, + "bundleDependencies": false, "dependencies": { - "minimist": "0.0.8" + "minimist": "^1.2.5" }, + "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", "description": "Recursively mkdir, like `mkdir -p`", "devDependencies": { - "mock-fs": "2 >=2.7.0", - "tap": "1" + "mock-fs": "^3.7.0", + "tap": "^5.4.2" }, + "files": [ + "bin", + "index.js" + ], "homepage": "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/substack/node-mkdirp#readme", "keywords": [ "mkdir", @@ -69,6 +69,9 @@ "license": "MIT", "main": "index.js", "name": "mkdirp", + "publishConfig": { + "tag": "legacy" + }, "repository": { "type": "git", "url": "git+https://github.com/substack/node-mkdirp.git" @@ -76,5 +79,5 @@ "scripts": { "test": "tap test/*.js" }, - "version": "0.5.1" + "version": "0.5.3" } diff --git a/deps/npm/node_modules/mkdirp/test/chmod.js b/deps/npm/node_modules/mkdirp/test/chmod.js deleted file mode 100644 index 6a404b932f94..000000000000 --- a/deps/npm/node_modules/mkdirp/test/chmod.js +++ /dev/null @@ -1,41 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); -var _0744 = parseInt('0744', 8); - -var ps = [ '', 'tmp' ]; - -for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); -} - -var file = ps.join('/'); - -test('chmod-pre', function (t) { - var mode = _0744 - mkdirp(file, mode, function (er) { - t.ifError(er, 'should not error'); - fs.stat(file, function (er, stat) { - t.ifError(er, 'should exist'); - t.ok(stat && stat.isDirectory(), 'should be directory'); - t.equal(stat && stat.mode & _0777, mode, 'should be 0744'); - t.end(); - }); - }); -}); - -test('chmod', function (t) { - var mode = _0755 - mkdirp(file, mode, function (er) { - t.ifError(er, 'should not error'); - fs.stat(file, function (er, stat) { - t.ifError(er, 'should exist'); - t.ok(stat && stat.isDirectory(), 'should be directory'); - t.end(); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/clobber.js b/deps/npm/node_modules/mkdirp/test/clobber.js deleted file mode 100644 index 2433b9ad5485..000000000000 --- a/deps/npm/node_modules/mkdirp/test/clobber.js +++ /dev/null @@ -1,38 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0755 = parseInt('0755', 8); - -var ps = [ '', 'tmp' ]; - -for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); -} - -var file = ps.join('/'); - -// a file in the way -var itw = ps.slice(0, 3).join('/'); - - -test('clobber-pre', function (t) { - console.error("about to write to "+itw) - fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.'); - - fs.stat(itw, function (er, stat) { - t.ifError(er) - t.ok(stat && stat.isFile(), 'should be file') - t.end() - }) -}) - -test('clobber', function (t) { - t.plan(2); - mkdirp(file, _0755, function (err) { - t.ok(err); - t.equal(err.code, 'ENOTDIR'); - t.end(); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/mkdirp.js b/deps/npm/node_modules/mkdirp/test/mkdirp.js deleted file mode 100644 index eaa8921c7f14..000000000000 --- a/deps/npm/node_modules/mkdirp/test/mkdirp.js +++ /dev/null @@ -1,28 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('woo', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/opts_fs.js b/deps/npm/node_modules/mkdirp/test/opts_fs.js deleted file mode 100644 index 97186b62e0bb..000000000000 --- a/deps/npm/node_modules/mkdirp/test/opts_fs.js +++ /dev/null @@ -1,29 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var test = require('tap').test; -var mockfs = require('mock-fs'); -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('opts.fs', function (t) { - t.plan(5); - - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '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/beep/boop/' + [x,y,z].join('/'); - var xfs = mockfs.fs(); - - mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { - t.ifError(err); - xfs.exists(file, function (ex) { - t.ok(ex, 'created file'); - xfs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/opts_fs_sync.js b/deps/npm/node_modules/mkdirp/test/opts_fs_sync.js deleted file mode 100644 index 6c370aa6e93a..000000000000 --- a/deps/npm/node_modules/mkdirp/test/opts_fs_sync.js +++ /dev/null @@ -1,27 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var test = require('tap').test; -var mockfs = require('mock-fs'); -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('opts.fs sync', function (t) { - t.plan(4); - - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '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/beep/boop/' + [x,y,z].join('/'); - var xfs = mockfs.fs(); - - mkdirp.sync(file, { fs: xfs, mode: _0755 }); - xfs.exists(file, function (ex) { - t.ok(ex, 'created file'); - xfs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/perm.js b/deps/npm/node_modules/mkdirp/test/perm.js deleted file mode 100644 index fbce44b82baf..000000000000 --- a/deps/npm/node_modules/mkdirp/test/perm.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('async perm', function (t) { - t.plan(5); - var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); - -test('async root perm', function (t) { - mkdirp('/tmp', _0755, function (err) { - if (err) t.fail(err); - t.end(); - }); - t.end(); -}); diff --git a/deps/npm/node_modules/mkdirp/test/perm_sync.js b/deps/npm/node_modules/mkdirp/test/perm_sync.js deleted file mode 100644 index 398229fe54ab..000000000000 --- a/deps/npm/node_modules/mkdirp/test/perm_sync.js +++ /dev/null @@ -1,36 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('sync perm', function (t) { - t.plan(4); - var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; - - mkdirp.sync(file, _0755); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); - -test('sync root perm', function (t) { - t.plan(3); - - var file = '/tmp'; - mkdirp.sync(file, _0755); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/race.js b/deps/npm/node_modules/mkdirp/test/race.js deleted file mode 100644 index b0b9e183c902..000000000000 --- a/deps/npm/node_modules/mkdirp/test/race.js +++ /dev/null @@ -1,37 +0,0 @@ -var mkdirp = require('../').mkdirp; -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('race', function (t) { - t.plan(10); - var ps = [ '', 'tmp' ]; - - for (var i = 0; i < 25; i++) { - var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - ps.push(dir); - } - var file = ps.join('/'); - - var res = 2; - mk(file); - - mk(file); - - function mk (file, cb) { - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }) - }); - } -}); diff --git a/deps/npm/node_modules/mkdirp/test/rel.js b/deps/npm/node_modules/mkdirp/test/rel.js deleted file mode 100644 index 4ddb34276a72..000000000000 --- a/deps/npm/node_modules/mkdirp/test/rel.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('rel', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var cwd = process.cwd(); - process.chdir('/tmp'); - - var file = [x,y,z].join('/'); - - mkdirp(file, _0755, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - process.chdir(cwd); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }) - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/return.js b/deps/npm/node_modules/mkdirp/test/return.js deleted file mode 100644 index bce68e5613e3..000000000000 --- a/deps/npm/node_modules/mkdirp/test/return.js +++ /dev/null @@ -1,25 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; - -test('return value', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - // should return the first dir created. - // By this point, it would be profoundly surprising if /tmp didn't - // already exist, since every other test makes things in there. - mkdirp(file, function (err, made) { - t.ifError(err); - t.equal(made, '/tmp/' + x); - mkdirp(file, function (err, made) { - t.ifError(err); - t.equal(made, null); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/return_sync.js b/deps/npm/node_modules/mkdirp/test/return_sync.js deleted file mode 100644 index 7c222d3558d6..000000000000 --- a/deps/npm/node_modules/mkdirp/test/return_sync.js +++ /dev/null @@ -1,24 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; - -test('return value', function (t) { - t.plan(2); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - // should return the first dir created. - // By this point, it would be profoundly surprising if /tmp didn't - // already exist, since every other test makes things in there. - // Note that this will throw on failure, which will fail the test. - var made = mkdirp.sync(file); - t.equal(made, '/tmp/' + x); - - // making the same file again should have no effect. - made = mkdirp.sync(file); - t.equal(made, null); -}); diff --git a/deps/npm/node_modules/mkdirp/test/root.js b/deps/npm/node_modules/mkdirp/test/root.js deleted file mode 100644 index 9e7d079d9fc7..000000000000 --- a/deps/npm/node_modules/mkdirp/test/root.js +++ /dev/null @@ -1,19 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var test = require('tap').test; -var _0755 = parseInt('0755', 8); - -test('root', function (t) { - // '/' on unix, 'c:/' on windows. - var file = path.resolve('/'); - - mkdirp(file, _0755, function (err) { - if (err) throw err - fs.stat(file, function (er, stat) { - if (er) throw er - t.ok(stat.isDirectory(), 'target is a directory'); - t.end(); - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/sync.js b/deps/npm/node_modules/mkdirp/test/sync.js deleted file mode 100644 index 8c8dc938c8b4..000000000000 --- a/deps/npm/node_modules/mkdirp/test/sync.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('sync', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - try { - mkdirp.sync(file, _0755); - } catch (err) { - t.fail(err); - return t.end(); - } - - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0755); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/umask.js b/deps/npm/node_modules/mkdirp/test/umask.js deleted file mode 100644 index 2033c63a414e..000000000000 --- a/deps/npm/node_modules/mkdirp/test/umask.js +++ /dev/null @@ -1,28 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('implicit mode from umask', function (t) { - t.plan(5); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - mkdirp(file, function (err) { - t.ifError(err); - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, _0777 & (~process.umask())); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }) - }); -}); diff --git a/deps/npm/node_modules/mkdirp/test/umask_sync.js b/deps/npm/node_modules/mkdirp/test/umask_sync.js deleted file mode 100644 index 11a76147496a..000000000000 --- a/deps/npm/node_modules/mkdirp/test/umask_sync.js +++ /dev/null @@ -1,32 +0,0 @@ -var mkdirp = require('../'); -var path = require('path'); -var fs = require('fs'); -var exists = fs.exists || path.exists; -var test = require('tap').test; -var _0777 = parseInt('0777', 8); -var _0755 = parseInt('0755', 8); - -test('umask sync modes', function (t) { - t.plan(4); - var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16); - - var file = '/tmp/' + [x,y,z].join('/'); - - try { - mkdirp.sync(file); - } catch (err) { - t.fail(err); - return t.end(); - } - - exists(file, function (ex) { - t.ok(ex, 'file created'); - fs.stat(file, function (err, stat) { - t.ifError(err); - t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); - t.ok(stat.isDirectory(), 'target not a directory'); - }); - }); -}); diff --git a/deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml b/deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml new file mode 100644 index 000000000000..dba9d10933cb --- /dev/null +++ b/deps/npm/node_modules/node-gyp/.github/workflows/Python_tests.yml @@ -0,0 +1,40 @@ +# TODO: Line 15, enable python-version: 3.5 +# TODO: Line 36, enable pytest --doctest-modules + +name: Python_tests +on: [push, pull_request] +jobs: + Python_tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + max-parallel: 15 + matrix: + os: [macos-latest, ubuntu-latest, windows-latest] + python-version: [2.7, 3.6, 3.7, 3.8] # 3.5, + steps: + - uses: actions/checkout@v1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest # -r requirements.txt + - name: Lint with flake8 + if: matrix.os == 'ubuntu-latest' + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest (Linux and macOS) + if: matrix.os != 'windows-latest' + run: pytest + - name: Test with pytest (Windows) + if: matrix.os == 'windows-latest' + shell: bash + run: GYP_MSVS_VERSION=2015 GYP_MSVS_OVERRIDE_PATH="C:\\Dummy" pytest + # - name: Run doctests with pytest + # run: pytest --doctest-modules diff --git a/deps/npm/node_modules/node-gyp/.travis.yml b/deps/npm/node_modules/node-gyp/.travis.yml index e43ba548fb78..22f7bc12fc34 100644 --- a/deps/npm/node_modules/node-gyp/.travis.yml +++ b/deps/npm/node_modules/node-gyp/.travis.yml @@ -1,33 +1,17 @@ dist: xenial language: python cache: pip -matrix: +addons: + homebrew: + update: true + packages: + - npm + - pyenv +jobs: include: - name: "Python 2.7 on Linux" env: NODE_GYP_FORCE_PYTHON=python2 python: 2.7 - - name: "Python 2.7 on macOS" - os: osx - osx_image: xcode11.2 - language: shell # 'language: python' is not yet supported on macOS - env: NODE_GYP_FORCE_PYTHON=python2 - before_install: HOMEBREW_NO_AUTO_UPDATE=1 brew install npm - - name: "Node.js 6 & Python 2.7 on Windows" - os: windows - language: node_js - node_js: 6 # node - env: >- - PATH=/c/Python27:/c/Python27/Scripts:$PATH - NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe - before_install: choco install python2 - - name: "Node.js 12 & Python 2.7 on Windows" - os: windows - language: node_js - node_js: 12 # node - env: >- - PATH=/c/Python27:/c/Python27/Scripts:$PATH - NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe - before_install: choco install python2 - name: "Node.js 6 & Python 3.8 on Linux" python: 3.8 @@ -58,12 +42,36 @@ matrix: env: NODE_GYP_FORCE_PYTHON=python3 before_install: nvm install 12 - - name: "Python 3.7 on macOS" + - name: "Python 2.7 on macOS" os: osx osx_image: xcode11.2 language: shell # 'language: python' is not yet supported on macOS - env: NODE_GYP_FORCE_PYTHON=python3 - before_install: HOMEBREW_NO_AUTO_UPDATE=1 brew upgrade npm || true + env: NODE_GYP_FORCE_PYTHON=python2 PATH=$HOME/.pyenv/shims:$PATH PYENV_VERSION=2.7.17 + before_install: pyenv install $PYENV_VERSION + - name: "Python 3.8 on macOS" + os: osx + osx_image: xcode11.2 + language: shell # 'language: python' is not yet supported on macOS + env: NODE_GYP_FORCE_PYTHON=python3 PATH=$HOME/.pyenv/shims:$PATH PYENV_VERSION=3.8.0 + before_install: pyenv install $PYENV_VERSION + + - name: "Node.js 6 & Python 2.7 on Windows" + os: windows + language: node_js + node_js: 6 # node + env: >- + PATH=/c/Python27:/c/Python27/Scripts:$PATH + NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe + before_install: choco install python2 + - name: "Node.js 12 & Python 2.7 on Windows" + os: windows + language: node_js + node_js: 12 # node + env: >- + PATH=/c/Python27:/c/Python27/Scripts:$PATH + NODE_GYP_FORCE_PYTHON=/c/Python27/python.exe + before_install: choco install python2 + - name: "Node.js 12 & Python 3.7 on Windows" os: windows language: node_js @@ -82,20 +90,19 @@ matrix: before_install: choco install python install: - #- pip install -r requirements.txt - - pip install --upgrade flake8 pytest==4.6.6 # pytest 5 no longer supports legacy Python + - python -m pip install --upgrade flake8 pytest==4.6.6 # pytest 5 no longer supports legacy Python before_script: - - flake8 --version + - python -m flake8 --version # stop the build if there are Python syntax errors or undefined names - - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + - python -m flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. Two space indentation is OK. The GitHub editor is 127 chars wide - - flake8 . --count --exit-zero --ignore=E111,E114,W503 --max-complexity=10 --max-line-length=127 --statistics + - python -m flake8 . --count --exit-zero --ignore=E111,E114,W503 --max-complexity=10 --max-line-length=127 --statistics - npm install - npm list script: - node -e 'require("npmlog").level="verbose"; require("./lib/find-python")(null,()=>{})' - npm test - - GYP_MSVS_VERSION=2015 GYP_MSVS_OVERRIDE_PATH="C:\\Dummy" pytest + - GYP_MSVS_VERSION=2015 GYP_MSVS_OVERRIDE_PATH="C:\\Dummy" python -m pytest notifications: on_success: change on_failure: change # `always` will be the setting once code changes slow down diff --git a/deps/npm/node_modules/node-gyp/CHANGELOG.md b/deps/npm/node_modules/node-gyp/CHANGELOG.md index 28f523779841..5dc6bb4d4706 100644 --- a/deps/npm/node_modules/node-gyp/CHANGELOG.md +++ b/deps/npm/node_modules/node-gyp/CHANGELOG.md @@ -1,3 +1,21 @@ +v5.1.0 2020-02-05 +================= + +* [[`f37a8b40d0`](https://github.com/nodejs/node-gyp/commit/f37a8b40d0)] - **doc**: add GitHub Actions badge (#1994) (Rod Vagg) [#1994](https://github.com/nodejs/node-gyp/pull/1994) +* [[`cb3f6aae5e`](https://github.com/nodejs/node-gyp/commit/cb3f6aae5e)] - **doc**: update macOS\_Catalina.md (#1992) (James Home) [#1992](https://github.com/nodejs/node-gyp/pull/1992) +* [[`0607596a4c`](https://github.com/nodejs/node-gyp/commit/0607596a4c)] - **doc**: fix typo in README.md (#1985) (Suraneti Rodsuwan) [#1985](https://github.com/nodejs/node-gyp/pull/1985) +* [[`0d5a415a14`](https://github.com/nodejs/node-gyp/commit/0d5a415a14)] - **doc**: add travis badge (Rod Vagg) [#1971](https://github.com/nodejs/node-gyp/pull/1971) +* [[`103740cd95`](https://github.com/nodejs/node-gyp/commit/103740cd95)] - **gyp**: list(dict) so we can del dict(key) while iterating (Christian Clauss) [#2009](https://github.com/nodejs/node-gyp/pull/2009) +* [[`278dcddbdd`](https://github.com/nodejs/node-gyp/commit/278dcddbdd)] - **lib**: ignore VS instances that cause COMExceptions (Andrew Casey) [#2018](https://github.com/nodejs/node-gyp/pull/2018) +* [[`1694907bbf`](https://github.com/nodejs/node-gyp/commit/1694907bbf)] - **lib**: compatibility with semver ≥ 7 (`new` for semver.Range) (Xavier Guimard) [#2006](https://github.com/nodejs/node-gyp/pull/2006) +* [[`a3f1143514`](https://github.com/nodejs/node-gyp/commit/a3f1143514)] - **(SEMVER-MINOR)** **lib**: noproxy support, match proxy detection to `request` (Matias Lopez) [#1978](https://github.com/nodejs/node-gyp/pull/1978) +* [[`52365819c7`](https://github.com/nodejs/node-gyp/commit/52365819c7)] - **test**: remove old docker test harness (#1993) (Rod Vagg) [#1993](https://github.com/nodejs/node-gyp/pull/1993) +* [[`bc509c511d`](https://github.com/nodejs/node-gyp/commit/bc509c511d)] - **test**: add Windows to GitHub Actions testing (#1996) (Christian Clauss) [#1996](https://github.com/nodejs/node-gyp/pull/1996) +* [[`91ee26dd48`](https://github.com/nodejs/node-gyp/commit/91ee26dd48)] - **test**: fix typo in header download test (#2001) (Richard Lau) [#2001](https://github.com/nodejs/node-gyp/pull/2001) +* [[`0923f344c9`](https://github.com/nodejs/node-gyp/commit/0923f344c9)] - **test**: direct python invocation & simpler pyenv (Matias Lopez) [#1979](https://github.com/nodejs/node-gyp/pull/1979) +* [[`32c8744b34`](https://github.com/nodejs/node-gyp/commit/32c8744b34)] - **test**: fix macOS Travis on Python 2.7 & 3.7 (Christian Clauss) [#1979](https://github.com/nodejs/node-gyp/pull/1979) +* [[`fd4b1351e4`](https://github.com/nodejs/node-gyp/commit/fd4b1351e4)] - **test**: initial Github Actions with Ubuntu & macOS (Christian Clauss) [#1985](https://github.com/nodejs/node-gyp/pull/1985) + v5.0.7 2019-12-16 ================= diff --git a/deps/npm/node_modules/node-gyp/README.md b/deps/npm/node_modules/node-gyp/README.md index e39c5de8ea04..79abf4ba71fe 100644 --- a/deps/npm/node_modules/node-gyp/README.md +++ b/deps/npm/node_modules/node-gyp/README.md @@ -1,5 +1,8 @@ # `node-gyp` - Node.js native addon build tool +[![Travis CI](https://travis-ci.com/nodejs/node-gyp.svg?branch=master)](https://travis-ci.com/nodejs/node-gyp) +[![Build Status](https://github.com/nodejs/node-gyp/workflows/Python_tests/badge.svg)](https://github.com/nodejs/node-gyp/actions?workflow=Python_tests) + `node-gyp` is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It contains a fork of the [gyp](https://gyp.gsrc.io) project that was previously used by the Chromium @@ -14,7 +17,7 @@ etc.), regardless of what version of Node.js is actually installed on your syste ## Features * The same build commands work on any of the supported platforms - * Supports the targetting of different versions of Node.js + * Supports the targeting of different versions of Node.js ## Installation @@ -191,7 +194,8 @@ Some additional resources for Node.js native addons and writing `gyp` configurat | `--devdir=$path` | SDK download directory (default is OS cache directory) | `--ensure` | Don't reinstall headers if already present | `--dist-url=$url` | Download header tarball from custom URL -| `--proxy=$url` | Set HTTP proxy for downloading header tarball +| `--proxy=$url` | Set HTTP(S) proxy for downloading header tarball +| `--noproxy=$urls` | Set urls to ignore proxies when downloading header tarball | `--cafile=$cafile` | Override default CA chain (to download tarball) | `--nodedir=$path` | Set the path to the node source code | `--python=$path` | Set path to the Python binary diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.pyc new file mode 100644 index 0000000000000000000000000000000000000000..29a620fe4e274ba38d1343c70a43db676a612b4a GIT binary patch literal 7654 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 literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..39ccea3454f79de724e5d445270c448de8e2ed89 GIT binary patch literal 16426 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ʃm#*RKy_M>G9Y+?x472b zc|_anT;uMA<6Yh82(XwvRA_ zTPhP->rO_vlH?f*5r_}&#I#`pN}L*mOoj?!wahQUZ5r{z1+l-07oTm@d1(DLY*~A> z$ku$@YtShQV+(s=u$=9IDdA@Dm-_yti;EXt1OLX&CYX=LS=J0Lpg#RXw|bovn{3)_ zv8~s-%v--5*XhB4O$P%nMvn>E9l~m~KT0L2t5p2%Hs@$9yN-QuFQ3LqtqFNG;<2J| z7!0BdhZeW^9rguZlP||A#tuIfw&>h~#ED;pvDcv6cNRXBZmn%m!D8?$jdq*HrA*Sp z=oLLvN##zjB$l5GdzxCEF0K?}EOpalGmhl&G0sq}bUzpwN;Bz&p+R59N!$iaSUVq0 z?rPJRB1{AHW}l)qeGb5YF$V+f;JJX;u3dXlT2_j)VIdjQ8hQ=35?N=q%G$V= z)K|4<18oU6+glQwgl?gRMshxAX@1uObvXtMs6-pWPINyzC<+ma1lZ{eS`|#&lHbfE zOy$Bf_FCn_ez)J^JO;w$Be+?CYr!*j4-oWcuFq({0?{H)0`kE?_~+f)Y_5Q326kiS zJNi007%&9=Gyg|s2;@<+{tudoI4XvV-v^Rg+z#<2$HXnvolhedVB zg5?GsSziT;>jW`5qCG^ujbVD#(oRC41f-T*PokhEH)8NAvO`&^ZM%F>l;qjkhWXOl zAYd1`)?IPzM4t~5=p}mTxXcrL<9Hc<_dQN~aQp+g_#3!^Tzp#x3>1(~ffUW%d$hTe zuQG)uVFlQkBk3L(;?O++22ez^%Yo&=$MA`a zK1SD9z$pONU_^V-GBeno!jN-VkeQRX-b*YD?15*}ZSt{?rLPz3(1`7v+#{nUDV-vt z1tCs;Ag^l8Dk2y*X z;E2@eP!0+Zl;}x>8Tvyv1Q?v+nKKw=t!v{REP8NvGx4G6%8T1i8WNY)}YHI1K$|R+C^J zc!r1GDYBn)?Hogojt6zb0nUn3b*e472-@8cI#T)%Tss*FUmyu-1e@Z(`A9&_k2vPz0U<2oc1h4GL96JlBpJN)TF88SWRTx__G^0*@@MOz0L&D@c}>9k*C%Jn%zyyCHPs0mbQNGo#=+Qjol6igMTxH5@gy z4=HI6A%W-sA#wQgu2NWIKPGYYI&>0+6}RuI{9mYiC4m-@xd8W8Gxj@e*j$ZeL8~3# zk-Y$e%;NNH8TNwAtz0MClfap;c66+s^qKOUgH%>;Ff6*z{W#Xc67~H%*~_FJoSJf7 zoOacNJXO+o_;$A>oJb?hhHm{T%*T4O zW8+yFGNhxXpVX1l4{6CuTjhA<+%hAjM^Z9Eqo8B=QcmKc%Hi=*@C3p$aL!4EVLy)K zNX^lerY8Jc;idC^}!U zq}Ci_1m>h7z{4^U?<`fNA13hhf}QWLz}fV`?o0k70)vo{DcQPdc^{lYBlon`m5WC& zU5+|XCxdde;#dc#gHBzw=?fB@1Y|Bb;+JYR4%sy~bgG7#gv*ihopX%rjZ7d>uztsv zI@w3qhp{{H5;JxHDyZx|gae%-TtAx&Tkqe*FQSf>`7L=0TZC&o+_4kkq7;-tElrbv zo?y3K*IYRhmJepK&eKV$i^4E_dl)u3GY-l)dzynF9t8INc-a4UflT{ypxy&EAj|su zXmW6$jt64|Hp;Qb#G@0ofj~43uKp@S4)Q`j!D&Z@neJf;>r|!u^I^ zW9W=%Zr@eWCbAfL3JM7|>hjdB{vwa}oXX?zXD3Os#A+R!NYR47K@WfR;NqepGgKXM810Uresl*vI>A(O{xoQs@xhQeS1 z9XWDw10KYSPHN)D!eIp)u^ugS{2E8ak>Fs{o8De2P0u>nN+3DAz)^?;2-xC*L9L(2 zm5h>gaIt*`rq2S0MtqvdeP`;V0xyzj9+v_d`unMsA#It;eU4!Q2*kpb_BIHlk{J3! zRGre3+@Nt0?BhsYuEB|(Ii+IQEVN=fG12N-AXZAP(XHv#d!2?DszNE^IhcC#r=3|QUR@OtJeJ2Lmt4WJmVq%k-P%jT8W z20elgfcCs4`oj%8?WkQaUpZm!p;s6?lY}{KBn)&DYQ-ERIn-OgR@$;_}ZLMr2c|m#0vsO9|b?d6eMRsV8U_29u(^|;hnbTQ z{Rnaru%QCB5O7NcpzQ;ZhGT*VTo7BS$KX8_xwxdC&D-UZ4LU603~Z;D)MK|B8M)Uk zgskVD3&@j@33qmJ{#uoo@d!-uVsk4Yh_Db9@8Nfx`=jg~f_jrFm4G0r!-> zsykxlut^v33d~sw=m;_#2g?ZhSA04IJ04)2z#A(_;VYe|ct3OfV*)ugC~}9=4Js!l zCH+Nn>j^faZ7s;2q7O8$>fzxP6l75+bqrb>nSZta;gIl({M-(AP9X|72qoe@lXWy1 zNX1jlT5Bn)J^ybQh(jkwA8Pm)aoJl) zV&^u&w#n%G2`T$`PzVv~+$NAdMfp!4Yn;PmoKlo^CMY$TsTh2{0?GIezQ90N?n9HQ z{6mw?`G+Q3=xL#gpq^V9CEN&#=a2!|N&rD9XgB~}@ zCo^h0GXU~$2I7u2kSdV1gd7;*REc=>%qcft)Hp?9N4Rlv3r0H zdWZmEKSz@L3Bb9F3L^wyP{Pn*AOc8P!j*VCl(3|-Y{z#~-E9ayC@=9XNgYvUn?|Yf zFsVYYk|G>@9hZF$iCbc5L6Ap?D44s4B#E%8fy{Z9d0=AZQ*={hHE!*O#W#e5sDZvR zZk24|iyRVo8~h2M;@S|!hHtcR;v0tBIAtey2m^v)<0egNLPr0;OxlS7;ELgC5k5}) zfQfTa^3|S4-Yy`)YTI2DyI4rb+%L%Z!OADcGSR@5h6bEzZ^;XA1k3`;4EYX#0<o1c>5J2;}#oiOvwVvvoPbG9{LAW#?{<=jbs1Dgp^#at9#M2F^0qm-%` zQv)pE8h&m#M^08)fy=maibjT;J2QFtA{H?#MP^Vc-JLmvUcxJa-(|vWnSS=m0L%fk+}FCC@1s2>`jeViuf(#cf2xzyRk}H z=KXxX-i&nsP)7^>klruivObd7nfFMgsop_G%A1)It#K}~&q}E_i+?`c? zGl-C(9#k{}7r0Tc^M#aa5#r)lGB;ozGLV>ub}XO*fPhF3AVK>lesgSxI1l~;4TiK_ zM>2AKPZ9_mn;Dwi17L4MF(lil)s2t^)?Tptkq+s5GM{?;Hoosce9KAS&47MGH-n9p zUo>RG5OL07cxpH$7xy3;Dp-^D?$hGGL~cmb^#cSP) zo}_(G^6!gImKyU##frR*3_f^3S}^Y#^DY7)kSUsXOJ*5cPMzI<5mE$bL>4Epf;fQHlm6*J&=o>ZF{E&_HF289mnsB;VHw#E!Z8MoEclNfR4Xb~rRczimudxZe=8b3<3B$j zJcBWMiUmRBJF7C{CJXdXKZqjK^yCN}Qq1qrS-}2$|ALGcXlO+EB083Vx1=e18%!KT zt@BHQ#8-f#x|SCa;fk!-;HOwV0uW;a_3BfDHiFr@h}VrHtj_!T(@ZFNvLzTYU+%Gl zd515>F_oI*Mz%P6x7Nb<3NAFoP3t-TGe>JjPx?m>SC?k}!`1ri(PRG6C6=rYlp8@t8ctHJA3^aJJvhjV5{r= zQo#qp_&xi5P+SBO5eKWPbNooHI(uyJM%U`O=bl&VH!yS!@tD7K^g4=UuoL0rDV?%| zUnpJQ!wD5OZu;^G`JwfSNBHa(kDieD#SJ%gGSEC!9NvJtz?|-hxXTlFiC?{20k{jb zbN2JVYH*J`Ll8F6$dReD`b!vAK*8V?>6eg`k%1^xeApo-l{zJy)GLkbBo zX@*ZBBsrCVI6#?#IfP8u^=#^nLvFKX9H}4Wfw=V+a^J=bUI*n}AP207X0&b|E+tzh&>?O`KAlW&9!D=5bkogEAbL861~)@nP_wM0=n6N^~G{Ux~1JUx{Ki z?kmw(Z16Ei*9DdyG%PY)h{8RI3Y;mujp%S5jLUK5#Km58NWVT^+MqYOhSR5<_o`70L|s-(I*eC#bj8}mC4ampnf)=-LEx^U^NS}a~ZbMe*7 zI*j3mgK&J;^T6awuRpCS5kCHn+y@MbPzgSd4jlWDS{P99kN6w>6N_=J_d*5<`lNxG zNr@t41pT`_blL9hq?C9HHG&^y@&zPS!?dG~l_vNBQG yQ8|cxSEVwE|K;ZiT$`~MJ2?H&bfL1RvKddysPhW0M=FP>w(LH=d!kaUZ2E6}s6M&? literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.pyc new file mode 100644 index 0000000000000000000000000000000000000000..07853302a501f736a35f6681c50452d1c8d43656 GIT binary patch literal 168 zcmZSn%*&;{s5mZ}0SXv_v;zPHHijqnln?pbx?Yl{uM7U{-o+UTRTdNq&)je0*kJ ZW=VX!UO{CE2hda-h)z3@-6cTG003e1DKG#4 literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.pyc new file mode 100644 index 0000000000000000000000000000000000000000..515194caa3ff4e7f24be1d28d243e63fa97665c1 GIT binary patch literal 71261 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

    ^5AQteDoiUUI^pwua`EoLhG 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 literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py index 2973c078fc82..d1742800ac50 100644 --- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py +++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py @@ -2286,7 +2286,7 @@ def SetUpConfigurations(target, target_dict): merged_configurations[configuration]) # Now drop all the abstract ones. - for configuration in target_dict['configurations'].keys(): + for configuration in list(target_dict['configurations']): old_configuration_dict = target_dict['configurations'][configuration] if old_configuration_dict.get('abstract'): del target_dict['configurations'][configuration] diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7db27168471000ecd8547ac8f37b2704ead31b90 GIT binary patch literal 63378 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 b#@)1QclWt>snJ2|R@coFS}5D+I$g_uUflHu literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.pyc new file mode 100644 index 0000000000000000000000000000000000000000..565cfb5bd6286ca2fdd997c9beb8e9570c6d0485 GIT binary patch literal 48168 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�UHqYM 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 E1qenp`v3p{ literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0de5efbc6d2ca56aa1d69fbe74f863d300a06f2e GIT binary patch literal 6457 zcmcIo&2t<_74P0%ee7yw*|9Cjacoaw87(B1ih?SL6G9+PsKQl?YedRKV2065uQc-P z%xb#VlB(nj)`c_02~Ke156G1Y{|SEsH!kq|z203(CY6G!tfX$e>CgB5UcdT37h7-t z+5S3Fqn|qde~4y(iY`@Z8@*O(P32l`1MqN7ZP!#eo@Zs|TUXYN?;-5F+idY^aQAEN-o?6GyGZ~e7#UYR&OZVjyoJmMRz?BDq5CK|M`kzpU9 z*$%oBrS``Rds!10?9pljH^?EtTb)@f?%EpqwZQU-wY9+UINv|;Qx7^Ea^ziQ26>zq zKhVIyVOgcTQb}hY0owf3n#ykWcgiX&>}FD?X0sUdHwyrfXSkJ*`@6@3O}4>tp6v)E zjF0Sb;o_r>!LeJwdB!I3z(j-C?JeO`a8lY4_a{~6OqBqVpC4OJvaP zaHa5~9J;~Kxfy&PW~tlj@Ek`OS(EodvMZzrrzov?93Mqlk+~?k%8Pls(oH>4(+OSI zFyYm7ALKwawbGE)meA9+RJfMFg1D!O!WODSUNl8I$fm*^=2>A@0FE>+A@XD@sS@FQ z2;k^lY6b3Ug~T4buAT_NJguAYY`N!d zFe09UbR^W7BX?NE1Cb>G5u+Dq3-cmqVTr8Zasi0`l$n&2{k|#O>qMS(C>`jG{}XI578YJrV4`55Z0Xh1@=2X5 zywXrA-4LC!l-)fW{2;hz#k~nDx@BP;d6ikXBo`Nn8L`NEUhS7zAyx!G438rE76}7M zgl8@jdGO>__{m^Q#X?U~1oUE$lHEOYQpC``@3?S(fmm(du#Ez%o>l=dq+SHyi2 z-sCviltKXoK?LvN|47-c=!5}+Z9@HBVEaE(4-Kk5k;UN5jKb#`XQ*=xguC(dEI%(! zBjJUz!iaB+H8Reu>zH`NIekO|v)_?)W#KAuMOcy%{yFmnYPsl zV$y}fTdKM<7Wtw&!TIN>X?mSYV49bD#S92ir{&O~<03tiyF}m=A-Kv0E-MRJ1>Io2 z;uvp7IZIhd-tg`47RJOdDg#4vK5MXkJ;Qh9;V8jbFdQ*MoM&HEFbY-dE_{O!H9x$= zE@1a2J6;vuWw*wTiV=PT-ISG({Q4%YvAk8)ujpkxt8aWoOUT(a8e_1S=w}lpg?-Y= z`Pc!qsPpsoi#Y{$!ZEr!J>JL@&Yv5c8xPKjo}P{uOXdev#VOeJqCrJt@bM9rA5e6e z*3?4i@ZT09bopr)l>z!q>ZR31B#Yf0Kh zPj>K*enNsYRGaMXiaMT1NIf~R3c+}`` z2Us&jQpmC~3cn#t0+gOeW)f; znZ%hD(X*Zt9WSHk>=X&6>_%860LSzaWnNG6MH3$ZfFpeYpDd5bRk+uq?@D5z)iY!Z zNG8C7hPr`p`wR{a--x?4^*wHp7r^(i<>0D%g7K{meT97=U1;2}D)`tpK{4#_n2Pm- z^|kdN*^8?kDa*J4+v3Ze6~g;&S(_q>n>b|M2Jkb z0lHb;ZZzx7MtiQ=0IZj;HFf(IM)=!ouO)QSY!r}$8X`q2g?Q(bU1f>M`>o%~AfNK1 z7afEvs=I?7A4{b)hy&|Tdfg4|Fxm4Jit3h6?5du^Kjbk)I tWMI+z>;X{j?3=`ictd)#GeoDNM`9B1`=a>=;)mJI*4l6m&HD21{sWqwQ*i(Q literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8c521ea364fe6d50672cbd4baa405458610c92b5 GIT binary patch literal 2222 zcmcgt&2Ah;5U!s6^(J9%$um^Yp z@Fu^e3$IA)7T_(Ibz!m%C;1SX_!gY?p!^k-QvbDS*5>88f^V05fZK3*x($;Zzz$#= za0d>~e}@y(meX$o(o5pE;lOl6^bR1sB-(|8CuC+9j{6&o_b+Nb*Kuld)OM!*0=2fBFasQIlmw+Q@ES=w^V14WWA z*e^^7q~IzTANQ#b{eT+J;xNpk48zd(WRO`?r8HcvA`wW>eM!CHV~3?1W>Z@xxf{mT z;4m+;VNRWJwb9Ao0bw8VSJY`Tm7Yu3kD)}NsK>0B4|HrtTZtu?!HL;y{ut0B`sDC> z4?LNy;03W)!QIvG_$1$lrVoU2M@%_SOcs`}m+s!7^*<@08?pVk-(;P?P;*FhxNv`g zW#ki^YkE0ycFLZn&{gq5NA&lEdG0=0P+?y91&rAH&2(;t!=rrQN`2bzNLFNN*{+DL0~Suh{3 zxth!uWrLA`_B*sNyi^sM#1)Z`7oHu$1eY*;g|)CqV$|n2kS76_SB!YwWN483Tl6_* z1hg7zPi?BUTJwO97ap*k6!&AXYP2$lC&wLX-k5!Uo3vkfE%KCa@p~i_^1{ka<}sTm zcD_%YxtMx*x&tp2GxvpJ+CB~7yt4)%wljK3M?oRJj@}%WEjsNA3zx3@B)N`+QLHoX z6B^KcKoFJ>+4axl>Nq^T2j2(qlHP`-WP`C0Le9B>`v>Q@;e-U2p^|dLS`&|%8w+MW z=n8X9i3@OswbZfaQCi{ue}_b#nH7e{##ABsiaC-SfC`1A z$Hg>N@h}unV+JKLG~+IJc|5f?6;!j-MqY4I6_G!cl`*?T){W@ek`CQpb5UL830GO! zEH{wYFrtFJN>R3M%vrPAM$sH|BFTtRU3pM?uQ_q0TpX+l|EG-BX=>WRZsTUKaibS( VG#aW;seCWkR9nGDK$2E3_#4r{9)17- literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.pyc new file mode 100644 index 0000000000000000000000000000000000000000..430e45ee42790abdfc94c3eae07095e912cc1327 GIT binary patch literal 61720 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 literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0b7f58059b6f4a3c55c15bee6e41ec2ac4ddfc7 GIT binary patch literal 7555 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 L8krwiAG!H|PX01~ literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.pyc b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3cfa2088007f78249774a225fb9594f72bdafe72 GIT binary patch literal 93565 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 F{{W2t9DD!( literal 0 HcmV?d00001 diff --git a/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs b/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs index 0a533f42d6a4..d2e45a76275f 100644 --- a/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs +++ b/deps/npm/node_modules/node-gyp/lib/Find-VisualStudio.cs @@ -205,7 +205,14 @@ public static void PrintJson() return; } - instances.Add(InstanceJson(rgelt[0])); + try + { + instances.Add(InstanceJson(rgelt[0])); + } + catch (COMException) + { + // Ignore instances that can't be queried. + } } } diff --git a/deps/npm/node_modules/node-gyp/lib/find-python.js b/deps/npm/node_modules/node-gyp/lib/find-python.js index e79bc50d5a1d..fabc4630f15d 100644 --- a/deps/npm/node_modules/node-gyp/lib/find-python.js +++ b/deps/npm/node_modules/node-gyp/lib/find-python.js @@ -226,7 +226,7 @@ PythonFinder.prototype = { } this.addLog(`- version is "${version}"`) - const range = semver.Range(this.semverRange) + const range = new semver.Range(this.semverRange) var valid = false try { valid = range.test(version) diff --git a/deps/npm/node_modules/node-gyp/lib/install.js b/deps/npm/node_modules/node-gyp/lib/install.js index f68cd7fd6d2a..c919c1058811 100644 --- a/deps/npm/node_modules/node-gyp/lib/install.js +++ b/deps/npm/node_modules/node-gyp/lib/install.js @@ -11,6 +11,7 @@ const request = require('request') const mkdir = require('mkdirp') const processRelease = require('./process-release') const win = process.platform === 'win32' +const getProxyFromURI = require('./proxy') function install (fs, gyp, argv, callback) { var release = processRelease(argv, gyp, process.version, process.release) @@ -410,10 +411,7 @@ function download (gyp, env, url) { } // basic support for a proxy server - var proxyUrl = gyp.opts.proxy || - env.http_proxy || - env.HTTP_PROXY || - env.npm_config_proxy + var proxyUrl = getProxyFromURI(gyp, env, url) if (proxyUrl) { if (/^https?:\/\//i.test(proxyUrl)) { log.verbose('download', 'using proxy url: "%s"', proxyUrl) diff --git a/deps/npm/node_modules/node-gyp/lib/node-gyp.js b/deps/npm/node_modules/node-gyp/lib/node-gyp.js index 9d24103900f7..81fc590919ba 100644 --- a/deps/npm/node_modules/node-gyp/lib/node-gyp.js +++ b/deps/npm/node_modules/node-gyp/lib/node-gyp.js @@ -67,6 +67,7 @@ proto.configDefs = { ensure: Boolean, // 'install' solution: String, // 'build' (windows only) proxy: String, // 'install' + noproxy: String, // 'install' devdir: String, // everywhere nodedir: String, // 'configure' loglevel: String, // everywhere diff --git a/deps/npm/node_modules/node-gyp/lib/proxy.js b/deps/npm/node_modules/node-gyp/lib/proxy.js new file mode 100644 index 000000000000..92d9ed2f7f08 --- /dev/null +++ b/deps/npm/node_modules/node-gyp/lib/proxy.js @@ -0,0 +1,92 @@ +'use strict' +// Taken from https://github.com/request/request/blob/212570b/lib/getProxyFromURI.js + +const url = require('url') + +function formatHostname (hostname) { + // canonicalize the hostname, so that 'oogle.com' won't match 'google.com' + return hostname.replace(/^\.*/, '.').toLowerCase() +} + +function parseNoProxyZone (zone) { + zone = zone.trim().toLowerCase() + + var zoneParts = zone.split(':', 2) + var zoneHost = formatHostname(zoneParts[0]) + var zonePort = zoneParts[1] + var hasPort = zone.indexOf(':') > -1 + + return { hostname: zoneHost, port: zonePort, hasPort: hasPort } +} + +function uriInNoProxy (uri, noProxy) { + var port = uri.port || (uri.protocol === 'https:' ? '443' : '80') + var hostname = formatHostname(uri.hostname) + var noProxyList = noProxy.split(',') + + // iterate through the noProxyList until it finds a match. + return noProxyList.map(parseNoProxyZone).some(function (noProxyZone) { + var isMatchedAt = hostname.indexOf(noProxyZone.hostname) + var hostnameMatched = ( + isMatchedAt > -1 && + (isMatchedAt === hostname.length - noProxyZone.hostname.length) + ) + + if (noProxyZone.hasPort) { + return (port === noProxyZone.port) && hostnameMatched + } + + return hostnameMatched + }) +} + +function getProxyFromURI (gyp, env, uri) { + // If a string URI/URL was given, parse it into a URL object + if (typeof uri === 'string') { + // eslint-disable-next-line + uri = url.parse(uri) + } + + // Decide the proper request proxy to use based on the request URI object and the + // environmental variables (NO_PROXY, HTTP_PROXY, etc.) + // respect NO_PROXY environment variables (see: https://lynx.invisible-island.net/lynx2.8.7/breakout/lynx_help/keystrokes/environments.html) + + var noProxy = gyp.opts.noproxy || env.NO_PROXY || env.no_proxy || env.npm_config_noproxy || '' + + // if the noProxy is a wildcard then return null + + if (noProxy === '*') { + return null + } + + // if the noProxy is not empty and the uri is found return null + + if (noProxy !== '' && uriInNoProxy(uri, noProxy)) { + return null + } + + // Check for HTTP or HTTPS Proxy in environment Else default to null + + if (uri.protocol === 'http:') { + return gyp.opts.proxy || + env.HTTP_PROXY || + env.http_proxy || + env.npm_config_proxy || null + } + + if (uri.protocol === 'https:') { + return gyp.opts.proxy || + env.HTTPS_PROXY || + env.https_proxy || + env.HTTP_PROXY || + env.http_proxy || + env.npm_config_proxy || null + } + + // if none of that works, return null + // (What uri protocol are you using then?) + + return null +} + +module.exports = getProxyFromURI diff --git a/deps/npm/node_modules/node-gyp/macOS_Catalina.md b/deps/npm/node_modules/node-gyp/macOS_Catalina.md index 5f02face57d9..d948f76caa07 100644 --- a/deps/npm/node_modules/node-gyp/macOS_Catalina.md +++ b/deps/npm/node_modules/node-gyp/macOS_Catalina.md @@ -1,39 +1,37 @@ # Installation notes for macOS Catalina (v10.15) -_This document specifically refers to upgrades from previous versions of macOS to Catalina (10.15). It should be removed from the source repository when Catalina ceases to be the latest macOS version or updated to deal with challenges involved in upgrades to the next version of macOS._ +_This document specifically refers to upgrades from previous versions of macOS to Catalina (10.15). It should be removed from the source repository when Catalina ceases to be the latest macOS version or when future Catalina versions no longer raise these issues._ -Lessons learned from: -* https://github.com/nodejs/node-gyp/issues/1779 -* https://github.com/nodejs/node-gyp/issues/1861 -* https://github.com/nodejs/node-gyp/issues/1927 and elsewhere - -Installing `node-gyp` on macOS can be found at https://github.com/nodejs/node-gyp#on-macos - -However, upgrading to macOS Catalina changes some settings that may cause normal `node-gyp` installations to fail. +**Upgrading to macOS Catalina may cause normal `node-gyp` installations to fail.** ### Is my Mac running macOS Catalina? -Let's make first make sure that your Mac is currently running Catalina: -% `sw_vers` +Let's first make sure that your Mac is running Catalina: +``` +% sw_vers ProductName: Mac OS X ProductVersion: 10.15 BuildVersion: 19A602 +``` +If `ProductVersion` is less then `10.15` then this document is not for you. Normal install docs for `node-gyp` on macOS can be found at https://github.com/nodejs/node-gyp#on-macos -If `ProductVersion` is less then `10.15` then this document is not really for you. ### The acid test -Next, lets see if `Xcode Command Line Tools` are installed: +To see if `Xcode Command Line Tools` is installed in a way that will work with `node-gyp`, run: 1. `/usr/sbin/pkgutil --packages | grep CL` - * If nothing is listed, then [skip to the next section](#Two-roads). - * If `com.apple.pkg.CLTools_Executables` is listed then try: + * `com.apple.pkg.CLTools_Executables` should be listed. If it isn't, this test failed. 2. `/usr/sbin/pkgutil --pkg-info com.apple.pkg.CLTools_Executables` - * If `version: 11.0.0` or later is listed then _you are done_! Your Mac should be ready to install `node-gyp`. Doing `clang -v` should show `Apple clang version 11.0.0` or later. + * `version: 11.0.0` (or later) should be listed. If it isn't, this test failed. + +If both tests succeeded, _you are done_! You should be ready to install `node-gyp`. -As you go through the remainder of this document, at anytime you can try these `acid test` commands. If they pass then your Mac should be ready to install `node-gyp`. +If either test failed, there is a problem with your Xcode Command Line Tools installation. [Continue to Solutions](#Solutions). + +### Solutions +There are three ways to install the Xcode libraries `node-gyp` needs on macOS. People running Catalina have had success with some but not others in a way that has been unpredictable. -### Two roads -There are two main ways to install `node-gyp` on macOS: 1. With the full Xcode (~7.6 GB download) from the `App Store` app. 2. With the _much_ smaller Xcode Command Line Tools via `xcode-select --install` +3. With the _much_ smaller Xcode Command Line Tools via manual download. **For people running the latest version of Catalina (10.15.2 at the time of this writing), this has worked when the other two solutions haven't.** ### Installing `node-gyp` using the full Xcode 1. `xcodebuild -version` should show `Xcode 11.1` or later. @@ -52,7 +50,7 @@ There are two main ways to install `node-gyp` on macOS: 10. `sudo xcode-select --reset` # Enter root password. No output is normal. 11. Repeat step 7 above. Is the path different this time? Repeat the _acid test_. -### Installing `node-gyp` using the Xcode Command Line Tools +### Installing `node-gyp` using the Xcode Command Line Tools via `xcode-select --install` 1. If the _acid test_ has not succeeded, then try `xcode-select --install` 2. Wait until the install process is _complete_. 3. `softwareupdate -l` # No listing is a good sign. @@ -64,6 +62,11 @@ There are two main ways to install `node-gyp` on macOS: 8. `sudo xcode-select --reset` # Enter root password. No output is normal. 9. Repeat step 5 above. Is the path different this time? Repeat the _acid test_. +### Installing `node-gyp` using the Xcode Command Line Tools via manual download +1. Download the appropriate version of the "Command Line Tools for Xcode" for your version of Catalina from developer.apple.com/download. As of MacOS 10.15.2, that's Command_Line_Tools_for_Xcode_11.3.dmg +2. Install the package. +3. Run the _acid test_. + ### I did all that and the acid test still does not pass :-( 1. `sudo rm -rf $(xcode-select -print-path)` # Enter root password. No output is normal. 2. `xcode-select --install` @@ -72,3 +75,9 @@ There are two main ways to install `node-gyp` on macOS: 5. `npm explore npm -g -- npm explore npm-lifecycle -- npm install node-gyp@latest` 6. If the _acid test_ still does _not_ pass then... 7. Add a comment to https://github.com/nodejs/node-gyp/issues/1927 so we can improve. + +Lessons learned from: +* https://github.com/nodejs/node-gyp/issues/1779 +* https://github.com/nodejs/node-gyp/issues/1861 +* https://github.com/nodejs/node-gyp/issues/1927 and elsewhere +* Thanks to @rrrix for discovering Solution 3 diff --git a/deps/npm/node_modules/node-gyp/package.json b/deps/npm/node_modules/node-gyp/package.json index afa45f396909..4638db5a3f4a 100644 --- a/deps/npm/node_modules/node-gyp/package.json +++ b/deps/npm/node_modules/node-gyp/package.json @@ -1,29 +1,29 @@ { - "_from": "node-gyp@5.0.7", - "_id": "node-gyp@5.0.7", + "_from": "node-gyp@5.1.0", + "_id": "node-gyp@5.1.0", "_inBundle": false, - "_integrity": "sha512-K8aByl8OJD51V0VbUURTKsmdswkQQusIvlvmTyhHlIT1hBvaSxzdxpSle857XuXa7uc02UEZx9OR5aDxSWS5Qw==", + "_integrity": "sha512-OUTryc5bt/P8zVgNUmC6xdXiDJxLMAW8cF5tLQOT9E5sOQj+UeQxnnPy74K3CLCa/SOjjBlbuzDLR8ANwA+wmw==", "_location": "/node-gyp", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "node-gyp@5.0.7", + "raw": "node-gyp@5.1.0", "name": "node-gyp", "escapedName": "node-gyp", - "rawSpec": "5.0.7", + "rawSpec": "5.1.0", "saveSpec": null, - "fetchSpec": "5.0.7" + "fetchSpec": "5.1.0" }, "_requiredBy": [ "#USER", "/", "/npm-lifecycle" ], - "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.0.7.tgz", - "_shasum": "dd4225e735e840cf2870e4037c2ed9c28a31719e", - "_spec": "node-gyp@5.0.7", - "_where": "/Users/mperrotte/npminc/cli", + "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-5.1.0.tgz", + "_shasum": "8e31260a7af4a2e2f994b0673d4e0b3866156332", + "_spec": "node-gyp@5.1.0", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Nathan Rajlich", "email": "nathan@tootallnate.net", @@ -84,5 +84,5 @@ "lint": "standard */*.js test/**/*.js", "test": "npm run lint && tap --timeout=120 test/test-*" }, - "version": "5.0.7" + "version": "5.1.0" } diff --git a/deps/npm/node_modules/node-gyp/test/docker.sh b/deps/npm/node_modules/node-gyp/test/docker.sh deleted file mode 100755 index 67014209d000..000000000000 --- a/deps/npm/node_modules/node-gyp/test/docker.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash - -#set -e - -test_node_versions="6.17.0 8.15.1 10.15.3 11.12.0" - -myuid=$(id -u) -mygid=$(id -g) -__dirname="$(CDPATH= cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -dot_node_gyp=${__dirname}/.node-gyp/ - -# borrows from https://github.com/rvagg/dnt/ - -# Simple setup function for a container: -# setup_container(image id, base image, commands to run to set up) -setup_container() { - local container_id="$1" - local base_container="$2" - local run_cmd="$3" - - # Does this image exist? If yes, ignore - docker inspect "$container_id" &> /dev/null - if [[ $? -eq 0 ]]; then - echo "Found existing container [$container_id]" - else - # No such image, so make it - echo "Did not find container [$container_id], creating..." - docker run -i $base_container /bin/bash -c "$run_cmd" - sleep 2 - docker commit $(docker ps -l -q) $container_id - fi -} - -# Run tests inside each of the versioned containers, copy cwd into npm's copy of node-gyp -# so it'll be invoked by npm when a compile is needed -# run_tests(version, test-commands) -run_tests() { - local version="$1" - local run_cmd="$2" - - run_cmd="rsync -aAXx --delete --exclude .git --exclude build /node-gyp-src/ /usr/lib/node_modules/npm/node_modules/node-gyp/; - /bin/su -s /bin/bash node-gyp -c 'cd && ${run_cmd}'" - - rm -rf $dot_node_gyp - mkdir $dot_node_gyp - - docker run \ - --rm -i \ - -v ~/.npm/:/node-gyp/.npm/ \ - -v ${dot_node_gyp}:/node-gyp/.node-gyp/ \ - -v $(pwd):/node-gyp-src/:ro \ - node-gyp-test/${version} /bin/bash -c "${run_cmd}" -} - -# A base image with build tools and a user account -setup_container "node-gyp-test/base" "ubuntu:14.04" " - adduser --gecos node-gyp --home /node-gyp/ --disabled-login node-gyp --uid $myuid && - echo "node-gyp:node-gyp" | chpasswd && - apt-get update && - apt-get install -y build-essential python git rsync curl -" - -# An image on top of the base containing clones of repos we want to use for testing -setup_container "node-gyp-test/clones" "node-gyp-test/base" " - cd /node-gyp/ && git clone https://github.com/justmoon/node-bignum.git && - cd /node-gyp/ && git clone https://github.com/bnoordhuis/node-buffertools.git && - chown -R node-gyp.node-gyp /node-gyp/ -" - -# An image for each of the node versions we want to test with that version installed and the latest npm -for v in $test_node_versions; do - setup_container "node-gyp-test/${v}" "node-gyp-test/clones" " - curl -sL https://nodejs.org/dist/v${v}/node-v${v}-linux-x64.tar.gz | tar -zxv --strip-components=1 -C /usr/ && - npm install npm@latest -g && - node -v && npm -v - " -done - -# Test use of --target=x.y.z to compile against alternate versions -test_download_node_version() { - local run_with_ver="$1" - local expected_dir="$2" - local expected_ver="$3" - run_tests $run_with_ver "cd node-buffertools && npm install --loglevel=info --target=${expected_ver}" - local node_ver=$(cat "${dot_node_gyp}${expected_dir}/node_version.h" | grep '#define NODE_\w*_VERSION [0-9]*$') - node_ver=$(echo $node_ver | sed 's/#define NODE_[A-Z]*_VERSION //g' | sed 's/ /./g') - if [ "X$(echo $node_ver)" != "X${expected_ver}" ]; then - echo "Did not download v${expected_ver} using --target, instead got: $(echo $node_ver)" - exit 1 - fi - echo "Verified correct download of [v${node_ver}]" -} - -test_download_node_version "0.12.7" "0.10.30/src" "0.10.30" -# should download the headers file -test_download_node_version "4.3.0" "4.3.0/include/node" "4.3.0" -test_download_node_version "5.6.0" "5.6.0/include/node" "5.6.0" - -# TODO: test --dist-url by starting up a localhost server and serving up tarballs - -# testing --dist-url, using simple-proxy.js to make localhost work as a distribution -# point for tarballs -# we can test whether it uses the proxy because after 2 connections the proxy will -# die and therefore should not be running at the end of the test, `nc` can tell us this -run_tests "0.12.7" " - (node /node-gyp-src/test/simple-proxy.js 8080 /boombar/ https://nodejs.org/dist/ &) && - cd node-buffertools && - NODEJS_ORG_MIRROR=http://localhost:8080/boombar/ /node-gyp-src/bin/node-gyp.js --loglevel=info rebuild && - nc -z localhost 8080 && echo -e \"\\n\\n\\033[31mFAILED TO USE LOCAL PROXY\\033[39m\\n\\n\" -" - -rm -rf $dot_node_gyp diff --git a/deps/npm/node_modules/node-gyp/test/test-download.js b/deps/npm/node_modules/node-gyp/test/test-download.js index 738a43f276b0..fe373e3280ce 100644 --- a/deps/npm/node_modules/node-gyp/test/test-download.js +++ b/deps/npm/node_modules/node-gyp/test/test-download.js @@ -90,6 +90,101 @@ test('download over https with custom ca', function (t) { }) }) +test('download over http with proxy', function (t) { + t.plan(2) + + var server = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('ok') + pserver.close(function () { + server.close() + }) + }) + + var pserver = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('proxy ok') + server.close(function () { + pserver.close() + }) + }) + + var host = 'localhost' + server.listen(0, host, function () { + var port = this.address().port + pserver.listen(port + 1, host, function () { + var gyp = { + opts: { + proxy: 'http://' + host + ':' + (port + 1) + }, + version: '42' + } + var url = 'http://' + host + ':' + port + var req = install.test.download(gyp, {}, url) + req.on('response', function (res) { + var body = '' + res.setEncoding('utf8') + res.on('data', function (data) { + body += data + }) + res.on('end', function () { + t.strictEqual(body, 'proxy ok') + }) + }) + }) + }) +}) + +test('download over http with noproxy', function (t) { + t.plan(2) + + var server = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('ok') + pserver.close(function () { + server.close() + }) + }) + + var pserver = http.createServer(function (req, res) { + t.strictEqual(req.headers['user-agent'], + 'node-gyp v42 (node ' + process.version + ')') + res.end('proxy ok') + server.close(function () { + pserver.close() + }) + }) + + var host = 'localhost' + server.listen(0, host, function () { + var port = this.address().port + pserver.listen(port + 1, host, function () { + var gyp = { + opts: { + proxy: 'http://' + host + ':' + (port + 1), + noproxy: 'localhost' + }, + version: '42' + } + var url = 'http://' + host + ':' + port + var req = install.test.download(gyp, {}, url) + req.on('response', function (res) { + var body = '' + res.setEncoding('utf8') + res.on('data', function (data) { + body += data + }) + res.on('end', function () { + t.strictEqual(body, 'ok') + }) + }) + }) + }) +}) + test('download with missing cafile', function (t) { t.plan(1) var gyp = { @@ -116,7 +211,7 @@ test('download headers (actual)', function (t) { process.release.name !== 'node' || semver.prerelease(process.version) !== null || semver.satisfies(process.version, '<10')) { - return t.skip('Skipping acutal download of headers due to test environment configuration') + return t.skip('Skipping actual download of headers due to test environment configuration') } t.plan(17) diff --git a/deps/npm/node_modules/npm-profile/index.js b/deps/npm/node_modules/npm-profile/index.js index b7f753fb4d41..d9c48c131bc9 100644 --- a/deps/npm/node_modules/npm-profile/index.js +++ b/deps/npm/node_modules/npm-profile/index.js @@ -1,7 +1,7 @@ 'use strict' const fetch = require('npm-registry-fetch') -const {HttpErrorBase} = require('npm-registry-fetch/errors.js') +const { HttpErrorBase } = require('npm-registry-fetch/errors.js') const os = require('os') const pudding = require('figgy-pudding') const validate = require('aproba') @@ -18,6 +18,16 @@ exports.listTokens = listTokens exports.removeToken = removeToken exports.createToken = createToken +const url = require('url') + +const isValidUrl = u => { + if (u && typeof u === 'string') { + const p = url.parse(u) + return p.slashes && p.host && p.path && /^https?:$/.test(p.protocol) + } + return false +} + const ProfileConfig = pudding({ creds: {}, hostname: {}, @@ -76,21 +86,16 @@ function webAuth (opener, opts, body) { })).then(res => { return Promise.all([res, res.json()]) }).then(([res, content]) => { - const {doneUrl, loginUrl} = content + const { doneUrl, loginUrl } = content process.emit('log', 'verbose', 'web auth', 'got response', content) - if ( - typeof doneUrl !== 'string' || - typeof loginUrl !== 'string' || - !doneUrl || - !loginUrl - ) { + if (!isValidUrl(doneUrl) || !isValidUrl(loginUrl)) { throw new WebLoginInvalidResponse('POST', res, content) } return content - }).then(({doneUrl, loginUrl}) => { + }).then(({ doneUrl, loginUrl }) => { process.emit('log', 'verbose', 'web auth', 'opening url pair') return opener(loginUrl).then( - () => webAuthCheckLogin(doneUrl, opts.concat({cache: false})) + () => webAuthCheckLogin(doneUrl, opts.concat({ cache: false })) ) }).catch(er => { if ((er.statusCode >= 400 && er.statusCode <= 499) || er.statusCode === 500) { @@ -183,7 +188,7 @@ function loginCouch (username, password, opts) { } if (err.code !== 'E409') throw err return fetch.json(target, opts.concat({ - query: {write: true} + query: { write: true } })).then(result => { Object.keys(result).forEach(function (k) { if (!body[k] || k === 'roles') { diff --git a/deps/npm/node_modules/npm-profile/package.json b/deps/npm/node_modules/npm-profile/package.json index 2f252aac85ab..e90e16ddf975 100644 --- a/deps/npm/node_modules/npm-profile/package.json +++ b/deps/npm/node_modules/npm-profile/package.json @@ -1,28 +1,29 @@ { - "_from": "npm-profile@4.0.2", - "_id": "npm-profile@4.0.2", + "_from": "npm-profile@4.0.4", + "_id": "npm-profile@4.0.4", "_inBundle": false, - "_integrity": "sha512-VRsC04pvRH+9cF+PoVh2nTmJjiG21yu59IHpsBpkxk+jaGAV8lxx96G4SDc0jOHAkfWLXbc6kIph3dGAuRnotQ==", + "_integrity": "sha512-Ta8xq8TLMpqssF0H60BXS1A90iMoM6GeKwsmravJ6wYjWwSzcYBTdyWa3DZCYqPutacBMEm7cxiOkiIeCUAHDQ==", "_location": "/npm-profile", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "npm-profile@4.0.2", + "raw": "npm-profile@4.0.4", "name": "npm-profile", "escapedName": "npm-profile", - "rawSpec": "4.0.2", + "rawSpec": "4.0.4", "saveSpec": null, - "fetchSpec": "4.0.2" + "fetchSpec": "4.0.4" }, "_requiredBy": [ "#USER", - "/" + "/", + "/libnpm" ], - "_resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-4.0.2.tgz", - "_shasum": "8272a71c19634d0dce9c35a5daf8ee589cbb0f52", - "_spec": "npm-profile@4.0.2", - "_where": "/Users/isaacs/dev/npm/cli", + "_resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-4.0.4.tgz", + "_shasum": "28ee94390e936df6d084263ee2061336a6a1581b", + "_spec": "npm-profile@4.0.4", + "_where": "/Users/darcyclarke/Documents/Repos/npm/cli", "author": { "name": "Rebecca Turner", "email": "me@re-becca.org", @@ -48,9 +49,12 @@ "license": "ISC", "main": "index.js", "name": "npm-profile", + "publishConfig": { + "tag": "legacy-v4" + }, "repository": { "type": "git", "url": "git+https://github.com/npm/npm-profile.git" }, - "version": "4.0.2" + "version": "4.0.4" } diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json index a82c85a69544..48f172fb29f5 100644 --- a/deps/npm/node_modules/rimraf/package.json +++ b/deps/npm/node_modules/rimraf/package.json @@ -1,46 +1,47 @@ { - "_from": "rimraf@2.6.3", - "_id": "rimraf@2.6.3", + "_from": "rimraf@2.7.1", + "_id": "rimraf@2.7.1", "_inBundle": false, - "_integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "_integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "_location": "/rimraf", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "rimraf@2.6.3", + "raw": "rimraf@2.7.1", "name": "rimraf", "escapedName": "rimraf", - "rawSpec": "2.6.3", + "rawSpec": "2.7.1", "saveSpec": null, - "fetchSpec": "2.6.3" + "fetchSpec": "2.7.1" }, "_requiredBy": [ "#USER", "/", "/cacache", "/copy-concurrently", - "/flat-cache", "/fs-vacuum", - "/fstream", + "/istanbul-lib-source-maps", "/libcipm", "/libnpx", "/move-concurrently", "/node-gyp", + "/nyc", "/pacote", + "/spawn-wrap", "/tap" ], - "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "_shasum": "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab", - "_spec": "rimraf@2.6.3", - "_where": "/Users/aeschright/code/cli", + "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "_shasum": "35797f13a7fdadc566142c29d4f07ccad483e3ec", + "_spec": "rimraf@2.7.1", + "_where": "/Users/darcyclarke/Documents/Repos/npm/npm/cli", "author": { "name": "Isaac Z. Schlueter", "email": "i@izs.me", "url": "http://blog.izs.me/" }, "bin": { - "rimraf": "./bin.js" + "rimraf": "bin.js" }, "bugs": { "url": "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/isaacs/rimraf/issues" @@ -75,5 +76,5 @@ "preversion": "npm test", "test": "tap test/*.js" }, - "version": "2.6.3" + "version": "2.7.1" } diff --git a/deps/npm/node_modules/rimraf/rimraf.js b/deps/npm/node_modules/rimraf/rimraf.js index e80dd10693f8..a90ad029f3ec 100644 --- a/deps/npm/node_modules/rimraf/rimraf.js +++ b/deps/npm/node_modules/rimraf/rimraf.js @@ -4,7 +4,12 @@ rimraf.sync = rimrafSync var assert = require("assert") var path = require("path") var fs = require("fs") -var glob = require("glob") +var glob = undefined +try { + glob = require("glob") +} catch (_err) { + // treat glob as optional. +} var _0666 = parseInt('666', 8) var defaultGlobOpts = { @@ -37,6 +42,9 @@ function defaults (options) { if (options.glob === false) { options.disableGlob = true } + if (options.disableGlob !== true && glob === undefined) { + throw Error('glob dependency not found, set `options.disableGlob = true` if intentional') + } options.disableGlob = options.disableGlob || false options.glob = options.glob || defaultGlobOpts } diff --git a/deps/npm/node_modules/term-size/vendor/macos/term-size b/deps/npm/node_modules/term-size/vendor/macos/term-size index c32a1fdc1b073bb41e9ddbabbd694a741ed67abc..e383cc737f8e232aecd06a8492657b28d5fb9f1c 100755 GIT binary patch delta 581 zcmZp;%DBTt^!%^4|JWHA7?~Lu8kiUu82EvhVWMa^Bm2aK=8U%|-gFmy!v~ZHimHI5 zfZ)w!Lq>Z+0ia5ds1I0-fk9w$BTzI3DjEb8jhTFraXBZ@0tTQ349t@+GO2Si2tafS zOy0<(Ik}5TPE`OV0y7K92dRevHXwszvMh6r1W*DD6d;rZ$jLy!K6xYad4=^_EX&;` z&8_yd3eT7OY#|A9FjxZ*7Xt$jPu{>{$z*(O@@p2?&EWzcI3^45@j6%oJ+Y6afq}vB zz>DiZ4V{OZfB!FWcQyRx(Hr_;Uq%UsgW-YB`!BWvOh5|P=%Hdg+>sC zo^XZxfGooUKAqn?Z@o~Qe34JwaKe98J)oxlss>=v2uzxQNi#5M0VI8TWf_5#WAJ~~ zkCP?%OD9j{cV~Pv`6j=+t^zb_w4k&Jl(vJ?9#A?6L~nL<-^@QrL7b6cvxGteqW~y2 USb!K9kRaeNxj|84@&UyP02%;+;{X5v literal 27264 zcmeHNcUV(N*H1!dp-T}d5~@hc4Mn8)CRHgSh#@2qA|){i0ydhWC<>xjKoP~d0v155 z*s!uH_Kt|af+#8$%A$NTA(6nkyYKV;vHO+Glesfz=FFM7zqxbf%$eLCeD_@(g+hy< zP#G8$3MCIBUKE8|iNb>%3N;BtZxBhOAQvx>2#;BTuykxdk0pOfK{<~BBZ(B^5gsy@ zh1(u>EEsq+7z&CXVKs@wp`~(08OO_$mjy2asvq-MAdMYmheU=TNg}a1$uaC7MdRgl z^5p69IQTTbfdo&U7_VSN9x0BNz@)K2*?4)GACRFFu?Nh$OsDv6#npTVWa&c_j+JUHhtKzh84k(!YwoY(2xd3ARQ zaS^Bi^EYN*`SZ(5!S{yZN7#x)N=hKH(-LDC2_z1}qyC9z&e?Sz@DF<_O~{^W4$AN#qCrH-0>nUs`4KE9V2nUsus=ia{!k8F=Yj$D zI~_z=2j2lb*ap-9dUPycJi%#f4lU8l)eMY_9s`&_FaQzCzlI;db1IL9c)_3vBCL1T z0g=B*V1+OU5fCCEL_mmu5CI_qLInPoA`t4G+wL;kB`i3|d!2(du)ONA87LI-eCIvz zLfQSp9G~1v9>lNS>q1-V<2Vw|xmQ8mQBdcSdo}lEX9>(@4-a#^z1NB!0nNSFPM50- zZI!F@Z}DDdWd%wA{}RB}O#&P_fc9I9bj||>YgIdE!(@7A5=a2^MaZQGxT1Mn(4GTa z#1SrNd;zZWAo0uX%YEvddjW{X1Jb1)G(frMe(=t2kcf1d=R%6QG^}q93WxPAxzB0b zCp@)Udl_TcHaPV*gX9z3l74WtEe;DPGu7#<#ugQu#l=P;)Mb9Z6R80N0Q92{6z zJQr02J{yPfqH#EohZ9G` zv+0Xzf8@}o;=m6G2g5|cA;2J*LK_#_z?L9|v5RL9!#uQ|r9n%1Zfg{Zj23}n{-dD5 zI}aN0QiPY<@=|wR8o*2cBcVbjAp$}Kga`-`5F#K%K!|`40U-iH1cV3(5fCCEMBpDq zKtTu3y*gHKCc&#~DviZrqGqxr3V1XlnZraCIK!Je?oBx<23#J4o9zPLC|P)JOVEq~ z3t5JMq$DudG)N$Tn9l^a*PQu~oDN7jgThIGgfk!*z&8T(-XITdx%oo4qR}L9?~frR z#*t{LG)gju2JY0!uxIT=GCc{U4;>yNr~0y8=Ssle2ZWVy4-o2MT$#G9LuSs9&=KTJIs(P$WKmOhU{>BFJ(ueR}8HE9FI)Z#H;E5jLgY9&j@fhw^F(~4O1^mokq-Ydw#L2~>u@X(8 z-wfp)Zf$L0<2Btg993H<_1@v5!az=`XZ?&<1$Wvia0$6-N!7DV7VaB(Wo7Xfg1J@K zpX}9pBatjw!musost3Nfuzn*|F0?`0blw}KH<2Fd$I2_Z zyH%_|h?(8gyskg=+1HJ;(E0Y(ly3_M=XRY-OYyxj7!j1o*jcXH7qfve=~Ng11wv5) zB1|E8N}voRsI4HvGWbovd6yi0K|qa^19uy@9wGpFaYi}bIeiqW7-sZe5HQDc1CG|C zWkBgjfOq~d;MmDA3uqLMSzsua=E@U*5;fQ?1akMMMD-I7OTblbJxn`y^4!hz5urER<5z94U08u{iYkbPAb6XC&cW zk~wh<7M+tuR6&#=pNOK&2;VFQgM)W-K_*X>A(|uR2+`b}Xil_>m?&dzEkGh^L{r3= z+frK3owkUU0CW@!@8gdDvyS)!lKz_k@!v*T@NER&7s*2F2qFTY6v;x%p+GqflZ8g3 zau)@PMHajC?A0~Kl#?E@oz7bwS-S$~B&L_XzsRXOP!Pf0(XrB$A%*Y zTAFW{9G+LUz`^Ta_ynR8evx6KrpA$r0Sa`3wT%y(6tb=d$bAgsG(C~nK|$4^YTxZn1`4_1}*FqL?6*D(=OA> z(TwA8n6?B0g_U4NhToqVg^@^LfzQYc6d|&ZUk>(w1s`<|A}=Pe0uyB z1P$GVrldQUH`e!*tYOl!cBs5olb@Jtdf?_a>C|u^X~T4j9@Jv>nne}IYflHhJfObg z+N3Qrq{3ne7afmRH)Pv>NJ->0nCZ^!Dc&o>i2l6Sd%xJl(-Ey&TAm)u+qQg}B43Bs z0Xz58D?!PZ9rW{~%28cAr{#Iur0gEgLG0!ufE8s(0uSYzC;baud%`e&tM*RLL+%~Znx!jID9hpF;u(u z{Z{Qs*(dWf9yU7E+E#v+lSLIu9o1Gb<2($Ihdj@p-&xr-c%2SIVaA zrXwpo3%wZVzD47fn%Ex~_oy=X>C*n&wV#EC8;vF&n}wDDJ%X(YjpFT06sjm1$?Qdp z#3YQx(4wN^7_`b{s2SKmHKe4Z2&e|GlAw?YNam#<%orr|xLRiQELsAcoJ67F!4}1d zqqFgpAG;O}ACrbBC#B(;WEKbH*zDv)8XHfhP-slfNSpcGdqHqFn1qLYfW0mT?1pSm zOC__YcxW7e21!&rg^@(1!+nsAXUxYZvuP${I$|h{b zc2(rFGo!DlM@kY3kM+BIe~6x5s{F;lAQr#IVnLrw*6rr*a>79Hf=KFlibYDFt++{8 z_ft7-*{7%2lLBj>OiRD8D)h0bWNjo%^axO4TX|-TQexGV`8~fe1fhav%)e+t0PDsafwm1| zVTmAI>&8leL^5|0)eu!NoMfRv?#5mdDjF?~8#VNZu81>O2v`wmn=z&jw4itvmMuPj zL8X~3VB96rT3v>tBBt`KHmNa!)sab1Fiv{HADfRc`oPlrYa^(RINLBy+QZo7 zO4C`=j(+*h0r|tIm#d5y-_$_SD~Y64B2c z9++8Zy!Q3^)2ns5cQj^q#G&X#6*BYX%U18bm8Y+>1l#!S#=N41Mjg+>3MoksA6tDt z)nRQ}L|i#{#j6+opPBVuLq|N0Y8#?lC0Hx6mp&Ayi7UTyZ5ax^?vkdQS3mfo>~{79 zvc)yI)OM3^N7Edw-ZQN~EM@GTe)RC?Ck7=>HMXB9*C>4zXjhKhRLZNO;+%XUo4jco zO}sK^Pp|KwjhLVB@|pQtGz?yyY}L_TrYe2)KISuKgYDh3YNEyS%?IgE6ff{pBSsO} z({hM3)LUFT2ZNx-7&$*Ri=6q235~{Df=v(M(+E08k7w^NC~T&HR)ZvBVG91uK&OIz zGYidCwop|n0YV-`=`pJE`*`&y{l8QFP2)oY6uuD;nz8zRREN^Y{9^|JQGqj}5A8x} z1jm;lA|hb0uCn;HE@dORVhe48XGe7R4e9dgaeJJ22AIkp<|JAhs~{~0PApc)baNYo z8zK-z0R|b^-Jh788SnF*q<@phpq6z<`0Eq>v9fB1=_Ld@idz}Yn$Dpyr` z-slb4mL0#USiQFDWWWluNowy8#vAmNlq-6Y(eqjt4)5}tu_kX&M2m(ZVumHVLs`513G1jA1f-iu&DOJiot=JoU^gA9h4dCBqn%1Dflizs9v|S zYR~CeAQn8EbJF~PFjLULjLMXL$e=sxq@|M$P+et3o8H z+G|ORQUW}DSZ5T2?^lGyon2=2bcNB}M(y`2B8KL#JH*g7&e-x`L+#C5_bMZv^m;K8 zzD`WKtD$7~2A@)-S>NK+aAA%au|iDwlxnlt&X_X0xho6hBi^tVz3WnFF_~FHc;C5Y z19CIW^MH{qW8;%`uY*gsQl2GVXsi3SuN&un>YS_EiqDE#K~j~p?yO>R!R-0lRPKc< z7q&<4{h|?Sb8BhDSGiI<8=PY!YyE%?b!K=bLc2|Gum0=FDo#zF5Zu?Fac0WYnYUr*7_v8Cumksq~Et z#p%h7884bq{TrvNh*o~1z6!Y9lpLLXzFaN4@L<%epy&P0Rp+~P6TkT1Rc#ACId$`G zv-c)n28Ys24{Kd&E$ziD-JzKk^u%tKkBZsu{^Fd{M;v;6%rDt{e*f5c*JIzC;EO8H z-fA9lYCZ8(6?G+j3UO84fXu^*%R^JvS3GcC)Uwg%kYDlM^WtB=8Wg+Tc6hmDFS!fr zwdvMkc{P7E&l#c`sgA1V4jzF!ruE#bwN&VTtx-D7?;2;+&So&5_d&GM#xz|CgsmD6{H z8}tvfPHpbh*a(_%olDTh5(NaSy6`mm0Wsto7Qi^s_^E<~2Spl%{C~t4`?*mi zfmlFeOABj)7$Jsb24#9V{M}-#(~iSmeO%AosJ9^G#k0V~k8>X$D)K&1ay!__W&6=( zW4#T)5*zEI=AMJ)KKI)GT5_SGG*3nM3eINBim8^KKFznH6g?OJe!xaGfAZVL{*u@$ zTOwmB({B~VUa;sitDNta6Qy(L%U$DmQ)#0x?eJ#UY`b)?tLK88qfnxV^FpJ<_X{@mhf z@>$&u|BB0UbtTQ)s~cp$cJ*jinNG<2TJ~$gOBHh3s@+qi&em-vuqHP~D~DyoI@}Bh zYMQ0n$2_mTAU3p7v`BaR$^g?$<-IAF?AL_ct6gELu5$VPq%-%~;-PN~EK6dV1v(gj!y0MN!uC0>GaBEJe4zZmHXB!>|U7m97`w2^C znT(?SS&4w+jSL&>r=_$nHI&Z<*L)JA@b_%KNuK&_`{~vUI#qO=XUkKo2Ab;RD=Os^ z$TenPKIF>eJ$LvjcAJr-?U9@%PMp$KEVy?JLQ?nzYllh z`Lx;L2ITj#EKZv=%!pv&Y=Ss143pAG%l98px*b*>maw<$LqpZT8~l3JtA?Cb3IALJ z*R*+GqhEW3@A`eF&%DAJ{wLqxXV*T(E_pp`XJh%KsEYWl38k%XIi~K8Eo4V=kL8xh z23ws=l1r~4?|jdt(s33+J4WYG0CZY{fQyZ2Xn6~%Z-4(a`%`C_3pYL}JI_+sQ z$f&iAe|V{Vz&!Js`EKu5>&40^wN*FT`MzxVRrc87t#`789{rJP#lKtWLXSSYyAyi! zg&zI?Q67C_7RCu!GIm_=(CUBJTEIyBI8TnAc*`>L5VapCW8fQ-8FK>u8}E?rXiF>+ z+?BuDxjIo^?{fZS5$x35%y8`&cq9<~+d<$oE=|-xzzqQcn9~E=`kLF-y_Y>cAv?cD zp?aHa(HTJ#kLS}kU3T?5{%o+8Ixed6`+=^gq2&buloA!BLrlF%wItF(6?^O!>(u)I zgWvWs)Rf4PSNb0obluHWvb*Hn@px{m*g=ABm)Ep&)j?b9Hx?|6oe~~jY}M(zwIQk9 zBV%cy+wA1sR>w%@MooV8GI{~W&_@QgCV0QY>F2$cJJ~G96uW$~g>ia)#R6(+mC4-Q zS53d-kP?^5$ENS^&)v7jX`fAPOV2{L4<(c%hj$#F7HSlxP$llYN2|$3uWHDyILfy% zKFz!*EqktKu^}SbF%6BeaaZwL=&>Jn!MXL~0-q~(j^WSSWsUF5NtpZGwMgn_QId`L zx%X06v`=KVcdvN1HhmxWA2Y&-5CI_qLIi{e2oVq>AVffjfDi#80zw3Y2nZ1nA|OOS uh=33QAp$}Kga`-`5F#K%K!|`40U-iH1cV3(5fCCEL_mmu5P|=n2>chn&~6a` diff --git a/deps/npm/package.json b/deps/npm/package.json index 8852d3efad18..71c1527eb328 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "6.14.1", + "version": "6.14.3", "name": "npm", "description": "a package manager for JavaScript", "keywords": [ @@ -60,10 +60,10 @@ "fs-vacuum": "~1.2.10", "fs-write-stream-atomic": "~1.0.10", "gentle-fs": "^2.3.0", - "glob": "^7.1.4", + "glob": "^7.1.6", "graceful-fs": "^4.2.3", "has-unicode": "~2.0.1", - "hosted-git-info": "^2.8.7", + "hosted-git-info": "^2.8.8", "iferr": "^1.0.2", "infer-owner": "^1.0.4", "inflight": "~1.0.6", @@ -91,9 +91,9 @@ "lru-cache": "^5.1.1", "meant": "~1.0.1", "mississippi": "^3.0.0", - "mkdirp": "~0.5.1", + "mkdirp": "^0.5.3", "move-concurrently": "^1.0.1", - "node-gyp": "^5.0.7", + "node-gyp": "^5.1.0", "nopt": "~4.0.1", "normalize-package-data": "^2.5.0", "npm-audit-report": "^1.3.2", @@ -103,7 +103,7 @@ "npm-package-arg": "^6.1.1", "npm-packlist": "^1.4.8", "npm-pick-manifest": "^3.0.2", - "npm-profile": "^4.0.2", + "npm-profile": "^4.0.4", "npm-registry-fetch": "^4.0.3", "npm-user-validate": "~1.0.0", "npmlog": "~4.1.2", @@ -125,7 +125,7 @@ "readdir-scoped-modules": "^1.1.0", "request": "^2.88.0", "retry": "^0.12.0", - "rimraf": "^2.6.3", + "rimraf": "^2.7.1", "safe-buffer": "^5.1.2", "semver": "^5.7.1", "sha": "^3.0.0", @@ -280,8 +280,8 @@ "licensee": "^7.0.3", "marked": "^0.6.3", "marked-man": "^0.6.0", - "npm-registry-couchapp": "^2.7.3", - "npm-registry-mock": "^1.3.0", + "npm-registry-couchapp": "^2.7.4", + "npm-registry-mock": "^1.3.1", "require-inject": "^1.4.4", "sprintf-js": "^1.1.2", "standard": "^11.0.1", diff --git a/deps/npm/test/fixtures/config/userconfig-with-gc b/deps/npm/test/fixtures/config/userconfig-with-gc deleted file mode 100644 index cf774bb883d9..000000000000 --- a/deps/npm/test/fixtures/config/userconfig-with-gc +++ /dev/null @@ -1,23 +0,0 @@ -globalconfig = /Users/isaacs/dev/npm/cli/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 -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